]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/listctrl.h
Unselect all wxDataViewCtrl items when clicking outside of the item area.
[wxWidgets.git] / include / wx / osx / listctrl.h
index 98ea42e277d9f709f931eeb66fc70acd552b5c79..eb6b50b4a972de4a4c28aba73b3896e588834204 100644 (file)
@@ -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) ;
@@ -160,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) ;
 
@@ -217,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);
@@ -257,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.
@@ -281,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;
 
@@ -303,9 +291,6 @@ class WXDLLIMPEXP_CORE wxListCtrl: public wxControl
     // 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;
-
 /* Why should we need this function? Leave for now.
  * We might need it because item data may have changed,
  * but the display needs refreshing (in string callback mode)
@@ -314,10 +299,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
@@ -326,6 +311,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);
@@ -372,14 +361,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;
@@ -391,7 +380,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
@@ -416,7 +405,6 @@ protected:
 private:
   int CalcColumnAutoWidth(int col) const;
 
-  DECLARE_EVENT_TABLE()
 };
 
 #endif