X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6762286db6cf974817dead5b88bebf0e390dbb7e..87f0b1323b7ac77f02133b836c8dfee63b0fd387:/include/wx/osx/listctrl.h diff --git a/include/wx/osx/listctrl.h b/include/wx/osx/listctrl.h index 8d06d24d84..cd6b2e9fb6 100644 --- a/include/wx/osx/listctrl.h +++ b/include/wx/osx/listctrl.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: listctrl.h +// Name: wx/osx/listctrl.h // Purpose: wxListCtrl class // Author: Stefan Csomor // Modified by: @@ -23,7 +23,7 @@ class wxListCtrlRenameTimer; WX_DECLARE_EXPORTED_LIST(wxListItem, wxColumnList); -class WXDLLIMPEXP_CORE wxListCtrl: public wxControl +class WXDLLIMPEXP_CORE wxListCtrl: public wxListCtrlBase { DECLARE_DYNAMIC_CLASS(wxListCtrl) public: @@ -63,8 +63,7 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl 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; @@ -103,7 +102,7 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl 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) ; @@ -127,6 +126,9 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl // 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 ; @@ -157,11 +159,6 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl // 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) ; @@ -214,7 +211,7 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl 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); @@ -254,12 +251,6 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl // 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. @@ -278,7 +269,7 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl // 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; @@ -311,10 +302,10 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl 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 @@ -323,6 +314,10 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl 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); @@ -369,14 +364,14 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl 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; @@ -388,7 +383,7 @@ protected: 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 @@ -413,7 +408,6 @@ protected: private: int CalcColumnAutoWidth(int col) const; - DECLARE_EVENT_TABLE() }; #endif