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