removed unused variable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -137,7 +137,7 @@ static pascal OSStatus wxMacListCtrlEventHandler( EventHandlerCallRef handler ,
|
|||||||
wxListCtrl *window = (wxListCtrl*) data ;
|
wxListCtrl *window = (wxListCtrl*) data ;
|
||||||
wxListEvent le( wxEVT_COMMAND_LIST_COL_CLICK, window->GetId() );
|
wxListEvent le( wxEVT_COMMAND_LIST_COL_CLICK, window->GetId() );
|
||||||
le.SetEventObject( window );
|
le.SetEventObject( window );
|
||||||
|
|
||||||
switch ( GetEventKind( event ) )
|
switch ( GetEventKind( event ) )
|
||||||
{
|
{
|
||||||
// check if the column was clicked on and fire an event if so
|
// check if the column was clicked on and fire an event if so
|
||||||
@@ -152,7 +152,7 @@ static pascal OSStatus wxMacListCtrlEventHandler( EventHandlerCallRef handler ,
|
|||||||
window->GetEventHandler()->ProcessEvent( le );
|
window->GetEventHandler()->ProcessEvent( le );
|
||||||
}
|
}
|
||||||
result = CallNextEventHandler(handler, event);
|
result = CallNextEventHandler(handler, event);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case kEventControlDraw:
|
case kEventControlDraw:
|
||||||
{
|
{
|
||||||
@@ -166,7 +166,7 @@ static pascal OSStatus wxMacListCtrlEventHandler( EventHandlerCallRef handler ,
|
|||||||
break ;
|
break ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return result ;
|
return result ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -239,7 +239,7 @@ protected:
|
|||||||
const Rect *theRect,
|
const Rect *theRect,
|
||||||
SInt16 gdDepth,
|
SInt16 gdDepth,
|
||||||
Boolean colorDevice);
|
Boolean colorDevice);
|
||||||
|
|
||||||
virtual void DrawItem(DataBrowserItemID itemID,
|
virtual void DrawItem(DataBrowserItemID itemID,
|
||||||
DataBrowserPropertyID property,
|
DataBrowserPropertyID property,
|
||||||
DataBrowserItemState itemState,
|
DataBrowserItemState itemState,
|
||||||
@@ -254,7 +254,7 @@ protected:
|
|||||||
Rect *maxEditTextRect,
|
Rect *maxEditTextRect,
|
||||||
Boolean *shrinkToFit);
|
Boolean *shrinkToFit);
|
||||||
|
|
||||||
static pascal Boolean DataBrowserHitTestProc(ControlRef browser,
|
static pascal Boolean DataBrowserHitTestProc(ControlRef browser,
|
||||||
DataBrowserItemID itemID,
|
DataBrowserItemID itemID,
|
||||||
DataBrowserPropertyID property,
|
DataBrowserPropertyID property,
|
||||||
const Rect *theRect,
|
const Rect *theRect,
|
||||||
@@ -266,19 +266,19 @@ protected:
|
|||||||
Rect *maxEditTextRect,
|
Rect *maxEditTextRect,
|
||||||
Boolean *shrinkToFit);
|
Boolean *shrinkToFit);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wxClientDataType m_clientDataItemsType;
|
wxClientDataType m_clientDataItemsType;
|
||||||
bool m_isVirtual;
|
bool m_isVirtual;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class wxMacListCtrlEventDelegate : public wxEvtHandler
|
class wxMacListCtrlEventDelegate : public wxEvtHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxMacListCtrlEventDelegate( wxListCtrl* list, int id );
|
wxMacListCtrlEventDelegate( wxListCtrl* list, int id );
|
||||||
virtual bool ProcessEvent( wxEvent& event );
|
virtual bool ProcessEvent( wxEvent& event );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxListCtrl* m_list;
|
wxListCtrl* m_list;
|
||||||
int m_id;
|
int m_id;
|
||||||
@@ -296,12 +296,12 @@ bool wxMacListCtrlEventDelegate::ProcessEvent( wxEvent& event )
|
|||||||
// we present ourselves as wxListCtrl.
|
// we present ourselves as wxListCtrl.
|
||||||
event.SetEventObject( m_list );
|
event.SetEventObject( m_list );
|
||||||
event.SetId( m_id );
|
event.SetId( m_id );
|
||||||
|
|
||||||
if ( !event.IsKindOf( CLASSINFO( wxCommandEvent ) ) )
|
if ( !event.IsKindOf( CLASSINFO( wxCommandEvent ) ) )
|
||||||
{
|
{
|
||||||
if (m_list->GetEventHandler()->ProcessEvent( event ))
|
if (m_list->GetEventHandler()->ProcessEvent( event ))
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return wxEvtHandler::ProcessEvent(event);
|
return wxEvtHandler::ProcessEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -586,7 +586,7 @@ void wxListCtrl::OnLeftDown(wxMouseEvent& event)
|
|||||||
m_current = -1;
|
m_current = -1;
|
||||||
m_textctrlWrapper->AcceptChangesAndFinish();
|
m_textctrlWrapper->AcceptChangesAndFinish();
|
||||||
}
|
}
|
||||||
|
|
||||||
int hitResult;
|
int hitResult;
|
||||||
long current = HitTest(event.GetPosition(), hitResult);
|
long current = HitTest(event.GetPosition(), hitResult);
|
||||||
if ((current == m_current) &&
|
if ((current == m_current) &&
|
||||||
@@ -642,9 +642,9 @@ bool wxListCtrl::Create(wxWindow *parent,
|
|||||||
return false;
|
return false;
|
||||||
m_dbImpl = new wxMacDataBrowserListCtrlControl( this, pos, size, style );
|
m_dbImpl = new wxMacDataBrowserListCtrlControl( this, pos, size, style );
|
||||||
m_peer = m_dbImpl;
|
m_peer = m_dbImpl;
|
||||||
|
|
||||||
MacPostControlCreate( pos, size );
|
MacPostControlCreate( pos, size );
|
||||||
|
|
||||||
InstallControlEventHandler( m_peer->GetControlRef() , GetwxMacListCtrlEventHandlerUPP(),
|
InstallControlEventHandler( m_peer->GetControlRef() , GetwxMacListCtrlEventHandlerUPP(),
|
||||||
GetEventTypeCount(eventList), eventList, this,
|
GetEventTypeCount(eventList), eventList, this,
|
||||||
(EventHandlerRef *)&m_macListCtrlEventHandler);
|
(EventHandlerRef *)&m_macListCtrlEventHandler);
|
||||||
@@ -657,16 +657,16 @@ wxListCtrl::~wxListCtrl()
|
|||||||
{
|
{
|
||||||
if (m_genericImpl)
|
if (m_genericImpl)
|
||||||
{
|
{
|
||||||
m_genericImpl->PopEventHandler(/* deleteHandler = */ true);
|
m_genericImpl->PopEventHandler(/* deleteHandler = */ true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_ownsImageListNormal)
|
if (m_ownsImageListNormal)
|
||||||
delete m_imageListNormal;
|
delete m_imageListNormal;
|
||||||
if (m_ownsImageListSmall)
|
if (m_ownsImageListSmall)
|
||||||
delete m_imageListSmall;
|
delete m_imageListSmall;
|
||||||
if (m_ownsImageListState)
|
if (m_ownsImageListState)
|
||||||
delete m_imageListState;
|
delete m_imageListState;
|
||||||
|
|
||||||
delete m_renameTimer;
|
delete m_renameTimer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -726,7 +726,7 @@ wxSize wxListCtrl::DoGetBestSize() const
|
|||||||
{
|
{
|
||||||
if (m_genericImpl)
|
if (m_genericImpl)
|
||||||
return m_genericImpl->GetBestSize();
|
return m_genericImpl->GetBestSize();
|
||||||
|
|
||||||
return wxWindow::DoGetBestSize();
|
return wxWindow::DoGetBestSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -765,7 +765,7 @@ wxColour wxListCtrl::GetBackgroundColour()
|
|||||||
return m_genericImpl->GetBackgroundColour();
|
return m_genericImpl->GetBackgroundColour();
|
||||||
if (m_dbImpl)
|
if (m_dbImpl)
|
||||||
return m_bgColor;
|
return m_bgColor;
|
||||||
|
|
||||||
return wxNullColour;
|
return wxNullColour;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -783,11 +783,11 @@ bool wxListCtrl::GetColumn(int col, wxListItem& item) const
|
|||||||
|
|
||||||
if (m_dbImpl)
|
if (m_dbImpl)
|
||||||
{
|
{
|
||||||
|
|
||||||
wxColumnList::compatibility_iterator node = m_colsInfo.Item( col );
|
wxColumnList::compatibility_iterator node = m_colsInfo.Item( col );
|
||||||
wxASSERT_MSG( node, _T("invalid column index in wxMacListCtrlItem") );
|
wxASSERT_MSG( node, _T("invalid column index in wxMacListCtrlItem") );
|
||||||
wxListItem* column = node->GetData();
|
wxListItem* column = node->GetData();
|
||||||
|
|
||||||
long mask = column->GetMask();
|
long mask = column->GetMask();
|
||||||
if (mask & wxLIST_MASK_TEXT)
|
if (mask & wxLIST_MASK_TEXT)
|
||||||
item.SetText(column->GetText());
|
item.SetText(column->GetText());
|
||||||
@@ -837,12 +837,12 @@ bool wxListCtrl::SetColumn(int col, wxListItem& item)
|
|||||||
if (mask & wxLIST_MASK_WIDTH)
|
if (mask & wxLIST_MASK_WIDTH)
|
||||||
listItem.SetWidth(item.GetWidth());
|
listItem.SetWidth(item.GetWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
// change the appearance in the databrowser.
|
// change the appearance in the databrowser.
|
||||||
DataBrowserListViewHeaderDesc columnDesc;
|
DataBrowserListViewHeaderDesc columnDesc;
|
||||||
columnDesc.version=kDataBrowserListViewLatestHeaderDesc;
|
columnDesc.version=kDataBrowserListViewLatestHeaderDesc;
|
||||||
verify_noerr( m_dbImpl->GetHeaderDesc( kMinColumnId + col, &columnDesc ) );
|
verify_noerr( m_dbImpl->GetHeaderDesc( kMinColumnId + col, &columnDesc ) );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if (item.GetMask() & wxLIST_MASK_TEXT)
|
if (item.GetMask() & wxLIST_MASK_TEXT)
|
||||||
{
|
{
|
||||||
@@ -853,12 +853,12 @@ bool wxListCtrl::SetColumn(int col, wxListItem& item)
|
|||||||
enc = wxLocale::GetSystemEncoding();
|
enc = wxLocale::GetSystemEncoding();
|
||||||
wxMacCFStringHolder cfTitle;
|
wxMacCFStringHolder cfTitle;
|
||||||
cfTitle.Assign( item.GetText() , enc );
|
cfTitle.Assign( item.GetText() , enc );
|
||||||
if(columnDesc.titleString)
|
if(columnDesc.titleString)
|
||||||
CFRelease(columnDesc.titleString);
|
CFRelease(columnDesc.titleString);
|
||||||
columnDesc.titleString = cfTitle;
|
columnDesc.titleString = cfTitle;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (item.GetMask() & wxLIST_MASK_IMAGE && item.GetImage() != -1 )
|
if (item.GetMask() & wxLIST_MASK_IMAGE && item.GetImage() != -1 )
|
||||||
{
|
{
|
||||||
columnDesc.btnContentInfo.contentType = kControlContentIconRef;
|
columnDesc.btnContentInfo.contentType = kControlContentIconRef;
|
||||||
@@ -870,7 +870,7 @@ bool wxListCtrl::SetColumn(int col, wxListItem& item)
|
|||||||
columnDesc.btnContentInfo.u.iconRef = icon;
|
columnDesc.btnContentInfo.u.iconRef = icon;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
verify_noerr( m_dbImpl->SetHeaderDesc( kMinColumnId + col, &columnDesc ) );
|
verify_noerr( m_dbImpl->SetHeaderDesc( kMinColumnId + col, &columnDesc ) );
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1162,7 +1162,7 @@ bool wxListCtrl::GetItemRect(long item, wxRect& rect, int code) const
|
|||||||
part = kDataBrowserPropertyTextPart;
|
part = kDataBrowserPropertyTextPart;
|
||||||
else if ( code == wxLIST_RECT_ICON )
|
else if ( code == wxLIST_RECT_ICON )
|
||||||
part = kDataBrowserPropertyIconPart;
|
part = kDataBrowserPropertyIconPart;
|
||||||
|
|
||||||
if ( !(GetWindowStyleFlag() & wxLC_VIRTUAL) )
|
if ( !(GetWindowStyleFlag() & wxLC_VIRTUAL) )
|
||||||
{
|
{
|
||||||
wxMacDataItem* thisItem = m_dbImpl->GetItemFromLine(item);
|
wxMacDataItem* thisItem = m_dbImpl->GetItemFromLine(item);
|
||||||
@@ -1170,9 +1170,9 @@ bool wxListCtrl::GetItemRect(long item, wxRect& rect, int code) const
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
id = item;
|
id = item;
|
||||||
|
|
||||||
GetDataBrowserItemPartBounds( m_dbImpl->GetControlRef(), id, col, part, &bounds );
|
GetDataBrowserItemPartBounds( m_dbImpl->GetControlRef(), id, col, part, &bounds );
|
||||||
|
|
||||||
rect.x = bounds.left;
|
rect.x = bounds.left;
|
||||||
rect.y = bounds.top;
|
rect.y = bounds.top;
|
||||||
rect.width = bounds.right - bounds.left; //GetClientSize().x; // we need the width of the whole row, not just the item.
|
rect.width = bounds.right - bounds.left; //GetClientSize().x; // we need the width of the whole row, not just the item.
|
||||||
@@ -1189,7 +1189,7 @@ bool wxListCtrl::GetItemPosition(long item, wxPoint& pos) const
|
|||||||
return m_genericImpl->GetItemPosition(item, pos);
|
return m_genericImpl->GetItemPosition(item, pos);
|
||||||
|
|
||||||
bool success = false;
|
bool success = false;
|
||||||
|
|
||||||
if (m_dbImpl)
|
if (m_dbImpl)
|
||||||
{
|
{
|
||||||
wxRect itemRect;
|
wxRect itemRect;
|
||||||
@@ -1572,8 +1572,6 @@ wxTextCtrl* wxListCtrl::EditLabel(long item, wxClassInfo* textControlClass)
|
|||||||
wxASSERT_MSG( textControlClass->IsKindOf(CLASSINFO(wxTextCtrl)),
|
wxASSERT_MSG( textControlClass->IsKindOf(CLASSINFO(wxTextCtrl)),
|
||||||
wxT("EditLabel() needs a text control") );
|
wxT("EditLabel() needs a text control") );
|
||||||
|
|
||||||
long itemEdit = (long)item;
|
|
||||||
|
|
||||||
wxListEvent le( wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, GetParent()->GetId() );
|
wxListEvent le( wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT, GetParent()->GetId() );
|
||||||
le.SetEventObject( this );
|
le.SetEventObject( this );
|
||||||
le.m_itemIndex = item;
|
le.m_itemIndex = item;
|
||||||
@@ -1673,20 +1671,20 @@ wxListCtrl::HitTest(const wxPoint& point, int& flags, long *ptrSubItem) const
|
|||||||
int colHeaderHeight = 22; // TODO: Find a way to get this value from the db control?
|
int colHeaderHeight = 22; // TODO: Find a way to get this value from the db control?
|
||||||
UInt16 rowHeight = 0;
|
UInt16 rowHeight = 0;
|
||||||
m_dbImpl->GetDefaultRowHeight(&rowHeight);
|
m_dbImpl->GetDefaultRowHeight(&rowHeight);
|
||||||
|
|
||||||
int y = point.y;
|
int y = point.y;
|
||||||
// get the actual row by taking scroll position into account
|
// get the actual row by taking scroll position into account
|
||||||
UInt32 offsetX, offsetY;
|
UInt32 offsetX, offsetY;
|
||||||
m_dbImpl->GetScrollPosition( &offsetY, &offsetX );
|
m_dbImpl->GetScrollPosition( &offsetY, &offsetX );
|
||||||
y += offsetY;
|
y += offsetY;
|
||||||
|
|
||||||
if ( !(GetWindowStyleFlag() & wxLC_NO_HEADER) )
|
if ( !(GetWindowStyleFlag() & wxLC_NO_HEADER) )
|
||||||
y -= colHeaderHeight;
|
y -= colHeaderHeight;
|
||||||
|
|
||||||
int row = y / rowHeight;
|
int row = y / rowHeight;
|
||||||
DataBrowserItemID id;
|
DataBrowserItemID id;
|
||||||
m_dbImpl->GetItemID( (DataBrowserTableViewRowIndex) row, &id );
|
m_dbImpl->GetItemID( (DataBrowserTableViewRowIndex) row, &id );
|
||||||
|
|
||||||
// TODO: Use GetDataBrowserItemPartBounds to return if we are in icon or label
|
// TODO: Use GetDataBrowserItemPartBounds to return if we are in icon or label
|
||||||
if ( !(GetWindowStyleFlag() & wxLC_VIRTUAL ) )
|
if ( !(GetWindowStyleFlag() & wxLC_VIRTUAL ) )
|
||||||
{
|
{
|
||||||
@@ -1706,7 +1704,7 @@ wxListCtrl::HitTest(const wxPoint& point, int& flags, long *ptrSubItem) const
|
|||||||
return row;
|
return row;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -1868,7 +1866,7 @@ bool wxListCtrl::SortItems(wxListCtrlCompare fn, long data)
|
|||||||
{
|
{
|
||||||
if (m_genericImpl)
|
if (m_genericImpl)
|
||||||
return m_genericImpl->SortItems(fn, data);
|
return m_genericImpl->SortItems(fn, data);
|
||||||
|
|
||||||
if (m_dbImpl)
|
if (m_dbImpl)
|
||||||
{
|
{
|
||||||
m_compareFunc = fn;
|
m_compareFunc = fn;
|
||||||
@@ -2121,7 +2119,7 @@ wxMacDataBrowserListCtrlControl::wxMacDataBrowserListCtrlControl( wxWindow *peer
|
|||||||
|
|
||||||
err = SetSelectionFlags( options );
|
err = SetSelectionFlags( options );
|
||||||
verify_noerr( err );
|
verify_noerr( err );
|
||||||
|
|
||||||
DataBrowserCustomCallbacks callbacks;
|
DataBrowserCustomCallbacks callbacks;
|
||||||
InitializeDataBrowserCustomCallbacks( &callbacks, kDataBrowserLatestCustomCallbacks );
|
InitializeDataBrowserCustomCallbacks( &callbacks, kDataBrowserLatestCustomCallbacks );
|
||||||
|
|
||||||
@@ -2133,11 +2131,11 @@ wxMacDataBrowserListCtrlControl::wxMacDataBrowserListCtrlControl( wxWindow *peer
|
|||||||
|
|
||||||
if ( gDataBrowserHitTestUPP == NULL )
|
if ( gDataBrowserHitTestUPP == NULL )
|
||||||
gDataBrowserHitTestUPP = NewDataBrowserHitTestUPP(DataBrowserHitTestProc);
|
gDataBrowserHitTestUPP = NewDataBrowserHitTestUPP(DataBrowserHitTestProc);
|
||||||
|
|
||||||
callbacks.u.v1.drawItemCallback = gDataBrowserDrawItemUPP;
|
callbacks.u.v1.drawItemCallback = gDataBrowserDrawItemUPP;
|
||||||
// callbacks.u.v1.editTextCallback = gDataBrowserEditItemUPP;
|
// callbacks.u.v1.editTextCallback = gDataBrowserEditItemUPP;
|
||||||
callbacks.u.v1.hitTestCallback = gDataBrowserHitTestUPP;
|
callbacks.u.v1.hitTestCallback = gDataBrowserHitTestUPP;
|
||||||
|
|
||||||
SetDataBrowserCustomCallbacks( GetControlRef(), &callbacks );
|
SetDataBrowserCustomCallbacks( GetControlRef(), &callbacks );
|
||||||
|
|
||||||
if ( style & wxLC_LIST )
|
if ( style & wxLC_LIST )
|
||||||
@@ -2231,7 +2229,7 @@ enum
|
|||||||
kIconHeight = 16,
|
kIconHeight = 16,
|
||||||
kTextBoxHeight = 14,
|
kTextBoxHeight = 14,
|
||||||
kIconTextSpacingV = 2,
|
kIconTextSpacingV = 2,
|
||||||
kItemPadding = 4,
|
kItemPadding = 4,
|
||||||
kContentHeight = kIconHeight + kTextBoxHeight + kIconTextSpacingV
|
kContentHeight = kIconHeight + kTextBoxHeight + kIconTextSpacingV
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2246,15 +2244,15 @@ static void calculateCGDrawingBounds(CGRect inItemRect, CGRect *outIconRect, CGR
|
|||||||
iconW = kIconWidth;
|
iconW = kIconWidth;
|
||||||
padding = padding*2;
|
padding = padding*2;
|
||||||
}
|
}
|
||||||
|
|
||||||
textBottom = inItemRect.origin.y;
|
textBottom = inItemRect.origin.y;
|
||||||
|
|
||||||
*outIconRect = CGRectMake(inItemRect.origin.x + kItemPadding,
|
*outIconRect = CGRectMake(inItemRect.origin.x + kItemPadding,
|
||||||
textBottom + kIconTextSpacingV, kIconWidth,
|
textBottom + kIconTextSpacingV, kIconWidth,
|
||||||
kIconHeight);
|
kIconHeight);
|
||||||
|
|
||||||
*outTextRect = CGRectMake(inItemRect.origin.x + padding + iconW,
|
*outTextRect = CGRectMake(inItemRect.origin.x + padding + iconW,
|
||||||
textBottom + kIconTextSpacingV, inItemRect.size.width - padding - iconW,
|
textBottom + kIconTextSpacingV, inItemRect.size.width - padding - iconW,
|
||||||
inItemRect.size.height - kIconTextSpacingV);
|
inItemRect.size.height - kIconTextSpacingV);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2283,7 +2281,7 @@ void wxMacDataBrowserListCtrlControl::DrawItem(
|
|||||||
lcItem = (wxMacListCtrlItem*) itemID;
|
lcItem = (wxMacListCtrlItem*) itemID;
|
||||||
if (lcItem->HasColumnInfo(listColumn)){
|
if (lcItem->HasColumnInfo(listColumn)){
|
||||||
wxListItem* item = lcItem->GetColumnInfo(listColumn);
|
wxListItem* item = lcItem->GetColumnInfo(listColumn);
|
||||||
|
|
||||||
// we always use the 0 column to get font and text/background colors.
|
// we always use the 0 column to get font and text/background colors.
|
||||||
if (lcItem->HasColumnInfo(0))
|
if (lcItem->HasColumnInfo(0))
|
||||||
{
|
{
|
||||||
@@ -2292,13 +2290,13 @@ void wxMacDataBrowserListCtrlControl::DrawItem(
|
|||||||
bgColor = firstItem->GetBackgroundColour();
|
bgColor = firstItem->GetBackgroundColour();
|
||||||
font = firstItem->GetFont();
|
font = firstItem->GetFont();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item->GetMask() & wxLIST_MASK_TEXT)
|
if (item->GetMask() & wxLIST_MASK_TEXT)
|
||||||
text = item->GetText();
|
text = item->GetText();
|
||||||
if (item->GetMask() & wxLIST_MASK_IMAGE)
|
if (item->GetMask() & wxLIST_MASK_IMAGE)
|
||||||
imgIndex = item->GetImage();
|
imgIndex = item->GetImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2316,31 +2314,31 @@ void wxMacDataBrowserListCtrlControl::DrawItem(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxColour listBgColor = list->GetBackgroundColour();
|
wxColour listBgColor = list->GetBackgroundColour();
|
||||||
if (bgColor == wxNullColour)
|
if (bgColor == wxNullColour)
|
||||||
bgColor = listBgColor;
|
bgColor = listBgColor;
|
||||||
|
|
||||||
wxFont listFont = list->GetFont();
|
wxFont listFont = list->GetFont();
|
||||||
if (font == wxNullFont)
|
if (font == wxNullFont)
|
||||||
font = listFont;
|
font = listFont;
|
||||||
|
|
||||||
wxMacCFStringHolder cfString;
|
wxMacCFStringHolder cfString;
|
||||||
cfString.Assign( text, wxLocale::GetSystemEncoding() );
|
cfString.Assign( text, wxLocale::GetSystemEncoding() );
|
||||||
|
|
||||||
Rect enclosingRect;
|
Rect enclosingRect;
|
||||||
CGRect enclosingCGRect, iconCGRect, textCGRect;
|
CGRect enclosingCGRect, iconCGRect, textCGRect;
|
||||||
Boolean active;
|
Boolean active;
|
||||||
ThemeDrawingState savedState = NULL;
|
ThemeDrawingState savedState = NULL;
|
||||||
CGContextRef context = (CGContextRef)list->MacGetDrawingContext();
|
CGContextRef context = (CGContextRef)list->MacGetDrawingContext();
|
||||||
RGBColor labelColor;
|
RGBColor labelColor;
|
||||||
|
|
||||||
GetDataBrowserItemPartBounds(GetControlRef(), itemID, property, kDataBrowserPropertyEnclosingPart,
|
GetDataBrowserItemPartBounds(GetControlRef(), itemID, property, kDataBrowserPropertyEnclosingPart,
|
||||||
&enclosingRect);
|
&enclosingRect);
|
||||||
|
|
||||||
enclosingCGRect = CGRectMake(enclosingRect.left,
|
enclosingCGRect = CGRectMake(enclosingRect.left,
|
||||||
enclosingRect.top,
|
enclosingRect.top,
|
||||||
enclosingRect.right - enclosingRect.left,
|
enclosingRect.right - enclosingRect.left,
|
||||||
enclosingRect.bottom - enclosingRect.top);
|
enclosingRect.bottom - enclosingRect.top);
|
||||||
|
|
||||||
active = IsControlActive(GetControlRef());
|
active = IsControlActive(GetControlRef());
|
||||||
@@ -2348,24 +2346,24 @@ void wxMacDataBrowserListCtrlControl::DrawItem(
|
|||||||
if (itemState == kDataBrowserItemIsSelected)
|
if (itemState == kDataBrowserItemIsSelected)
|
||||||
{
|
{
|
||||||
RGBColor foregroundColor;
|
RGBColor foregroundColor;
|
||||||
|
|
||||||
GetThemeDrawingState(&savedState);
|
GetThemeDrawingState(&savedState);
|
||||||
|
|
||||||
GetThemeBrushAsColor(kThemeBrushAlternatePrimaryHighlightColor, 32, true, &foregroundColor);
|
GetThemeBrushAsColor(kThemeBrushAlternatePrimaryHighlightColor, 32, true, &foregroundColor);
|
||||||
GetThemeTextColor(kThemeTextColorWhite, gdDepth, colorDevice, &labelColor);
|
GetThemeTextColor(kThemeTextColorWhite, gdDepth, colorDevice, &labelColor);
|
||||||
|
|
||||||
CGContextSaveGState(context);
|
CGContextSaveGState(context);
|
||||||
|
|
||||||
CGContextSetRGBFillColor(context, (float)foregroundColor.red / (float)USHRT_MAX,
|
CGContextSetRGBFillColor(context, (float)foregroundColor.red / (float)USHRT_MAX,
|
||||||
(float)foregroundColor.green / (float)USHRT_MAX,
|
(float)foregroundColor.green / (float)USHRT_MAX,
|
||||||
(float)foregroundColor.blue / (float)USHRT_MAX, 1.0);
|
(float)foregroundColor.blue / (float)USHRT_MAX, 1.0);
|
||||||
CGContextFillRect(context, enclosingCGRect);
|
CGContextFillRect(context, enclosingCGRect);
|
||||||
|
|
||||||
CGContextRestoreGState(context);
|
CGContextRestoreGState(context);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if (color.Ok())
|
if (color.Ok())
|
||||||
labelColor = MAC_WXCOLORREF( color.GetPixel() );
|
labelColor = MAC_WXCOLORREF( color.GetPixel() );
|
||||||
else if (list->GetTextColour().Ok())
|
else if (list->GetTextColour().Ok())
|
||||||
@@ -2376,76 +2374,76 @@ void wxMacDataBrowserListCtrlControl::DrawItem(
|
|||||||
labelColor.green = 0;
|
labelColor.green = 0;
|
||||||
labelColor.blue = 0;
|
labelColor.blue = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bgColor.Ok())
|
if (bgColor.Ok())
|
||||||
{
|
{
|
||||||
RGBColor foregroundColor = MAC_WXCOLORREF( bgColor.GetPixel() );
|
RGBColor foregroundColor = MAC_WXCOLORREF( bgColor.GetPixel() );
|
||||||
CGContextSaveGState(context);
|
CGContextSaveGState(context);
|
||||||
|
|
||||||
CGContextSetRGBFillColor(context, (float)foregroundColor.red / (float)USHRT_MAX,
|
CGContextSetRGBFillColor(context, (float)foregroundColor.red / (float)USHRT_MAX,
|
||||||
(float)foregroundColor.green / (float)USHRT_MAX,
|
(float)foregroundColor.green / (float)USHRT_MAX,
|
||||||
(float)foregroundColor.blue / (float)USHRT_MAX, 1.0);
|
(float)foregroundColor.blue / (float)USHRT_MAX, 1.0);
|
||||||
CGContextFillRect(context, enclosingCGRect);
|
CGContextFillRect(context, enclosingCGRect);
|
||||||
|
|
||||||
CGContextRestoreGState(context);
|
CGContextRestoreGState(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
calculateCGDrawingBounds(enclosingCGRect, &iconCGRect, &textCGRect, (imgIndex != -1) );
|
calculateCGDrawingBounds(enclosingCGRect, &iconCGRect, &textCGRect, (imgIndex != -1) );
|
||||||
|
|
||||||
if (imgIndex != -1)
|
if (imgIndex != -1)
|
||||||
{
|
{
|
||||||
wxImageList* imageList = list->GetImageList(wxIMAGE_LIST_SMALL);
|
wxImageList* imageList = list->GetImageList(wxIMAGE_LIST_SMALL);
|
||||||
if (imageList && imageList->GetImageCount() > 0){
|
if (imageList && imageList->GetImageCount() > 0){
|
||||||
wxBitmap bmp = imageList->GetBitmap(imgIndex);
|
wxBitmap bmp = imageList->GetBitmap(imgIndex);
|
||||||
IconRef icon = bmp.GetBitmapData()->GetIconRef();
|
IconRef icon = bmp.GetBitmapData()->GetIconRef();
|
||||||
|
|
||||||
RGBColor iconLabel;
|
RGBColor iconLabel;
|
||||||
iconLabel.red = 0;
|
iconLabel.red = 0;
|
||||||
iconLabel.green = 0;
|
iconLabel.green = 0;
|
||||||
iconLabel.blue = 0;
|
iconLabel.blue = 0;
|
||||||
|
|
||||||
CGContextSaveGState(context);
|
CGContextSaveGState(context);
|
||||||
CGContextTranslateCTM(context, 0,iconCGRect.origin.y + CGRectGetMaxY(iconCGRect));
|
CGContextTranslateCTM(context, 0,iconCGRect.origin.y + CGRectGetMaxY(iconCGRect));
|
||||||
CGContextScaleCTM(context,1.0f,-1.0f);
|
CGContextScaleCTM(context,1.0f,-1.0f);
|
||||||
PlotIconRefInContext(context, &iconCGRect, kAlignNone,
|
PlotIconRefInContext(context, &iconCGRect, kAlignNone,
|
||||||
active ? kTransformNone : kTransformDisabled, &iconLabel,
|
active ? kTransformNone : kTransformDisabled, &iconLabel,
|
||||||
kPlotIconRefNormalFlags, icon);
|
kPlotIconRefNormalFlags, icon);
|
||||||
|
|
||||||
CGContextRestoreGState(context);
|
CGContextRestoreGState(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HIThemeTextHorizontalFlush hFlush = kHIThemeTextHorizontalFlushLeft;
|
HIThemeTextHorizontalFlush hFlush = kHIThemeTextHorizontalFlushLeft;
|
||||||
UInt16 fontID = kThemeViewsFont;
|
UInt16 fontID = kThemeViewsFont;
|
||||||
|
|
||||||
if (font.Ok())
|
if (font.Ok())
|
||||||
{
|
{
|
||||||
if (font.GetFamily() != wxFONTFAMILY_DEFAULT)
|
if (font.GetFamily() != wxFONTFAMILY_DEFAULT)
|
||||||
fontID = font.MacGetThemeFontID();
|
fontID = font.MacGetThemeFontID();
|
||||||
|
|
||||||
// FIXME: replace these with CG or ATSUI calls so we can remove this #ifndef.
|
// FIXME: replace these with CG or ATSUI calls so we can remove this #ifndef.
|
||||||
#ifndef __LP64__
|
#ifndef __LP64__
|
||||||
::TextSize( (short)(font.MacGetFontSize()) ) ;
|
::TextSize( (short)(font.MacGetFontSize()) ) ;
|
||||||
::TextFace( font.MacGetFontStyle() ) ;
|
::TextFace( font.MacGetFontStyle() ) ;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
wxListItem item;
|
wxListItem item;
|
||||||
list->GetColumn(listColumn, item);
|
list->GetColumn(listColumn, item);
|
||||||
if (item.GetMask() & wxLIST_MASK_FORMAT)
|
if (item.GetMask() & wxLIST_MASK_FORMAT)
|
||||||
{
|
{
|
||||||
if (item.GetAlign() == wxLIST_FORMAT_LEFT)
|
if (item.GetAlign() == wxLIST_FORMAT_LEFT)
|
||||||
hFlush = kHIThemeTextHorizontalFlushLeft;
|
hFlush = kHIThemeTextHorizontalFlushLeft;
|
||||||
else if (item.GetAlign() == wxLIST_FORMAT_CENTER)
|
else if (item.GetAlign() == wxLIST_FORMAT_CENTER)
|
||||||
hFlush = kHIThemeTextHorizontalFlushCenter;
|
hFlush = kHIThemeTextHorizontalFlushCenter;
|
||||||
else if (item.GetAlign() == wxLIST_FORMAT_RIGHT)
|
else if (item.GetAlign() == wxLIST_FORMAT_RIGHT)
|
||||||
{
|
{
|
||||||
hFlush = kHIThemeTextHorizontalFlushRight;
|
hFlush = kHIThemeTextHorizontalFlushRight;
|
||||||
textCGRect.origin.x -= kItemPadding; // give a little extra paddding
|
textCGRect.origin.x -= kItemPadding; // give a little extra paddding
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HIThemeTextInfo info;
|
HIThemeTextInfo info;
|
||||||
info.version = kHIThemeTextInfoVersionZero;
|
info.version = kHIThemeTextInfoVersionZero;
|
||||||
info.state = active ? kThemeStateActive : kThemeStateInactive;
|
info.state = active ? kThemeStateActive : kThemeStateInactive;
|
||||||
@@ -2457,14 +2455,14 @@ void wxMacDataBrowserListCtrlControl::DrawItem(
|
|||||||
info.truncationMaxLines = 1;
|
info.truncationMaxLines = 1;
|
||||||
|
|
||||||
CGContextSaveGState(context);
|
CGContextSaveGState(context);
|
||||||
CGContextSetRGBFillColor (context, (float)labelColor.red / (float)USHRT_MAX,
|
CGContextSetRGBFillColor (context, (float)labelColor.red / (float)USHRT_MAX,
|
||||||
(float)labelColor.green / (float)USHRT_MAX,
|
(float)labelColor.green / (float)USHRT_MAX,
|
||||||
(float)labelColor.blue / (float)USHRT_MAX, 1.0);
|
(float)labelColor.blue / (float)USHRT_MAX, 1.0);
|
||||||
|
|
||||||
HIThemeDrawTextBox(cfString, &textCGRect, &info, context, kHIThemeOrientationNormal);
|
HIThemeDrawTextBox(cfString, &textCGRect, &info, context, kHIThemeOrientationNormal);
|
||||||
|
|
||||||
CGContextRestoreGState(context);
|
CGContextRestoreGState(context);
|
||||||
|
|
||||||
if (savedState != NULL)
|
if (savedState != NULL)
|
||||||
SetThemeDrawingState(savedState, true);
|
SetThemeDrawingState(savedState, true);
|
||||||
}
|
}
|
||||||
@@ -2620,7 +2618,7 @@ void wxMacDataBrowserListCtrlControl::ItemNotification(DataBrowserItemID itemID,
|
|||||||
|
|
||||||
case kDataBrowserItemSelected:
|
case kDataBrowserItemSelected:
|
||||||
trigger = !IsSelectionSuppressed();
|
trigger = !IsSelectionSuppressed();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kDataBrowserItemDoubleClicked:
|
case kDataBrowserItemDoubleClicked:
|
||||||
@@ -2860,7 +2858,7 @@ void wxMacListCtrlItem::SetColumnInfo( unsigned int column, wxListItem* item )
|
|||||||
listItem->SetAlign(item->GetAlign());
|
listItem->SetAlign(item->GetAlign());
|
||||||
if (mask & wxLIST_MASK_WIDTH)
|
if (mask & wxLIST_MASK_WIDTH)
|
||||||
listItem->SetWidth(item->GetWidth());
|
listItem->SetWidth(item->GetWidth());
|
||||||
|
|
||||||
listItem->SetTextColour(item->GetTextColour());
|
listItem->SetTextColour(item->GetTextColour());
|
||||||
listItem->SetBackgroundColour(item->GetBackgroundColour());
|
listItem->SetBackgroundColour(item->GetBackgroundColour());
|
||||||
listItem->SetFont(item->GetFont());
|
listItem->SetFont(item->GetFont());
|
||||||
|
|||||||
Reference in New Issue
Block a user