1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2%% Name: collpane.tex 3%% Purpose: wxCollapsiblePane documentation 4%% Author: Francesco Montorsi 5%% Created: 2006-10-14 6%% RCS-ID: $Id: collpane.tex 48887 2007-09-21 17:53:07Z JS $ 7%% Copyright: (c) 2006 Francesco Montorsi 8%% License: wxWindows license 9%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 10 11\section{\class{wxCollapsiblePane}}\label{wxcollapsiblepane} 12 13A collapsible pane is a container with an embedded button-like control which can be 14used by the user to collapse or expand the pane's contents. 15 16Once constructed you should use the \helpref{GetPane}{wxcollapsiblepanegetpane} 17function to access the pane and add your controls inside it (i.e. use the 18\helpref{GetPane}{wxcollapsiblepanegetpane}'s returned pointer as parent for the 19controls which must go in the pane, NOT the wxCollapsiblePane itself!). 20 21Note that because of its nature of control which can dynamically (and drastically) 22change its size at run-time under user-input, when putting wxCollapsiblePane inside 23a \helpref{wxSizer}{wxsizer} you should be careful to add it with a proportion value 24of zero; this is because otherwise all other windows with non-null proportion values 25would automatically get resized each time the user expands or collapse the pane window 26resulting usually in a weird, flickering effect. 27 28Usage sample: 29 30\begin{verbatim} 31 wxCollapsiblePane *collpane = new wxCollapsiblePane(this, wxID_ANY, wxT("Details:")); 32 33 // add the pane with a zero proportion value to the 'sz' sizer which contains it 34 sz->Add(collpane, 0, wxGROW|wxALL, 5); 35 36 // now add a test label in the collapsible pane using a sizer to layout it: 37 wxWindow *win = collpane->GetPane(); 38 wxSizer *paneSz = new wxBoxSizer(wxVERTICAL); 39 paneSz->Add(new wxStaticText(win, wxID_ANY, wxT("test!")), 1, wxGROW|wxALL, 2); 40 win->SetSizer(paneSz); 41 paneSz->SetSizeHints(win); 42 43\end{verbatim} 44 45 46It is only available if \texttt{wxUSE\_COLLPANE} is set to $1$ (the default). 47 48\wxheading{Derived from} 49 50\helpref{wxControl}{wxcontrol}\\ 51\helpref{wxWindow}{wxwindow}\\ 52\helpref{wxEvtHandler}{wxevthandler}\\ 53\helpref{wxObject}{wxobject} 54 55\wxheading{Include files} 56 57<wx/collpane.h> 58 59\wxheading{Window styles} 60 61\twocolwidtha{5cm}% 62\begin{twocollist}\itemsep=0pt 63\twocolitem{\windowstyle{wxCP\_DEFAULT\_STYLE}}{The default style: 0.} 64\end{twocollist} 65 66\wxheading{Event handling} 67 68To process a collapsible pane event, use these event handler macros to direct input to member 69functions that take a \helpref{wxCollapsiblePaneEvent}{wxcollapsiblepaneevent} argument. 70 71\twocolwidtha{7cm}% 72\begin{twocollist}\itemsep=0pt 73\twocolitem{{\bf EVT\_COLLAPSIBLEPANE\_CHANGED(id, func)}}{The user showed or hidden the collapsible pane. } 74\end{twocollist} 75 76 77\wxheading{See also} 78 79\helpref{wxPanel}{wxpanel},\\ 80\helpref{wxCollapsiblePaneEvent}{wxcollapsiblepaneevent} 81 82\latexignore{\rtfignore{\wxheading{Members}}} 83 84 85 86\membersection{wxCollapsiblePane::wxCollapsiblePane}\label{wxcollapsiblepanector} 87 88\func{}{wxCollapsiblePane}{\param{wxWindow *}{parent},\rtfsp 89\param{wxWindowID}{ id},\rtfsp 90\param{const wxString\& }{label},\rtfsp 91\param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp 92\param{const wxSize\& }{size = wxDefaultSize},\rtfsp 93\param{long}{ style = wxCP\_DEFAULT\_STYLE},\rtfsp 94\param{const wxValidator\& }{validator = wxDefaultValidator}, 95\param{const wxString\& }{name = ``collapsiblePane"}} 96 97Initializes the object and calls \helpref{Create}{wxcollapsiblepanecreate} with 98all the parameters. 99 100 101\membersection{wxCollapsiblePane::Create}\label{wxcollapsiblepanecreate} 102 103\func{bool}{Create}{\param{wxWindow *}{parent},\rtfsp 104\param{wxWindowID}{ id},\rtfsp 105\param{const wxString\& }{label},\rtfsp 106\param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp 107\param{const wxSize\& }{size = wxDefaultSize},\rtfsp 108\param{long}{ style = wxCP\_DEFAULT\_STYLE},\rtfsp 109\param{const wxValidator\& }{validator = wxDefaultValidator}, 110\param{const wxString\& }{name = ``collapsiblePane"}} 111 112\wxheading{Parameters} 113 114\docparam{parent}{Parent window, must not be non-\texttt{NULL}.} 115 116\docparam{id}{The identifier for the control.} 117 118\docparam{label}{The initial label shown in the button which allows the user to expand or collapse the pane window.} 119 120\docparam{pos}{Initial position.} 121 122\docparam{size}{Initial size.} 123 124\docparam{style}{The window style, see {\tt wxCP\_*} flags.} 125 126\docparam{validator}{Validator which can be used for additional date checks.} 127 128\docparam{name}{Control name.} 129 130\wxheading{Return value} 131 132\true if the control was successfully created or \false if creation failed. 133 134 135\membersection{wxCollapsiblePane::IsCollapsed}\label{wxcollapsiblepaneiscollapsed} 136 137\constfunc{bool}{IsCollapsed}{\void} 138 139Returns \true if the pane window is currently hidden. 140 141 142\membersection{wxCollapsiblePane::IsExpanded}\label{wxcollapsiblepaneisexpanded} 143 144\constfunc{bool}{IsExpanded}{\void} 145 146Returns \true if the pane window is currently shown. 147 148 149\membersection{wxCollapsiblePane::Collapse}\label{wxcollapsiblepanecollapse} 150 151\func{void}{Collapse}{\param{bool }{collapse = true}} 152 153Collapses or expands the pane window. 154 155 156\membersection{wxCollapsiblePane::Expand}\label{wxcollapsiblepaneexpand} 157 158\func{void}{Expand}{\void} 159 160Same as \texttt{\helpref{Collapse}{wxcollapsiblepanecollapse}(false)}. 161 162 163\membersection{wxCollapsiblePane::GetPane}\label{wxcollapsiblepanegetpane} 164 165\constfunc{wxWindow *}{GetPane}{\void} 166 167Returns a pointer to the pane window. Add controls to the returned \helpref{wxWindow}{wxwindow} 168to make them collapsible. 169 170 171 172 173 174%% wxCollapsiblePaneEvent documentation 175 176\section{\class{wxCollapsiblePaneEvent}}\label{wxcollapsiblepaneevent} 177 178This event class is used for the events generated by 179\helpref{wxCollapsiblePane}{wxcollapsiblepane}. 180 181\wxheading{Derived from} 182 183\helpref{wxCommandEvent}{wxcommandevent}\\ 184\helpref{wxEvent}{wxevent}\\ 185\helpref{wxObject}{wxobject} 186 187\wxheading{Include files} 188 189<wx/collpane.h> 190 191\wxheading{Event handling} 192 193To process input from a wxCollapsiblePane, use one of these event handler macros to 194direct input to member function that take a 195\helpref{wxCollapsiblePaneEvent}{wxcollapsiblepaneevent} argument: 196 197\twocolwidtha{7cm} 198\begin{twocollist} 199\twocolitem{{\bf EVT\_COLLAPSIBLEPANE\_CHANGED(id, func)}}{The user showed or hidden the collapsible pane.} 200\end{twocollist}% 201 202 203\wxheading{See also} 204 205\helpref{wxCollapsiblePane}{wxcollapsiblepane} 206 207\latexignore{\rtfignore{\wxheading{Members}}} 208 209\membersection{wxCollapsiblePaneEvent::wxCollapsiblePaneEvent}\label{wxcollapsiblepaneeventctor} 210 211\func{}{wxCollapsiblePaneEvent}{\param{wxObject *}{ generator}, \param{int}{ id}, \param{bool}{ collapsed}} 212 213The constructor is not normally used by the user code. 214 215 216\membersection{wxCollapsiblePaneEvent::GetCollapsed}\label{wxcollapsiblepaneeventgetcollapsed} 217 218\constfunc{bool}{GetCollapsed}{\void} 219 220Returns \true if the pane has been collapsed. 221 222 223\membersection{wxCollapsiblePaneEvent::SetCollapsed}\label{wxcollapsiblepaneeventsetcollapsed} 224 225\func{void}{SetCollapsed}{\param{bool}{ collapsed}} 226 227Sets this as a collapsed pane event (if \arg{collapsed} is \true) or as an expanded 228pane event (if \arg{collapsed} is \false). 229 230