]> git.saurik.com Git - wxWidgets.git/blame - include/wx/richtext/richtextliststylepage.h
Fixed bug: wxPGProperty::SetName() crashed if it was called before property was added...
[wxWidgets.git] / include / wx / richtext / richtextliststylepage.h
CommitLineData
dadd4f55 1/////////////////////////////////////////////////////////////////////////////
41a85215
WS
2// Name: wx/richtext/richtextliststylepage.h
3// Purpose:
dadd4f55 4// Author: Julian Smart
41a85215 5// Modified by:
dadd4f55 6// Created: 10/18/2006 11:36:37 AM
41a85215 7// RCS-ID: $Id$
dadd4f55 8// Copyright: (c) Julian Smart
41a85215 9// Licence: wxWindows licence
dadd4f55
JS
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _RICHTEXTLISTSTYLEPAGE_H_
13#define _RICHTEXTLISTSTYLEPAGE_H_
14
15/*!
16 * Includes
17 */
18
19////@begin includes
20#include "wx/spinctrl.h"
21#include "wx/notebook.h"
22#include "wx/statline.h"
23////@end includes
24
25/*!
26 * Control identifiers
27 */
28
29////@begin control identifiers
30#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL
9a83f860 31#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_TITLE wxT("")
dadd4f55
JS
32#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_IDNAME ID_RICHTEXTLISTSTYLEPAGE
33#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_SIZE wxSize(400, 300)
34#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_POSITION wxDefaultPosition
35////@end control identifiers
36
37/*!
38 * wxRichTextListStylePage class declaration
39 */
40
8987e7d6 41class WXDLLIMPEXP_RICHTEXT wxRichTextListStylePage: public wxPanel
41a85215 42{
dadd4f55
JS
43 DECLARE_DYNAMIC_CLASS( wxRichTextListStylePage )
44 DECLARE_EVENT_TABLE()
45
46public:
47 /// Constructors
48 wxRichTextListStylePage( );
8871035d 49 wxRichTextListStylePage( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_SIZE, long style = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_STYLE );
dadd4f55
JS
50
51 /// Creation
8871035d 52 bool Create( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_SIZE, long style = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_STYLE );
dadd4f55
JS
53
54 /// Initialises member variables
55 void Init();
56
57 /// Creates the controls and sizers
58 void CreateControls();
59
60 /// Updates the bullets preview
61 void UpdatePreview();
62
63 /// Transfer data from/to window
64 virtual bool TransferDataFromWindow();
65 virtual bool TransferDataToWindow();
41a85215 66
dadd4f55 67 /// Get attributes for selected level
44cc96a8 68 wxTextAttr* GetAttributesForSelection();
dadd4f55
JS
69
70 /// Update for symbol-related controls
71 void OnSymbolUpdate( wxUpdateUIEvent& event );
72
73 /// Update for number-related controls
74 void OnNumberUpdate( wxUpdateUIEvent& event );
75
f089713f
JS
76 /// Update for standard bullet-related controls
77 void OnStandardBulletUpdate( wxUpdateUIEvent& event );
78
dadd4f55
JS
79 /// Just transfer to the window
80 void DoTransferDataToWindow();
81
82 /// Transfer from the window and preview
83 void TransferAndPreview();
41a85215 84
dadd4f55
JS
85////@begin wxRichTextListStylePage event handler declarations
86
87 /// wxEVT_COMMAND_SPINCTRL_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
88 void OnLevelUpdated( wxSpinEvent& event );
89
90 /// wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
91 void OnLevelUp( wxSpinEvent& event );
92
93 /// wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
94 void OnLevelDown( wxSpinEvent& event );
95
96 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
97 void OnLevelTextUpdated( wxCommandEvent& event );
98
99 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
100 void OnLevelUIUpdate( wxUpdateUIEvent& event );
101
102 /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT
103 void OnChooseFontClick( wxCommandEvent& event );
104
105 /// wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_STYLELISTBOX
106 void OnStylelistboxSelected( wxCommandEvent& event );
107
f089713f
JS
108 /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL
109 void OnPeriodctrlClick( wxCommandEvent& event );
110
111 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL
112 void OnPeriodctrlUpdate( wxUpdateUIEvent& event );
113
114 /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL
115 void OnParenthesesctrlClick( wxCommandEvent& event );
116
117 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL
118 void OnParenthesesctrlUpdate( wxUpdateUIEvent& event );
119
d2d0adc7
JS
120 /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTLISTSTYLEPAGE_RIGHTPARENTHESISCTRL
121 void OnRightParenthesisCtrlClick( wxCommandEvent& event );
122
123 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_RIGHTPARENTHESISCTRL
124 void OnRightParenthesisCtrlUpdate( wxUpdateUIEvent& event );
125
126 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_BULLETALIGNMENTCTRL
127 void OnBulletAlignmentCtrlSelected( wxCommandEvent& event );
128
dadd4f55
JS
129 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLSTATIC
130 void OnSymbolstaticUpdate( wxUpdateUIEvent& event );
131
cbfc8d9a 132 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL
dadd4f55
JS
133 void OnSymbolctrlSelected( wxCommandEvent& event );
134
cbfc8d9a 135 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL
dadd4f55
JS
136 void OnSymbolctrlUpdated( wxCommandEvent& event );
137
cbfc8d9a 138 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL
dadd4f55
JS
139 void OnSymbolctrlUIUpdate( wxUpdateUIEvent& event );
140
cbfc8d9a 141 /// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_SYMBOL
dadd4f55
JS
142 void OnChooseSymbolClick( wxCommandEvent& event );
143
cbfc8d9a 144 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_SYMBOL
dadd4f55
JS
145 void OnChooseSymbolUpdate( wxUpdateUIEvent& event );
146
147 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
148 void OnSymbolfontctrlSelected( wxCommandEvent& event );
149
150 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
151 void OnSymbolfontctrlUpdated( wxCommandEvent& event );
152
153 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
154 void OnSymbolfontctrlUIUpdate( wxUpdateUIEvent& event );
155
f089713f
JS
156 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_NAMESTATIC
157 void OnNamestaticUpdate( wxUpdateUIEvent& event );
dadd4f55 158
f089713f
JS
159 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL
160 void OnNamectrlSelected( wxCommandEvent& event );
dadd4f55 161
f089713f
JS
162 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL
163 void OnNamectrlUpdated( wxCommandEvent& event );
dadd4f55 164
f089713f
JS
165 /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL
166 void OnNamectrlUIUpdate( wxUpdateUIEvent& event );
dadd4f55
JS
167
168 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNLEFT
169 void OnRichtextliststylepageAlignleftSelected( wxCommandEvent& event );
170
171 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNRIGHT
172 void OnRichtextliststylepageAlignrightSelected( wxCommandEvent& event );
173
174 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_JUSTIFIED
175 void OnRichtextliststylepageJustifiedSelected( wxCommandEvent& event );
176
177 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_CENTERED
178 void OnRichtextliststylepageCenteredSelected( wxCommandEvent& event );
179
180 /// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNINDETERMINATE
181 void OnRichtextliststylepageAlignindeterminateSelected( wxCommandEvent& event );
182
183 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT
184 void OnIndentLeftUpdated( wxCommandEvent& event );
185
186 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE
187 void OnIndentFirstLineUpdated( wxCommandEvent& event );
188
189 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT
190 void OnIndentRightUpdated( wxCommandEvent& event );
191
192 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE
193 void OnSpacingBeforeUpdated( wxCommandEvent& event );
194
195 /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER
196 void OnSpacingAfterUpdated( wxCommandEvent& event );
197
198 /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_LINESPACING
199 void OnLineSpacingSelected( wxCommandEvent& event );
200
201////@end wxRichTextListStylePage event handler declarations
202
203////@begin wxRichTextListStylePage member function declarations
204
205 /// Retrieves bitmap resources
206 wxBitmap GetBitmapResource( const wxString& name );
207
208 /// Retrieves icon resources
209 wxIcon GetIconResource( const wxString& name );
210////@end wxRichTextListStylePage member function declarations
211
212 /// Should we show tooltips?
213 static bool ShowToolTips();
214
215////@begin wxRichTextListStylePage member variables
216 wxSpinCtrl* m_levelCtrl;
217 wxListBox* m_styleListBox;
f089713f
JS
218 wxCheckBox* m_periodCtrl;
219 wxCheckBox* m_parenthesesCtrl;
d2d0adc7
JS
220 wxCheckBox* m_rightParenthesisCtrl;
221 wxComboBox* m_bulletAlignmentCtrl;
dadd4f55
JS
222 wxComboBox* m_symbolCtrl;
223 wxComboBox* m_symbolFontCtrl;
f089713f 224 wxComboBox* m_bulletNameCtrl;
dadd4f55
JS
225 wxRadioButton* m_alignmentLeft;
226 wxRadioButton* m_alignmentRight;
227 wxRadioButton* m_alignmentJustified;
228 wxRadioButton* m_alignmentCentred;
229 wxRadioButton* m_alignmentIndeterminate;
230 wxTextCtrl* m_indentLeft;
231 wxTextCtrl* m_indentLeftFirst;
232 wxTextCtrl* m_indentRight;
233 wxTextCtrl* m_spacingBefore;
234 wxTextCtrl* m_spacingAfter;
235 wxComboBox* m_spacingLine;
236 wxRichTextCtrl* m_previewCtrl;
237 /// Control identifiers
238 enum {
239 ID_RICHTEXTLISTSTYLEPAGE = 10616,
240 ID_RICHTEXTLISTSTYLEPAGE_LEVEL = 10617,
241 ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT = 10604,
cbfc8d9a 242 ID_RICHTEXTLISTSTYLEPAGE_NOTEBOOK = 10618,
dadd4f55
JS
243 ID_RICHTEXTLISTSTYLEPAGE_BULLETS = 10619,
244 ID_RICHTEXTLISTSTYLEPAGE_STYLELISTBOX = 10620,
f089713f
JS
245 ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL = 10627,
246 ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL = 10626,
d2d0adc7
JS
247 ID_RICHTEXTLISTSTYLEPAGE_RIGHTPARENTHESISCTRL = 10602,
248 ID_RICHTEXTLISTSTYLEPAGE_BULLETALIGNMENTCTRL = 10603,
dadd4f55 249 ID_RICHTEXTLISTSTYLEPAGE_SYMBOLSTATIC = 10621,
cbfc8d9a
JS
250 ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL = 10622,
251 ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_SYMBOL = 10623,
dadd4f55 252 ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL = 10625,
f089713f
JS
253 ID_RICHTEXTLISTSTYLEPAGE_NAMESTATIC = 10600,
254 ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL = 10601,
dadd4f55
JS
255 ID_RICHTEXTLISTSTYLEPAGE_SPACING = 10628,
256 ID_RICHTEXTLISTSTYLEPAGE_ALIGNLEFT = 10629,
257 ID_RICHTEXTLISTSTYLEPAGE_ALIGNRIGHT = 10630,
258 ID_RICHTEXTLISTSTYLEPAGE_JUSTIFIED = 10631,
259 ID_RICHTEXTLISTSTYLEPAGE_CENTERED = 10632,
260 ID_RICHTEXTLISTSTYLEPAGE_ALIGNINDETERMINATE = 10633,
261 ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT = 10634,
262 ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE = 10635,
263 ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT = 10636,
264 ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE = 10637,
265 ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER = 10638,
266 ID_RICHTEXTLISTSTYLEPAGE_LINESPACING = 10639,
267 ID_RICHTEXTLISTSTYLEPAGE_RICHTEXTCTRL = 10640
268 };
269////@end wxRichTextListStylePage member variables
270
271 bool m_dontUpdate;
272 int m_currentLevel;
273};
274
275#endif
276 // _RICHTEXTLISTSTYLEPAGE_H_