]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/listctrl.h
set wxUSE_IOSTREAMH to 0 by default, we're in 2008, not 1988
[wxWidgets.git] / include / wx / mac / carbon / listctrl.h
index 137ab881833032dca4a9afc9a294e3b906988412..f9c3e4201adb78c8bf07b092e4b2a13164390c3c 100644 (file)
 #ifndef _WX_LISTCTRL_H_
 #define _WX_LISTCTRL_H_
 
 #ifndef _WX_LISTCTRL_H_
 #define _WX_LISTCTRL_H_
 
+#include "wx/defs.h"
 #include "wx/generic/listctrl.h"
 
 #include "wx/generic/listctrl.h"
 
+#define wxMAC_ALWAYS_USE_GENERIC_LISTCTRL wxT("mac.listctrl.always_use_generic")
+
 class wxMacDataBrowserListCtrlControl;
 class wxMacListControl;
 class wxListCtrlTextCtrlWrapper;
 class wxMacDataBrowserListCtrlControl;
 class wxMacListControl;
 class wxListCtrlTextCtrlWrapper;
@@ -105,10 +108,10 @@ class WXDLLEXPORT wxListCtrl: public wxControl
 
   // Sets the item text
   void SetItemText(long item, const wxString& str) ;
 
   // Sets the item text
   void SetItemText(long item, const wxString& str) ;
-  
+
   void SetItemTextColour(long item, const wxColour& colour) ;
   wxColour GetItemTextColour(long item) const;
   void SetItemTextColour(long item, const wxColour& colour) ;
   wxColour GetItemTextColour(long item) const;
-  
+
   void SetItemBackgroundColour(long item, const wxColour& colour) ;
   wxColour GetItemBackgroundColour(long item) const;
 
   void SetItemBackgroundColour(long item, const wxColour& colour) ;
   wxColour GetItemBackgroundColour(long item) const;
 
@@ -119,7 +122,8 @@ class WXDLLEXPORT wxListCtrl: public wxControl
   long GetItemData(long item) const ;
 
   // Sets the item data
   long GetItemData(long item) const ;
 
   // Sets the item data
-  bool SetItemData(long item, long data) ;
+  bool SetItemPtrData(long item, wxUIntPtr data);
+  bool SetItemData(long item, long data) { return SetItemPtrData(item, data); }
 
   // Gets the item rectangle
   bool GetItemRect(long item, wxRect& rect, int code = wxLIST_RECT_BOUNDS) const ;
 
   // Gets the item rectangle
   bool GetItemRect(long item, wxRect& rect, int code = wxLIST_RECT_BOUNDS) const ;
@@ -141,7 +145,7 @@ class WXDLLEXPORT wxListCtrl: public wxControl
 
   // Gets the number of selected items in the list control
   int GetSelectedItemCount() const;
 
   // Gets the number of selected items in the list control
   int GetSelectedItemCount() const;
-  
+
   wxRect GetViewRect() const;
 
   // Gets the text colour of the listview
   wxRect GetViewRect() const;
 
   // Gets the text colour of the listview
@@ -313,13 +317,13 @@ class WXDLLEXPORT wxListCtrl: public wxControl
   wxListCtrlCompare GetCompareFunc() { return m_compareFunc; };
   long GetCompareFuncData() { return m_compareFuncData; };
 
   wxListCtrlCompare GetCompareFunc() { return m_compareFunc; };
   long GetCompareFuncData() { return m_compareFuncData; };
 
-  
-  // public overrides needed for pimpl approach  
+
+  // public overrides needed for pimpl approach
   virtual bool SetFont(const wxFont& font);
   virtual bool SetForegroundColour(const wxColour& colour);
   virtual bool SetBackgroundColour(const wxColour& colour);
   virtual wxColour GetBackgroundColour();
   virtual bool SetFont(const wxFont& font);
   virtual bool SetForegroundColour(const wxColour& colour);
   virtual bool SetBackgroundColour(const wxColour& colour);
   virtual wxColour GetBackgroundColour();
-  
+
   // functions for editing/timer
   void OnRenameTimer();
   bool OnRenameAccept(long itemEdit, const wxString& value);
   // functions for editing/timer
   void OnRenameTimer();
   bool OnRenameAccept(long itemEdit, const wxString& value);
@@ -328,31 +332,43 @@ class WXDLLEXPORT wxListCtrl: public wxControl
   void ChangeCurrent(long current);
   void ResetCurrent() { ChangeCurrent((long)-1); }
   bool HasCurrent() const { return m_current != (long)-1; }
   void ChangeCurrent(long current);
   void ResetCurrent() { ChangeCurrent((long)-1); }
   bool HasCurrent() const { return m_current != (long)-1; }
