X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c1f8cb1f5cbef0f7699110fd28027948e644c6f..cbeda384e51acb82e13994cb67ac1714669cae10:/include/wx/collpane.h diff --git a/include/wx/collpane.h b/include/wx/collpane.h index 002e5a3e21..2d97a0b6b5 100644 --- a/include/wx/collpane.h +++ b/include/wx/collpane.h @@ -12,29 +12,38 @@ #ifndef _WX_COLLAPSABLE_PANE_H_BASE_ #define _WX_COLLAPSABLE_PANE_H_BASE_ +#include "wx/defs.h" + + +#if wxUSE_COLLPANE + #include "wx/control.h" +// class name +extern WXDLLIMPEXP_DATA_CORE(const char) wxCollapsiblePaneNameStr[]; // ---------------------------------------------------------------------------- // wxCollapsiblePaneBase: interface for wxCollapsiblePane // ---------------------------------------------------------------------------- -#define wxCP_DEFAULT_STYLE (0) +#define wxCP_DEFAULT_STYLE (wxTAB_TRAVERSAL | wxNO_BORDER) +#define wxCP_NO_TLW_RESIZE (0x0002) -class WXDLLEXPORT wxCollapsiblePaneBase : public wxControl +class WXDLLIMPEXP_CORE wxCollapsiblePaneBase : public wxControl { public: wxCollapsiblePaneBase() {} - virtual void Expand() - { Collapse(false); } - virtual void Collapse(bool collapse = true) = 0; + void Expand() { Collapse(false); } + virtual bool IsCollapsed() const = 0; + bool IsExpanded() const { return !IsCollapsed(); } + virtual wxWindow *GetPane() const = 0; virtual wxString GetLabel() const = 0; - virtual void SetLabel(const wxString &label) = 0; + virtual void SetLabel(const wxString& label) = 0; }; @@ -42,9 +51,9 @@ public: // event types and macros // ---------------------------------------------------------------------------- -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_CORE, wxEVT_COMMAND_COLLPANE_CHANGED, 1102) -END_DECLARE_EVENT_TYPES() +class WXDLLIMPEXP_FWD_CORE wxCollapsiblePaneEvent; + +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_COLLPANE_CHANGED, wxCollapsiblePaneEvent ); class WXDLLIMPEXP_CORE wxCollapsiblePaneEvent : public wxCommandEvent { @@ -77,18 +86,21 @@ private: typedef void (wxEvtHandler::*wxCollapsiblePaneEventFunction)(wxCollapsiblePaneEvent&); #define wxCollapsiblePaneEventHandler(func) \ - (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxCollapsiblePaneEventFunction, &func) + wxEVENT_HANDLER_CAST(wxCollapsiblePaneEventFunction, func) #define EVT_COLLAPSIBLEPANE_CHANGED(id, fn) \ - wx__DECLARE_EVT1(wxEVT_COMMAND_COLLPANE_CHANGED, id, wxCollapsiblePaneEventFunction(fn)) + wx__DECLARE_EVT1(wxEVT_COMMAND_COLLPANE_CHANGED, id, wxCollapsiblePaneEventHandler(fn)) -#if defined(__WXGTK24__) +#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) #include "wx/gtk/collpane.h" #else #include "wx/generic/collpaneg.h" - #define wxCollapsiblePane wxGenericCollapsiblePane -#endif + // use #define and not a typedef to allow forward declaring the class + #define wxCollapsiblePane wxGenericCollapsiblePane #endif - // _WX_COLLAPSABLE_PANE_H_BASE_ + +#endif // wxUSE_COLLPANE + +#endif // _WX_COLLAPSABLE_PANE_H_BASE_