]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/checklst.h
avoid GCC warning about type-punned pointer breaking strict aliasing rules
[wxWidgets.git] / include / wx / mac / carbon / checklst.h
index df3f235c381497dac82da4df3dcea20983d32ab0..3cc70996b402f8e8f91e2297dca5ac2896e6aa25 100644 (file)
@@ -1,5 +1,5 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        checklst.h
+// Name:        wx/mac/carbon/checklst.h
 // Purpose:     wxCheckListBox class - a listbox with checkable items
 //              Note: this is an optional class.
 // Author:      Stefan Csomor
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_CHECKLST_H_
-#define _WX_CHECKLST_H_
+#ifndef _WX_MAC_CHECKLST_H_
+#define _WX_MAC_CHECKLST_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "checklst.h"
-#endif
+class wxMacCheckListControl
+{
+public :
+    virtual bool            MacIsChecked(unsigned int n) const = 0;
+    virtual void            MacCheck(unsigned int n, bool bCheck = true) = 0;
 
-#if !defined(__MWERKS__) && !defined(__UNIX__)
-typedef   unsigned int  size_t;
-#endif
+    virtual ~wxMacCheckListControl() { }
+};
 
 class WXDLLEXPORT wxCheckListBox : public wxCheckListBoxBase
 {
-  DECLARE_DYNAMIC_CLASS(wxCheckListBox)
 public:
-  // ctors
+    // ctors
     wxCheckListBox() { Init(); }
     wxCheckListBox(wxWindow *parent,
                    wxWindowID id,
@@ -74,27 +74,17 @@ public:
                 const wxString& name = wxListBoxNameStr);
 
     // items may be checked
-    bool  IsChecked(size_t uiIndex) const;
-    void  Check(size_t uiIndex, bool bCheck = TRUE);
-
+    bool  IsChecked(unsigned int uiIndex) const;
+    void  Check(unsigned int uiIndex, bool bCheck = true);
 
-    // override all methods which add/delete items to update m_checks array as
-    // well
-    virtual void Delete(int n);
-    // the array containing the checked status of the items
-    wxArrayInt m_checks;
+    wxMacCheckListControl* GetPeer() const;
 
 protected:
-    virtual int DoAppend(const wxString& item);
-    virtual void DoInsertItems(const wxArrayString& items, int pos);
-    virtual void DoSetItems(const wxArrayString& items, void **clientData);
-    virtual void DoClear();
-    // common part of all ctors
     void Init();
-private:
 
+private:
     DECLARE_EVENT_TABLE()
+    DECLARE_DYNAMIC_CLASS(wxCheckListBox)
 };
 
-#endif
-    // _WX_CHECKLST_H_
+#endif // _WX_MAC_CHECKLST_H_