X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/037c7b4c7b6c87c40f3ba966a0c3e91a402b4dfa..9bd5c5fcda3fe2222bf37f1615961516d6b40e7f:/include/wx/generic/collpaneg.h diff --git a/include/wx/generic/collpaneg.h b/include/wx/generic/collpaneg.h index e8fd85a06e..4ee8cafcf8 100644 --- a/include/wx/generic/collpaneg.h +++ b/include/wx/generic/collpaneg.h @@ -12,21 +12,21 @@ #ifndef _WX_COLLAPSABLE_PANE_H_GENERIC_ #define _WX_COLLAPSABLE_PANE_H_GENERIC_ -#if wxUSE_BUTTON && wxUSE_STATLINE - // 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 // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxGenericCollapsiblePane : public wxCollapsiblePaneBase +class WXDLLIMPEXP_CORE wxGenericCollapsiblePane : + public wxNavigationEnabled { public: wxGenericCollapsiblePane() { Init(); } @@ -45,15 +45,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, @@ -64,7 +56,6 @@ public: const wxValidator& val = wxDefaultValidator, const wxString& name = wxCollapsiblePaneNameStr); - // public wxCollapsiblePane API virtual void Collapse(bool collapse = true); virtual void SetLabel(const wxString &label); @@ -76,6 +67,12 @@ public: virtual wxString GetLabel() const { return m_strLabel; } + 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); @@ -83,13 +80,16 @@ public: protected: // overridden methods virtual wxSize DoGetBestSize() const; - bool Layout(); wxString GetBtnLabel() const; 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; @@ -98,6 +98,8 @@ protected: wxString m_strLabel; private: + void Init(); + // event handlers void OnButton(wxCommandEvent &ev); void OnSize(wxSizeEvent &ev); @@ -106,7 +108,4 @@ private: DECLARE_EVENT_TABLE() }; -#endif // wxUSE_BUTTON && wxUSE_STATLINE - - #endif // _WX_COLLAPSABLE_PANE_H_GENERIC_