]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/collpaneg.h
add support for wxStrnlen for those platforms where it's available
[wxWidgets.git] / include / wx / generic / collpaneg.h
index e8fd85a06ee53ab58069a49c9b7791bf402efebb..e07130100406a8a66df28518ea4e94f036c0a542 100644 (file)
 #ifndef _WX_COLLAPSABLE_PANE_H_GENERIC_
 #define _WX_COLLAPSABLE_PANE_H_GENERIC_
 
 #ifndef _WX_COLLAPSABLE_PANE_H_GENERIC_
 #define _WX_COLLAPSABLE_PANE_H_GENERIC_
 
-#if wxUSE_BUTTON && wxUSE_STATLINE
-
 // forward declared
 // forward declared
-class WXDLLEXPORT wxButton;
-class WXDLLEXPORT wxStaticLine;
-
-// class name
-extern WXDLLIMPEXP_DATA_CORE(const wxChar) wxCollapsiblePaneNameStr[];
+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
 
 // ----------------------------------------------------------------------------
 // wxGenericCollapsiblePane
@@ -45,15 +44,7 @@ public:
         Create(parent, winid, label, pos, size, style, val, name);
     }
 
         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,
 
     bool Create(wxWindow *parent,
                 wxWindowID winid,
@@ -64,7 +55,6 @@ public:
                 const wxValidator& val = wxDefaultValidator,
                 const wxString& name = wxCollapsiblePaneNameStr);
 
                 const wxValidator& val = wxDefaultValidator,
                 const wxString& name = wxCollapsiblePaneNameStr);
 
-
     // public wxCollapsiblePane API
     virtual void Collapse(bool collapse = true);
     virtual void SetLabel(const wxString &label);
     // public wxCollapsiblePane API
     virtual void Collapse(bool collapse = true);
     virtual void SetLabel(const wxString &label);
@@ -76,6 +66,7 @@ public:
     virtual wxString GetLabel() const
         { return m_strLabel; }
 
     virtual wxString GetLabel() const
         { return m_strLabel; }
 
+    virtual bool Layout();
 
     // implementation only, don't use
     void OnStateChange(const wxSize& sizeNew);
 
     // implementation only, don't use
     void OnStateChange(const wxSize& sizeNew);
@@ -83,13 +74,16 @@ public:
 protected:
     // overridden methods
     virtual wxSize DoGetBestSize() const;
 protected:
     // overridden methods
     virtual wxSize DoGetBestSize() const;
-    bool Layout();
 
     wxString GetBtnLabel() const;
     int GetBorder() const;
 
     // child controls
 
     wxString GetBtnLabel() const;
     int GetBorder() const;
 
     // child controls
+#if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__)
+    wxDisclosureTriangle *m_pButton;
+#else
     wxButton *m_pButton;
     wxButton *m_pButton;
+#endif
     wxStaticLine *m_pStaticLine;
     wxWindow *m_pPane;
     wxSizer *m_sz;
     wxStaticLine *m_pStaticLine;
     wxWindow *m_pPane;
     wxSizer *m_sz;
@@ -98,15 +92,15 @@ protected:
     wxString m_strLabel;
 
 private:
     wxString m_strLabel;
 
 private:
+    void Init();
+
     // event handlers
     void OnButton(wxCommandEvent &ev);
     void OnSize(wxSizeEvent &ev);
 
     // event handlers
     void OnButton(wxCommandEvent &ev);
     void OnSize(wxSizeEvent &ev);
 
+    WX_DECLARE_CONTROL_CONTAINER();
     DECLARE_DYNAMIC_CLASS(wxGenericCollapsiblePane)
     DECLARE_EVENT_TABLE()
 };
 
     DECLARE_DYNAMIC_CLASS(wxGenericCollapsiblePane)
     DECLARE_EVENT_TABLE()
 };
 
-#endif // wxUSE_BUTTON && wxUSE_STATLINE
-
-
 #endif // _WX_COLLAPSABLE_PANE_H_GENERIC_
 #endif // _WX_COLLAPSABLE_PANE_H_GENERIC_