+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/os2/listctrl.h
+// Purpose: wxListCtrl class
+// Author:
+// Modified by:
+// Created:
+// Copyright: (c) wxWidgets team
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
#ifndef _WX_LISTCTRL_H_
#define _WX_LISTCTRL_H_
-#ifdef __GNUG__
- #pragma interface "listctrl.h"
-#endif
-
#if wxUSE_LISTCTRL
#include "wx/control.h"
#include "wx/textctrl.h"
-class WXDLLEXPORT wxImageList;
+class WXDLLIMPEXP_FWD_CORE wxImageList;
typedef int (wxCALLBACK *wxListCtrlCompare)(long lItem1, long lItem2, long lSortData);
-class WXDLLEXPORT wxListCtrl: public wxControl
+class WXDLLIMPEXP_CORE wxListCtrl: public wxControl
{
public:
wxListCtrl() { Init(); }
,const wxSize& rSize = wxDefaultSize
,long lStyle = wxLC_ICON
,const wxValidator& rValidator = wxDefaultValidator
- ,const wxString& rsName = _T("wxListCtrl"))
+ ,const wxString& rsName = wxListCtrlNameStr)
{
Init();
Create( pParent
,const wxSize& rSize = wxDefaultSize
,long lStyle = wxLC_ICON
,const wxValidator& rValidator = wxDefaultValidator
- ,const wxString& rsName = _T("wxListCtrl")
+ ,const wxString& rsName = wxListCtrlNameStr
);
//
int GetCountPerPage(void) const;
+ wxRect GetViewRect() const;
//
// Gets the edit control for editing labels.
//
,int nImage
,int lSelImage
);
+ bool SetItemColumnImage( long lItem
+ ,long lColumn
+ ,int nImage
+ );
//
// Item text
// Item data
//
long GetItemData(long lItem) const;
- bool SetItemData( long lItem
- ,long lData
- );
+ bool SetItemPtrData(long item, wxUIntPtr data);
+ bool SetItemData(long item, long data) { return SetItemPtrData(item, data); }
//
// Gets the item rectangle
//
// 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 GetItemSpacing(bool bIsSmall) const;
//
// Add or remove a single window style
void SetSingleStyle( long lStyle
- ,bool bAdd = TRUE
+ ,bool bAdd = true
);
//
// Edit the label
//
wxTextCtrl* EditLabel( long lItem
- ,wxClassInfo* pTextControlClass = CLASSINFO(wxTextCtrl)
+ ,wxClassInfo* pTextControlClass = wxCLASSINFO(wxTextCtrl)
);
//
//
long FindItem( long lStart
,const wxString& rsStr
- ,bool bPartial = FALSE
+ ,bool bPartial = false
);
//
void UpdateStyle(void);
//
- // Implementation: converts wxWindows style to MSW style.
+ // Implementation: converts wxWidgets style to MSW style.
// Can be a single style flag or a bit list.
// oldStyle is 'normalised' so that it doesn't contain
// conflicting styles.
// keep track of inserted/deleted columns
//
- // TRUE if we have any internal data (user data & attributes)
+ // true if we have any internal data (user data & attributes)
//
bool m_bAnyInternalData;
//
- // TRUE if we have any items with custom attributes
+ // true if we have any items with custom attributes
//
bool m_bHasAnyAttr;
) 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)
//
DECLARE_DYNAMIC_CLASS(wxListCtrl)
DECLARE_EVENT_TABLE()
- DECLARE_NO_COPY_CLASS(wxListCtrl)
+ wxDECLARE_NO_COPY_CLASS(wxListCtrl);
}; // end of CLASS wxListCtrl
#endif // wxUSE_LISTCTRL