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}
+
+<wx/splitter.h>
+
+\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}
 
