#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;
};
// 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
{
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_