]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/collpane.h
Applied Peter Most's EVT_SPIN crash fix
[wxWidgets.git] / include / wx / collpane.h
index 002e5a3e21772decb65354f2e8f4fad6a5884883..7ab04a13cb51c13fcf1088b0d8cc51f885ee02d3 100644 (file)
 #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 wxStringlabel) = 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_