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