X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6463b9f5399b8670a0c74f2f8666bc2c9f37a406..87f0b1323b7ac77f02133b836c8dfee63b0fd387:/src/os2/listctrl.cpp diff --git a/src/os2/listctrl.cpp b/src/os2/listctrl.cpp index 1cf40a8c99..cf9a922745 100644 --- a/src/os2/listctrl.cpp +++ b/src/os2/listctrl.cpp @@ -17,11 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ - #pragma implementation "listctrl.h" - #pragma implementation "listctrlbase.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -36,12 +31,12 @@ #include "wx/intl.h" #include "wx/log.h" #include "wx/settings.h" + #include "wx/dcclient.h" + #include "wx/textctrl.h" #endif -#include "wx/textctrl.h" #include "wx/imaglist.h" #include "wx/listctrl.h" -#include "wx/dcclient.h" #include "wx/os2/private.h" @@ -69,11 +64,11 @@ // how many records the view will have, initially, and how many columns // the detail view of the container will have, as the container represents // a known data block. Thus the OS/2 PM CV_DETAIL view, i.e. -// the wxWindows wxLC_REPORT view, relies on STATIC structure for its +// the wxWidgets wxLC_REPORT view, relies on STATIC structure for its // columnar data. It gets the data to display by telling it the specific // offset of the field in the struct containing the displayable data. That // data has be of OS/2 Types, PSZ (char string), CDATE or CTIME format. -// wxWindows is dynamic in nature, however. We insert columns, one at a +// wxWidgets is dynamic in nature, however. We insert columns, one at a // time and do not know how many until the app is done inserting them. So // for OS/2 I have to set a max allowable since they are fixed. We return // an error to the app if they include more than we can handle. @@ -111,12 +106,12 @@ typedef struct _MYRECORD // Problem: // The MSW version had problems with SetTextColour() et al as the // CListItemAttr's were stored keyed on the item index. If a item was -// inserted anywhere but the end of the list the the text attributes +// inserted anywhere but the end of the list the text attributes // (colour etc) for the following items were out of sync. // // Solution: // Under MSW the only way to associate data with a -// List item independant of its position in the list is to store a pointer +// List item independent of its position in the list is to store a pointer // to it in its lParam attribute. However user programs are already using // this (via the SetItemData() GetItemData() calls). // @@ -145,8 +140,7 @@ public: ~CListItemInternalData() { - delete m_pAttr; - m_pAttr = NULL; + wxDELETE(m_pAttr); } wxListItemAttr* m_pAttr; @@ -492,14 +486,12 @@ SHORT EXPENTRY InternalDataCompareFunc ( // none // ///////////////////////////////////////////////////////////////////////////// -void ConvertFromOS2ListItem ( - HWND hWndListCtrl -, wxListItem& rInfo -, PMYRECORD pRecord -) +void ConvertFromOS2ListItem ( HWND hWndListCtrl, + wxListItem& rInfo, + PMYRECORD pRecord ) { - CListItemInternalData* pInternaldata = (CListItemInternalData *)pRecord->m_ulUserData; - bool bNeedText = FALSE; + CListItemInternalData* pInternaldata = (CListItemInternalData *)pRecord->m_ulUserData; + bool bNeedText = false; if (pInternaldata) rInfo.SetData(pInternaldata->m_lParam); @@ -709,7 +701,7 @@ void ConvertToOS2ListItem ( break; default: - wxFAIL_MSG( _T("wxOS2 does not support more than 10 columns in REPORT view") ); + wxFAIL_MSG( wxT("wxOS2 does not support more than 10 columns in REPORT view") ); break; } } @@ -781,39 +773,6 @@ void ConvertToOS2ListCol ( pField->offStruct = 0; } // end of ConvertToOS2ListCol -// ---------------------------------------------------------------------------- -// events -// ---------------------------------------------------------------------------- - -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_BEGIN_DRAG) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_BEGIN_RDRAG) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_BEGIN_LABEL_EDIT) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_END_LABEL_EDIT) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_DELETE_ITEM) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_GET_INFO) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_SET_INFO) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_SELECTED) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_DESELECTED) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_KEY_DOWN) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_INSERT_ITEM) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_CLICK) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_RIGHT_CLICK) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_BEGIN_DRAG) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_DRAGGING) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_COL_END_DRAG) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_RIGHT_CLICK) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_MIDDLE_CLICK) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_ACTIVATED) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_FOCUSED) -DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_CACHE_HINT) - -IMPLEMENT_DYNAMIC_CLASS(wxListCtrl, wxControl) -IMPLEMENT_DYNAMIC_CLASS(wxListView, wxListCtrl) -IMPLEMENT_DYNAMIC_CLASS(wxListItem, wxObject) - -IMPLEMENT_DYNAMIC_CLASS(wxListEvent, wxNotifyEvent) - BEGIN_EVENT_TABLE(wxListCtrl, wxControl) EVT_PAINT(wxListCtrl::OnPaint) END_EVENT_TABLE() @@ -831,30 +790,28 @@ void wxListCtrl::Init () m_pImageListNormal = NULL; m_pImageListSmall = NULL; m_pImageListState = NULL; - m_bOwnsImageListNormal = FALSE; - m_bOwnsImageListSmall = FALSE; - m_bOwnsImageListState = FALSE; + m_bOwnsImageListNormal = false; + m_bOwnsImageListSmall = false; + m_bOwnsImageListState = false; m_lBaseStyle = 0L; m_nColCount = 0; m_pTextCtrl = NULL; - m_bAnyInternalData = FALSE; - m_bHasAnyAttr = FALSE; + m_bAnyInternalData = false; + m_bHasAnyAttr = false; } // end of wxListCtrl::Init -bool wxListCtrl::Create ( - wxWindow* pParent -, wxWindowID vId -, const wxPoint& rPos -, const wxSize& rSize -, long lStyle -, const wxValidator& rValidator -, const wxString& rsName -) +bool wxListCtrl::Create ( wxWindow* pParent, + wxWindowID vId, + const wxPoint& rPos, + const wxSize& rSize, + long lStyle, + const wxValidator& rValidator, + const wxString& rsName ) { - int nX = rPos.x; - int nY = rPos.y; - int nWidth = rSize.x; - int nHeight = rSize.y; + int nX = rPos.x; + int nY = rPos.y; + int nWidth = rSize.x; + int nHeight = rSize.y; #if wxUSE_VALIDATORS SetValidator(rValidator); @@ -874,7 +831,7 @@ bool wxListCtrl::Create ( m_windowId = (vId == -1) ? NewControlId() : vId; - long lSstyle = WS_VISIBLE | WS_TABSTOP; + long lSstyle = WS_VISIBLE | WS_TABSTOP; if (GetWindowStyleFlag() & wxCLIP_SIBLINGS) lSstyle |= WS_CLIPSIBLINGS; @@ -884,23 +841,19 @@ bool wxListCtrl::Create ( ,nWidth ,nHeight )) - return FALSE; + return false; if (pParent) pParent->AddChild(this); - return TRUE; + return true; } // end of wxListCtrl::Create -bool wxListCtrl::DoCreateControl ( - int nX -, int nY -, int nWidth -, int nHeight -) +bool wxListCtrl::DoCreateControl ( int nX, int nY, + int nWidth, int nHeight ) { - DWORD lWstyle = m_lBaseStyle; - long lOldStyle = 0; // Dummy + DWORD lWstyle = m_lBaseStyle; + long lOldStyle = 0; // Dummy - CNRINFO vCnrInfo; + CNRINFO vCnrInfo; lWstyle |= ConvertToOS2Style( lOldStyle ,GetWindowStyleFlag() @@ -919,7 +872,7 @@ bool wxListCtrl::DoCreateControl ( ); if (!m_hWnd) { - return FALSE; + return false; } // @@ -930,7 +883,7 @@ bool wxListCtrl::DoCreateControl ( ,MPFROMP(&vCnrInfo) ,(MPARAM)(USHORT)sizeof(CNRINFO) )) - return FALSE; + return false; lWstyle = ConvertViewToOS2Style(GetWindowStyleFlag()); vCnrInfo.flWindowAttr |= lWstyle; if (!::WinSendMsg( GetHWND() @@ -938,7 +891,7 @@ bool wxListCtrl::DoCreateControl ( ,MPFROMP(&vCnrInfo) ,(MPARAM)CMA_FLWINDOWATTR )) - return FALSE; + return false; // // And now set needed arrangement flags @@ -949,36 +902,30 @@ bool wxListCtrl::DoCreateControl ( ,(MPARAM)CMA_ARRANGEGRID ,(MPARAM)lWstyle )) - return FALSE; + return false; SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); SetForegroundColour(GetParent()->GetForegroundColour()); SubclassWin(m_hWnd); SetFont(*wxSMALL_FONT); SetXComp(0); SetYComp(0); - SetSize( nX - ,nY - ,nWidth - ,nHeight - ); - return TRUE; + SetSize( nX, nY, nWidth, nHeight ); + return true; } // end of wxListCtrl::DoCreateControl void wxListCtrl::UpdateStyle () { if (GetHWND()) { - long lDummy; - DWORD dwStyleNew = ConvertToOS2Style( lDummy - ,GetWindowStyleFlag() - ); + long lDummy; + DWORD dwStyleNew = ConvertToOS2Style( lDummy, GetWindowStyleFlag() ); dwStyleNew |= m_lBaseStyle; // // Get the current window style. // - ULONG dwStyleOld = ::WinQueryWindowULong(GetHWND(), QWL_STYLE); + ULONG dwStyleOld = ::WinQueryWindowULong(GetHWND(), QWL_STYLE); // // Only set the window style if the view bits have changed. @@ -994,12 +941,12 @@ void wxListCtrl::FreeAllInternalData () { if (m_bAnyInternalData) { - int n = GetItemCount(); - int i = 0; + int n = GetItemCount(); + int i = 0; for (i = 0; i < n; i++) DeleteInternalData(this, (long)i); - m_bAnyInternalData = FALSE; + m_bAnyInternalData = false; } } // end of wxListCtrl::FreeAllInternalData @@ -1010,8 +957,7 @@ wxListCtrl::~wxListCtrl () { m_pTextCtrl->SetHWND(0); m_pTextCtrl->UnsubclassWin(); - delete m_pTextCtrl; - m_pTextCtrl = NULL; + wxDELETE(m_pTextCtrl); } if (m_bOwnsImageListNormal) @@ -1154,57 +1100,48 @@ long wxListCtrl::ConvertViewToOS2Style ( // ---------------------------------------------------------------------------- // Sets the foreground, i.e. text, colour -bool wxListCtrl::SetForegroundColour ( - const wxColour& rCol) +bool wxListCtrl::SetForegroundColour (const wxColour& rCol) { - ULONG ulColor = wxColourToRGB(rCol); + ULONG ulColor = wxColourToRGB(rCol); if (!wxWindow::SetForegroundColour(rCol)) - return FALSE; - + return false; ::WinSetPresParam( GetHWND() ,PP_FOREGROUNDCOLOR ,sizeof(ULONG) ,&ulColor ); - return TRUE; + return true; } // end of wxListCtrl::SetForegroundColour // Sets the background colour -bool wxListCtrl::SetBackgroundColour ( - const wxColour& rCol -) +bool wxListCtrl::SetBackgroundColour ( const wxColour& rCol ) { if (!wxWindow::SetBackgroundColour(rCol)) - return FALSE; + return false; // // We set the same colour for both the "empty" background and the items // background // - ULONG ulColor = wxColourToRGB(rCol); + ULONG ulColor = wxColourToRGB(rCol); ::WinSetPresParam( GetHWND() ,PP_BACKGROUNDCOLOR ,sizeof(ULONG) ,&ulColor ); - return TRUE; + return true; } // end of wxListCtrl::SetBackgroundColour // Gets information about this column -bool wxListCtrl::GetColumn ( - int nCol -, wxListItem& rItem -) const +bool wxListCtrl::GetColumn ( int nCol, wxListItem& rItem ) const { - PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum ( GetHWND() - ,nCol - ); + PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum ( GetHWND(), nCol ); if (!pFieldInfo) - return FALSE; + return false; rItem.SetWidth(pFieldInfo->cxWidth); if ((rItem.GetMask() & wxLIST_MASK_TEXT) && (pFieldInfo->flData & CFA_STRING) && @@ -1221,37 +1158,25 @@ bool wxListCtrl::GetColumn ( else if (pFieldInfo->flData & CFA_CENTER) rItem.m_format = wxLIST_FORMAT_CENTRE; } - return TRUE; + return true; } // end of wxListCtrl::GetColumn // Sets information about this column -bool wxListCtrl::SetColumn ( - int nCol -, wxListItem& rItem -) +bool wxListCtrl::SetColumn ( int nCol, wxListItem& rItem ) { - PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum( GetHWND() - ,nCol - ); - ConvertToOS2ListCol( nCol - ,rItem - ,pFieldInfo - ); + PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum( GetHWND(), nCol ); + ConvertToOS2ListCol( nCol, rItem, pFieldInfo ); // // Since we changed the field pointed to, we invalidate to see the result // ::WinSendMsg(GetHWND(), CM_INVALIDATEDETAILFIELDINFO, NULL, NULL); - return TRUE; + return true; } // end of wxListCtrl::SetColumn // Gets the column width -int wxListCtrl::GetColumnWidth ( - int nCol -) const +int wxListCtrl::GetColumnWidth ( int nCol ) const { - PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum ( GetHWND() - ,nCol - ); + PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum ( GetHWND(), nCol ); if (!pFieldInfo) return 0; @@ -1259,23 +1184,18 @@ int wxListCtrl::GetColumnWidth ( } // end of wxListCtrl::GetColumnWidth // Sets the column width -bool wxListCtrl::SetColumnWidth ( - int nCol -, int nWidth -) +bool wxListCtrl::SetColumnWidth ( int nCol, int nWidth ) { - int nCol2 = nCol; - int nWidth2 = nWidth; + int nCol2 = nCol; + int nWidth2 = nWidth; if (GetWindowStyleFlag() & wxLC_LIST) nCol2 = -1; - PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum( GetHWND() - ,nCol - ); + PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum( GetHWND(), nCol ); pFieldInfo->cxWidth = nWidth; ::WinSendMsg(GetHWND(), CM_INVALIDATEDETAILFIELDINFO, NULL, NULL); - return TRUE; + return true; } // end of wxListCtrl::SetColumnWidth // Gets the number of items that can fit vertically in the @@ -1333,35 +1253,22 @@ wxTextCtrl* wxListCtrl::GetEditControl() const } // Gets information about the item -bool wxListCtrl::GetItem ( - wxListItem& rInfo -) const +bool wxListCtrl::GetItem ( wxListItem& rInfo ) const { - PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND() - ,rInfo.GetId() - ); + PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND(), rInfo.GetId() ); // // Give NULL as hwnd as we already have everything we need // - ConvertFromOS2ListItem( NULL - ,rInfo - ,pRecord - ); - return TRUE; + ConvertFromOS2ListItem( NULL, rInfo, pRecord ); + return true; } // end of wxListCtrl::GetItem // Sets information about the item -bool wxListCtrl::SetItem ( - wxListItem& rInfo -) +bool wxListCtrl::SetItem ( wxListItem& rInfo ) { - PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum ( GetHWND() - ,rInfo.GetColumn() - ); - PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND() - ,rInfo.GetId() - ); + PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum ( GetHWND(), rInfo.GetColumn() ); + PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND(), rInfo.GetId() ); ConvertToOS2ListItem( this ,rInfo @@ -1387,7 +1294,7 @@ bool wxListCtrl::SetItem ( // // Need to set it // - m_bAnyInternalData = TRUE; + m_bAnyInternalData = true; pData = new CListItemInternalData(); pRecord->m_ulUserData = (unsigned long)pData; }; @@ -1412,19 +1319,19 @@ bool wxListCtrl::SetItem ( // // We need to update the item immediately to show the new image // - bool bUpdateNow = (rInfo.GetMask() & wxLIST_MASK_IMAGE) != 0; + bool bUpdateNow = (rInfo.GetMask() & wxLIST_MASK_IMAGE) != 0; // // Check whether it has any custom attributes // if (rInfo.HasAttributes()) { - m_bHasAnyAttr = TRUE; + m_bHasAnyAttr = true; // // If the colour has changed, we must redraw the item // - bUpdateNow = TRUE; + bUpdateNow = true; } if (::WinIsWindowVisible(GetHWND())) { @@ -1440,7 +1347,7 @@ bool wxListCtrl::SetItem ( ,NULL ,NULL ); - return TRUE; + return true; } // end of wxListCtrl::SetItem long wxListCtrl::SetItem ( @@ -1482,23 +1389,15 @@ int wxListCtrl::GetItemState ( } // end of wxListCtrl::GetItemState // Sets the item state -bool wxListCtrl::SetItemState ( - long lItem -, long lState -, long lStateMask -) +bool wxListCtrl::SetItemState ( long lItem, long lState, long lStateMask ) { - PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND() - ,lItem - ); + PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND(), lItem ); // // Don't use SetItem() here as it doesn't work with the virtual list // controls // - ConvertToOS2Flags( lState - ,pRecord - ); + ConvertToOS2Flags( lState, pRecord ); // // for the virtual list controls we need to refresh the previously focused @@ -1540,7 +1439,7 @@ bool wxListCtrl::SetItemState ( RefreshItem(lFocusOld); } } - return TRUE; + return true; } // end of wxListCtrl::SetItemState // Sets the item image @@ -1548,14 +1447,24 @@ bool wxListCtrl::SetItemImage ( long lItem , int nImage , int WXUNUSED(nSelImage)) +{ + return SetItemColumnInfo(lItem, 0, nImage); +} // end of wxListCtrl::SetItemImage + +// Sets the item image +bool wxListCtrl::SetItemColumnImage ( + long lItem +, long lColumn +, int nImage) { wxListItem vInfo; vInfo.m_mask = wxLIST_MASK_IMAGE; vInfo.m_image = nImage; vInfo.m_itemId = lItem; + vInfo.m_col = lColumn; return SetItem(vInfo); -} // end of wxListCtrl::SetItemImage +} // end of wxListCtrl::SetItemColumnImage // Gets the item text wxString wxListCtrl::GetItemText ( @@ -1601,9 +1510,9 @@ long wxListCtrl::GetItemData ( } // end of wxListCtrl::GetItemData // Sets the item data -bool wxListCtrl::SetItemData ( +bool wxListCtrl::SetItemPtrData ( long lItem -, long lData +, wxUIntPtr lData ) { wxListItem vInfo; @@ -1612,25 +1521,21 @@ bool wxListCtrl::SetItemData ( vInfo.m_itemId = lItem; vInfo.m_data = lData; return SetItem(vInfo); -} // end of wxListCtrl::SetItemData +} // end of wxListCtrl::SetItemPtrData // Gets the item rectangle -bool wxListCtrl::GetItemRect ( - long lItem -, wxRect& rRect -, int nCode -) const +bool wxListCtrl::GetItemRect ( long lItem, + wxRect& rRect, + int nCode ) const { - bool bSuccess; - PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND() - ,lItem - ); - QUERYRECORDRECT vQueryRect; - RECTL vRect; - int nHeight; + bool bSuccess; + PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND(), lItem ); + QUERYRECORDRECT vQueryRect; + RECTL vRect; + int nHeight; if (!pRecord) - return FALSE; + return false; vQueryRect.cb = sizeof(QUERYRECORDRECT); vQueryRect.pRecord = &pRecord->m_vRecord; vQueryRect.fRightSplitWindow = TRUE; @@ -1643,33 +1548,26 @@ bool wxListCtrl::GetItemRect ( // // remember OS/2 is backwards // - GetClientSize( NULL - ,&nHeight - ); + GetClientSize( NULL, &nHeight ); rRect.x = vRect.xLeft; rRect.y = nHeight - vRect.yTop; rRect.width = vRect.xRight; rRect.height = nHeight - vRect.yBottom; - bSuccess = TRUE; + bSuccess = true; return bSuccess; } // end of wxListCtrl::GetItemRect // Gets the item position -bool wxListCtrl::GetItemPosition ( - long lItem -, wxPoint& rPos -) const +bool wxListCtrl::GetItemPosition ( long lItem, wxPoint& rPos ) const { - bool bSuccess; - PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND() - ,lItem - ); - QUERYRECORDRECT vQueryRect; - RECTL vRect; - int nHeight; + bool bSuccess; + PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND() , lItem ); + QUERYRECORDRECT vQueryRect; + RECTL vRect; + int nHeight; if (!pRecord) - return FALSE; + return false; vQueryRect.cb = sizeof(QUERYRECORDRECT); vQueryRect.pRecord = &pRecord->m_vRecord; vQueryRect.fRightSplitWindow = TRUE; @@ -1682,25 +1580,20 @@ bool wxListCtrl::GetItemPosition ( // // remember OS/2 is backwards // - GetClientSize( NULL - ,&nHeight - ); + GetClientSize( NULL, &nHeight ); rPos.x = vRect.xLeft; rPos.y = nHeight - vRect.yTop; - bSuccess = TRUE; + bSuccess = true; return bSuccess; } // end of wxListCtrl::GetItemPosition // Sets the item position. -bool wxListCtrl::SetItemPosition ( - long lItem -, const wxPoint& rPos -) +bool wxListCtrl::SetItemPosition ( long lItem, const wxPoint& rPos ) { // // Items cannot be positioned in X/Y coord in OS/2 // - return FALSE; + return false; } // end of wxListCtrl::SetItemPosition // Gets the number of items in the list control @@ -1718,11 +1611,9 @@ int wxListCtrl::GetItemCount () const } // end of wxListCtrl::GetItemCount // Retrieves the spacing between icons in pixels. -// If small is TRUE, gets the spacing for the small icon +// If bIsSmall is true, gets the spacing for the small icon // view, otherwise the large icon view. -int wxListCtrl::GetItemSpacing ( - bool bIsSmall -) const +int wxListCtrl::GetItemSpacing ( bool bIsSmall ) const { CNRINFO vCnrInfo; @@ -1911,48 +1802,42 @@ wxImageList* wxListCtrl::GetImageList ( return NULL; } // end of wxListCtrl::GetImageList -void wxListCtrl::SetImageList ( - wxImageList* pImageList -, int nWhich -) +void wxListCtrl::SetImageList ( wxImageList* pImageList, + int nWhich ) { if (nWhich == wxIMAGE_LIST_NORMAL) { if (m_bOwnsImageListNormal) delete m_pImageListNormal; m_pImageListNormal = pImageList; - m_bOwnsImageListNormal = FALSE; + m_bOwnsImageListNormal = false; } else if (nWhich == wxIMAGE_LIST_SMALL) { if (m_bOwnsImageListSmall) delete m_pImageListSmall; m_pImageListSmall = pImageList; - m_bOwnsImageListSmall = FALSE; + m_bOwnsImageListSmall = false; } else if (nWhich == wxIMAGE_LIST_STATE) { if (m_bOwnsImageListState) delete m_pImageListState; m_pImageListState = pImageList; - m_bOwnsImageListState = FALSE; + m_bOwnsImageListState = false; } } // end of wxListCtrl::SetImageList -void wxListCtrl::AssignImageList ( - wxImageList* pImageList -, int nWhich -) +void wxListCtrl::AssignImageList ( wxImageList* pImageList, int nWhich ) { - SetImageList( pImageList - ,nWhich - ); + SetImageList( pImageList, nWhich ); + if (nWhich == wxIMAGE_LIST_NORMAL ) - m_bOwnsImageListNormal = TRUE; + m_bOwnsImageListNormal = true; else if (nWhich == wxIMAGE_LIST_SMALL ) - m_bOwnsImageListSmall = TRUE; + m_bOwnsImageListSmall = true; else if (nWhich == wxIMAGE_LIST_STATE ) - m_bOwnsImageListState = TRUE; + m_bOwnsImageListState = true; } // end of wxListCtrl::AssignImageList // ---------------------------------------------------------------------------- @@ -1960,12 +1845,10 @@ void wxListCtrl::AssignImageList ( // ---------------------------------------------------------------------------- // Arranges the items -bool wxListCtrl::Arrange ( - int nFlag -) +bool wxListCtrl::Arrange ( int nFlag ) { - ULONG ulType = 0L; - ULONG ulFlags = 0L; + ULONG ulType = 0L; + ULONG ulFlags = 0L; if (nFlag == wxLIST_ALIGN_SNAP_TO_GRID) { @@ -1987,24 +1870,20 @@ bool wxListCtrl::Arrange ( // // We do not support CMA_ARRANGESELECTED // - return TRUE; + return true; } // end of wxListCtrl::Arrange // Deletes an item -bool wxListCtrl::DeleteItem ( - long lItem -) +bool wxListCtrl::DeleteItem ( long lItem ) { - PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND() - ,lItem - ); + PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND(), lItem ); if (LONGFROMMR(::WinSendMsg( GetHWND() ,CM_REMOVERECORD ,(MPARAM)pRecord ,MPFROM2SHORT(1, CMA_FREE) )) == -1L) { - return FALSE; + return false; } // @@ -2033,7 +1912,7 @@ bool wxListCtrl::DeleteItem ( vRectWin.y = vRectItem.GetBottom(); RefreshRect(vRectWin); } - return TRUE; + return true; } // end of wxListCtrl::DeleteItem // Deletes all items @@ -2056,18 +1935,14 @@ bool wxListCtrl::DeleteAllColumns () } wxASSERT_MSG(m_nColCount == 0, wxT("no columns should be left")); - return TRUE; + return true; } // end of wxListCtrl::DeleteAllColumns // Deletes a column -bool wxListCtrl::DeleteColumn ( - int nCol -) +bool wxListCtrl::DeleteColumn ( int nCol ) { - bool bSuccess = FALSE; - PFIELDINFO pField = FindOS2ListFieldByColNum( GetHWND() - ,nCol - ); + bool bSuccess = false; + PFIELDINFO pField = FindOS2ListFieldByColNum( GetHWND(), nCol ); bSuccess = ((LONG)::WinSendMsg( GetHWND() ,CM_REMOVEDETAILFIELDINFO ,MPFROMP(pField) @@ -2118,32 +1993,26 @@ wxTextCtrl* wxListCtrl::EditLabel ( // End label editing, optionally cancelling the edit. Under OS/2 you close // the record for editting -bool wxListCtrl::EndEditLabel ( - bool WXUNUSED(bCancel) -) +bool wxListCtrl::EndEditLabel ( bool WXUNUSED(bCancel) ) { ::WinSendMsg( GetHWND() ,CM_CLOSEEDIT ,(MPARAM)0 ,(MPARAM)0 ); - return TRUE; + return true; } // end of wxListCtrl::EndEditLabel // Ensures this item is visible -bool wxListCtrl::EnsureVisible ( - long lItem -) +bool wxListCtrl::EnsureVisible ( long lItem ) { - PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND() - ,lItem - ); + PMYRECORD pRecord = FindOS2ListRecordByID( GetHWND(), lItem ); ::WinSendMsg( GetHWND() ,CM_INVALIDATERECORD ,MPFROMP(pRecord) ,MPFROM2SHORT((SHORT)1, CMA_NOREPOSITION) ); - return TRUE; + return true; } // end of wxListCtrl::EnsureVisible // Find an item whose label matches this string, starting from the item after 'start' @@ -2264,7 +2133,7 @@ long wxListCtrl::FindItem ( vLibRect.SetTop(vRect.yTop); vLibRect.SetRight(vRect.xRight); vLibRect.SetBottom(vRect.yBottom); - if (vLibRect.Inside(rPoint)) + if (vLibRect.Contains(rPoint)) return pRecord->m_ulItemId; for (i = lStart + 1; i < vCnrInfo.cRecords; i++) @@ -2284,7 +2153,7 @@ long wxListCtrl::FindItem ( vLibRect.SetTop(vRect.yTop); vLibRect.SetRight(vRect.xRight); vLibRect.SetBottom(vRect.yBottom); - if (vLibRect.Inside(rPoint)) + if (vLibRect.Contains(rPoint)) return pRecord->m_ulItemId; } return -1L; @@ -2342,7 +2211,7 @@ long wxListCtrl::InsertItem ( wxListItem& rInfo ) { - wxASSERT_MSG( !IsVirtual(), _T("can't be used with virtual controls") ); + wxASSERT_MSG( !IsVirtual(), wxT("can't be used with virtual controls") ); PFIELDINFO pFieldInfo = FindOS2ListFieldByColNum ( GetHWND() ,rInfo.GetColumn() @@ -2378,14 +2247,14 @@ long wxListCtrl::InsertItem ( vInsert.fInvalidateRecord = TRUE; // - // Check wether we need to allocate our internal data + // Check whether we need to allocate our internal data // bool bNeedInternalData = ((rInfo.GetMask() & wxLIST_MASK_DATA) || rInfo.HasAttributes() ); if (bNeedInternalData) { - m_bAnyInternalData = TRUE; + m_bAnyInternalData = true; // // Internal stucture that manages data @@ -2531,10 +2400,7 @@ long wxListCtrl::InsertColumn ( // scroll the control by the given number of pixels (exception: in list view, // dx is interpreted as number of columns) -bool wxListCtrl::ScrollList ( - int nDx -, int nDy -) +bool wxListCtrl::ScrollList ( int nDx, int nDy ) { if (nDx > 0) ::WinSendMsg( GetHWND() @@ -2548,15 +2414,12 @@ bool wxListCtrl::ScrollList ( ,(MPARAM)CMA_VERTICAL ,(MPARAM)nDy ); - return TRUE; + return true; } // end of wxListCtrl::ScrollList -bool wxListCtrl::SortItems ( - wxListCtrlCompare fn -, long lData -) +bool wxListCtrl::SortItems ( wxListCtrlCompare fn, long lData ) { - SInternalDataSort vInternalData; + SInternalDataSort vInternalData; vInternalData.m_fnUser = fn; vInternalData.m_lData = lData; @@ -2568,48 +2431,39 @@ bool wxListCtrl::SortItems ( ,(PVOID)&vInternalData )) { - wxLogDebug(_T("CM_SORTRECORD failed")); - return FALSE; + wxLogDebug(wxT("CM_SORTRECORD failed")); + return false; } - return TRUE; + return true; } // end of wxListCtrl::SortItems // ---------------------------------------------------------------------------- // message processing // ---------------------------------------------------------------------------- -bool wxListCtrl::OS2Command ( - WXUINT uCmd -, WXWORD wId -) +bool wxListCtrl::OS2Command ( WXUINT uCmd, WXWORD wId ) { if (uCmd == CN_ENDEDIT) { - wxCommandEvent vEvent( wxEVT_COMMAND_TEXT_UPDATED - ,wId - ); + wxCommandEvent vEvent( wxEVT_COMMAND_TEXT_UPDATED, wId ); vEvent.SetEventObject( this ); ProcessCommand(vEvent); - return TRUE; + return true; } else if (uCmd == CN_KILLFOCUS) { - wxCommandEvent vEvent( wxEVT_KILL_FOCUS - ,wId - ); + wxCommandEvent vEvent( wxEVT_KILL_FOCUS, wId ); vEvent.SetEventObject( this ); ProcessCommand(vEvent); - return TRUE; + return true; } else - return FALSE; + return false; } // end of wxListCtrl::OS2Command // Necessary for drawing hrules and vrules, if specified -void wxListCtrl::OnPaint ( - wxPaintEvent& rEvent -) +void wxListCtrl::OnPaint ( wxPaintEvent& rEvent ) { wxPaintDC vDc(this); wxPen vPen(wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT) @@ -2710,7 +2564,7 @@ wxString wxListCtrl::OnGetItemText ( { // this is a pure virtual function, in fact - which is not really pure // because the controls which are not virtual don't need to implement it - wxFAIL_MSG( _T("not supposed to be called") ); + wxFAIL_MSG( wxT("not supposed to be called") ); return wxEmptyString; } // end of wxListCtrl::OnGetItemText @@ -2719,16 +2573,27 @@ int wxListCtrl::OnGetItemImage ( ) const { // same as above - wxFAIL_MSG( _T("not supposed to be called") ); + wxFAIL_MSG( wxT("not supposed to be called") ); return -1; } // end of wxListCtrl::OnGetItemImage +int wxListCtrl::OnGetItemColumnImage ( + long lItem, + long lColumn +) const +{ + if (!lColumn) + return OnGetItemImage(lItem); + + return -1; +} // end of wxListCtrl::OnGetItemColumnImage + wxListItemAttr* wxListCtrl::OnGetItemAttr ( long WXUNUSED_UNLESS_DEBUG(lItem) ) const { wxASSERT_MSG( lItem >= 0 && lItem < GetItemCount(), - _T("invalid item index in OnGetItemAttr()") ); + wxT("invalid item index in OnGetItemAttr()") ); // // No attributes by default @@ -2740,7 +2605,7 @@ void wxListCtrl::SetItemCount ( long lCount ) { - wxASSERT_MSG( IsVirtual(), _T("this is for virtual controls only") ); + wxASSERT_MSG( IsVirtual(), wxT("this is for virtual controls only") ); // // Cannot explicitly set the record count in OS/2 @@ -2759,34 +2624,25 @@ void wxListCtrl::RefreshItem ( RefreshRect(vRect); } // end of wxListCtrl::RefreshItem -void wxListCtrl::RefreshItems ( - long lItemFrom -, long lItemTo -) +void wxListCtrl::RefreshItems ( long lItemFrom, long lItemTo ) { - wxRect vRect1; - wxRect vRect2; + wxRect vRect1; + wxRect vRect2; - GetItemRect( lItemFrom - ,vRect1 - ); - GetItemRect( lItemTo - ,vRect2 - ); + GetItemRect( lItemFrom , vRect1 ); + GetItemRect( lItemTo , vRect2 ); - wxRect vRect = vRect1; + wxRect vRect = vRect1; vRect.height = vRect2.GetBottom() - vRect1.GetTop(); RefreshRect(vRect); } // end of wxListCtrl::RefreshItems -MRESULT wxListCtrl::OS2WindowProc( - WXUINT uMsg -, WXWPARAM wParam -, WXLPARAM lParam -) +MRESULT wxListCtrl::OS2WindowProc( WXUINT uMsg, + WXWPARAM wParam, + WXLPARAM lParam ) { - bool bProcessed = FALSE; + bool bProcessed = false; MRESULT lRc; wxListEvent vEvent( wxEVT_NULL ,m_windowId @@ -2885,7 +2741,7 @@ MRESULT wxListCtrl::OS2WindowProc( // } vEvent.SetEventType(vEventType); - bProcessed = GetEventHandler()->ProcessEvent(vEvent); + bProcessed = HandleWindowEvent(vEvent); break; } if (!bProcessed)