]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/sashwin.h
Modified generic wxTreeCtrl to work under non-Unix platforms simultaneously
[wxWidgets.git] / include / wx / generic / sashwin.h
index 1b1d8e0e7e6cac314fda31cbd728fcbbb104cfba..647cbd6aff03431860f81b3f8a166a6b7b99682d 100644 (file)
@@ -8,7 +8,7 @@
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:    wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_SASHWIN_H_G_
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_SASHWIN_H_G_
@@ -18,6 +18,8 @@
 #pragma interface "sashwin.h"
 #endif
 
 #pragma interface "sashwin.h"
 #endif
 
+#if wxUSE_SASH
+
 #include "wx/defs.h"
 #include "wx/window.h"
 #include "wx/string.h"
 #include "wx/defs.h"
 #include "wx/window.h"
 #include "wx/string.h"
@@ -52,7 +54,12 @@ public:
  * wxSashWindow flags
  */
 
  * wxSashWindow flags
  */
 
-#define wxSW_3D             0x0004
+#define wxSW_NOBORDER         0x0000
+//#define wxSW_3D               0x0010
+#define wxSW_BORDER           0x0020
+#define wxSW_3DSASH           0x0040
+#define wxSW_3DBORDER         0x0080
+#define wxSW_3D (wxSW_3DSASH | wxSW_3DBORDER)
 
 /*
  * wxSashWindow allows any of its edges to have a sash which can be dragged
 
 /*
  * wxSashWindow allows any of its edges to have a sash which can be dragged
@@ -70,13 +77,24 @@ public:
 // Public API
 
     // Default constructor
 // Public API
 
     // Default constructor
-    wxSashWindow();
+    wxSashWindow()
+    {
+        Init();
+    }
 
     // Normal constructor
     wxSashWindow(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
 
     // Normal constructor
     wxSashWindow(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
-        const wxSize& size = wxDefaultSize, long style = wxSW_3D|wxCLIP_CHILDREN, const wxString& name = "sashWindow");
+        const wxSize& size = wxDefaultSize, long style = wxSW_3D|wxCLIP_CHILDREN, const wxString& name = "sashWindow")
+    {
+        Init();
+        Create(parent, id, pos, size, style, name);
+    }
+
     ~wxSashWindow();
 
     ~wxSashWindow();
 
+    bool Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
+        const wxSize& size = wxDefaultSize, long style = wxSW_3D|wxCLIP_CHILDREN, const wxString& name = "sashWindow");
+
     // Set whether there's a sash in this position
     void SetSashVisible(wxSashEdgePosition edge, bool sash);
 
     // Set whether there's a sash in this position
     void SetSashVisible(wxSashEdgePosition edge, bool sash);
 
@@ -147,7 +165,9 @@ public:
     // Initialize colours
     void InitColours();
 
     // Initialize colours
     void InitColours();
 
-protected:
+private:
+    void Init();
+
     wxSashEdge  m_sashes[4];
     int         m_dragMode;
     wxSashEdgePosition m_draggingEdge;
     wxSashEdge  m_sashes[4];
     int         m_dragMode;
     wxSashEdgePosition m_draggingEdge;
@@ -210,5 +230,7 @@ typedef void (wxEvtHandler::*wxSashEventFunction)(wxSashEvent&);
 #define EVT_SASH_DRAGGED(id, fn) { wxEVT_SASH_DRAGGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSashEventFunction) & fn, NULL },
 #define EVT_SASH_DRAGGED_RANGE(id1, id2, fn) { wxEVT_SASH_DRAGGED, id1, id2, (wxObjectEventFunction) (wxEventFunction) (wxSashEventFunction) & fn, NULL },
 
 #define EVT_SASH_DRAGGED(id, fn) { wxEVT_SASH_DRAGGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSashEventFunction) & fn, NULL },
 #define EVT_SASH_DRAGGED_RANGE(id1, id2, fn) { wxEVT_SASH_DRAGGED, id1, id2, (wxObjectEventFunction) (wxEventFunction) (wxSashEventFunction) & fn, NULL },
 
+#endif // wxUSE_SASH
+
 #endif
   // _WX_SASHWIN_H_G_
 #endif
   // _WX_SASHWIN_H_G_