]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/splitter.tex
Use const
[wxWidgets.git] / docs / latex / wx / splitter.tex
index 71f0e82d58df237e48b155549478307141258033..d96e85ddb237853affcad2478a54d789343b9a72 100644 (file)
@@ -33,6 +33,10 @@ See also \helpref{window styles overview}{windowstyles}.
 
 <wx/splitter.h>
 
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
 \wxheading{Event handling}
 
 To process input from a splitter control, use the following event handler
@@ -64,7 +68,7 @@ Processes a wxEVT\_COMMAND\_SPLITTER\_DOUBLECLICKED event.}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxSplitterWindow::wxSplitterWindow}\label{wxsplitterwindowconstr}
+\membersection{wxSplitterWindow::wxSplitterWindow}\label{wxsplitterwindowctor}
 
 \func{}{wxSplitterWindow}{\void}
 
@@ -106,7 +110,7 @@ create and delete the second pane on demand.
 \helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally},\rtfsp
 \helpref{wxSplitterWindow::Create}{wxsplitterwindowcreate}
 
-\membersection{wxSplitterWindow::\destruct{wxSplitterWindow}}
+\membersection{wxSplitterWindow::\destruct{wxSplitterWindow}}\label{wxsplitterwindowdtor}
 
 \func{}{\destruct{wxSplitterWindow}}{\void}
 
@@ -114,11 +118,11 @@ Destroys the wxSplitterWindow and its children.
 
 \membersection{wxSplitterWindow::Create}\label{wxsplitterwindowcreate}
 
-\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id}, \param{int }{x},\rtfsp
+\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id}, \rtfsp
 \param{const wxPoint\& }{point = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
 \param{long }{style=wxSP\_3D}, \param{const wxString\&}{ name = "splitterWindow"}}
 
-Creation function, for two-step construction. See \helpref{wxSplitterWindow::wxSplitterWindow}{wxsplitterwindowconstr} for
+Creation function, for two-step construction. See \helpref{wxSplitterWindow::wxSplitterWindow}{wxsplitterwindowctor} for
 details.
 
 \membersection{wxSplitterWindow::GetMinimumPaneSize}\label{wxsplitterwindowgetminimumpanesize}
@@ -131,6 +135,16 @@ Returns the current minimum pane size (defaults to zero).
 
 \helpref{wxSplitterWindow::SetMinimumPaneSize}{wxsplitterwindowsetminimumpanesize}
 
+\membersection{wxSplitterWindow::GetSashGravity}\label{wxsplitterwindowgetsashgravity}
+
+\func{double}{GetSashGravity}{\void}
+
+Returns the current sash gravity.
+
+\wxheading{See also}
+
+\helpref{wxSplitterWindow::SetSashGravity}{wxsplitterwindowsetsashgravity}
+
 \membersection{wxSplitterWindow::GetSashPosition}\label{wxsplitterwindowgetsashposition}
 
 \func{int}{GetSashPosition}{\void}
@@ -168,7 +182,8 @@ Returns the right/bottom pane.
 
 \func{void}{Initialize}{\param{wxWindow* }{window}}
 
-Initializes the splitter window to have one pane.
+Initializes the splitter window to have one pane.  The child window is
+shown if it is currently hidden.
 
 \wxheading{Parameters}
 
@@ -269,6 +284,37 @@ may wish to do it yourself.
 \helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically}\\
 \helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}
 
+\membersection{wxSplitterWindow::SetSashGravity}\label{wxsplitterwindowsetsashgravity}
+
+\func{void}{SetSashGravity}{\param{double }{gravity}}
+
+Sets the sash gravity. 
+
+\wxheading{Parameters}
+
+\docparam{gravity}{The sash gravity. Value between 0.0 and 1.0.}
+
+
+\wxheading{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:
+\begin{itemize}\itemsep=0pt
+\item{ 0.0  - only the bottom/right window is automatically resized}
+\item{ 0.5  - both windows grow by equal size}
+\item{ 1.0  - only left/top window grows}
+\end{itemize}
+
+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.
+
+\wxheading{See also}
+
+\helpref{wxSplitterWindow::GetSashGravity}{wxsplitterwindowgetsashgravity}
+
 \membersection{wxSplitterWindow::SetSashPosition}\label{wxsplitterwindowsetsashposition}
 
 \func{void}{SetSashPosition}{\param{int }{position}, \param{const bool}{ redraw = true}}
@@ -289,6 +335,15 @@ Does not currently check for an out-of-range value.
 
 \helpref{wxSplitterWindow::GetSashPosition}{wxsplitterwindowgetsashposition}
 
+\membersection{wxSplitterWindow::SetSashSize}\label{wxsplitterwindowsetsashsize}
+
+\func{void}{SetSashSize}{\param{int }{size}}
+
+Sets the sash size. Normally, the sash size is determined according to the metrics
+of each platform, but the application can override this, for example to show
+a thin sash that the user is not expected to drag. If {\it size} is more -1,
+the custom sash size will be used.
+
 \membersection{wxSplitterWindow::SetMinimumPaneSize}\label{wxsplitterwindowsetminimumpanesize}
 
 \func{void}{SetMinimumPaneSize}{\param{int }{paneSize}}
@@ -335,7 +390,8 @@ Only sets the internal variable; does not update the display.
 \func{bool}{SplitHorizontally}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2},
  \param{int}{ sashPosition = 0}}
 
-Initializes the top and bottom panes of the splitter window.
+Initializes the top and bottom panes of the splitter window.  The
+child windows are shown if they are currently hidden.
 
 \wxheading{Parameters}
 
@@ -344,7 +400,7 @@ Initializes the top and bottom panes of the splitter window.
 \docparam{window2}{The bottom pane.}
 
 \docparam{sashPosition}{The initial position of the sash. If this value is
-positive, it specifies the size of the upper pane. If it is negative, it 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).}
 
@@ -368,7 +424,8 @@ window is not currently split using \helpref{IsSplit}{wxsplitterwindowissplit}.
 \func{bool}{SplitVertically}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2},
  \param{int}{ sashPosition = 0}}
 
-Initializes the left and right panes of the splitter window.
+Initializes the left and right panes of the splitter window.  The
+child windows are shown if they are currently hidden.
 
 \wxheading{Parameters}
 
@@ -419,3 +476,17 @@ which can be overridden for the desired behaviour. By default, the pane being re
 \helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}, \helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically},\rtfsp
 \helpref{wxSplitterWindow::IsSplit}{wxsplitterwindowissplit}, \helpref{wxSplitterWindow::OnUnsplit}{wxsplitterwindowonunsplit}
 
+\membersection{wxSplitterWindow::UpdateSize}\label{wxsplitterwindowupdatesize}
+
+\func{void}{UpdateSize}{\void}
+
+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.
+