X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc81d32f2bf8c159f3b1bf6ddaf62e6d77720209..ce756cb06a93facb4faa35a1d57c7038fc26e8e1:/docs/latex/wx/splitter.tex?ds=inline diff --git a/docs/latex/wx/splitter.tex b/docs/latex/wx/splitter.tex index d9b0f4b16a..bae4740e5d 100644 --- a/docs/latex/wx/splitter.tex +++ b/docs/latex/wx/splitter.tex @@ -6,19 +6,16 @@ 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. -Appropriate 3D shading for the Windows 95 user interface is an option - -this is also recommended for GTK. Optionally, the sash can be made to -look more like the native control under MacOS X. - \wxheading{Window styles} \begin{twocollist}\itemsep=0pt \twocolitem{\windowstyle{wxSP\_3D}}{Draws a 3D effect border and sash.} \twocolitem{\windowstyle{wxSP\_3DSASH}}{Draws a 3D effect sash.} -\twocolitem{\windowstyle{wxSP\_3DBORDER}}{Draws a 3D effect border.} -\twocolitem{\windowstyle{wxSP\_FULLSASH}}{Draws the ends of the sash (so the window can be used without a border).} -\twocolitem{\windowstyle{wxSP\_BORDER}}{Draws a thin black border around the window.} -\twocolitem{\windowstyle{wxSP\_NOBORDER}}{No border, and a black sash.} +\twocolitem{\windowstyle{wxSP\_3DBORDER}}{Synonym for wxSP\_BORDER.} +\twocolitem{\windowstyle{wxSP\_BORDER}}{Draws a standard border.} +\twocolitem{\windowstyle{wxSP\_NOBORDER}}{No border (default).} +\twocolitem{\windowstyle{wxSP\_NO\_XP\_THEME}}{Under Windows XP, switches off the attempt to draw the +splitter using Windows XP theming, so the borders and sash will take on the pre-XP look.} \twocolitem{\windowstyle{wxSP\_PERMIT\_UNSPLIT}}{Always allow to unsplit, even with the minimum pane size other than zero.} \twocolitem{\windowstyle{wxSP\_LIVE\_UPDATE}}{Don't draw XOR line but resize the child windows immediately.} @@ -67,7 +64,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} @@ -109,7 +106,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} @@ -117,11 +114,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} @@ -134,6 +131,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} @@ -171,7 +178,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} @@ -272,6 +280,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 automaticaly resized} +\item{ 0.5 - both windows grow by equal size} +\item{ 1.0 - only left/top window grows} +\end{itemize} + +Gravity should be real value betwwen 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}} @@ -338,7 +377,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} @@ -371,7 +411,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} @@ -422,3 +463,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. +