X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a660d684eda27638bca0384b2058911a31c8e845..53f7bea59c304667d6bdaab5b6a4fc1f449a7406:/docs/latex/wx/splitter.tex diff --git a/docs/latex/wx/splitter.tex b/docs/latex/wx/splitter.tex index 625a6a093e..e6b53d0f35 100644 --- a/docs/latex/wx/splitter.tex +++ b/docs/latex/wx/splitter.tex @@ -24,6 +24,35 @@ See also \helpref{window styles overview}{windowstyles}. \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} +\wxheading{Include files} + + + +\wxheading{Event handling} + +To process input from a splitter control, use the following event handler +macros to direct input to member functions that take a +\helpref{wxSplitterEvent}{wxsplitterevent} argument. + +\twocolwidtha{7cm} +\begin{twocollist}\itemsep=0pt +\twocolitem{{\bf EVT\_SPLITTER\_SASH\_POS\_CHANGED(id, func)} + {The sash position was changed. May be used to prevent the change from + taking place. Processes wxEVT\_COMMAND\_SPLITTER\_SASH\_POS\_CHANGED event.} +\twocolitem{{\bf EVT\_SPLITTER\_UNSPLIT(id, func)}} + {The splitter has been just unsplit. Processes wxEVT\_COMMAND\_SPLITTER\_UNSPLIT + event.} +\twocolitem{{\bf EVT\_SPLITTER\_DOUBLECLICKED(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 wxEVT\_COMMAND\_SPLITTER\_DOUBLECLICKED + event} +\end{twocollist}% + +\wxheading{See also} + +\helpref{wxSplitterEvent}{wxsplitterevent} + \latexignore{\rtfignore{\wxheading{Members}}} \membersection{wxSplitterWindow::wxSplitterWindow}\label{wxsplitterwindowconstr} @@ -32,9 +61,9 @@ See also \helpref{window styles overview}{windowstyles}. Default constructor. -\func{}{wxSplitterWindow}{\param{wxWindow*}{ parent}, \param{const wxWindowID}{ id}, \param{int }{x},\rtfsp +\func{}{wxSplitterWindow}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id}, \param{int }{x},\rtfsp \param{const wxPoint\& }{point = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp -\param{const long }{style=wxSP\_3D}, \param{const wxString\&}{ name = "splitterWindow"}} +\param{long }{style=wxSP\_3D}, \param{const wxString\&}{ name = "splitterWindow"}} Constructor for creating the window. @@ -76,9 +105,9 @@ Destroys the wxSplitterWindow and its children. \membersection{wxSplitterWindow::Create}\label{wxsplitterwindowcreate} -\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{const wxWindowID}{ id}, \param{int }{x},\rtfsp +\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id}, \param{int }{x},\rtfsp \param{const wxPoint\& }{point = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp -\param{const long }{style=wxSP\_3D}, \param{const wxString\&}{ name = "splitterWindow"}} +\param{long }{style=wxSP\_3D}, \param{const wxString\&}{ name = "splitterWindow"}} Creation function, for two-step construction. See \helpref{wxSplitterWindow::wxSplitterWindow}{wxsplitterwindowconstr} for details. @@ -143,7 +172,7 @@ This should be called if you wish to initially view only a single pane in the sp \wxheading{See also} \helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically},\rtfsp -\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}. +\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally} \membersection{wxSplitterWindow::IsSplit}\label{wxsplitterwindowissplit} @@ -189,13 +218,51 @@ programmatically or using the wxSplitterWindow user interface. The default implementation of this function simply hides {\it removed}. You may wish to delete the window. +\membersection{wxSplitterWindow::OnSashPositionChange}\label{wxsplitterwindowonsashpositionchange} + +\func{virtual bool}{OnSashPositionChange}{\param{int }{newSashPosition}} + +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. + +\wxheading{Parameters} + +\docparam{newSashPosition}{The new sash position (always positive or zero)} + +\wxheading{Remarks} + +The default implementation of this function verifies that the sizes of both +panes of the splitter are greater than minimum pane size. + +\membersection{wxSplitterWindow::ReplaceWindow}\label{wxsplitterwindowreplacewindow} + +\func{bool}{ReplaceWindow}{\param{wxWindow * }{winOld}, \param{wxWindow * }{winNew}} + +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 {\it 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. + \wxheading{See also} -\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit} +\helpref{wxSplitterWindow::GetMinimumPaneSize}{wxsplitterwindowgetminimumpanesize} + +\wxheading{See also} + +\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}\\ +\helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically}\\ +\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally} \membersection{wxSplitterWindow::SetSashPosition}\label{wxsplitterwindowsetsashposition} -\func{void}{SetSashPosition}{\param{const int }{position}, \param{const bool}{ redraw = TRUE}} +\func{void}{SetSashPosition}{\param{int }{position}, \param{const bool}{ redraw = TRUE}} Sets the sash position. @@ -215,7 +282,7 @@ Does not currently check for an out-of-range value. \membersection{wxSplitterWindow::SetMinimumPaneSize}\label{wxsplitterwindowsetminimumpanesize} -\func{void}{SetMinimumPaneSize}{\param{const int }{paneSize}} +\func{void}{SetMinimumPaneSize}{\param{int }{paneSize}} Sets the minimum pane size. @@ -235,7 +302,7 @@ set a minimum size, for example 20 pixels. \membersection{wxSplitterWindow::SetSplitMode}\label{wxsplitterwindowsetsplitmode} -\func{void}{SetSplitMode}{\param{const int }{mode}} +\func{void}{SetSplitMode}{\param{int }{mode}} Sets the split mode. @@ -255,7 +322,7 @@ Only sets the internal variable; does not update the display. \membersection{wxSplitterWindow::SplitHorizontally}\label{wxsplitterwindowsplithorizontally} \func{bool}{SplitHorizontally}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2}, - \param{const int}{ sashPosition = -1}} + \param{int}{ sashPosition = 0}} Initializes the top and bottom panes of the splitter window. @@ -265,8 +332,10 @@ Initializes the top and bottom panes of the splitter window. \docparam{window2}{The bottom pane.} -\docparam{sashPosition}{The initial position of the sash. If the value is -1, a default position -is chosen.} +\docparam{sashPosition}{The initial position of the sash. If this value is +positive, it specifies the size of the upper pane. If it's negative, it's +absolute value gives the size of the lower pane. Finally, specify 0 (default) +to choose the default position (half of the total window height).} \wxheading{Return value} @@ -274,18 +343,19 @@ TRUE if successful, FALSE otherwise (the window was already split). \wxheading{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 \helpref{IsSplit}{wxsplitterwindowissplit}. +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 \helpref{IsSplit}{wxsplitterwindowissplit}. \wxheading{See also} \helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically}, \helpref{wxSplitterWindow::IsSplit}{wxsplitterwindowissplit},\rtfsp -\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}. +\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit} \membersection{wxSplitterWindow::SplitVertically}\label{wxsplitterwindowsplitvertically} \func{bool}{SplitVertically}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2}, - \param{const int}{ sashPosition = -1}} + \param{int}{ sashPosition = 0}} Initializes the left and right panes of the splitter window. @@ -295,8 +365,10 @@ Initializes the left and right panes of the splitter window. \docparam{window2}{The right pane.} -\docparam{sashPosition}{The initial position of the sash. If the value is -1, a default position -is chosen.} +\docparam{sashPosition}{The initial position of the sash. If this value is +positive, it specifies the size of the left pane. If it's negative, it's +absolute value gives the size of the right pane. Finally, specify 0 (default) +to choose the default position (half of the total window width).} \wxheading{Return value}