-  
+
   void OnLeftDown(wxMouseEvent& event);
   void OnDblClick(wxMouseEvent& event);
   void OnLeftDown(wxMouseEvent& event);
   void OnDblClick(wxMouseEvent& event);
-  
+
   void FinishEditing(wxTextCtrl *text)
   {
       delete text;
       m_textctrlWrapper = NULL;
       SetFocus();
   }
   void FinishEditing(wxTextCtrl *text)
   {
       delete text;
       m_textctrlWrapper = NULL;
       SetFocus();
   }
-  
+
   virtual int GetScrollPos(int orient) const;
   virtual int GetScrollPos(int orient) const;
-  
+
+  void OnRightDown(wxMouseEvent& event);
+  void OnMiddleDown(wxMouseEvent& event);
+  void OnChar(wxKeyEvent& event);
   virtual void SetFocus();
   virtual void SetFocus();
-  
+  void FireMouseEvent(wxEventType eventType, wxPoint position);
+
   virtual void SetDropTarget( wxDropTarget *dropTarget );
   virtual wxDropTarget* GetDropTarget() const;
   virtual void SetDropTarget( wxDropTarget *dropTarget );
   virtual wxDropTarget* GetDropTarget() const;
-  
+
   // with CG, we need to get the context from an kEventControlDraw event
   // unfortunately, the DataBrowser callbacks don't provide the context
   // with CG, we need to get the context from an kEventControlDraw event
   // unfortunately, the DataBrowser callbacks don't provide the context
-  // and we need it, so we need to set/remove it before and after draw 
+  // and we need it, so we need to set/remove it before and after draw
   // events so we can access it in the callbacks.
   void MacSetDrawingContext(void* context) { m_cgContext = context; }
   void* MacGetDrawingContext() { return m_cgContext; }
 
   // events so we can access it in the callbacks.
   void MacSetDrawingContext(void* context) { m_cgContext = context; }
   void* MacGetDrawingContext() { return m_cgContext; }
 
+  virtual wxVisualAttributes GetDefaultAttributes() const
+  {
+      return GetClassDefaultAttributes(GetWindowVariant());
+  }
+
+  static wxVisualAttributes
+  GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
 protected:
 
   // protected overrides needed for pimpl approach
 protected:
 
   // protected overrides needed for pimpl approach
@@ -367,23 +383,23 @@ protected:
   wxListCtrlRenameTimer *m_renameTimer;
   // common part of all ctors
   void Init();
   wxListCtrlRenameTimer *m_renameTimer;
   // common part of all ctors
   void Init();
-  
+
   wxGenericListCtrl* m_genericImpl;   // allow use of the generic impl.
   wxMacDataBrowserListCtrlControl* m_dbImpl;
   void*  m_macListCtrlEventHandler;
   void*  m_cgContext;
   wxListCtrlCompare m_compareFunc;
   long m_compareFuncData;
   wxGenericListCtrl* m_genericImpl;   // allow use of the generic impl.
   wxMacDataBrowserListCtrlControl* m_dbImpl;
   void*  m_macListCtrlEventHandler;
   void*  m_cgContext;
   wxListCtrlCompare m_compareFunc;
   long m_compareFuncData;
-  
+
   wxTextCtrl*       m_textCtrl;        // The control used for editing a label
   wxImageList *     m_imageListNormal; // The image list for normal icons
   wxImageList *     m_imageListSmall;  // The image list for small icons
   wxImageList *     m_imageListState;  // The image list state icons (not implemented yet)
   wxTextCtrl*       m_textCtrl;        // The control used for editing a label
   wxImageList *     m_imageListNormal; // The image list for normal icons
   wxImageList *     m_imageListSmall;  // The image list for small icons
   wxImageList *     m_imageListState;  // The image list state icons (not implemented yet)
-  
+
   wxColumnList      m_colsInfo; // for storing info about each column
   wxColour          m_textColor;
   wxColumnList      m_colsInfo; // for storing info about each column
   wxColour          m_textColor;
-  wxColour          m_bgColor; 
-  
+  wxColour          m_bgColor;
+
   // keep track of whether or not we should delete the image list ourselves.
   bool              m_ownsImageListNormal,
                     m_ownsImageListSmall,
   // keep track of whether or not we should delete the image list ourselves.
   bool              m_ownsImageListNormal,
                     m_ownsImageListSmall,
@@ -396,8 +412,8 @@ protected:
                                   // keep track of inserted/deleted columns
 
   int               m_count; // for virtual lists, store item count
                                   // keep track of inserted/deleted columns
 
   int               m_count; // for virtual lists, store item count
-  
-private: 
+
+private:
   DECLARE_EVENT_TABLE()
 };
 
   DECLARE_EVENT_TABLE()
 };