1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/richtext/richtextliststylepage.cpp
3 // Purpose:
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 10/18/2006 11:36:37 AM
7 // Copyright: (c) Julian Smart
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #include "wx/richtext/richtextliststylepage.h"
12
13 ////@begin XPM images
14 ////@end XPM images
15
16 /*!
17 * wxRichTextListStylePage type definition
18 */
19
IMPLEMENT_DYNAMIC_CLASS(wxRichTextListStylePage,wxRichTextDialogPage)20 IMPLEMENT_DYNAMIC_CLASS( wxRichTextListStylePage, wxRichTextDialogPage )
21
22 /*!
23 * wxRichTextListStylePage event table definition
24 */
25
26 BEGIN_EVENT_TABLE( wxRichTextListStylePage, wxRichTextDialogPage )
27
28 ////@begin wxRichTextListStylePage event table entries
29 EVT_SPINCTRL( ID_RICHTEXTLISTSTYLEPAGE_LEVEL, wxRichTextListStylePage::OnLevelUpdated )
30 EVT_SPIN_UP( ID_RICHTEXTLISTSTYLEPAGE_LEVEL, wxRichTextListStylePage::OnLevelUp )
31 EVT_SPIN_DOWN( ID_RICHTEXTLISTSTYLEPAGE_LEVEL, wxRichTextListStylePage::OnLevelDown )
32 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_LEVEL, wxRichTextListStylePage::OnLevelTextUpdated )
33 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_LEVEL, wxRichTextListStylePage::OnLevelUIUpdate )
34
35 EVT_BUTTON( ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT, wxRichTextListStylePage::OnChooseFontClick )
36
37 EVT_LISTBOX( ID_RICHTEXTLISTSTYLEPAGE_STYLELISTBOX, wxRichTextListStylePage::OnStylelistboxSelected )
38
39 EVT_CHECKBOX( ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL, wxRichTextListStylePage::OnPeriodctrlClick )
40 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL, wxRichTextListStylePage::OnPeriodctrlUpdate )
41
42 EVT_CHECKBOX( ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL, wxRichTextListStylePage::OnParenthesesctrlClick )
43 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL, wxRichTextListStylePage::OnParenthesesctrlUpdate )
44
45 EVT_CHECKBOX( ID_RICHTEXTLISTSTYLEPAGE_RIGHTPARENTHESISCTRL, wxRichTextListStylePage::OnRightParenthesisCtrlClick )
46 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_RIGHTPARENTHESISCTRL, wxRichTextListStylePage::OnRightParenthesisCtrlUpdate )
47
48 EVT_COMBOBOX( ID_RICHTEXTLISTSTYLEPAGE_BULLETALIGNMENTCTRL, wxRichTextListStylePage::OnBulletAlignmentCtrlSelected )
49
50 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_SYMBOLSTATIC, wxRichTextListStylePage::OnSymbolstaticUpdate )
51
52 EVT_COMBOBOX( ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL, wxRichTextListStylePage::OnSymbolctrlSelected )
53 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL, wxRichTextListStylePage::OnSymbolctrlUpdated )
54 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL, wxRichTextListStylePage::OnSymbolctrlUIUpdate )
55
56 EVT_BUTTON( ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_SYMBOL, wxRichTextListStylePage::OnChooseSymbolClick )
57 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_SYMBOL, wxRichTextListStylePage::OnChooseSymbolUpdate )
58
59 EVT_COMBOBOX( ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL, wxRichTextListStylePage::OnSymbolfontctrlSelected )
60 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL, wxRichTextListStylePage::OnSymbolfontctrlUpdated )
61 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL, wxRichTextListStylePage::OnSymbolfontctrlUIUpdate )
62
63 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_NAMESTATIC, wxRichTextListStylePage::OnNamestaticUpdate )
64
65 EVT_COMBOBOX( ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL, wxRichTextListStylePage::OnNamectrlSelected )
66 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL, wxRichTextListStylePage::OnNamectrlUpdated )
67 EVT_UPDATE_UI( ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL, wxRichTextListStylePage::OnNamectrlUIUpdate )
68
69 EVT_RADIOBUTTON( ID_RICHTEXTLISTSTYLEPAGE_ALIGNLEFT, wxRichTextListStylePage::OnRichtextliststylepageAlignleftSelected )
70
71 EVT_RADIOBUTTON( ID_RICHTEXTLISTSTYLEPAGE_ALIGNRIGHT, wxRichTextListStylePage::OnRichtextliststylepageAlignrightSelected )
72
73 EVT_RADIOBUTTON( ID_RICHTEXTLISTSTYLEPAGE_JUSTIFIED, wxRichTextListStylePage::OnRichtextliststylepageJustifiedSelected )
74
75 EVT_RADIOBUTTON( ID_RICHTEXTLISTSTYLEPAGE_CENTERED, wxRichTextListStylePage::OnRichtextliststylepageCenteredSelected )
76
77 EVT_RADIOBUTTON( ID_RICHTEXTLISTSTYLEPAGE_ALIGNINDETERMINATE, wxRichTextListStylePage::OnRichtextliststylepageAlignindeterminateSelected )
78
79 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT, wxRichTextListStylePage::OnIndentLeftUpdated )
80
81 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE, wxRichTextListStylePage::OnIndentFirstLineUpdated )
82
83 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT, wxRichTextListStylePage::OnIndentRightUpdated )
84
85 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE, wxRichTextListStylePage::OnSpacingBeforeUpdated )
86
87 EVT_TEXT( ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER, wxRichTextListStylePage::OnSpacingAfterUpdated )
88
89 EVT_COMBOBOX( ID_RICHTEXTLISTSTYLEPAGE_LINESPACING, wxRichTextListStylePage::OnLineSpacingSelected )
90
91 ////@end wxRichTextListStylePage event table entries
92
93 END_EVENT_TABLE()
94
95 IMPLEMENT_HELP_PROVISION(wxRichTextListStylePage)
96
97 /*!
98 * wxRichTextListStylePage constructors
99 */
100
101 wxRichTextListStylePage::wxRichTextListStylePage( )
102 {
103 Init();
104 }
105
wxRichTextListStylePage(wxWindow * parent,wxWindowID id,const wxPoint & pos,const wxSize & size,long style)106 wxRichTextListStylePage::wxRichTextListStylePage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
107 {
108 Init();
109 Create(parent, id, pos, size, style);
110 }
111
112 /*!
113 * wxRichTextListStylePage creator
114 */
115
Create(wxWindow * parent,wxWindowID id,const wxPoint & pos,const wxSize & size,long style)116 bool wxRichTextListStylePage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
117 {
118 ////@begin wxRichTextListStylePage creation
119 wxRichTextDialogPage::Create( parent, id, pos, size, style );
120
121 CreateControls();
122 if (GetSizer())
123 {
124 GetSizer()->SetSizeHints(this);
125 }
126 Centre();
127 ////@end wxRichTextListStylePage creation
128 return true;
129 }
130
131 /*!
132 * Member initialisation
133 */
134
Init()135 void wxRichTextListStylePage::Init()
136 {
137 m_dontUpdate = false;
138 m_currentLevel = 1;
139
140 ////@begin wxRichTextListStylePage member initialisation
141 m_levelCtrl = NULL;
142 m_styleListBox = NULL;
143 m_periodCtrl = NULL;
144 m_parenthesesCtrl = NULL;
145 m_rightParenthesisCtrl = NULL;
146 m_bulletAlignmentCtrl = NULL;
147 m_symbolCtrl = NULL;
148 m_symbolFontCtrl = NULL;
149 m_bulletNameCtrl = NULL;
150 m_alignmentLeft = NULL;
151 m_alignmentRight = NULL;
152 m_alignmentJustified = NULL;
153 m_alignmentCentred = NULL;
154 m_alignmentIndeterminate = NULL;
155 m_indentLeft = NULL;
156 m_indentLeftFirst = NULL;
157 m_indentRight = NULL;
158 m_spacingBefore = NULL;
159 m_spacingAfter = NULL;
160 m_spacingLine = NULL;
161 m_previewCtrl = NULL;
162 ////@end wxRichTextListStylePage member initialisation
163 }
164
165 /*!
166 * Control creation for wxRichTextListStylePage
167 */
168
CreateControls()169 void wxRichTextListStylePage::CreateControls()
170 {
171 ////@begin wxRichTextListStylePage content construction
172 wxRichTextListStylePage* itemRichTextDialogPage1 = this;
173
174 wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
175 itemRichTextDialogPage1->SetSizer(itemBoxSizer2);
176
177 wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
178 itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
179
180 wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
181 itemBoxSizer3->Add(itemBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL, 5);
182
183 wxStaticText* itemStaticText5 = new wxStaticText( itemRichTextDialogPage1, wxID_STATIC, _("&List level:"), wxDefaultPosition, wxDefaultSize, 0 );
184 itemBoxSizer4->Add(itemStaticText5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
185
186 m_levelCtrl = new wxSpinCtrl( itemRichTextDialogPage1, ID_RICHTEXTLISTSTYLEPAGE_LEVEL, wxT("1"), wxDefaultPosition, wxSize(60, -1), wxSP_ARROW_KEYS, 1, 10, 1 );
187 m_levelCtrl->SetHelpText(_("Selects the list level to edit."));
188 if (wxRichTextListStylePage::ShowToolTips())
189 m_levelCtrl->SetToolTip(_("Selects the list level to edit."));
190 itemBoxSizer4->Add(m_levelCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
191
192 itemBoxSizer4->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
193
194 wxButton* itemButton8 = new wxButton( itemRichTextDialogPage1, ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT, _("&Font for Level..."), wxDefaultPosition, wxDefaultSize, 0 );
195 itemButton8->SetHelpText(_("Click to choose the font for this level."));
196 if (wxRichTextListStylePage::ShowToolTips())
197 itemButton8->SetToolTip(_("Click to choose the font for this level."));
198 itemBoxSizer4->Add(itemButton8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
199
200 wxNotebook* itemNotebook9 = new wxNotebook( itemRichTextDialogPage1, ID_RICHTEXTLISTSTYLEPAGE_NOTEBOOK, wxDefaultPosition, wxDefaultSize, wxBK_DEFAULT|wxBK_TOP );
201
202 wxPanel* itemPanel10 = new wxPanel( itemNotebook9, ID_RICHTEXTLISTSTYLEPAGE_BULLETS, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL );
203 wxBoxSizer* itemBoxSizer11 = new wxBoxSizer(wxVERTICAL);
204 itemPanel10->SetSizer(itemBoxSizer11);
205
206 wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxHORIZONTAL);
207 itemBoxSizer11->Add(itemBoxSizer12, 1, wxGROW, 5);
208 wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxVERTICAL);
209 itemBoxSizer12->Add(itemBoxSizer13, 0, wxGROW, 5);
210 wxStaticText* itemStaticText14 = new wxStaticText( itemPanel10, wxID_STATIC, _("&Bullet style:"), wxDefaultPosition, wxDefaultSize, 0 );
211 itemBoxSizer13->Add(itemStaticText14, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
212
213 wxArrayString m_styleListBoxStrings;
214 m_styleListBox = new wxListBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_STYLELISTBOX, wxDefaultPosition, wxSize(-1, 80), m_styleListBoxStrings, wxLB_SINGLE );
215 m_styleListBox->SetHelpText(_("The available bullet styles."));
216 if (wxRichTextListStylePage::ShowToolTips())
217 m_styleListBox->SetToolTip(_("The available bullet styles."));
218 itemBoxSizer13->Add(m_styleListBox, 1, wxGROW|wxALL, 5);
219
220 wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxHORIZONTAL);
221 itemBoxSizer13->Add(itemBoxSizer16, 0, wxGROW, 5);
222 m_periodCtrl = new wxCheckBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL, _("Peri&od"), wxDefaultPosition, wxDefaultSize, 0 );
223 m_periodCtrl->SetValue(false);
224 m_periodCtrl->SetHelpText(_("Check to add a period after the bullet."));
225 if (wxRichTextListStylePage::ShowToolTips())
226 m_periodCtrl->SetToolTip(_("Check to add a period after the bullet."));
227 itemBoxSizer16->Add(m_periodCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
228
229 m_parenthesesCtrl = new wxCheckBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL, _("(*)"), wxDefaultPosition, wxDefaultSize, 0 );
230 m_parenthesesCtrl->SetValue(false);
231 m_parenthesesCtrl->SetHelpText(_("Check to enclose the bullet in parentheses."));
232 if (wxRichTextListStylePage::ShowToolTips())
233 m_parenthesesCtrl->SetToolTip(_("Check to enclose the bullet in parentheses."));
234 itemBoxSizer16->Add(m_parenthesesCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
235
236 m_rightParenthesisCtrl = new wxCheckBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_RIGHTPARENTHESISCTRL, _("*)"), wxDefaultPosition, wxDefaultSize, 0 );
237 m_rightParenthesisCtrl->SetValue(false);
238 m_rightParenthesisCtrl->SetHelpText(_("Check to add a right parenthesis."));
239 if (wxRichTextListStylePage::ShowToolTips())
240 m_rightParenthesisCtrl->SetToolTip(_("Check to add a right parenthesis."));
241 itemBoxSizer16->Add(m_rightParenthesisCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
242
243 itemBoxSizer13->Add(2, 1, 0, wxALIGN_CENTER_HORIZONTAL, 5);
244
245 wxStaticText* itemStaticText21 = new wxStaticText( itemPanel10, wxID_STATIC, _("Bullet &Alignment:"), wxDefaultPosition, wxDefaultSize, 0 );
246 itemBoxSizer13->Add(itemStaticText21, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
247
248 wxArrayString m_bulletAlignmentCtrlStrings;
249 m_bulletAlignmentCtrlStrings.Add(_("Left"));
250 m_bulletAlignmentCtrlStrings.Add(_("Centre"));
251 m_bulletAlignmentCtrlStrings.Add(_("Right"));
252 m_bulletAlignmentCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_BULLETALIGNMENTCTRL, _("Left"), wxDefaultPosition, wxSize(60, -1), m_bulletAlignmentCtrlStrings, wxCB_READONLY );
253 m_bulletAlignmentCtrl->SetStringSelection(_("Left"));
254 m_bulletAlignmentCtrl->SetHelpText(_("The bullet character."));
255 if (wxRichTextListStylePage::ShowToolTips())
256 m_bulletAlignmentCtrl->SetToolTip(_("The bullet character."));
257 itemBoxSizer13->Add(m_bulletAlignmentCtrl, 0, wxGROW|wxALL|wxFIXED_MINSIZE, 5);
258
259 itemBoxSizer12->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
260
261 wxStaticLine* itemStaticLine24 = new wxStaticLine( itemPanel10, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
262 itemBoxSizer12->Add(itemStaticLine24, 0, wxGROW|wxALL, 5);
263
264 itemBoxSizer12->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
265
266 wxBoxSizer* itemBoxSizer26 = new wxBoxSizer(wxVERTICAL);
267 itemBoxSizer12->Add(itemBoxSizer26, 0, wxGROW, 5);
268 wxStaticText* itemStaticText27 = new wxStaticText( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_SYMBOLSTATIC, _("&Symbol:"), wxDefaultPosition, wxDefaultSize, 0 );
269 itemBoxSizer26->Add(itemStaticText27, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
270
271 wxBoxSizer* itemBoxSizer28 = new wxBoxSizer(wxHORIZONTAL);
272 itemBoxSizer26->Add(itemBoxSizer28, 0, wxGROW, 5);
273 wxArrayString m_symbolCtrlStrings;
274 m_symbolCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_SYMBOLCTRL, wxEmptyString, wxDefaultPosition, wxSize(60, -1), m_symbolCtrlStrings, wxCB_DROPDOWN );
275 m_symbolCtrl->SetHelpText(_("The bullet character."));
276 if (wxRichTextListStylePage::ShowToolTips())
277 m_symbolCtrl->SetToolTip(_("The bullet character."));
278 itemBoxSizer28->Add(m_symbolCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxFIXED_MINSIZE, 5);
279
280 wxButton* itemButton30 = new wxButton( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_SYMBOL, _("Ch&oose..."), wxDefaultPosition, wxDefaultSize, 0 );
281 itemButton30->SetHelpText(_("Click to browse for a symbol."));
282 if (wxRichTextListStylePage::ShowToolTips())
283 itemButton30->SetToolTip(_("Click to browse for a symbol."));
284 itemBoxSizer28->Add(itemButton30, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
285
286 itemBoxSizer26->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
287
288 wxStaticText* itemStaticText32 = new wxStaticText( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_SYMBOLSTATIC, _("Symbol &font:"), wxDefaultPosition, wxDefaultSize, 0 );
289 itemBoxSizer26->Add(itemStaticText32, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
290
291 wxArrayString m_symbolFontCtrlStrings;
292 m_symbolFontCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_symbolFontCtrlStrings, wxCB_DROPDOWN );
293 if (wxRichTextListStylePage::ShowToolTips())
294 m_symbolFontCtrl->SetToolTip(_("Available fonts."));
295 itemBoxSizer26->Add(m_symbolFontCtrl, 0, wxGROW|wxALL, 5);
296
297 itemBoxSizer26->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL, 5);
298
299 wxStaticText* itemStaticText35 = new wxStaticText( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_NAMESTATIC, _("S&tandard bullet name:"), wxDefaultPosition, wxDefaultSize, 0 );
300 itemBoxSizer26->Add(itemStaticText35, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
301
302 wxArrayString m_bulletNameCtrlStrings;
303 m_bulletNameCtrl = new wxComboBox( itemPanel10, ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, m_bulletNameCtrlStrings, wxCB_DROPDOWN );
304 m_bulletNameCtrl->SetHelpText(_("A standard bullet name."));
305 if (wxRichTextListStylePage::ShowToolTips())
306 m_bulletNameCtrl->SetToolTip(_("A standard bullet name."));
307 itemBoxSizer26->Add(m_bulletNameCtrl, 0, wxGROW|wxALL, 5);
308
309 itemNotebook9->AddPage(itemPanel10, _("Bullet style"));
310
311 wxPanel* itemPanel37 = new wxPanel( itemNotebook9, ID_RICHTEXTLISTSTYLEPAGE_SPACING, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL );
312 wxBoxSizer* itemBoxSizer38 = new wxBoxSizer(wxVERTICAL);
313 itemPanel37->SetSizer(itemBoxSizer38);
314
315 wxBoxSizer* itemBoxSizer39 = new wxBoxSizer(wxHORIZONTAL);
316 itemBoxSizer38->Add(itemBoxSizer39, 0, wxGROW, 5);
317 wxBoxSizer* itemBoxSizer40 = new wxBoxSizer(wxVERTICAL);
318 itemBoxSizer39->Add(itemBoxSizer40, 0, wxGROW, 5);
319 wxStaticText* itemStaticText41 = new wxStaticText( itemPanel37, wxID_STATIC, _("&Alignment"), wxDefaultPosition, wxDefaultSize, 0 );
320 itemBoxSizer40->Add(itemStaticText41, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
321
322 wxBoxSizer* itemBoxSizer42 = new wxBoxSizer(wxHORIZONTAL);
323 itemBoxSizer40->Add(itemBoxSizer42, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
324 itemBoxSizer42->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL, 5);
325
326 wxBoxSizer* itemBoxSizer44 = new wxBoxSizer(wxVERTICAL);
327 itemBoxSizer42->Add(itemBoxSizer44, 0, wxALIGN_CENTER_VERTICAL|wxTOP, 5);
328 m_alignmentLeft = new wxRadioButton( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_ALIGNLEFT, _("&Left"), wxDefaultPosition, wxDefaultSize, wxRB_GROUP );
329 m_alignmentLeft->SetValue(false);
330 m_alignmentLeft->SetHelpText(_("Left-align text."));
331 if (wxRichTextListStylePage::ShowToolTips())
332 m_alignmentLeft->SetToolTip(_("Left-align text."));
333 itemBoxSizer44->Add(m_alignmentLeft, 0, wxALIGN_LEFT|wxALL, 5);
334
335 m_alignmentRight = new wxRadioButton( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_ALIGNRIGHT, _("&Right"), wxDefaultPosition, wxDefaultSize, 0 );
336 m_alignmentRight->SetValue(false);
337 m_alignmentRight->SetHelpText(_("Right-align text."));
338 if (wxRichTextListStylePage::ShowToolTips())
339 m_alignmentRight->SetToolTip(_("Right-align text."));
340 itemBoxSizer44->Add(m_alignmentRight, 0, wxALIGN_LEFT|wxALL, 5);
341
342 m_alignmentJustified = new wxRadioButton( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_JUSTIFIED, _("&Justified"), wxDefaultPosition, wxDefaultSize, 0 );
343 m_alignmentJustified->SetValue(false);
344 m_alignmentJustified->SetHelpText(_("Justify text left and right."));
345 if (wxRichTextListStylePage::ShowToolTips())
346 m_alignmentJustified->SetToolTip(_("Justify text left and right."));
347 itemBoxSizer44->Add(m_alignmentJustified, 0, wxALIGN_LEFT|wxALL, 5);
348
349 m_alignmentCentred = new wxRadioButton( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_CENTERED, _("Cen&tred"), wxDefaultPosition, wxDefaultSize, 0 );
350 m_alignmentCentred->SetValue(false);
351 m_alignmentCentred->SetHelpText(_("Centre text."));
352 if (wxRichTextListStylePage::ShowToolTips())
353 m_alignmentCentred->SetToolTip(_("Centre text."));
354 itemBoxSizer44->Add(m_alignmentCentred, 0, wxALIGN_LEFT|wxALL, 5);
355
356 m_alignmentIndeterminate = new wxRadioButton( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_ALIGNINDETERMINATE, _("&Indeterminate"), wxDefaultPosition, wxDefaultSize, 0 );
357 m_alignmentIndeterminate->SetValue(false);
358 m_alignmentIndeterminate->SetHelpText(_("Use the current alignment setting."));
359 if (wxRichTextListStylePage::ShowToolTips())
360 m_alignmentIndeterminate->SetToolTip(_("Use the current alignment setting."));
361 itemBoxSizer44->Add(m_alignmentIndeterminate, 0, wxALIGN_LEFT|wxALL, 5);
362
363 itemBoxSizer39->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
364
365 wxStaticLine* itemStaticLine51 = new wxStaticLine( itemPanel37, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
366 itemBoxSizer39->Add(itemStaticLine51, 0, wxGROW|wxLEFT|wxBOTTOM, 5);
367
368 itemBoxSizer39->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
369
370 wxBoxSizer* itemBoxSizer53 = new wxBoxSizer(wxVERTICAL);
371 itemBoxSizer39->Add(itemBoxSizer53, 0, wxGROW, 5);
372 wxStaticText* itemStaticText54 = new wxStaticText( itemPanel37, wxID_STATIC, _("&Indentation (tenths of a mm)"), wxDefaultPosition, wxDefaultSize, 0 );
373 itemBoxSizer53->Add(itemStaticText54, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
374
375 wxBoxSizer* itemBoxSizer55 = new wxBoxSizer(wxHORIZONTAL);
376 itemBoxSizer53->Add(itemBoxSizer55, 0, wxALIGN_LEFT|wxALL, 5);
377 itemBoxSizer55->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL, 5);
378
379 wxFlexGridSizer* itemFlexGridSizer57 = new wxFlexGridSizer(0, 2, 0, 0);
380 itemBoxSizer55->Add(itemFlexGridSizer57, 0, wxALIGN_CENTER_VERTICAL, 5);
381 wxStaticText* itemStaticText58 = new wxStaticText( itemPanel37, wxID_STATIC, _("&Left:"), wxDefaultPosition, wxDefaultSize, 0 );
382 itemFlexGridSizer57->Add(itemStaticText58, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
383
384 m_indentLeft = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
385 m_indentLeft->SetHelpText(_("The left indent."));
386 if (wxRichTextListStylePage::ShowToolTips())
387 m_indentLeft->SetToolTip(_("The left indent."));
388 itemFlexGridSizer57->Add(m_indentLeft, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
389
390 wxStaticText* itemStaticText60 = new wxStaticText( itemPanel37, wxID_STATIC, _("Left (&first line):"), wxDefaultPosition, wxDefaultSize, 0 );
391 itemFlexGridSizer57->Add(itemStaticText60, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
392
393 m_indentLeftFirst = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
394 m_indentLeftFirst->SetHelpText(_("The first line indent."));
395 if (wxRichTextListStylePage::ShowToolTips())
396 m_indentLeftFirst->SetToolTip(_("The first line indent."));
397 itemFlexGridSizer57->Add(m_indentLeftFirst, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
398
399 wxStaticText* itemStaticText62 = new wxStaticText( itemPanel37, wxID_STATIC, _("&Right:"), wxDefaultPosition, wxDefaultSize, 0 );
400 itemFlexGridSizer57->Add(itemStaticText62, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
401
402 m_indentRight = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
403 m_indentRight->SetHelpText(_("The right indent."));
404 if (wxRichTextListStylePage::ShowToolTips())
405 m_indentRight->SetToolTip(_("The right indent."));
406 itemFlexGridSizer57->Add(m_indentRight, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
407
408 itemBoxSizer39->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
409
410 wxStaticLine* itemStaticLine65 = new wxStaticLine( itemPanel37, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
411 itemBoxSizer39->Add(itemStaticLine65, 0, wxGROW|wxTOP|wxBOTTOM, 5);
412
413 itemBoxSizer39->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
414
415 wxBoxSizer* itemBoxSizer67 = new wxBoxSizer(wxVERTICAL);
416 itemBoxSizer39->Add(itemBoxSizer67, 0, wxGROW, 5);
417 wxStaticText* itemStaticText68 = new wxStaticText( itemPanel37, wxID_STATIC, _("&Spacing (tenths of a mm)"), wxDefaultPosition, wxDefaultSize, 0 );
418 itemBoxSizer67->Add(itemStaticText68, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
419
420 wxBoxSizer* itemBoxSizer69 = new wxBoxSizer(wxHORIZONTAL);
421 itemBoxSizer67->Add(itemBoxSizer69, 0, wxALIGN_LEFT|wxALL, 5);
422 itemBoxSizer69->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL, 5);
423
424 wxFlexGridSizer* itemFlexGridSizer71 = new wxFlexGridSizer(0, 2, 0, 0);
425 itemBoxSizer69->Add(itemFlexGridSizer71, 0, wxALIGN_CENTER_VERTICAL, 5);
426 wxStaticText* itemStaticText72 = new wxStaticText( itemPanel37, wxID_STATIC, _("Before a paragraph:"), wxDefaultPosition, wxDefaultSize, 0 );
427 itemFlexGridSizer71->Add(itemStaticText72, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
428
429 m_spacingBefore = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
430 m_spacingBefore->SetHelpText(_("The spacing before the paragraph."));
431 if (wxRichTextListStylePage::ShowToolTips())
432 m_spacingBefore->SetToolTip(_("The spacing before the paragraph."));
433 itemFlexGridSizer71->Add(m_spacingBefore, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
434
435 wxStaticText* itemStaticText74 = new wxStaticText( itemPanel37, wxID_STATIC, _("After a paragraph:"), wxDefaultPosition, wxDefaultSize, 0 );
436 itemFlexGridSizer71->Add(itemStaticText74, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
437
438 m_spacingAfter = new wxTextCtrl( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
439 m_spacingAfter->SetHelpText(_("The spacing after the paragraph."));
440 if (wxRichTextListStylePage::ShowToolTips())
441 m_spacingAfter->SetToolTip(_("The spacing after the paragraph."));
442 itemFlexGridSizer71->Add(m_spacingAfter, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
443
444 wxStaticText* itemStaticText76 = new wxStaticText( itemPanel37, wxID_STATIC, _("Line spacing:"), wxDefaultPosition, wxDefaultSize, 0 );
445 itemFlexGridSizer71->Add(itemStaticText76, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
446
447 wxArrayString m_spacingLineStrings;
448 m_spacingLineStrings.Add(_("(none)"));
449 m_spacingLineStrings.Add(_("Single"));
450 m_spacingLineStrings.Add(_("1.1"));
451 m_spacingLineStrings.Add(_("1.2"));
452 m_spacingLineStrings.Add(_("1.3"));
453 m_spacingLineStrings.Add(_("1.4"));
454 m_spacingLineStrings.Add(_("1.5"));
455 m_spacingLineStrings.Add(_("1.6"));
456 m_spacingLineStrings.Add(_("1.7"));
457 m_spacingLineStrings.Add(_("1.8"));
458 m_spacingLineStrings.Add(_("1.9"));
459 m_spacingLineStrings.Add(_("2"));
460 m_spacingLine = new wxComboBox( itemPanel37, ID_RICHTEXTLISTSTYLEPAGE_LINESPACING, _("(none)"), wxDefaultPosition, wxSize(85, -1), m_spacingLineStrings, wxCB_READONLY );
461 m_spacingLine->SetStringSelection(_("(none)"));
462 m_spacingLine->SetHelpText(_("The line spacing."));
463 if (wxRichTextListStylePage::ShowToolTips())
464 m_spacingLine->SetToolTip(_("The line spacing."));
465 itemFlexGridSizer71->Add(m_spacingLine, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
466
467 itemNotebook9->AddPage(itemPanel37, _("Spacing"));
468
469 itemBoxSizer3->Add(itemNotebook9, 0, wxGROW|wxALL, 5);
470
471 m_previewCtrl = new wxRichTextCtrl( itemRichTextDialogPage1, ID_RICHTEXTLISTSTYLEPAGE_RICHTEXTCTRL, wxEmptyString, wxDefaultPosition, wxSize(350, 140), wxBORDER_THEME|wxVSCROLL|wxTE_READONLY );
472 m_previewCtrl->SetHelpText(_("Shows a preview of the bullet settings."));
473 if (wxRichTextListStylePage::ShowToolTips())
474 m_previewCtrl->SetToolTip(_("Shows a preview of the bullet settings."));
475 itemBoxSizer3->Add(m_previewCtrl, 0, wxGROW|wxALL, 5);
476
477 ////@end wxRichTextListStylePage content construction
478
479 m_dontUpdate = true;
480
481 m_styleListBox->Append(_("(None)"));
482 m_styleListBox->Append(_("Arabic"));
483 m_styleListBox->Append(_("Upper case letters"));
484 m_styleListBox->Append(_("Lower case letters"));
485 m_styleListBox->Append(_("Upper case roman numerals"));
486 m_styleListBox->Append(_("Lower case roman numerals"));
487 m_styleListBox->Append(_("Numbered outline"));
488 m_styleListBox->Append(_("Symbol"));
489 m_styleListBox->Append(_("Bitmap"));
490 m_styleListBox->Append(_("Standard"));
491
492 m_symbolCtrl->Append(_("*"));
493 m_symbolCtrl->Append(_("-"));
494 m_symbolCtrl->Append(_(">"));
495 m_symbolCtrl->Append(_("+"));
496 m_symbolCtrl->Append(_("~"));
497
498 wxArrayString standardBulletNames;
499 if (wxRichTextBuffer::GetRenderer())
500 wxRichTextBuffer::GetRenderer()->EnumerateStandardBulletNames(standardBulletNames);
501
502 m_bulletNameCtrl->Append(standardBulletNames);
503 wxArrayString facenames = wxRichTextCtrl::GetAvailableFontNames();
504 facenames.Sort();
505
506 m_symbolFontCtrl->Append(facenames);
507
508 m_levelCtrl->SetValue(m_currentLevel);
509
510 m_dontUpdate = false;
511 }
512
513 /// Updates the font preview
UpdatePreview()514 void wxRichTextListStylePage::UpdatePreview()
515 {
516 static const wxChar* s_para1 = wxT("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \
517 Nullam ante sapien, vestibulum nonummy, pulvinar sed, luctus ut, lacus.\n");
518
519 static const wxChar* s_para2 = wxT("Duis pharetra consequat dui. Nullam vitae justo id mauris lobortis interdum.\n");
520
521 static const wxChar* s_para3 = wxT("Integer convallis dolor at augue \
522 iaculis malesuada. Donec bibendum ipsum ut ante porta fringilla.\n");
523
524 wxRichTextListStyleDefinition* def = wxDynamicCast(wxRichTextFormattingDialog::GetDialogStyleDefinition(this),
525 wxRichTextListStyleDefinition);
526
527 wxRichTextStyleSheet* styleSheet = wxRichTextFormattingDialog::GetDialog(this)->GetStyleSheet();
528
529 wxRichTextAttr attr((const wxRichTextAttr &)(styleSheet ? def->GetStyle() : def->GetStyleMergedWithBase(styleSheet)));
530
531 attr.SetFlags(attr.GetFlags() &
532 (wxTEXT_ATTR_ALIGNMENT|wxTEXT_ATTR_LEFT_INDENT|wxTEXT_ATTR_RIGHT_INDENT|wxTEXT_ATTR_PARA_SPACING_BEFORE|wxTEXT_ATTR_PARA_SPACING_AFTER|
533 wxTEXT_ATTR_LINE_SPACING|
534 wxTEXT_ATTR_BULLET_STYLE|wxTEXT_ATTR_BULLET_NUMBER|wxTEXT_ATTR_BULLET_TEXT));
535
536 wxFont font(m_previewCtrl->GetFont());
537 font.SetPointSize(9);
538 m_previewCtrl->SetFont(font);
539
540 wxRichTextAttr normalParaAttr;
541 normalParaAttr.SetFont(font);
542 normalParaAttr.SetTextColour(wxColour(wxT("LIGHT GREY")));
543
544 m_previewCtrl->Freeze();
545 m_previewCtrl->Clear();
546
547 m_previewCtrl->BeginStyle(normalParaAttr);
548 m_previewCtrl->WriteText(s_para1);
549 m_previewCtrl->EndStyle();
550
551 m_previewCtrl->BeginStyle(attr);
552
553 int i;
554 for (i = 0; i < 10; i++)
555 {
556 wxRichTextAttr levelAttr = * def->GetLevelAttributes(i);
557 levelAttr.SetBulletNumber(1);
558 m_previewCtrl->BeginStyle(levelAttr);
559 m_previewCtrl->WriteText(wxString::Format(wxT("List level %d. "), i+1) + s_para2);
560 m_previewCtrl->EndStyle();
561 }
562 m_previewCtrl->EndStyle();
563
564 m_previewCtrl->BeginStyle(normalParaAttr);
565 m_previewCtrl->WriteText(s_para3);
566 m_previewCtrl->EndStyle();
567
568 m_previewCtrl->Thaw();
569 }
570
571 /// Transfer data from/to window
TransferDataFromWindow()572 bool wxRichTextListStylePage::TransferDataFromWindow()
573 {
574 wxPanel::TransferDataFromWindow();
575
576 m_currentLevel = m_levelCtrl->GetValue();
577
578 wxRichTextAttr* attr = GetAttributesForSelection();
579
580 if (m_alignmentLeft->GetValue())
581 attr->SetAlignment(wxTEXT_ALIGNMENT_LEFT);
582 else if (m_alignmentCentred->GetValue())
583 attr->SetAlignment(wxTEXT_ALIGNMENT_CENTRE);
584 else if (m_alignmentRight->GetValue())
585 attr->SetAlignment(wxTEXT_ALIGNMENT_RIGHT);
586 else if (m_alignmentJustified->GetValue())
587 attr->SetAlignment(wxTEXT_ALIGNMENT_JUSTIFIED);
588 else
589 {
590 attr->SetAlignment(wxTEXT_ALIGNMENT_DEFAULT);
591 attr->SetFlags(attr->GetFlags() & (~wxTEXT_ATTR_ALIGNMENT));
592 }
593
594 wxString leftIndent(m_indentLeft->GetValue());
595 wxString leftFirstIndent(m_indentLeftFirst->GetValue());
596 if (!leftIndent.empty())
597 {
598 int visualLeftIndent = wxAtoi(leftIndent);
599 int visualLeftFirstIndent = wxAtoi(leftFirstIndent);
600 int actualLeftIndent = visualLeftFirstIndent;
601 int actualLeftSubIndent = visualLeftIndent - visualLeftFirstIndent;
602
603 attr->SetLeftIndent(actualLeftIndent, actualLeftSubIndent);
604 }
605 else
606 attr->SetFlags(attr->GetFlags() & (~wxTEXT_ATTR_LEFT_INDENT));
607
608 wxString rightIndent(m_indentRight->GetValue());
609 if (!rightIndent.empty())
610 attr->SetRightIndent(wxAtoi(rightIndent));
611 else
612 attr->SetFlags(attr->GetFlags() & (~wxTEXT_ATTR_RIGHT_INDENT));
613
614 wxString spacingAfter(m_spacingAfter->GetValue());
615 if (!spacingAfter.empty())
616 attr->SetParagraphSpacingAfter(wxAtoi(spacingAfter));
617 else
618 attr->SetFlags(attr->GetFlags() & (~wxTEXT_ATTR_PARA_SPACING_AFTER));
619
620 wxString spacingBefore(m_spacingBefore->GetValue());
621 if (!spacingBefore.empty())
622 attr->SetParagraphSpacingBefore(wxAtoi(spacingBefore));
623 else
624 attr->SetFlags(attr->GetFlags() & (~wxTEXT_ATTR_PARA_SPACING_BEFORE));
625
626 int spacingIndex = m_spacingLine->GetSelection() - 1;
627 int lineSpacing = 0;
628 if (spacingIndex > -1)
629 lineSpacing = 10 + spacingIndex;
630
631 if (lineSpacing == 0)
632 attr->SetFlags(attr->GetFlags() & (~wxTEXT_ATTR_LINE_SPACING));
633 else
634 attr->SetLineSpacing(lineSpacing);
635
636 /// BULLETS
637 // if (m_hasBulletStyle)
638 {
639 long bulletStyle = 0;
640
641 int index = m_styleListBox->GetSelection();
642 if (index == wxRICHTEXT_BULLETINDEX_ARABIC)
643 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ARABIC;
644
645 else if (index == wxRICHTEXT_BULLETINDEX_UPPER_CASE)
646 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER;
647
648 else if (index == wxRICHTEXT_BULLETINDEX_LOWER_CASE)
649 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER;
650
651 else if (index == wxRICHTEXT_BULLETINDEX_UPPER_CASE_ROMAN)
652 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER;
653
654 else if (index == wxRICHTEXT_BULLETINDEX_LOWER_CASE_ROMAN)
655 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER;
656
657 else if (index == wxRICHTEXT_BULLETINDEX_OUTLINE)
658 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_OUTLINE;
659
660 else if (index == wxRICHTEXT_BULLETINDEX_SYMBOL)
661 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_SYMBOL;
662
663 else if (index == wxRICHTEXT_BULLETINDEX_BITMAP)
664 {
665 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_BITMAP;
666 if (m_bulletNameCtrl->GetValue().IsEmpty())
667 attr->SetFlags(attr->GetFlags() & ~wxTEXT_ATTR_BULLET_NAME);
668 else
669 attr->SetBulletName(m_bulletNameCtrl->GetValue());
670 }
671
672 else if (index == wxRICHTEXT_BULLETINDEX_STANDARD)
673 {
674 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_STANDARD;
675 attr->SetBulletName(m_bulletNameCtrl->GetValue());
676 }
677
678 if (m_parenthesesCtrl->GetValue())
679 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_PARENTHESES;
680 if (m_rightParenthesisCtrl->GetValue())
681 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS;
682 if (m_periodCtrl->GetValue())
683 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_PERIOD;
684
685 if (m_bulletAlignmentCtrl->GetSelection() == 1)
686 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE;
687 else if (m_bulletAlignmentCtrl->GetSelection() == 2)
688 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT;
689 // Left is implied
690
691 attr->SetBulletStyle(bulletStyle);
692 }
693
694 // if (m_hasBulletSymbol)
695 {
696 attr->SetBulletText(m_symbolCtrl->GetValue());
697 attr->SetBulletFont(m_symbolFontCtrl->GetValue());
698 }
699
700 return true;
701 }
702
TransferDataToWindow()703 bool wxRichTextListStylePage::TransferDataToWindow()
704 {
705 DoTransferDataToWindow();
706 UpdatePreview();
707
708 return true;
709 }
710
711 /// Just transfer to the window
DoTransferDataToWindow()712 void wxRichTextListStylePage::DoTransferDataToWindow()
713 {
714 m_dontUpdate = true;
715
716 wxPanel::TransferDataToWindow();
717
718 wxRichTextAttr* attr = GetAttributesForSelection();
719
720 if (attr->HasAlignment())
721 {
722 if (attr->GetAlignment() == wxTEXT_ALIGNMENT_LEFT)
723 m_alignmentLeft->SetValue(true);
724 else if (attr->GetAlignment() == wxTEXT_ALIGNMENT_RIGHT)
725 m_alignmentRight->SetValue(true);
726 else if (attr->GetAlignment() == wxTEXT_ALIGNMENT_CENTRE)
727 m_alignmentCentred->SetValue(true);
728 else if (attr->GetAlignment() == wxTEXT_ALIGNMENT_JUSTIFIED)
729 m_alignmentJustified->SetValue(true);
730 else
731 m_alignmentIndeterminate->SetValue(true);
732 }
733 else
734 m_alignmentIndeterminate->SetValue(true);
735
736 if (attr->HasLeftIndent())
737 {
738 wxString leftIndent(wxString::Format(wxT("%ld"), attr->GetLeftIndent() + attr->GetLeftSubIndent()));
739 wxString leftFirstIndent(wxString::Format(wxT("%ld"), attr->GetLeftIndent()));
740
741 m_indentLeft->SetValue(leftIndent);
742 m_indentLeftFirst->SetValue(leftFirstIndent);
743 }
744 else
745 {
746 m_indentLeft->SetValue(wxEmptyString);
747 m_indentLeftFirst->SetValue(wxEmptyString);
748 }
749
750 if (attr->HasRightIndent())
751 {
752 wxString rightIndent(wxString::Format(wxT("%ld"), attr->GetRightIndent()));
753
754 m_indentRight->SetValue(rightIndent);
755 }
756 else
757 m_indentRight->SetValue(wxEmptyString);
758
759 if (attr->HasParagraphSpacingAfter())
760 {
761 wxString spacingAfter(wxString::Format(wxT("%d"), attr->GetParagraphSpacingAfter()));
762
763 m_spacingAfter->SetValue(spacingAfter);
764 }
765 else
766 m_spacingAfter->SetValue(wxEmptyString);
767
768 if (attr->HasParagraphSpacingBefore())
769 {
770 wxString spacingBefore(wxString::Format(wxT("%d"), attr->GetParagraphSpacingBefore()));
771
772 m_spacingBefore->SetValue(spacingBefore);
773 }
774 else
775 m_spacingBefore->SetValue(wxEmptyString);
776
777 if (attr->HasLineSpacing())
778 {
779 int index = 0;
780
781 int lineSpacing = attr->GetLineSpacing();
782 if (lineSpacing >= 10 && lineSpacing <= 20)
783 index = (lineSpacing - 10) + 1;
784 else
785 index = 0;
786
787 m_spacingLine->SetSelection(index);
788 }
789 else
790 m_spacingLine->SetSelection(0);
791
792 /// BULLETS
793 if (attr->HasBulletStyle())
794 {
795 int index = 0;
796 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ARABIC)
797 index = wxRICHTEXT_BULLETINDEX_ARABIC;
798
799 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER)
800 index = wxRICHTEXT_BULLETINDEX_UPPER_CASE;
801
802 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER)
803 index = wxRICHTEXT_BULLETINDEX_LOWER_CASE;
804
805 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER)
806 index = wxRICHTEXT_BULLETINDEX_UPPER_CASE_ROMAN;
807
808 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER)
809 index = wxRICHTEXT_BULLETINDEX_LOWER_CASE_ROMAN;
810
811 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_OUTLINE)
812 index = wxRICHTEXT_BULLETINDEX_OUTLINE;
813
814 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_SYMBOL)
815 index = wxRICHTEXT_BULLETINDEX_SYMBOL;
816
817 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_BITMAP)
818 index = wxRICHTEXT_BULLETINDEX_BITMAP;
819
820 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_STANDARD)
821 index = wxRICHTEXT_BULLETINDEX_STANDARD;
822
823 m_styleListBox->SetSelection(index);
824
825 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_PARENTHESES)
826 m_parenthesesCtrl->SetValue(true);
827 else
828 m_parenthesesCtrl->SetValue(false);
829
830 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS)
831 m_rightParenthesisCtrl->SetValue(true);
832 else
833 m_rightParenthesisCtrl->SetValue(false);
834
835 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_PERIOD)
836 m_periodCtrl->SetValue(true);
837 else
838 m_periodCtrl->SetValue(false);
839
840 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE)
841 m_bulletAlignmentCtrl->SetSelection(1);
842 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT)
843 m_bulletAlignmentCtrl->SetSelection(2);
844 else
845 m_bulletAlignmentCtrl->SetSelection(0);
846 }
847 else
848 {
849 m_styleListBox->SetSelection(-1);
850 m_bulletAlignmentCtrl->SetSelection(-1);
851 }
852
853 if (attr->HasBulletText())
854 {
855 m_symbolCtrl->SetValue(attr->GetBulletText());
856 m_symbolFontCtrl->SetValue(attr->GetBulletFont());
857 }
858 else
859 m_symbolCtrl->SetValue(wxEmptyString);
860
861 if (attr->HasBulletName())
862 m_bulletNameCtrl->SetValue(attr->GetBulletName());
863 else
864 m_bulletNameCtrl->SetValue(wxEmptyString);
865
866 m_dontUpdate = false;
867 }
868
869 /// Get attributes for selected level
GetAttributesForSelection()870 wxRichTextAttr* wxRichTextListStylePage::GetAttributesForSelection()
871 {
872 wxRichTextListStyleDefinition* def = wxDynamicCast(wxRichTextFormattingDialog::GetDialogStyleDefinition(this),
873 wxRichTextListStyleDefinition);
874
875 int value = m_levelCtrl->GetValue();
876
877 if (def)
878 return def->GetLevelAttributes(value-1);
879 else
880 return NULL;
881 }
882
883 /// Just transfer from the window and update the preview
TransferAndPreview()884 void wxRichTextListStylePage::TransferAndPreview()
885 {
886 if (!m_dontUpdate)
887 {
888 TransferDataFromWindow();
889 UpdatePreview();
890 }
891 }
892
893
894 /*!
895 * wxEVT_SPINCTRL event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
896 */
897
OnLevelUpdated(wxSpinEvent & WXUNUSED (event))898 void wxRichTextListStylePage::OnLevelUpdated( wxSpinEvent& WXUNUSED(event) )
899 {
900 if (!m_dontUpdate)
901 {
902 m_currentLevel = m_levelCtrl->GetValue();
903 TransferDataToWindow();
904 }
905 }
906
907 /*!
908 * wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
909 */
910
OnLevelUp(wxSpinEvent & event)911 void wxRichTextListStylePage::OnLevelUp( wxSpinEvent& event )
912 {
913 if (!m_dontUpdate)
914 {
915 m_currentLevel = event.GetPosition();
916 TransferDataToWindow();
917 }
918 }
919
920 /*!
921 * wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
922 */
923
OnLevelDown(wxSpinEvent & event)924 void wxRichTextListStylePage::OnLevelDown( wxSpinEvent& event )
925 {
926 if (!m_dontUpdate)
927 {
928 m_currentLevel = event.GetPosition();
929 TransferDataToWindow();
930 }
931 }
932
933 /*!
934 * wxEVT_TEXT event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
935 */
936
OnLevelTextUpdated(wxCommandEvent & WXUNUSED (event))937 void wxRichTextListStylePage::OnLevelTextUpdated( wxCommandEvent& WXUNUSED(event) )
938 {
939 // Can cause problems
940 #if 0
941 if (!m_dontUpdate)
942 {
943 m_currentLevel = event.GetInt();
944 TransferDataToWindow();
945 }
946 #endif
947 }
948
949 /*!
950 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
951 */
952
OnLevelUIUpdate(wxUpdateUIEvent & event)953 void wxRichTextListStylePage::OnLevelUIUpdate( wxUpdateUIEvent& event )
954 {
955 ////@begin wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL in wxRichTextListStylePage.
956 // Before editing this code, remove the block markers.
957 event.Skip();
958 ////@end wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL in wxRichTextListStylePage.
959 }
960
961 /*!
962 * wxEVT_LISTBOX event handler for ID_RICHTEXTLISTSTYLEPAGE_STYLELISTBOX
963 */
964
OnStylelistboxSelected(wxCommandEvent & WXUNUSED (event))965 void wxRichTextListStylePage::OnStylelistboxSelected( wxCommandEvent& WXUNUSED(event) )
966 {
967 TransferAndPreview();
968 }
969
970 /*!
971 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLSTATIC
972 */
973
OnSymbolstaticUpdate(wxUpdateUIEvent & event)974 void wxRichTextListStylePage::OnSymbolstaticUpdate( wxUpdateUIEvent& event )
975 {
976 OnSymbolUpdate(event);
977 }
978
979 /*!
980 * wxEVT_COMBOBOX event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
981 */
982
OnSymbolctrlSelected(wxCommandEvent & WXUNUSED (event))983 void wxRichTextListStylePage::OnSymbolctrlSelected( wxCommandEvent& WXUNUSED(event) )
984 {
985 TransferAndPreview();
986 }
987
988 /*!
989 * wxEVT_TEXT event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
990 */
991
OnSymbolctrlUpdated(wxCommandEvent & WXUNUSED (event))992 void wxRichTextListStylePage::OnSymbolctrlUpdated( wxCommandEvent& WXUNUSED(event) )
993 {
994 TransferAndPreview();
995 }
996
997 /*!
998 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
999 */
1000
OnSymbolctrlUIUpdate(wxUpdateUIEvent & event)1001 void wxRichTextListStylePage::OnSymbolctrlUIUpdate( wxUpdateUIEvent& event )
1002 {
1003 OnSymbolUpdate(event);
1004 }
1005
1006 /*!
1007 * wxEVT_BUTTON event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
1008 */
1009
OnChooseSymbolClick(wxCommandEvent & WXUNUSED (event))1010 void wxRichTextListStylePage::OnChooseSymbolClick( wxCommandEvent& WXUNUSED(event) )
1011 {
1012 int sel = m_styleListBox->GetSelection();
1013 if (sel == wxRICHTEXT_BULLETINDEX_SYMBOL)
1014 {
1015 wxString symbol = m_symbolCtrl->GetValue();
1016 wxString fontName = m_symbolFontCtrl->GetValue();
1017 wxSymbolPickerDialog dlg(symbol, fontName, fontName, this);
1018
1019 if (dlg.ShowModal() == wxID_OK)
1020 {
1021 m_dontUpdate = true;
1022
1023 m_symbolCtrl->SetValue(dlg.GetSymbol());
1024 m_symbolFontCtrl->SetValue(dlg.GetFontName());
1025
1026 TransferAndPreview();
1027
1028 m_dontUpdate = false;
1029 }
1030 }
1031 }
1032
1033 /*!
1034 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
1035 */
1036
OnChooseSymbolUpdate(wxUpdateUIEvent & event)1037 void wxRichTextListStylePage::OnChooseSymbolUpdate( wxUpdateUIEvent& event )
1038 {
1039 OnSymbolUpdate(event);
1040 }
1041
1042 /*!
1043 * wxEVT_COMBOBOX event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
1044 */
1045
OnSymbolfontctrlSelected(wxCommandEvent & WXUNUSED (event))1046 void wxRichTextListStylePage::OnSymbolfontctrlSelected( wxCommandEvent& WXUNUSED(event) )
1047 {
1048 TransferAndPreview();
1049 }
1050
1051 /*!
1052 * wxEVT_TEXT event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
1053 */
1054
OnSymbolfontctrlUpdated(wxCommandEvent & WXUNUSED (event))1055 void wxRichTextListStylePage::OnSymbolfontctrlUpdated( wxCommandEvent& WXUNUSED(event) )
1056 {
1057 TransferAndPreview();
1058 }
1059
1060 /*!
1061 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
1062 */
1063
OnSymbolfontctrlUIUpdate(wxUpdateUIEvent & event)1064 void wxRichTextListStylePage::OnSymbolfontctrlUIUpdate( wxUpdateUIEvent& event )
1065 {
1066 OnSymbolUpdate(event);
1067 }
1068
1069 /*!
1070 * wxEVT_CHECKBOX event handler for ID_RICHTEXTLISTSTYLEPAGE__PARENTHESESCTRL
1071 */
1072
OnParenthesesctrlClick(wxCommandEvent & WXUNUSED (event))1073 void wxRichTextListStylePage::OnParenthesesctrlClick( wxCommandEvent& WXUNUSED(event) )
1074 {
1075 TransferAndPreview();
1076 }
1077
1078 /*!
1079 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE__PARENTHESESCTRL
1080 */
1081
OnParenthesesctrlUpdate(wxUpdateUIEvent & event)1082 void wxRichTextListStylePage::OnParenthesesctrlUpdate( wxUpdateUIEvent& event )
1083 {
1084 int sel = m_styleListBox->GetSelection();
1085 event.Enable((sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
1086 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
1087 sel != wxRICHTEXT_BULLETINDEX_NONE));
1088 }
1089
1090 /*!
1091 * wxEVT_CHECKBOX event handler for ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL
1092 */
1093
OnPeriodctrlClick(wxCommandEvent & WXUNUSED (event))1094 void wxRichTextListStylePage::OnPeriodctrlClick( wxCommandEvent& WXUNUSED(event) )
1095 {
1096 TransferAndPreview();
1097 }
1098
1099 /*!
1100 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL
1101 */
1102
OnPeriodctrlUpdate(wxUpdateUIEvent & event)1103 void wxRichTextListStylePage::OnPeriodctrlUpdate( wxUpdateUIEvent& event )
1104 {
1105 int sel = m_styleListBox->GetSelection();
1106 event.Enable((sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
1107 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
1108 sel != wxRICHTEXT_BULLETINDEX_NONE));
1109 }
1110
1111 /*!
1112 * wxEVT_RADIOBUTTON event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNLEFT
1113 */
1114
OnRichtextliststylepageAlignleftSelected(wxCommandEvent & WXUNUSED (event))1115 void wxRichTextListStylePage::OnRichtextliststylepageAlignleftSelected( wxCommandEvent& WXUNUSED(event) )
1116 {
1117 TransferAndPreview();
1118 }
1119
1120 /*!
1121 * wxEVT_RADIOBUTTON event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNRIGHT
1122 */
1123
OnRichtextliststylepageAlignrightSelected(wxCommandEvent & WXUNUSED (event))1124 void wxRichTextListStylePage::OnRichtextliststylepageAlignrightSelected( wxCommandEvent& WXUNUSED(event) )
1125 {
1126 TransferAndPreview();
1127 }
1128
1129 /*!
1130 * wxEVT_RADIOBUTTON event handler for ID_RICHTEXTLISTSTYLEPAGE_JUSTIFIED
1131 */
1132
OnRichtextliststylepageJustifiedSelected(wxCommandEvent & WXUNUSED (event))1133 void wxRichTextListStylePage::OnRichtextliststylepageJustifiedSelected( wxCommandEvent& WXUNUSED(event) )
1134 {
1135 TransferAndPreview();
1136 }
1137
1138 /*!
1139 * wxEVT_RADIOBUTTON event handler for ID_RICHTEXTLISTSTYLEPAGE_CENTERED
1140 */
1141
OnRichtextliststylepageCenteredSelected(wxCommandEvent & WXUNUSED (event))1142 void wxRichTextListStylePage::OnRichtextliststylepageCenteredSelected( wxCommandEvent& WXUNUSED(event) )
1143 {
1144 TransferAndPreview();
1145 }
1146
1147 /*!
1148 * wxEVT_RADIOBUTTON event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNINDETERMINATE
1149 */
1150
OnRichtextliststylepageAlignindeterminateSelected(wxCommandEvent & WXUNUSED (event))1151 void wxRichTextListStylePage::OnRichtextliststylepageAlignindeterminateSelected( wxCommandEvent& WXUNUSED(event) )
1152 {
1153 TransferAndPreview();
1154 }
1155
1156 /*!
1157 * wxEVT_TEXT event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT
1158 */
1159
OnIndentLeftUpdated(wxCommandEvent & WXUNUSED (event))1160 void wxRichTextListStylePage::OnIndentLeftUpdated( wxCommandEvent& WXUNUSED(event) )
1161 {
1162 TransferAndPreview();
1163 }
1164
1165 /*!
1166 * wxEVT_TEXT event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE
1167 */
1168
OnIndentFirstLineUpdated(wxCommandEvent & WXUNUSED (event))1169 void wxRichTextListStylePage::OnIndentFirstLineUpdated( wxCommandEvent& WXUNUSED(event) )
1170 {
1171 TransferAndPreview();
1172 }
1173
1174 /*!
1175 * wxEVT_TEXT event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT
1176 */
1177
OnIndentRightUpdated(wxCommandEvent & WXUNUSED (event))1178 void wxRichTextListStylePage::OnIndentRightUpdated( wxCommandEvent& WXUNUSED(event) )
1179 {
1180 TransferAndPreview();
1181 }
1182
1183 /*!
1184 * wxEVT_TEXT event handler for ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE
1185 */
1186
OnSpacingBeforeUpdated(wxCommandEvent & WXUNUSED (event))1187 void wxRichTextListStylePage::OnSpacingBeforeUpdated( wxCommandEvent& WXUNUSED(event) )
1188 {
1189 TransferAndPreview();
1190 }
1191
1192 /*!
1193 * wxEVT_TEXT event handler for ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER
1194 */
1195
OnSpacingAfterUpdated(wxCommandEvent & WXUNUSED (event))1196 void wxRichTextListStylePage::OnSpacingAfterUpdated( wxCommandEvent& WXUNUSED(event) )
1197 {
1198 TransferAndPreview();
1199 }
1200
1201 /*!
1202 * wxEVT_COMBOBOX event handler for ID_RICHTEXTLISTSTYLEPAGE_LINESPACING
1203 */
1204
OnLineSpacingSelected(wxCommandEvent & WXUNUSED (event))1205 void wxRichTextListStylePage::OnLineSpacingSelected( wxCommandEvent& WXUNUSED(event) )
1206 {
1207 TransferAndPreview();
1208 }
1209
1210 /*!
1211 * Should we show tooltips?
1212 */
1213
ShowToolTips()1214 bool wxRichTextListStylePage::ShowToolTips()
1215 {
1216 return wxRichTextFormattingDialog::ShowToolTips();
1217 }
1218
1219 /*!
1220 * Get bitmap resources
1221 */
1222
GetBitmapResource(const wxString & name)1223 wxBitmap wxRichTextListStylePage::GetBitmapResource( const wxString& name )
1224 {
1225 // Bitmap retrieval
1226 ////@begin wxRichTextListStylePage bitmap retrieval
1227 wxUnusedVar(name);
1228 return wxNullBitmap;
1229 ////@end wxRichTextListStylePage bitmap retrieval
1230 }
1231
1232 /*!
1233 * Get icon resources
1234 */
1235
GetIconResource(const wxString & name)1236 wxIcon wxRichTextListStylePage::GetIconResource( const wxString& name )
1237 {
1238 // Icon retrieval
1239 ////@begin wxRichTextListStylePage icon retrieval
1240 wxUnusedVar(name);
1241 return wxNullIcon;
1242 ////@end wxRichTextListStylePage icon retrieval
1243 }
1244
1245 /// Update for symbol-related controls
OnSymbolUpdate(wxUpdateUIEvent & event)1246 void wxRichTextListStylePage::OnSymbolUpdate( wxUpdateUIEvent& event )
1247 {
1248 int sel = m_styleListBox->GetSelection();
1249 event.Enable(sel == wxRICHTEXT_BULLETINDEX_SYMBOL);
1250 }
1251
1252 /// Update for number-related controls
OnNumberUpdate(wxUpdateUIEvent & event)1253 void wxRichTextListStylePage::OnNumberUpdate( wxUpdateUIEvent& event )
1254 {
1255 int sel = m_styleListBox->GetSelection();
1256 event.Enable((sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
1257 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
1258 sel != wxRICHTEXT_BULLETINDEX_STANDARD &&
1259 sel != wxRICHTEXT_BULLETINDEX_NONE));
1260 }
1261
1262 /// Update for standard bullet-related controls
OnStandardBulletUpdate(wxUpdateUIEvent & event)1263 void wxRichTextListStylePage::OnStandardBulletUpdate( wxUpdateUIEvent& event )
1264 {
1265 int sel = m_styleListBox->GetSelection();
1266 event.Enable( sel == wxRICHTEXT_BULLETINDEX_STANDARD || sel == wxRICHTEXT_BULLETINDEX_BITMAP );
1267 }
1268
1269 /*!
1270 * wxEVT_BUTTON event handler for ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT
1271 */
1272
OnChooseFontClick(wxCommandEvent & WXUNUSED (event))1273 void wxRichTextListStylePage::OnChooseFontClick( wxCommandEvent& WXUNUSED(event) )
1274 {
1275 wxRichTextAttr* attr = GetAttributesForSelection();
1276
1277 int pages = wxRICHTEXT_FORMAT_FONT;
1278 wxRichTextFormattingDialog formatDlg;
1279 formatDlg.SetStyle(*attr, false);
1280 formatDlg.Create(pages, this);
1281
1282 if (formatDlg.ShowModal() == wxID_OK)
1283 {
1284 (*attr) = formatDlg.GetAttributes();
1285 TransferAndPreview();
1286 }
1287 }
1288 /*!
1289 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_NAMESTATIC
1290 */
1291
OnNamestaticUpdate(wxUpdateUIEvent & event)1292 void wxRichTextListStylePage::OnNamestaticUpdate( wxUpdateUIEvent& event )
1293 {
1294 OnStandardBulletUpdate(event);
1295 }
1296
1297 /*!
1298 * wxEVT_COMBOBOX event handler for ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL
1299 */
1300
OnNamectrlSelected(wxCommandEvent & WXUNUSED (event))1301 void wxRichTextListStylePage::OnNamectrlSelected( wxCommandEvent& WXUNUSED(event) )
1302 {
1303 TransferAndPreview();
1304 }
1305
1306 /*!
1307 * wxEVT_TEXT event handler for ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL
1308 */
1309
OnNamectrlUpdated(wxCommandEvent & WXUNUSED (event))1310 void wxRichTextListStylePage::OnNamectrlUpdated( wxCommandEvent& WXUNUSED(event) )
1311 {
1312 TransferAndPreview();
1313 }
1314
1315 /*!
1316 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_NAMECTRL
1317 */
1318
OnNamectrlUIUpdate(wxUpdateUIEvent & event)1319 void wxRichTextListStylePage::OnNamectrlUIUpdate( wxUpdateUIEvent& event )
1320 {
1321 OnStandardBulletUpdate(event);
1322 }
1323 /*!
1324 * wxEVT_CHECKBOX event handler for ID_RICHTEXTLISTSTYLEPAGE_RIGHTPARENTHESISCTRL
1325 */
1326
OnRightParenthesisCtrlClick(wxCommandEvent & WXUNUSED (event))1327 void wxRichTextListStylePage::OnRightParenthesisCtrlClick( wxCommandEvent& WXUNUSED(event) )
1328 {
1329 TransferAndPreview();
1330 }
1331
1332 /*!
1333 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_RIGHTPARENTHESISCTRL
1334 */
1335
OnRightParenthesisCtrlUpdate(wxUpdateUIEvent & event)1336 void wxRichTextListStylePage::OnRightParenthesisCtrlUpdate( wxUpdateUIEvent& event )
1337 {
1338 int sel = m_styleListBox->GetSelection();
1339 event.Enable((sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
1340 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
1341 sel != wxRICHTEXT_BULLETINDEX_NONE));
1342 }
1343
1344 /*!
1345 * wxEVT_COMBOBOX event handler for ID_RICHTEXTLISTSTYLEPAGE_BULLETALIGNMENTCTRL
1346 */
1347
OnBulletAlignmentCtrlSelected(wxCommandEvent & WXUNUSED (event))1348 void wxRichTextListStylePage::OnBulletAlignmentCtrlSelected( wxCommandEvent& WXUNUSED(event) )
1349 {
1350 TransferAndPreview();
1351 }
1352