initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
659
libs/wxWidgets-3.3.1/interface/wx/splitter.h
Normal file
659
libs/wxWidgets-3.3.1/interface/wx/splitter.h
Normal file
@@ -0,0 +1,659 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: splitter.h
|
||||
// Purpose: interface of wxSplitterWindow
|
||||
// Author: wxWidgets team
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
#define wxSP_NOBORDER 0x0000
|
||||
#define wxSP_THIN_SASH 0x0000 // NB: the default is 3D sash
|
||||
#define wxSP_NOSASH 0x0010
|
||||
#define wxSP_PERMIT_UNSPLIT 0x0040
|
||||
#define wxSP_LIVE_UPDATE 0x0080
|
||||
#define wxSP_3DSASH 0x0100
|
||||
#define wxSP_3DBORDER 0x0200
|
||||
#define wxSP_NO_XP_THEME 0x0400
|
||||
#define wxSP_BORDER wxSP_3DBORDER
|
||||
#define wxSP_3D (wxSP_3DBORDER | wxSP_3DSASH)
|
||||
|
||||
|
||||
enum wxSplitMode
|
||||
{
|
||||
wxSPLIT_HORIZONTAL = 1,
|
||||
wxSPLIT_VERTICAL
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
wxSPLIT_DRAG_NONE,
|
||||
wxSPLIT_DRAG_DRAGGING,
|
||||
wxSPLIT_DRAG_LEFT_DOWN
|
||||
};
|
||||
|
||||
/**
|
||||
@class wxSplitterWindow
|
||||
|
||||
This class manages up to two subwindows. The current view can be split
|
||||
into two programmatically (perhaps from a menu command), and unsplit
|
||||
either programmatically or via the wxSplitterWindow user interface.
|
||||
|
||||
@beginStyleTable
|
||||
@style{wxSP_3D}
|
||||
Draws a 3D effect border and sash.
|
||||
@style{wxSP_THIN_SASH}
|
||||
Draws a thin sash.
|
||||
@style{wxSP_3DSASH}
|
||||
Draws a 3D effect sash (part of default style).
|
||||
@style{wxSP_3DBORDER}
|
||||
Synonym for wxSP_BORDER.
|
||||
@style{wxSP_BORDER}
|
||||
Draws a standard border.
|
||||
@style{wxSP_NOBORDER}
|
||||
No border (default).
|
||||
@style{wxSP_NO_XP_THEME}
|
||||
Under Windows, switches off the attempt to draw the splitter
|
||||
using Windows theming, so the borders and sash will take on the
|
||||
pre-XP look.
|
||||
@style{wxSP_PERMIT_UNSPLIT}
|
||||
Always allow to unsplit, even with the minimum pane size other than zero.
|
||||
@style{wxSP_LIVE_UPDATE}
|
||||
Don't draw XOR line but resize the child windows immediately.
|
||||
@endStyleTable
|
||||
|
||||
|
||||
@beginEventEmissionTable{wxSplitterEvent}
|
||||
@event{EVT_SPLITTER_SASH_POS_CHANGING(id, func)}
|
||||
The sash position is in the process of being changed.
|
||||
May be used to modify the position of the tracking bar to properly
|
||||
reflect the position that would be set if the drag were to be completed
|
||||
at this point. Processes a @c wxEVT_SPLITTER_SASH_POS_CHANGING event.
|
||||
@event{EVT_SPLITTER_SASH_POS_RESIZE(id, func)}
|
||||
The sash position is in the process of being updated.
|
||||
May be used to modify the position of the tracking bar to properly
|
||||
reflect the position that would be set if the update were to be completed.
|
||||
This can happen e.g. when the window is resized and the sash is moved
|
||||
according to the gravity setting.
|
||||
This event is sent when the window is resized and allows the application to select
|
||||
the desired new sash position. If it doesn't process the event, the position
|
||||
is determined by the gravity setting.
|
||||
Processes a @c wxEVT_SPLITTER_SASH_POS_RESIZE event and is only
|
||||
available in wxWidgets 3.1.6 or newer.
|
||||
@event{EVT_SPLITTER_SASH_POS_CHANGED(id, func)}
|
||||
The sash position was changed. May be used to modify the sash position
|
||||
before it is set, or to prevent the change from taking place.
|
||||
Processes a @c wxEVT_SPLITTER_SASH_POS_CHANGED event.
|
||||
@event{EVT_SPLITTER_UNSPLIT(id, func)}
|
||||
The splitter has been just unsplit. Processes a @c wxEVT_SPLITTER_UNSPLIT event.
|
||||
@event{EVT_SPLITTER_DCLICK(id, func)}
|
||||
The sash was double clicked. The default behaviour is to unsplit the
|
||||
window when this happens (unless the minimum pane size has been set
|
||||
to a value greater than zero). Processes a @c wxEVT_SPLITTER_DOUBLECLICKED event.
|
||||
@endEventTable
|
||||
|
||||
|
||||
@library{wxcore}
|
||||
@category{miscwnd}
|
||||
|
||||
@see wxSplitterEvent, @ref overview_splitterwindow
|
||||
*/
|
||||
class wxSplitterWindow : public wxWindow
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Default constructor
|
||||
*/
|
||||
wxSplitterWindow();
|
||||
|
||||
/**
|
||||
Constructor for creating the window.
|
||||
|
||||
@param parent
|
||||
The parent of the splitter window.
|
||||
@param id
|
||||
The window identifier.
|
||||
@param pos
|
||||
The window position.
|
||||
@param size
|
||||
The window size.
|
||||
@param style
|
||||
The window style. See wxSplitterWindow.
|
||||
@param name
|
||||
The window name.
|
||||
|
||||
@remarks
|
||||
After using this constructor, you must create either one or two
|
||||
subwindows with the splitter window as parent, and then call one
|
||||
of Initialize(), SplitVertically() and SplitHorizontally() in order
|
||||
to set the pane(s).
|
||||
You can create two windows, with one hidden when not being shown;
|
||||
or you can create and delete the second pane on demand.
|
||||
|
||||
@see Initialize(), SplitVertically(), SplitHorizontally(), Create()
|
||||
*/
|
||||
wxSplitterWindow(wxWindow* parent, wxWindowID id = wxID_ANY,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxSP_3D,
|
||||
const wxString& name = "splitterWindow");
|
||||
|
||||
/**
|
||||
Destroys the wxSplitterWindow and its children.
|
||||
*/
|
||||
virtual ~wxSplitterWindow();
|
||||
|
||||
/**
|
||||
Creation function, for two-step construction.
|
||||
See wxSplitterWindow() for details.
|
||||
*/
|
||||
bool Create(wxWindow* parent, wxWindowID id = wxID_ANY,
|
||||
const wxPoint& point = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize, long style = wxSP_3D,
|
||||
const wxString& name = "splitter");
|
||||
|
||||
/**
|
||||
Returns the current minimum pane size (defaults to zero).
|
||||
|
||||
@see SetMinimumPaneSize()
|
||||
*/
|
||||
int GetMinimumPaneSize() const;
|
||||
|
||||
/**
|
||||
Returns the current sash gravity.
|
||||
|
||||
@see SetSashGravity()
|
||||
*/
|
||||
double GetSashGravity() const;
|
||||
|
||||
/**
|
||||
Returns the current sash position.
|
||||
|
||||
@see SetSashPosition()
|
||||
*/
|
||||
int GetSashPosition() const;
|
||||
|
||||
/**
|
||||
Returns the default sash size in pixels or 0 if it is invisible.
|
||||
|
||||
@see GetDefaultSashSize(), IsSashInvisible()
|
||||
*/
|
||||
int GetSashSize() const;
|
||||
|
||||
/**
|
||||
Returns the default sash size in pixels.
|
||||
|
||||
The size of the sash is its width for a vertically split window and its
|
||||
height for a horizontally split one. Its other direction is the same as
|
||||
the client size of the window in the corresponding direction.
|
||||
|
||||
The default sash size is platform-dependent because it conforms to the
|
||||
current platform look-and-feel and cannot be changed.
|
||||
|
||||
@since 2.9.4
|
||||
*/
|
||||
int GetDefaultSashSize() const;
|
||||
|
||||
/**
|
||||
Gets the split mode.
|
||||
|
||||
@see SetSplitMode(), SplitVertically(), SplitHorizontally().
|
||||
*/
|
||||
wxSplitMode GetSplitMode() const;
|
||||
|
||||
/**
|
||||
Returns the left/top or only pane.
|
||||
*/
|
||||
wxWindow* GetWindow1() const;
|
||||
|
||||
/**
|
||||
Returns the right/bottom pane.
|
||||
*/
|
||||
wxWindow* GetWindow2() const;
|
||||
|
||||
/**
|
||||
Initializes the splitter window to have one pane.
|
||||
The child window is shown if it is currently hidden.
|
||||
|
||||
@param window
|
||||
The pane for the unsplit window.
|
||||
|
||||
@remarks This should be called if you wish to initially view only a
|
||||
single pane in the splitter window.
|
||||
|
||||
@see SplitVertically(), SplitHorizontally()
|
||||
*/
|
||||
void Initialize(wxWindow* window);
|
||||
|
||||
/**
|
||||
Returns @true if the sash is invisible even when the window is split, @false otherwise.
|
||||
|
||||
@remark This is a shortcut for HasFlag(wxSP_NOSASH)
|
||||
|
||||
@see SetSashInvisible()
|
||||
|
||||
@since 2.9.4
|
||||
*/
|
||||
bool IsSashInvisible() const;
|
||||
|
||||
/**
|
||||
Returns @true if the window is split, @false otherwise.
|
||||
*/
|
||||
bool IsSplit() const;
|
||||
|
||||
/**
|
||||
Application-overridable function called when the sash is double-clicked with
|
||||
the left mouse button.
|
||||
|
||||
@param x
|
||||
The x position of the mouse cursor.
|
||||
@param y
|
||||
The y position of the mouse cursor.
|
||||
|
||||
@remarks The default implementation of this function calls Unsplit if the
|
||||
minimum pane size is zero.
|
||||
|
||||
@see Unsplit()
|
||||
*/
|
||||
virtual void OnDoubleClickSash(int x, int y);
|
||||
|
||||
/**
|
||||
Application-overridable function called when the sash position is changed by
|
||||
user. It may return @false to prevent the change or @true to allow it.
|
||||
|
||||
@param newSashPosition
|
||||
The new sash position (always positive or zero)
|
||||
|
||||
@remarks The default implementation of this function verifies that the
|
||||
sizes of both panes of the splitter are greater than
|
||||
minimum pane size.
|
||||
*/
|
||||
virtual bool OnSashPositionChange(int newSashPosition);
|
||||
|
||||
/**
|
||||
Application-overridable function called when the window is unsplit, either
|
||||
programmatically or using the wxSplitterWindow user interface.
|
||||
|
||||
@param removed
|
||||
The window being removed.
|
||||
|
||||
@remarks The default implementation of this function simply hides
|
||||
removed. You may wish to delete the window.
|
||||
*/
|
||||
virtual void OnUnsplit(wxWindow* removed);
|
||||
|
||||
/**
|
||||
This function replaces one of the windows managed by the wxSplitterWindow with
|
||||
another one. It is in general better to use it instead of calling Unsplit()
|
||||
and then resplitting the window back because it will provoke much less flicker
|
||||
(if any). It is valid to call this function whether the splitter has two
|
||||
windows or only one.
|
||||
|
||||
Both parameters should be non-null and @a winOld must specify one of the
|
||||
windows managed by the splitter. If the parameters are incorrect or the window
|
||||
couldn't be replaced, @false is returned. Otherwise the function will return
|
||||
@true, but please notice that it will not delete the replaced window and you
|
||||
may wish to do it yourself.
|
||||
|
||||
@see GetMinimumPaneSize()
|
||||
*/
|
||||
bool ReplaceWindow(wxWindow* winOld, wxWindow* winNew);
|
||||
|
||||
/**
|
||||
Sets the minimum pane size.
|
||||
|
||||
@param paneSize
|
||||
Minimum pane size in pixels.
|
||||
|
||||
@remarks The default minimum pane size is zero, which means that either
|
||||
pane can be reduced to zero by dragging the sash, thus
|
||||
removing one of the panes. To prevent this behaviour
|
||||
(and veto out-of-range sash dragging), set a minimum
|
||||
size, for example 20 pixels. If the wxSP_PERMIT_UNSPLIT
|
||||
style is used when a splitter window is created, the
|
||||
window may be unsplit even if minimum size is non-zero.
|
||||
|
||||
@see GetMinimumPaneSize()
|
||||
*/
|
||||
void SetMinimumPaneSize(int paneSize);
|
||||
|
||||
/**
|
||||
Sets the sash gravity.
|
||||
|
||||
@param gravity
|
||||
The sash gravity. Value between 0.0 and 1.0.
|
||||
|
||||
@remarks
|
||||
Gravity is real factor which controls position of sash while resizing
|
||||
wxSplitterWindow. Gravity tells wxSplitterWindow how much will left/top
|
||||
window grow while resizing.
|
||||
Example values:
|
||||
- 0.0: only the bottom/right window is automatically resized
|
||||
- 0.5: both windows grow by equal size
|
||||
- 1.0: only left/top window grows
|
||||
Gravity should be a real value between 0.0 and 1.0.
|
||||
Default value of sash gravity is 0.0.
|
||||
That value is compatible with previous (before gravity was introduced)
|
||||
behaviour of wxSplitterWindow.
|
||||
|
||||
Notice that when sash gravity for a newly created splitter window, it
|
||||
is often necessary to explicitly set the splitter size using SetSize()
|
||||
to ensure that is big enough for its initial sash position. Otherwise,
|
||||
i.e. if the window is created with the default tiny size and only
|
||||
resized to its correct size later, the initial sash position will be
|
||||
affected by the gravity and typically result in sash being at the
|
||||
rightmost position for the gravity of 1. See the example code creating
|
||||
wxSplitterWindow in the splitter sample for more details.
|
||||
|
||||
@see GetSashGravity()
|
||||
*/
|
||||
void SetSashGravity(double gravity);
|
||||
|
||||
/**
|
||||
Sets the sash position.
|
||||
|
||||
@param position
|
||||
The sash position in pixels.\n
|
||||
Note that a position of @c 0 will set the sash to the middle of the window.\n
|
||||
A negative value will "wrap around" the sash's position. For example, @c -10
|
||||
will place the sash at @c 10 units from right of the splitter window.
|
||||
@param redraw
|
||||
If @true, resizes the panes and redraws the sash and border.
|
||||
|
||||
@remarks Does not currently check for an out-of-range value.
|
||||
|
||||
@see GetSashPosition()
|
||||
*/
|
||||
void SetSashPosition(int position, bool redraw = true);
|
||||
|
||||
/**
|
||||
Sets the split mode.
|
||||
|
||||
@param mode
|
||||
Can be wxSPLIT_VERTICAL or wxSPLIT_HORIZONTAL.
|
||||
|
||||
@remarks Only sets the internal variable; does not update the display.
|
||||
|
||||
@see GetSplitMode(), SplitVertically(), SplitHorizontally().
|
||||
*/
|
||||
void SetSplitMode(int mode);
|
||||
|
||||
/**
|
||||
Sets whether the sash should be invisible, even when the window is
|
||||
split.
|
||||
|
||||
When the sash is invisible, it doesn't appear on the screen at all and,
|
||||
in particular, doesn't allow the user to resize the windows.
|
||||
|
||||
@remarks Only sets the internal variable; does not update the display.
|
||||
|
||||
@param invisible
|
||||
If @true, the sash is always invisible, else it is shown when the
|
||||
window is split.
|
||||
|
||||
@see IsSashInvisible()
|
||||
|
||||
@since 2.9.4
|
||||
*/
|
||||
void SetSashInvisible(bool invisible=true);
|
||||
|
||||
/**
|
||||
Initializes the top and bottom panes of the splitter window.
|
||||
The child windows are shown if they are currently hidden.
|
||||
|
||||
@param window1
|
||||
The top pane.
|
||||
@param window2
|
||||
The bottom pane.
|
||||
@param sashPosition
|
||||
The initial position of the sash. If this value is positive,
|
||||
it specifies the size of the upper pane. If it is negative, its
|
||||
absolute value gives the size of the lower pane.
|
||||
Finally, specify 0 (default) to choose the default position
|
||||
(half of the total window height).
|
||||
|
||||
@return @true if successful, @false otherwise (the window was already split).
|
||||
|
||||
@remarks This should be called if you wish to initially view two panes.
|
||||
It can also be called at any subsequent time, but the application
|
||||
should check that the window is not currently split using IsSplit().
|
||||
|
||||
@see SplitVertically(), IsSplit(), Unsplit()
|
||||
*/
|
||||
virtual bool SplitHorizontally(wxWindow* window1, wxWindow* window2,
|
||||
int sashPosition = 0);
|
||||
|
||||
/**
|
||||
Initializes the left and right panes of the splitter window.
|
||||
The child windows are shown if they are currently hidden.
|
||||
|
||||
@param window1
|
||||
The left pane.
|
||||
@param window2
|
||||
The right pane.
|
||||
@param sashPosition
|
||||
The initial position of the sash. If this value is positive, it
|
||||
specifies the size of the left pane. If it is negative, it is
|
||||
absolute value gives the size of the right pane.
|
||||
Finally, specify 0 (default) to choose the default position
|
||||
(half of the total window width).
|
||||
|
||||
@return @true if successful, @false otherwise (the window was already split).
|
||||
|
||||
@remarks This should be called if you wish to initially view two panes.
|
||||
It can also be called at any subsequent time, but the
|
||||
application should check that the window is not currently
|
||||
split using IsSplit().
|
||||
|
||||
@see SplitHorizontally(), IsSplit(), Unsplit().
|
||||
*/
|
||||
virtual bool SplitVertically(wxWindow* window1, wxWindow* window2,
|
||||
int sashPosition = 0);
|
||||
|
||||
/**
|
||||
Unsplits the window.
|
||||
|
||||
@param toRemove
|
||||
The pane to remove, or @NULL to remove the right or bottom pane.
|
||||
|
||||
@return @true if successful, @false otherwise (the window was not split).
|
||||
|
||||
@remarks This call will not actually delete the pane being removed; it
|
||||
calls OnUnsplit() which can be overridden for the desired
|
||||
behaviour. By default, the pane being removed is hidden.
|
||||
|
||||
@see SplitHorizontally(), SplitVertically(), IsSplit(), OnUnsplit()
|
||||
*/
|
||||
bool Unsplit(wxWindow* toRemove = nullptr);
|
||||
|
||||
/**
|
||||
Causes any pending sizing of the sash and child panes to take place
|
||||
immediately.
|
||||
|
||||
Such resizing normally takes place in idle time, in order to wait for
|
||||
layout to be completed. However, this can cause unacceptable flicker as
|
||||
the panes are resized after the window has been shown.
|
||||
To work around this, you can perform window layout (for example by
|
||||
sending a size event to the parent window), and then call this function,
|
||||
before showing the top-level window.
|
||||
*/
|
||||
void UpdateSize();
|
||||
|
||||
/**
|
||||
Get the last sash position before the splitter was unsplit.
|
||||
|
||||
The last sash position gets updated each time the window is unsplit. It
|
||||
is kept internally to allow restoring the sash in its previous position
|
||||
when if it is split again.
|
||||
|
||||
@return Point whose x/y component corresponds to the position of the
|
||||
vertical/horizontal sash before the last unsplit or 0 if the
|
||||
splitter was never split in the corresponding direction.
|
||||
|
||||
@since 3.3.0
|
||||
*/
|
||||
wxPoint GetLastSplitPosition() const;
|
||||
|
||||
/**
|
||||
Sets the last sash position.
|
||||
|
||||
This does not affect the actual sash position while the window is split
|
||||
but determines the initial position of the sash when the window gets
|
||||
split in the future.
|
||||
|
||||
@param pos
|
||||
Point containing the default positions for wxSPLIT_VERTICAL and
|
||||
wxSPLIT_HORIZONTAL modes respectively in its x and y components.
|
||||
|
||||
@since 3.3.0
|
||||
*/
|
||||
void SetLastSplitPosition(const wxPoint& pos);
|
||||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@class wxSplitterEvent
|
||||
|
||||
This class represents the events generated by a splitter control.
|
||||
|
||||
Also there is only one event class, the data associated to the different events
|
||||
is not the same and so not all accessor functions may be called for each event.
|
||||
The documentation mentions the kind of event(s) for which the given accessor
|
||||
function makes sense: calling it for other types of events will result
|
||||
in assert failure (in debug mode) and will return meaningless results.
|
||||
|
||||
@beginEventTable{wxSplitterEvent}
|
||||
@event{EVT_SPLITTER_SASH_POS_CHANGING(id, func)}
|
||||
The sash position is in the process of being changed.
|
||||
May be used to modify the position of the tracking bar to properly
|
||||
reflect the position that would be set if the drag were to be completed
|
||||
at this point. Processes a @c wxEVT_SPLITTER_SASH_POS_CHANGING event.
|
||||
@event{EVT_SPLITTER_SASH_POS_CHANGED(id, func)}
|
||||
The sash position was changed. May be used to modify the sash position
|
||||
before it is set, or to prevent the change from taking place.
|
||||
Processes a @c wxEVT_SPLITTER_SASH_POS_CHANGED event.
|
||||
@event{EVT_SPLITTER_UNSPLIT(id, func)}
|
||||
The splitter has been just unsplit. Processes a @c wxEVT_SPLITTER_UNSPLIT event.
|
||||
@event{EVT_SPLITTER_DCLICK(id, func)}
|
||||
The sash was double clicked. The default behaviour is to unsplit the
|
||||
window when this happens (unless the minimum pane size has been set
|
||||
to a value greater than zero). Processes a @c wxEVT_SPLITTER_DOUBLECLICKED event.
|
||||
@endEventTable
|
||||
|
||||
@library{wxcore}
|
||||
@category{events}
|
||||
|
||||
@see wxSplitterWindow, @ref overview_events
|
||||
*/
|
||||
class wxSplitterEvent : public wxNotifyEvent
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Constructor. Used internally by wxWidgets only.
|
||||
*/
|
||||
wxSplitterEvent(wxEventType eventType = wxEVT_NULL,
|
||||
wxSplitterWindow* splitter = nullptr);
|
||||
|
||||
/**
|
||||
Returns the new sash position.
|
||||
|
||||
May only be called while processing
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGING,
|
||||
@c wxEVT_SPLITTER_SASH_POS_RESIZE and
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGED events.
|
||||
*/
|
||||
int GetSashPosition() const;
|
||||
|
||||
/**
|
||||
Returns a pointer to the window being removed when a splitter window
|
||||
is unsplit.
|
||||
|
||||
May only be called while processing
|
||||
@c wxEVT_SPLITTER_UNSPLIT events.
|
||||
*/
|
||||
wxWindow* GetWindowBeingRemoved() const;
|
||||
|
||||
/**
|
||||
Returns the x coordinate of the double-click point.
|
||||
|
||||
May only be called while processing
|
||||
@c wxEVT_SPLITTER_DOUBLECLICKED events.
|
||||
*/
|
||||
int GetX() const;
|
||||
|
||||
/**
|
||||
Returns the y coordinate of the double-click point.
|
||||
|
||||
May only be called while processing
|
||||
@c wxEVT_SPLITTER_DOUBLECLICKED events.
|
||||
*/
|
||||
int GetY() const;
|
||||
|
||||
/**
|
||||
In the case of @c wxEVT_SPLITTER_SASH_POS_CHANGED events,
|
||||
sets the new sash position.
|
||||
In the case of @c wxEVT_SPLITTER_SASH_POS_CHANGING events,
|
||||
sets the new tracking bar position so visual feedback during dragging will
|
||||
represent that change that will actually take place. Set to -1 from
|
||||
the event handler code to prevent repositioning.
|
||||
|
||||
May only be called while processing
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGING,
|
||||
@c wxEVT_SPLITTER_SASH_POS_RESIZE and
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGED events.
|
||||
|
||||
@param pos
|
||||
New sash position.
|
||||
*/
|
||||
void SetSashPosition(int pos);
|
||||
|
||||
/**
|
||||
Sets the size values of the window size. This size
|
||||
is adjusted to the sash orientation.
|
||||
For a vertical sash it should be the width and for
|
||||
a horizontal sash it's the height.
|
||||
|
||||
May only be called while processing
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGING,
|
||||
@c wxEVT_SPLITTER_SASH_POS_RESIZE and
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGED events.
|
||||
@since 3.1.6
|
||||
*/
|
||||
void SetSize(int oldSize, int newSize);
|
||||
|
||||
/**
|
||||
Returns the old size before the update. The size value
|
||||
is already adjusted to the orientation of the sash. So
|
||||
for a vertical sash it's the width and for a horizontal
|
||||
sash it's the height.
|
||||
|
||||
May only be called while processing
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGING,
|
||||
@c wxEVT_SPLITTER_SASH_POS_RESIZE and
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGED events.
|
||||
@since 3.1.6
|
||||
*/
|
||||
int GetOldSize() const
|
||||
|
||||
|
||||
/**
|
||||
Returns the new size which is set after the update.
|
||||
The size value is already adjusted to the orientation
|
||||
of the sash. So for a vertical sash it's the width
|
||||
and for a horizontal sash it's the height.
|
||||
|
||||
May only be called while processing
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGING,
|
||||
@c wxEVT_SPLITTER_SASH_POS_RESIZE and
|
||||
@c wxEVT_SPLITTER_SASH_POS_CHANGED events.
|
||||
@since 3.1.6
|
||||
*/
|
||||
int GetNewSize() const;
|
||||
};
|
||||
|
||||
|
||||
wxEventType wxEVT_SPLITTER_SASH_POS_CHANGED;
|
||||
wxEventType wxEVT_SPLITTER_SASH_POS_CHANGING;
|
||||
wxEventType wxEVT_SPLITTER_SASH_POS_RESIZE;
|
||||
wxEventType wxEVT_SPLITTER_DOUBLECLICKED;
|
||||
wxEventType wxEVT_SPLITTER_UNSPLIT;
|
||||
Reference in New Issue
Block a user