#ifndef _WX_LISTCTRL_H_
#define _WX_LISTCTRL_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma interface "listctrl.h"
-#endif
-
#if wxUSE_LISTCTRL
#include "wx/control.h"
const wxSize& size = wxDefaultSize,
long style = wxLC_ICON,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = _T("wxListCtrl"))
+ const wxString& name = wxListCtrlNameStr)
{
Init();
const wxSize& size = wxDefaultSize,
long style = wxLC_ICON,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = _T("wxListCtrl"));
+ const wxString& name = wxListCtrlNameStr);
// Attributes
bool GetColumn(int col, wxListItem& item) const;
// Sets information about this column
- bool SetColumn(int col, wxListItem& item) ;
+ bool SetColumn(int col, const wxListItem& item) ;
// Gets the column width
int GetColumnWidth(int col) const;
bool SetItemState(long item, long state, long stateMask) ;
// Sets the item image
- bool SetItemImage(long item, int image, int selImage) ;
+ bool SetItemImage(long item, int image, int selImage = -1) ;
+ bool SetItemColumnImage(long item, long column, int image);
// Gets the item text
wxString GetItemText(long item) const ;
void SetItemBackgroundColour( long item, const wxColour &col);
wxColour GetItemBackgroundColour( long item ) const;
+ // Font of an item.
+ void SetItemFont( long item, const wxFont &f);
+ wxFont GetItemFont( long item ) const;
+
// Gets the number of selected items in the list control
int GetSelectedItemCount() const;
// Inserts an item, returning the index of the new item if successful,
// -1 otherwise.
- long InsertItem(wxListItem& info);
+ long InsertItem(const wxListItem& info);
// Insert a string item
long InsertItem(long index, const wxString& label);
long InsertItem(long index, const wxString& label, int imageIndex);
// For list view mode (only), inserts a column.
- long InsertColumn(long col, wxListItem& info);
+ long InsertColumn(long col, const wxListItem& info);
long InsertColumn(long col,
const wxString& heading,
// obsolete stuff, for compatibility only -- don't use
wxDEPRECATED( int GetItemSpacing(bool isSmall) const);
+ // convert our styles to Windows
+ virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
+
+ // special Windows message handling
+ virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
+ WXWPARAM wParam,
+ WXLPARAM lParam);
+
protected:
// common part of all ctors
void Init();
// free memory taken by all internal data
void FreeAllInternalData();
- // convert our styles to Windows
- virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
+ // get the item attribute, either by quering it for virtual control, or by
+ // returning the one previously set using setter methods for a normal one
+ wxListItemAttr *DoGetItemAttr(long item) const;
wxTextCtrl* m_textCtrl; // The control used for editing a label
// 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;