/////////////////////////////////////////////////////////////////////////////
-// Name: listctrl.h
+// Name: wx/osx/listctrl.h
// Purpose: wxListCtrl class
// Author: Stefan Csomor
// Modified by:
WX_DECLARE_EXPORTED_LIST(wxListItem, wxColumnList);
-class WXDLLIMPEXP_CORE wxListCtrl: public wxControl
+class WXDLLIMPEXP_CORE wxListCtrl: public wxListCtrlBase
{
DECLARE_DYNAMIC_CLASS(wxListCtrl)
public:
bool GetColumn(int col, wxListItem& item) const;
// Sets information about this column
- // TODO: NOT const to be compatible with wxGenericListCtrl API
- bool SetColumn(int col, wxListItem& item) ;
+ bool SetColumn(int col, const wxListItem& item) ;
// Gets the column width
int GetColumnWidth(int col) const;
bool SetItemColumnImage(long item, long column, int image);
// Gets the item text
- wxString GetItemText(long item) const ;
+ wxString GetItemText(long item, int col = 0) const ;
// Sets the item text
void SetItemText(long item, const wxString& str) ;
// Gets the item rectangle
bool GetItemRect(long item, wxRect& rect, int code = wxLIST_RECT_BOUNDS) const ;
+ // Gets the item rectangle of a subitem
+ bool GetSubItemRect( long item, long subItem, wxRect& rect, int code = wxLIST_RECT_BOUNDS ) const;
+
// Gets the item position
bool GetItemPosition(long item, wxPoint& pos) const ;
// list or report view
long GetTopItem() const ;
- // are we in report mode?
- bool InReportView() const { return HasFlag(wxLC_REPORT); }
-
- bool IsVirtual() const { return HasFlag(wxLC_VIRTUAL); }
-
// Add or remove a single window style
void SetSingleStyle(long style, bool add = true) ;
void ClearAll();
// Edit the label
- wxTextCtrl* EditLabel(long item, wxClassInfo* textControlClass = CLASSINFO(wxTextCtrl));
+ wxTextCtrl* EditLabel(long item, wxClassInfo* textControlClass = wxCLASSINFO(wxTextCtrl));
// End label editing, optionally cancelling the edit
bool EndEditLabel(bool cancel);
// Insert an image/string item
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 wxString& heading, int format = wxLIST_FORMAT_LEFT,
- int width = -1);
-
// Scrolls the list control. If in icon, small icon or report view mode,
// x specifies the number of pixels to scroll. If in list view mode, x
// specifies the number of columns to scroll.
// or zero if the two items are equivalent.
// data is arbitrary data to be passed to the sort function.
- bool SortItems(wxListCtrlCompare fn, long data);
+ bool SortItems(wxListCtrlCompare fn, wxIntPtr data);
wxMacDataBrowserListCtrlControl* GetListPeer() const;
bool Update(long item);
*/
- void Command(wxCommandEvent& event) { ProcessCommand(event); };
+ void Command(wxCommandEvent& event) { ProcessCommand(event); }
- wxListCtrlCompare GetCompareFunc() { return m_compareFunc; };
- long GetCompareFuncData() { return m_compareFuncData; };
+ wxListCtrlCompare GetCompareFunc() { return m_compareFunc; }
+ wxIntPtr GetCompareFuncData() { return m_compareFuncData; }
// public overrides needed for pimpl approach
virtual bool SetBackgroundColour(const wxColour& colour);
virtual wxColour GetBackgroundColour() const;
+ virtual void Freeze ();
+ virtual void Thaw ();
+ virtual void Update ();
+
// functions for editing/timer
void OnRenameTimer();
bool OnRenameAccept(long itemEdit, const wxString& value);
GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
protected:
+ // Implement base class pure virtual methods.
+ long DoInsertColumn(long col, const wxListItem& info);
// protected overrides needed for pimpl approach
virtual void DoSetSize(int x, int y,
int width, int height,
int sizeFlags = wxSIZE_AUTO);
- virtual wxSize DoGetBestSize() const;
-
long m_current;
wxListCtrlTextCtrlWrapper *m_textctrlWrapper;
wxListCtrlRenameTimer *m_renameTimer;
void* m_macListCtrlEventHandler;
void* m_cgContext;
wxListCtrlCompare m_compareFunc;
- long m_compareFuncData;
+ wxIntPtr m_compareFuncData;
wxTextCtrl* m_textCtrl; // The control used for editing a label
wxImageList * m_imageListNormal; // The image list for normal icons
private:
int CalcColumnAutoWidth(int col) const;
- DECLARE_EVENT_TABLE()
};
#endif