]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/sashwin.h
fixed the channel order for Mac (alpha comes first)
[wxWidgets.git] / include / wx / generic / sashwin.h
index 0229f0c7fe0988c5c9726562115cf20f71744d7f..211fc4b783ac950adc4b38589780eb6091fa221a 100644 (file)
@@ -8,13 +8,13 @@
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_SASHWIN_H_G_
 #define _WX_SASHWIN_H_G_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "sashwin.h"
 #endif
 
@@ -69,13 +69,7 @@ public:
 
 class WXDLLEXPORT wxSashWindow: public wxWindow
 {
-  DECLARE_DYNAMIC_CLASS(wxSashWindow)
-
 public:
-
-////////////////////////////////////////////////////////////////////////////
-// Public API
-
     // Default constructor
     wxSashWindow()
     {
@@ -84,7 +78,7 @@ public:
 
     // 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 = wxT("sashWindow"))
     {
         Init();
         Create(parent, id, pos, size, style, name);
@@ -93,7 +87,7 @@ public:
     ~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");
+        const wxSize& size = wxDefaultSize, long style = wxSW_3D|wxCLIP_CHILDREN, const wxString& name = wxT("sashWindow"));
 
     // Set whether there's a sash in this position
     void SetSashVisible(wxSashEdgePosition edge, bool sash);
@@ -144,6 +138,11 @@ public:
     // Adjusts the panes
     void OnSize(wxSizeEvent& event);
 
+#if defined(__WXMSW__) || defined(__WXMAC__)
+    // Handle cursor correctly
+    void OnSetCursor(wxSetCursorEvent& event);
+#endif // wxMSW
+
     // Draws borders
     void DrawBorders(wxDC& dc);
 
@@ -189,11 +188,19 @@ private:
     wxColour    m_hilightColour;
     wxColour    m_faceColour;
     bool        m_mouseCaptured;
+    wxCursor*   m_currentCursor;
 
-DECLARE_EVENT_TABLE()
+private:
+    DECLARE_DYNAMIC_CLASS(wxSashWindow)
+    DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxSashWindow)
 };
 
-#define wxEVT_SASH_DRAGGED (wxEVT_FIRST + 1200)
+BEGIN_DECLARE_EVENT_TYPES()
+    DECLARE_EVENT_TYPE(wxEVT_SASH_DRAGGED, wxEVT_FIRST + 1200)
+END_DECLARE_EVENT_TYPES()
+
+// #define wxEVT_SASH_DRAGGED (wxEVT_FIRST + 1200)
 
 enum wxSashDragStatus
 {
@@ -203,9 +210,7 @@ enum wxSashDragStatus
 
 class WXDLLEXPORT wxSashEvent: public wxCommandEvent
 {
-  DECLARE_DYNAMIC_CLASS(wxSashEvent)
-
- public:
+public:
     inline wxSashEvent(int id = 0, wxSashEdgePosition edge = wxSASH_NONE) {
      m_eventType = (wxEventType) wxEVT_SASH_DRAGGED; m_id = id; m_edge = edge; }
 
@@ -220,18 +225,22 @@ class WXDLLEXPORT wxSashEvent: public wxCommandEvent
     //// dragging the top below the bottom)
     inline void SetDragStatus(wxSashDragStatus status) { m_dragStatus = status; }
     inline wxSashDragStatus GetDragStatus() const { return m_dragStatus; }
- private:
+    
+private:
     wxSashEdgePosition  m_edge;
     wxRect              m_dragRect;
     wxSashDragStatus    m_dragStatus;
+
+private:
+    DECLARE_DYNAMIC_CLASS(wxSashEvent)
 };
 
 typedef void (wxEvtHandler::*wxSashEventFunction)(wxSashEvent&);
 
 #define EVT_SASH_DRAGGED(id, fn) \
-    wxEventTableEntry( wxEVT_SASH_DRAGGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSashEventFunction) & fn, NULL ),
+    DECLARE_EVENT_TABLE_ENTRY( wxEVT_SASH_DRAGGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSashEventFunction) & fn, NULL ),
 #define EVT_SASH_DRAGGED_RANGE(id1, id2, fn) \
-    wxEventTableEntry( wxEVT_SASH_DRAGGED, id1, id2, (wxObjectEventFunction) (wxEventFunction) (wxSashEventFunction) & fn, NULL ),
+    DECLARE_EVENT_TABLE_ENTRY( wxEVT_SASH_DRAGGED, id1, id2, (wxObjectEventFunction) (wxEventFunction) (wxSashEventFunction) & fn, NULL ),
 
 #endif // wxUSE_SASH