X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ecba67d8f19d3e369b7176b0d3f8a074ef120643..4115960d4b88375610bd0a8990a5a522c9fbe003:/src/msw/listctrl.cpp diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index 5d00e034b4..ac1ebae472 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -17,11 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "listctrl.h" - #pragma implementation "listctrlbase.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -56,6 +51,16 @@ // include "properly" #include "wx/msw/wrapcctl.h" +// Currently gcc and watcom don't define NMLVFINDITEM, and DMC only defines +// it by its old name NM_FINDTIEM. +// +#if defined(__VISUALC__) || defined(__BORLANDC__) || defined(NMLVFINDITEM) + #define HAVE_NMLVFINDITEM 1 +#elif defined(__DMC__) || defined(NM_FINDITEM) + #define HAVE_NMLVFINDITEM 1 + #define NMLVFINDITEM NM_FINDITEM +#endif + // ---------------------------------------------------------------------------- // private functions // ---------------------------------------------------------------------------- @@ -1083,6 +1088,24 @@ wxColour wxListCtrl::GetItemBackgroundColour( long item ) const return col; } +void wxListCtrl::SetItemFont( long item, const wxFont &f ) +{ + wxListItem info; + info.m_itemId = item; + info.SetFont( f ); + SetItem( info ); +} + +wxFont wxListCtrl::GetItemFont( long item ) const +{ + wxFont f; + wxListItemInternalData *data = wxGetInternalData(this, item); + if ( data && data->attr ) + f = data->attr->GetFont(); + + return f; +} + // Gets the number of selected items in the list control int wxListCtrl::GetSelectedItemCount() const { @@ -2133,8 +2156,7 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) } break; -#if 0 -disable temporary for correct building before the missing headers are not completed +#ifdef HAVE_NMLVFINDITEM case LVN_ODFINDITEM: // this message is only used with the virtual list control but // even there we don't want to always use it: in a control with @@ -2204,7 +2226,7 @@ disable temporary for correct building before the missing headers are not comple processed = false; } break; -#endif +#endif // HAVE_NMLVFINDITEM case LVN_GETDISPINFO: if ( IsVirtual() ) @@ -2278,7 +2300,7 @@ disable temporary for correct building before the missing headers are not comple case LVN_ENDLABELEDITA: case LVN_ENDLABELEDITW: - // logic here is inversed compared to all the other messages + // logic here is inverted compared to all the other messages *result = event.IsAllowed(); // don't keep a stale wxTextCtrl around @@ -2798,7 +2820,8 @@ static void wxConvertToMSWListCol(int WXUNUSED(col), const wxListItem& item, // // we don't use LVCFMT_COL_HAS_IMAGES because it doesn't seem to // make any difference in my tests -- but maybe we should? - lvCol.fmt |= LVCFMT_BITMAP_ON_RIGHT | LVCFMT_IMAGE; + if ( item.m_image != -1 ) + lvCol.fmt |= LVCFMT_BITMAP_ON_RIGHT | LVCFMT_IMAGE; lvCol.iImage = item.m_image; }