]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/propdlg.tex
fixed anchor link naming, indentation in some places, added the <hr> divisor, fixed...
[wxWidgets.git] / docs / latex / wx / propdlg.tex
CommitLineData
3c9287bb
JS
1\section{\class{wxPropertySheetDialog}}\label{wxpropertysheetdialog}
2
3This class represents a property sheet dialog: a tabbed dialog
cc8bc5aa
JS
4for showing settings. It is optimized to show flat tabs
5on PocketPC devices, and can be customized to use different
6controllers instead of the default notebook style.
3c9287bb
JS
7
8To use this class, call \helpref{wxPropertySheetDialog::Create}{wxpropertysheetdialogcreate} from your own
9Create function. Then call \helpref{CreateButtons}{wxpropertysheetdialogcreatebuttons}, and create pages, adding them to the book control.
10Finally call \helpref{LayoutDialog}{wxpropertysheetdialoglayoutdialog}.
11
12For example:
13
14\begin{verbatim}
15bool MyPropertySheetDialog::Create(...)
16{
17 if (!wxPropertySheetDialog::Create(...))
18 return false;
19
20 CreateButtons(wxOK|wxCANCEL|wxHELP);
21
22 // Add page
23 wxPanel* panel = new wxPanel(GetBookCtrl(), ...);
24 GetBookCtrl()->AddPage(panel, wxT("General"));
25
26 LayoutDialog();
27 return true;
28}
29\end{verbatim}
30
31If necessary, override CreateBookCtrl and AddBookCtrl to create and add a different
32kind of book control. You would then need to use two-step construction for the dialog.
cc8bc5aa
JS
33Or, change the style of book control by calling \helpref{SetSheetStyle}{wxpropertysheetdialogsetsheetstyle}
34before calling Create.
35
36The dialogs sample shows this class being used with notebook and toolbook controllers (for
37Windows-style and Mac-style settings dialogs).
3c9287bb 38
3aa8e4ea
JS
39To make pages of the dialog scroll when the display is too small to fit the whole dialog, you can switch
40layout adaptation on globally with \helpref{wxDialog::EnableLayoutAdaptation}{wxdialogenablelayoutadaptation} or
41per dialog with \helpref{wxDialog::SetLayoutAdaptationMode}{wxdialogsetlayoutadaptationmode}. For more
42about layout adaptation, see \helpref{Automatic scrolling dialogs}{autoscrollingdialogs}.
43
3c9287bb
JS
44\wxheading{Derived from}
45
46\helpref{wxDialog}{wxdialog}\\
7376079d 47\helpref{wxTopLevelWindow}{wxtoplevelwindow}\\
3c9287bb
JS
48\helpref{wxWindow}{wxwindow}\\
49\helpref{wxEvtHandler}{wxevthandler}\\
50\helpref{wxObject}{wxobject}
51
52\wxheading{Include files}
53
54<wx/propdlg.h>
55<wx/generic/propdlg.h>
a7af285d
VZ
56\wxheading{Library}
57
58\helpref{wxAdv}{librarieslist}
59
3c9287bb
JS
60
61\latexignore{\rtfignore{\wxheading{Members}}}
62
63\membersection{wxPropertySheetDialog::wxPropertySheetDialog}\label{wxpropertysheetdialogctor}
64
65\func{}{wxPropertySheetDialog}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
66\param{const wxString\& }{title},\rtfsp
67\param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp
68\param{const wxSize\& }{size = wxDefaultSize},\rtfsp
69\param{long}{ style = wxDEFAULT\_DIALOG\_STYLE},\rtfsp
70\param{const wxString\& }{name = ``dialogBox"}}
71
72Constructor.
73
74\membersection{wxPropertySheetDialog::AddBookCtrl}\label{wxpropertysheetdialogaddbookctrl}
75
76\func{virtual void}{AddBookCtrl}{\param{wxSizer* }{sizer}}
77
78Override this if you wish to add the book control in a way different from the
79standard way (for example, using different spacing).
80
81\membersection{wxPropertySheetDialog::Create}\label{wxpropertysheetdialogcreate}
82
83\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
84\param{const wxString\& }{title},\rtfsp
85\param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp
86\param{const wxSize\& }{size = wxDefaultSize},\rtfsp
87\param{long}{ style = wxDEFAULT\_DIALOG\_STYLE},\rtfsp
88\param{const wxString\& }{name = ``dialogBox"}}
89
90Call this from your own Create function, before adding buttons and pages.
91
92\membersection{wxPropertySheetDialog::CreateBookCtrl}\label{wxpropertysheetdialogcreatebookctrl}
93
94\func{virtual wxBookCtrlBase*}{CreateBookCtrl}{\void}
95
cc8bc5aa
JS
96Override this if you wish to create a different kind of book control; by default, the value
97passed to \helpref{SetSheetStyle}{wxpropertysheetdialogsetsheetstyle} is used to determine the control.
98The default behaviour is to create a notebook except on Smartphone, where a choicebook is used.
3c9287bb
JS
99
100\membersection{wxPropertySheetDialog::CreateButtons}\label{wxpropertysheetdialogcreatebuttons}
101
102\func{void}{CreateButtons}{\param{int }{flags=wxOK|wxCANCEL}}
103
104Call this to create the buttons for the dialog. This calls \helpref{wxDialog::CreateButtonSizer}{wxdialogcreatebuttonsizer}, and
105the flags are the same. On PocketPC, no buttons are created.
106
107\membersection{wxPropertySheetDialog::GetBookCtrl}\label{wxpropertysheetdialoggetbookctrl}
108
109\constfunc{wxBookCtrlBase*}{GetBookCtrl}{\void}
110
111Returns the book control that will contain your settings pages.
112
113\membersection{wxPropertySheetDialog::GetInnerSizer}\label{wxpropertysheetdialoggetinnersizer}
114
115\constfunc{wxSizer*}{GetInnerSizer}{\void}
116
117Returns the inner sizer that contains the book control and button sizer.
118
cc8bc5aa
JS
119\membersection{wxPropertySheetDialog::GetSheetStyle}\label{wxpropertysheetdialoggetsheetstyle}
120
121\constfunc{long}{GetSheetStyle}{\void}
122
123Returns the sheet style. See \helpref{SetSheetStyle}{wxpropertysheetdialogsetsheetstyle} for
124permissable values.
125
3c9287bb
JS
126\membersection{wxPropertySheetDialog::LayoutDialog}\label{wxpropertysheetdialoglayoutdialog}
127
cc8bc5aa 128\func{void}{LayoutDialog}{\param{int}{ centreFlags=wxBOTH}}
3c9287bb
JS
129
130Call this to lay out the dialog. On PocketPC, this does nothing, since the dialog will be shown
131full-screen, and the layout will be done when the dialog receives a size event.
132
133\membersection{wxPropertySheetDialog::SetBookCtrl}\label{wxpropertysheetdialogsetbookctrl}
134
135\func{void}{SetBookCtrl}{\param{wxBookCtrlBase* }{bookCtrl}}
136
137Sets the book control used for the dialog. You will normally not need to use this.
138
139\membersection{wxPropertySheetDialog::SetInnerSizer}\label{wxpropertysheetdialogsetinnersizer}
140
141\func{void}{SetInnerSizer}{\param{wxSizer*}{ sizer}}
142
143Sets the inner sizer that contains the book control and button sizer. You will normally not need to use this.
144
cc8bc5aa
JS
145\membersection{wxPropertySheetDialog::SetSheetStyle}\label{wxpropertysheetdialogsetsheetstyle}
146
147\func{void}{SetSheetStyle}{\param{long}{ style}}
148
149You can customize the look and feel of the dialog by setting the sheet style. It is
150a bit list of the following values:
151
152\twocolwidtha{5cm}
153\begin{twocollist}\itemsep=0pt
154\twocolitem{wxPROPSHEET\_DEFAULT}{Uses the default look and feel for the controller window,
155normally a notebook except on Smartphone where a choice control is used.}
156\twocolitem{wxPROPSHEET\_NOTEBOOK}{Uses a notebook for the controller window.}
157\twocolitem{wxPROPSHEET\_TOOLBOOK}{Uses a toolbook for the controller window.}
158\twocolitem{wxPROPSHEET\_CHOICEBOOK}{Uses a choicebook for the controller window.}
159\twocolitem{wxPROPSHEET\_LISTBOOK}{Uses a listbook for the controller window.}
6334d903 160\twocolitem{wxPROPSHEET\_TREEBOOK}{Uses a treebook for the controller window.}
cc8bc5aa
JS
161\twocolitem{wxPROPSHEET\_SHRINKTOFIT}{Shrinks the dialog window to fit the currently selected page (common behaviour for
162property sheets on Mac OS X).}
163\end{twocollist}
164