]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/collpaneg.h
Allow OS X Cocoa (or any OS X port) to override GetBestSize and provide a native...
[wxWidgets.git] / include / wx / generic / collpaneg.h
index a12b6f1fc4bccbdf888a46305fd4d6aa6d95d2f0..b25c39db4ec9b8d6cb832431838fc9413f76db08 100644 (file)
 // forward declared
 class WXDLLIMPEXP_FWD_CORE wxButton;
 class WXDLLIMPEXP_FWD_CORE wxStaticLine;
+#if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__)
+class WXDLLIMPEXP_FWD_CORE wxDisclosureTriangle;
+#endif
+
+#include "wx/containr.h"
 
 // ----------------------------------------------------------------------------
 // wxGenericCollapsiblePane
@@ -39,15 +44,7 @@ public:
         Create(parent, winid, label, pos, size, style, val, name);
     }
 
-    void Init()
-    {
-        m_pButton = NULL;
-        m_pPane = NULL;
-        m_pStaticLine = NULL;
-        m_sz = NULL;
-    }
-
-    ~wxGenericCollapsiblePane();
+    virtual ~wxGenericCollapsiblePane();
 
     bool Create(wxWindow *parent,
                 wxWindowID winid,
@@ -71,6 +68,11 @@ public:
 
     virtual bool Layout();
 
+
+    // for the generic collapsible pane only:
+    wxControl* GetControlWidget() const
+        { return (wxControl*)m_pButton; }
+
     // implementation only, don't use
     void OnStateChange(const wxSize& sizeNew);
 
@@ -82,7 +84,11 @@ protected:
     int GetBorder() const;
 
     // child controls
+#if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__)
+    wxDisclosureTriangle *m_pButton;
+#else
     wxButton *m_pButton;
+#endif
     wxStaticLine *m_pStaticLine;
     wxWindow *m_pPane;
     wxSizer *m_sz;
@@ -91,10 +97,13 @@ protected:
     wxString m_strLabel;
 
 private:
+    void Init();
+
     // event handlers
     void OnButton(wxCommandEvent &ev);
     void OnSize(wxSizeEvent &ev);
 
+    WX_DECLARE_CONTROL_CONTAINER();
     DECLARE_DYNAMIC_CLASS(wxGenericCollapsiblePane)
     DECLARE_EVENT_TABLE()
 };