Patch from Tim Kosse to add supoprt for wxListCtrl::OnGetItemColumnImage
which enables images to be specified for columns other than zero in virtual list controls. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
0a6f92b85c
commit
208458a7f5
@ -23,7 +23,7 @@ itself only when needed which allows to have controls with millions of items
|
||||
without consuming much memory. To use virtual list control you must use
|
||||
\helpref{SetItemCount}{wxlistctrlsetitemcount} first and overload at least
|
||||
\helpref{OnGetItemText}{wxlistctrlongetitemtext} (and optionally
|
||||
\helpref{OnGetItemImage}{wxlistctrlongetitemimage} and
|
||||
\helpref{OnGetItemImage}{wxlistctrlongetitemimage} or \helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage} and
|
||||
\helpref{OnGetItemAttr}{wxlistctrlongetitemattr}) to return the information
|
||||
about the items when the control requests it. Virtual list control can be used
|
||||
as a normal one except that no operations which can take time proportional to
|
||||
@ -672,6 +672,7 @@ The base class version always returns {\tt NULL}.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{OnGetItemImage}{wxlistctrlongetitemimage},\\
|
||||
\helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage},\\
|
||||
\helpref{OnGetItemText}{wxlistctrlongetitemtext}
|
||||
|
||||
|
||||
@ -684,14 +685,33 @@ This function must be overloaded in the derived class for a control with
|
||||
(if the control doesn't have an image list, it is not necessary to overload
|
||||
it). It should return the index of the items image in the controls image list
|
||||
or $-1$ for no image.
|
||||
In a control with {\tt wxLC\_REPORT} style, OnGetItemImage only gets called for
|
||||
the first column of each line.
|
||||
|
||||
The base class version always returns $-1$.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{OnGetItemText}{wxlistctrlongetitemtext},\\
|
||||
\helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage},\\
|
||||
\helpref{OnGetItemAttr}{wxlistctrlongetitemattr}
|
||||
|
||||
\membersection{wxListCtrl::OnGetItemColumnImage}\label{wxlistctrlongetitemcolumnimage}
|
||||
|
||||
\constfunc{virtual int}{OnGetItemColumnImage}{\param{long }{item}, \param{long }{column}}
|
||||
|
||||
Overload this function in the derived class for a control with
|
||||
{\tt wxLC\_VIRTUAL} and {\tt wxLC\_REPORT} styles in order to specify the image
|
||||
index for the given line and column.
|
||||
|
||||
The base class version always calls OnGetItemImage for the first column, else
|
||||
it returns $-1$.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{OnGetItemText}{wxlistctrlongetitemtext},\\
|
||||
\helpref{OnGetItemImage}{wxlistctrlongetitemimage},\\
|
||||
\helpref{OnGetItemAttr}{wxlistctrlongetitemattr}
|
||||
|
||||
\membersection{wxListCtrl::OnGetItemText}\label{wxlistctrlongetitemtext}
|
||||
|
||||
@ -705,6 +725,7 @@ the given {\it column} for the specified {\tt item}.
|
||||
|
||||
\helpref{SetItemCount}{wxlistctrlsetitemcount},\\
|
||||
\helpref{OnGetItemImage}{wxlistctrlongetitemimage},\\
|
||||
\helpref{OnGetItemColumnImage}{wxlistctrlongetitemcolumnimage},\\
|
||||
\helpref{OnGetItemAttr}{wxlistctrlongetitemattr}
|
||||
|
||||
|
||||
|
@ -232,9 +232,14 @@ protected:
|
||||
// return the text for the given column of the given item
|
||||
virtual wxString OnGetItemText(long item, long column) const;
|
||||
|
||||
// return the icon for the given item
|
||||
// return the icon for the given item. In report view, OnGetItemImage will
|
||||
// only be called for the first column. See OnGetItemColumnImage for
|
||||
// details.
|
||||
virtual int OnGetItemImage(long item) const;
|
||||
|
||||
// return the icon for the given item and column.
|
||||
virtual int OnGetItemColumnImage(long item, long column) const;
|
||||
|
||||
// return the attribute for the item (may return NULL if none)
|
||||
virtual wxListItemAttr *OnGetItemAttr(long item) const;
|
||||
|
||||
|
@ -407,9 +407,14 @@ protected:
|
||||
// return the text for the given column of the given item
|
||||
virtual wxString OnGetItemText(long item, long column) const;
|
||||
|
||||
// return the icon for the given item
|
||||
// return the icon for the given item. In report view, OnGetItemImage will
|
||||
// only be called for the first column. See OnGetItemColumnImage for
|
||||
// details.
|
||||
virtual int OnGetItemImage(long item) const;
|
||||
|
||||
// return the icon for the given item and column.
|
||||
virtual int OnGetItemColumnImage(long item, long column) const;
|
||||
|
||||
// return the attribute for the item (may return NULL if none)
|
||||
virtual wxListItemAttr *OnGetItemAttr(long item) const;
|
||||
|
||||
|
@ -503,10 +503,17 @@ protected:
|
||||
) const;
|
||||
|
||||
//
|
||||
// Return the icon for the given item
|
||||
// Return the icon for the given item. In report view, OnGetItemImage will
|
||||
// only be called for the first column. See OnGetItemColumnImage for
|
||||
// details.
|
||||
//
|
||||
virtual int OnGetItemImage(long lItem) const;
|
||||
|
||||
//
|
||||
// Return the icon for the given item and column
|
||||
//
|
||||
virtual int OnGetItemColumnImage(long lItem, long lColumn) const;
|
||||
|
||||
//
|
||||
// Return the attribute for the item (may return NULL if none)
|
||||
//
|
||||
|
@ -374,7 +374,12 @@ protected:
|
||||
// return the text for the given column of the given item
|
||||
virtual wxString OnGetItemText(long item, long column) const;
|
||||
|
||||
// return the icon for the given item
|
||||
// return the text for the given column of the given item
|
||||
virtual wxString OnGetItemText(long item, long column) const;
|
||||
|
||||
// return the icon for the given item. In report view, OnGetItemImage will
|
||||
// only be called for the first column. See OnGetItemColumnImage for
|
||||
// details.
|
||||
virtual int OnGetItemImage(long item) const;
|
||||
|
||||
// return the attribute for the item (may return NULL if none)
|
||||
|
@ -2226,9 +2226,9 @@ void wxListMainWindow::CacheLineData(size_t line)
|
||||
for ( size_t col = 0; col < countCol; col++ )
|
||||
{
|
||||
ld->SetText(col, listctrl->OnGetItemText(line, col));
|
||||
ld->SetImage(listctrl->OnGetItemColumnImage(line, col));
|
||||
}
|
||||
|
||||
ld->SetImage(listctrl->OnGetItemImage(line));
|
||||
ld->SetAttr(listctrl->OnGetItemAttr(line));
|
||||
}
|
||||
|
||||
@ -5470,11 +5470,18 @@ int wxGenericListCtrl::OnGetItemImage(long WXUNUSED(item)) const
|
||||
{
|
||||
wxCHECK_MSG(!GetImageList(wxIMAGE_LIST_SMALL),
|
||||
-1,
|
||||
wxT("List control has an image list: OnGetItemImage should be overridden."));
|
||||
|
||||
wxT("List control has an image list, OnGetItemImage or OnGetItemColumnImage should be overridden."));
|
||||
return -1;
|
||||
}
|
||||
|
||||
int wxGenericListCtrl::OnGetItemColumnImage(long item, long column) const
|
||||
{
|
||||
if (!column)
|
||||
return OnGetItemImage(item);
|
||||
|
||||
return -1;
|
||||
|
||||
|
||||
wxListItemAttr *
|
||||
wxGenericListCtrl::OnGetItemAttr(long WXUNUSED_UNLESS_DEBUG(item)) const
|
||||
{
|
||||
|
@ -2253,7 +2253,7 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
|
||||
#ifdef NM_CUSTOMDRAW
|
||||
if ( lvi.mask & LVIF_IMAGE )
|
||||
{
|
||||
lvi.iImage = OnGetItemImage(item);
|
||||
lvi.iImage = OnGetItemColumnImage(item, lvi.iSubItem);
|
||||
}
|
||||
#endif // NM_CUSTOMDRAW
|
||||
|
||||
@ -2519,7 +2519,15 @@ int wxListCtrl::OnGetItemImage(long WXUNUSED(item)) const
|
||||
{
|
||||
wxCHECK_MSG(!GetImageList(wxIMAGE_LIST_SMALL),
|
||||
-1,
|
||||
wxT("List control has an image list, OnGetItemImage should be overridden."));
|
||||
wxT("List control has an image list, OnGetItemImage or OnGetItemColumnImage should be overridden."));
|
||||
return -1;
|
||||
}
|
||||
|
||||
int wxListCtrl::OnGetItemColumnImage(long item, long column) const
|
||||
{
|
||||
if (!column)
|
||||
return OnGetItemImage(item);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -2718,6 +2718,17 @@ int wxListCtrl::OnGetItemImage (
|
||||
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
|
||||
|
@ -622,6 +622,14 @@ int wxListCtrl::OnGetItemImage(long WXUNUSED(item)) const
|
||||
return -1;
|
||||
}
|
||||
|
||||
int wxListCtrl::OnGetItemColumnImage(long item, long column) const
|
||||
{
|
||||
if (!column)
|
||||
return OnGetItemImage(item);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
wxListItemAttr *wxListCtrl::OnGetItemAttr(long WXUNUSED_UNLESS_DEBUG(item)) const
|
||||
{
|
||||
// no attributes by default
|
||||
|
Loading…
Reference in New Issue
Block a user