]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/collpaneg.h
Buffered DCs now take non-const bitmaps
[wxWidgets.git] / include / wx / generic / collpaneg.h
index 32f26c17da27ccb8d7f25c77e524687b195ed335..0e2b0f4915dcc8de8133c1a5d816ea9a76c3a917 100644 (file)
 #ifndef _WX_COLLAPSABLE_PANE_H_GENERIC_
 #define _WX_COLLAPSABLE_PANE_H_GENERIC_
 
-#include "wx/button.h"
-
-
-// the ID of the wxButton used to collapse/expand the panel
-#define wxCP_BUTTON_ID      12356
-
-// the number of pixels to leave between the button and the static line and
-// between the button and the pane
-#define wxCP_MARGIN         10
+#if wxUSE_BUTTON && wxUSE_STATLINE
 
 // forward declared
+class WXDLLEXPORT wxButton;
 class WXDLLEXPORT wxStaticLine;
 
 // class name
-extern WXDLLEXPORT_DATA(const wxChar) wxGenericCollapsiblePaneNameStr[];
-
+extern WXDLLIMPEXP_DATA_ADV(const wxChar) wxGenericCollapsiblePaneNameStr[];
 
 
 // ----------------------------------------------------------------------------
 // wxGenericCollapsiblePane
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxGenericCollapsiblePane : public wxCollapsiblePaneBase
+class WXDLLIMPEXP_ADV wxGenericCollapsiblePane : public wxCollapsiblePaneBase
 {
 public:
     wxGenericCollapsiblePane() { Init(); }
@@ -56,10 +48,13 @@ public:
     void Init()
     {
         m_pButton = NULL;
-        m_pStatLine = NULL;
         m_pPane = NULL;
+        m_pStaticLine = NULL;
+        m_sz = NULL;
     }
 
+    ~wxGenericCollapsiblePane();
+
     bool Create(wxWindow *parent,
                 wxWindowID winid,
                 const wxString& label,
@@ -70,46 +65,48 @@ public:
                 const wxString& name = wxGenericCollapsiblePaneNameStr);
 
 
-public:     // public API
+    // public wxCollapsiblePane API
+    virtual void Collapse(bool collapse = true);
+    virtual void SetLabel(const wxString &label);
 
-    void Collapse(bool collapse = true);
-    void SetLabel(const wxString &label);
-
-    bool IsCollapsed() const
+    virtual bool IsCollapsed() const
         { return m_pPane==NULL || !m_pPane->IsShown(); }
-    wxWindow *GetPane() const
+    virtual wxWindow *GetPane() const
         { return m_pPane; }
-    wxString GetLabel() const
+    virtual wxString GetLabel() const
         { return m_strLabel; }
 
-    wxWindow *GetTopLevelParent();
-
-public:         // event handlers
-
-    void OnButton(wxCommandEvent &ev);
-    void OnSize(wxSizeEvent &ev);
 
-protected:      // internal utils
+    // implementation only, don't use
+    void OnStateChange(const wxSize& sizeNew);
 
-    void LayoutChildren();
-
-    wxString GetBtnLabel() const;
+protected:
+    // overridden methods
     virtual wxSize DoGetBestSize() const;
+    bool Layout();
 
-protected:
+    wxString GetBtnLabel() const;
+    int GetBorder() const;
 
+    // child controls
     wxButton *m_pButton;
-    wxStaticLine *m_pStatLine;
+    wxStaticLine *m_pStaticLine;
     wxWindow *m_pPane;
+    wxSizer *m_sz;
 
     // the button label without ">>" or "<<"
     wxString m_strLabel;
 
 private:
+    // event handlers
+    void OnButton(wxCommandEvent &ev);
+    void OnSize(wxSizeEvent &ev);
+
     DECLARE_DYNAMIC_CLASS(wxGenericCollapsiblePane)
     DECLARE_EVENT_TABLE()
 };
 
+#endif // wxUSE_BUTTON && wxUSE_STATLINE
+
 
-#endif
-    // _WX_COLLAPSABLE_PANE_H_GENERIC_
+#endif // _WX_COLLAPSABLE_PANE_H_GENERIC_