| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        sashwin.h
 
- // Purpose:     interface of wxSashWindow
 
- // Author:      wxWidgets team
 
- // 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.
 
- */
 
- enum wxSashEdgePosition
 
- {
 
-     wxSASH_TOP = 0,
 
-     wxSASH_RIGHT,
 
-     wxSASH_BOTTOM,
 
-     wxSASH_LEFT,
 
-     wxSASH_NONE = 100
 
- };
 
- /**
 
-     See wxSashEvent.
 
- */
 
- enum wxSashDragStatus
 
- {
 
-     wxSASH_STATUS_OK,
 
-     wxSASH_STATUS_OUT_OF_RANGE
 
- };
 
- /**
 
-     @class wxSashWindow
 
-     wxSashWindow allows any of its edges to have a sash which can be dragged
 
-     to resize the window. The actual content window will be created by the
 
-     application as a child of wxSashWindow.
 
-     The window (or an ancestor) will be notified of a drag via a
 
-     wxSashEvent notification.
 
-     @beginStyleTable
 
-     @style{wxSW_3D}
 
-            Draws a 3D effect sash and border.
 
-     @style{wxSW_3DSASH}
 
-            Draws a 3D effect sash.
 
-     @style{wxSW_3DBORDER}
 
-            Draws a 3D effect border.
 
-     @style{wxSW_BORDER}
 
-            Draws a thin black border.
 
-     @endStyleTable
 
-     @beginEventEmissionTable{wxSashEvent}
 
-     @event{EVT_SASH_DRAGGED(id, func)}
 
-            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 @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_events
 
- */
 
- class wxSashWindow : public wxWindow
 
- {
 
- public:
 
-     /**
 
-         Default ctor.
 
-     */
 
-     wxSashWindow();
 
-     /**
 
-         Constructs a sash window, which can be a child of a frame, dialog or any other
 
-         non-control window.
 
-         @param parent
 
-             Pointer to a parent window.
 
-         @param id
 
-             Window identifier. If -1, will automatically create an identifier.
 
-         @param pos
 
-             Window position. wxDefaultPosition is (-1, -1) which indicates that
 
-             wxSashWindows should generate a default position for the window.
 
-             If using the wxSashWindow class directly, supply an actual position.
 
-         @param size
 
-             Window size. wxDefaultSize is (-1, -1) which indicates that wxSashWindows
 
-             should generate a default size for the window.
 
-         @param style
 
-             Window style. For window styles, please see wxSashWindow.
 
-         @param name
 
-             Window name.
 
-     */
 
-     wxSashWindow(wxWindow* parent, wxWindowID id,
 
-                  const wxPoint& pos = wxDefaultPosition,
 
-                  const wxSize& size = wxDefaultSize,
 
-                  long style = wxCLIP_CHILDREN | wxSW_3D,
 
-                  const wxString& name = "sashWindow");
 
-     /**
 
-         Destructor.
 
-     */
 
-     virtual ~wxSashWindow();
 
-     /**
 
-         Gets the maximum window size in the x direction.
 
-     */
 
-     virtual int GetMaximumSizeX() const;
 
-     /**
 
-         Gets the maximum window size in the y direction.
 
-     */
 
-     virtual int GetMaximumSizeY() const;
 
-     /**
 
-         Gets the minimum window size in the x direction.
 
-     */
 
-     virtual int GetMinimumSizeX() const;
 
-     /**
 
-         Gets the minimum window size in the y direction.
 
-     */
 
-     virtual int GetMinimumSizeY() const;
 
-     /**
 
-         Returns @true if a sash is visible on the given edge, @false otherwise.
 
-         @param edge
 
-             Edge. One of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.
 
-         @see SetSashVisible()
 
-     */
 
-     bool GetSashVisible(wxSashEdgePosition edge) const;
 
-     /**
 
-         Sets the maximum window size in the x direction.
 
-     */
 
-     virtual void SetMaximumSizeX(int min);
 
-     /**
 
-         Sets the maximum window size in the y direction.
 
-     */
 
-     virtual void SetMaximumSizeY(int min);
 
-     /**
 
-         Sets the minimum window size in the x direction.
 
-     */
 
-     virtual void SetMinimumSizeX(int min);
 
-     /**
 
-         Sets the minimum window size in the y direction.
 
-     */
 
-     virtual void SetMinimumSizeY(int min);
 
-     /**
 
-         Call this function to make a sash visible or invisible on a particular edge.
 
-         @param edge
 
-             Edge to change. One of wxSASH_TOP, wxSASH_RIGHT, wxSASH_BOTTOM, wxSASH_LEFT.
 
-         @param visible
 
-             @true to make the sash visible, @false to make it invisible.
 
-         @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();
 
- };
 
- /**
 
-     @class wxSashEvent
 
-     A sash event is sent when the sash of a wxSashWindow has been
 
-     dragged by the user.
 
-     @remarks
 
-     When a sash belonging to a sash window is dragged by the user, and then released,
 
-     this event is sent to the window, where it may be processed by an event table
 
-     entry in a derived class, a plug-in event handler or an ancestor class.
 
-     Note that the wxSashWindow doesn't change the window's size itself.
 
-     It relies on the application's event handler to do that.
 
-     This is because the application may have to handle other consequences of the resize,
 
-     or it may wish to veto it altogether. The event handler should look at the drag
 
-     rectangle: see wxSashEvent::GetDragRect to see what the new size of the window
 
-     would be if the resize were to be applied.
 
-     It should also call wxSashEvent::GetDragStatus to see whether the drag was
 
-     OK or out of the current allowed range.
 
-     @beginEventTable{wxSashEvent}
 
-     @event{EVT_SASH_DRAGGED(id, func)}
 
-         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 @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_events
 
- */
 
- class wxSashEvent : public wxCommandEvent
 
- {
 
- public:
 
-     /**
 
-         Constructor.
 
-     */
 
-     wxSashEvent(int id = 0, wxSashEdgePosition edge = wxSASH_NONE);
 
-     /**
 
-         Returns the rectangle representing the new size the window would be if the
 
-         resize was applied. It is up to the application to set the window size if required.
 
-     */
 
-     wxRect GetDragRect() const;
 
-     /**
 
-         Returns the status of the sash: one of wxSASH_STATUS_OK, wxSASH_STATUS_OUT_OF_RANGE.
 
-         If the drag caused the notional bounding box of the window to flip over, for
 
-         example, the drag will be out of rage.
 
-     */
 
-     wxSashDragStatus GetDragStatus() const;
 
-     /**
 
-         Returns the dragged edge.
 
-         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;
 
 
  |