// Name: sashwin.h
// Purpose: interface of wxSashWindow
// Author: wxWidgets team
-// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+/**
+ wxSashWindow flags
+*/
+#define wxSW_NOBORDER 0x0000
+#define wxSW_BORDER 0x0020
+#define wxSW_3DSASH 0x0040
+#define wxSW_3DBORDER 0x0080
+#define wxSW_3D (wxSW_3DSASH | wxSW_3DBORDER)
+
/**
See wxSashWindow.
Draws a thin black border.
@endStyleTable
- @beginEventTable{wxSashEvent}
+ @beginEventEmissionTable{wxSashEvent}
@event{EVT_SASH_DRAGGED(id, func)}
- Process a wxEVT_SASH_DRAGGED event, when the user has finished
+ Process a @c wxEVT_SASH_DRAGGED event, when the user has finished
dragging a sash.
@event{EVT_SASH_DRAGGED_RANGE(id1, id2, func)}
- Process a wxEVT_SASH_DRAGGED_RANGE event, when the user has
+ Process a @c wxEVT_SASH_DRAGGED_RANGE event, when the user has
finished dragging a sash. The event handler is called when windows
with ids in the given range have their sashes dragged.
@endEventTable
@library{wxadv}
@category{miscwnd}
- @see wxSashEvent, wxSashLayoutWindow, @ref overview_eventhandling
+ @see wxSashEvent, wxSashLayoutWindow, @ref overview_events
*/
class wxSashWindow : public wxWindow
{
*/
bool GetSashVisible(wxSashEdgePosition edge) const;
- /**
- Returns @true if the sash has a border, @false otherwise.
- This function is obsolete since the sash border property is unused.
-
- @param edge
- Edge. One of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.
-
- @see SetSashBorder()
- */
- bool HasBorder(wxSashEdgePosition edge) const;
-
/**
Sets the maximum window size in the x direction.
*/
*/
virtual void SetMinimumSizeY(int min);
- /**
- Call this function to give the sash a border, or remove the border.
- This function is obsolete since the sash border property is unused.
-
- @param edge
- Edge to change. One of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.
- @param hasBorder
- @true to give the sash a border visible, @false to remove it.
- */
- void SetSashBorder(wxSashEdgePosition edge, bool hasBorder);
-
/**
Call this function to make a sash visible or invisible on a particular edge.
@see GetSashVisible()
*/
void SetSashVisible(wxSashEdgePosition edge, bool visible);
+
+
+ /**
+ Get border size
+ */
+ int GetEdgeMargin(wxSashEdgePosition edge) const;
+
+ /**
+ Sets the default sash border size
+ */
+ void SetDefaultBorderSize(int width);
+
+ /**
+ Gets the default sash border size
+ */
+ int GetDefaultBorderSize() const;
+
+ /**
+ Sets the additional border size between child and sash window
+ */
+ void SetExtraBorderSize(int width);
+
+ /**
+ Gets the addition border size between child and sash window
+ */
+ int GetExtraBorderSize() const;
+
+ /**
+ Tests for x, y over sash
+ */
+ wxSashEdgePosition SashHitTest(int x, int y, int tolerance = 2);
+
+ /**
+ Resizes subwindows
+ */
+ void SizeWindows();
};
@beginEventTable{wxSashEvent}
@event{EVT_SASH_DRAGGED(id, func)}
- Process a wxEVT_SASH_DRAGGED event, when the user has finished dragging a sash.
+ Process a @c wxEVT_SASH_DRAGGED event, when the user has finished dragging a sash.
@event{EVT_SASH_DRAGGED_RANGE(id1, id2, func)}
- Process a wxEVT_SASH_DRAGGED_RANGE event, when the user has finished
+ Process a @c wxEVT_SASH_DRAGGED_RANGE event, when the user has finished
dragging a sash. The event handler is called when windows with ids in
the given range have their sashes dragged.
@endEventTable
@library{wxadv}
@category{events}
- @see wxSashWindow, @ref overview_eventhandling
+ @see wxSashWindow, @ref overview_events
*/
class wxSashEvent : public wxCommandEvent
{
The return value is one of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.
*/
wxSashEdgePosition GetEdge() const;
+
+
+ void SetEdge(wxSashEdgePosition edge);
+ void SetDragRect(const wxRect& rect);
+ void SetDragStatus(wxSashDragStatus status);
};
+wxEventType wxEVT_SASH_DRAGGED;