]> git.saurik.com Git - wxWidgets.git/blame - src/richtext/richtextbulletspage.cpp
really fix the length of the string returned by wxConvertStringToOle() (#10056)
[wxWidgets.git] / src / richtext / richtextbulletspage.cpp
CommitLineData
97ff49b3 1/////////////////////////////////////////////////////////////////////////////
b68603d5 2// Name: src/richtext/richtextbulletspage.cpp
97ff49b3
JS
3// Purpose:
4// Author: Julian Smart
5// Modified by:
6// Created: 10/4/2006 10:32:31 AM
b68603d5 7// RCS-ID: $Id$
97ff49b3 8// Copyright: (c) Julian Smart
b68603d5 9// Licence: wxWindows licence
97ff49b3
JS
10/////////////////////////////////////////////////////////////////////////////
11
b68603d5
WS
12#if wxUSE_RICHTEXT
13
f464ecc7 14#include "wx/spinctrl.h"
21172fff 15#include "wx/utils.h"
b68603d5 16#include "wx/richtext/richtextbulletspage.h"
97ff49b3 17#include "wx/richtext/richtextsymboldlg.h"
97ff49b3 18
97ff49b3
JS
19/*!
20 * wxRichTextBulletsPage type definition
21 */
22
23IMPLEMENT_DYNAMIC_CLASS( wxRichTextBulletsPage, wxPanel )
24
25/*!
26 * wxRichTextBulletsPage event table definition
27 */
28
29BEGIN_EVENT_TABLE( wxRichTextBulletsPage, wxPanel )
30
31////@begin wxRichTextBulletsPage event table entries
32 EVT_LISTBOX( ID_RICHTEXTBULLETSPAGE_STYLELISTBOX, wxRichTextBulletsPage::OnStylelistboxSelected )
33
f089713f
JS
34 EVT_CHECKBOX( ID_RICHTEXTBULLETSPAGE_PERIODCTRL, wxRichTextBulletsPage::OnPeriodctrlClick )
35 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_PERIODCTRL, wxRichTextBulletsPage::OnPeriodctrlUpdate )
36
37 EVT_CHECKBOX( ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL, wxRichTextBulletsPage::OnParenthesesctrlClick )
38 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL, wxRichTextBulletsPage::OnParenthesesctrlUpdate )
39
d2d0adc7
JS
40 EVT_CHECKBOX( ID_RICHTEXTBULLETSPAGE_RIGHTPARENTHESISCTRL, wxRichTextBulletsPage::OnRightParenthesisCtrlClick )
41 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_RIGHTPARENTHESISCTRL, wxRichTextBulletsPage::OnRightParenthesisCtrlUpdate )
f089713f 42
d2d0adc7 43 EVT_COMBOBOX( ID_RICHTEXTBULLETSPAGE_BULLETALIGNMENTCTRL, wxRichTextBulletsPage::OnBulletAlignmentCtrlSelected )
f089713f 44
97ff49b3
JS
45 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC, wxRichTextBulletsPage::OnSymbolstaticUpdate )
46
47 EVT_COMBOBOX( ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, wxRichTextBulletsPage::OnSymbolctrlSelected )
48 EVT_TEXT( ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, wxRichTextBulletsPage::OnSymbolctrlUpdated )
49 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, wxRichTextBulletsPage::OnSymbolctrlUpdate )
50
51 EVT_BUTTON( ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL, wxRichTextBulletsPage::OnChooseSymbolClick )
52 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL, wxRichTextBulletsPage::OnChooseSymbolUpdate )
53
54 EVT_COMBOBOX( ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, wxRichTextBulletsPage::OnSymbolfontctrlSelected )
55 EVT_TEXT( ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, wxRichTextBulletsPage::OnSymbolfontctrlUpdated )
56 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, wxRichTextBulletsPage::OnSymbolfontctrlUIUpdate )
57
f089713f 58 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_NAMESTATIC, wxRichTextBulletsPage::OnNamestaticUpdate )
97ff49b3 59
f089713f
JS
60 EVT_COMBOBOX( ID_RICHTEXTBULLETSPAGE_NAMECTRL, wxRichTextBulletsPage::OnNamectrlSelected )
61 EVT_TEXT( ID_RICHTEXTBULLETSPAGE_NAMECTRL, wxRichTextBulletsPage::OnNamectrlUpdated )
62 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_NAMECTRL, wxRichTextBulletsPage::OnNamectrlUIUpdate )
97ff49b3 63
d2d0adc7
JS
64 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC, wxRichTextBulletsPage::OnNumberstaticUpdate )
65
66 EVT_SPINCTRL( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, wxRichTextBulletsPage::OnNumberctrlUpdated )
67 EVT_SPIN_UP( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, wxRichTextBulletsPage::OnNumberctrlUp )
68 EVT_SPIN_DOWN( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, wxRichTextBulletsPage::OnNumberctrlDown )
69 EVT_TEXT( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, wxRichTextBulletsPage::OnNumberctrlTextUpdated )
70 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, wxRichTextBulletsPage::OnNumberctrlUpdate )
71
97ff49b3
JS
72////@end wxRichTextBulletsPage event table entries
73
74END_EVENT_TABLE()
75
76/*!
77 * wxRichTextBulletsPage constructors
78 */
79
80wxRichTextBulletsPage::wxRichTextBulletsPage( )
81{
82 Init();
83}
84
85wxRichTextBulletsPage::wxRichTextBulletsPage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
86{
87 Init();
88 Create(parent, id, pos, size, style);
89}
90
91/*!
92 * Initialise members
93 */
5778b3c8 94
97ff49b3
JS
95void wxRichTextBulletsPage::Init()
96{
97 m_hasBulletStyle = false;
98 m_hasBulletNumber = false;
99 m_hasBulletSymbol = false;
100 m_dontUpdate = false;
101
102////@begin wxRichTextBulletsPage member initialisation
103 m_styleListBox = NULL;
f089713f
JS
104 m_periodCtrl = NULL;
105 m_parenthesesCtrl = NULL;
d2d0adc7
JS
106 m_rightParenthesisCtrl = NULL;
107 m_bulletAlignmentCtrl = NULL;
97ff49b3
JS
108 m_symbolCtrl = NULL;
109 m_symbolFontCtrl = NULL;
f089713f 110 m_bulletNameCtrl = NULL;
d2d0adc7 111 m_numberCtrl = NULL;
97ff49b3
JS
112 m_previewCtrl = NULL;
113////@end wxRichTextBulletsPage member initialisation
114}
115
116/*!
117 * wxRichTextBulletsPage creator
118 */
119
120bool wxRichTextBulletsPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
121{
122////@begin wxRichTextBulletsPage creation
123 wxPanel::Create( parent, id, pos, size, style );
124
125 CreateControls();
126 if (GetSizer())
127 {
128 GetSizer()->SetSizeHints(this);
129 }
130 Centre();
131////@end wxRichTextBulletsPage creation
132 return true;
133}
134
135/*!
136 * Control creation for wxRichTextBulletsPage
137 */
138
139void wxRichTextBulletsPage::CreateControls()
140{
141////@begin wxRichTextBulletsPage content construction
142 wxRichTextBulletsPage* itemPanel1 = this;
143
144 wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
145 itemPanel1->SetSizer(itemBoxSizer2);
146
147 wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
148 itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
149
150 wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
151 itemBoxSizer3->Add(itemBoxSizer4, 0, wxGROW, 5);
152
153 wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
154 itemBoxSizer4->Add(itemBoxSizer5, 0, wxGROW, 5);
155
156 wxStaticText* itemStaticText6 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Bullet style:"), wxDefaultPosition, wxDefaultSize, 0 );
69ce77e2 157 itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
97ff49b3 158
6103234e 159 wxArrayString m_styleListBoxStrings;
2fce6547 160 m_styleListBox = new wxListBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_STYLELISTBOX, wxDefaultPosition, wxSize(-1, 90), m_styleListBoxStrings, wxLB_SINGLE );
dadd4f55 161 m_styleListBox->SetHelpText(_("The available bullet styles."));
6103234e 162 if (wxRichTextBulletsPage::ShowToolTips())
dadd4f55 163 m_styleListBox->SetToolTip(_("The available bullet styles."));
f089713f
JS
164 itemBoxSizer5->Add(m_styleListBox, 1, wxGROW|wxALL, 5);
165
166 wxBoxSizer* itemBoxSizer8 = new wxBoxSizer(wxHORIZONTAL);
167 itemBoxSizer5->Add(itemBoxSizer8, 0, wxGROW, 5);
168
169 m_periodCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_PERIODCTRL, _("Peri&od"), wxDefaultPosition, wxDefaultSize, 0 );
170 m_periodCtrl->SetValue(false);
171 m_periodCtrl->SetHelpText(_("Check to add a period after the bullet."));
6103234e 172 if (wxRichTextBulletsPage::ShowToolTips())
f089713f
JS
173 m_periodCtrl->SetToolTip(_("Check to add a period after the bullet."));
174 itemBoxSizer8->Add(m_periodCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
175
d2d0adc7 176 m_parenthesesCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL, _("(*)"), wxDefaultPosition, wxDefaultSize, 0 );
f089713f
JS
177 m_parenthesesCtrl->SetValue(false);
178 m_parenthesesCtrl->SetHelpText(_("Check to enclose the bullet in parentheses."));
6103234e 179 if (wxRichTextBulletsPage::ShowToolTips())
f089713f
JS
180 m_parenthesesCtrl->SetToolTip(_("Check to enclose the bullet in parentheses."));
181 itemBoxSizer8->Add(m_parenthesesCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
182
d2d0adc7
JS
183 m_rightParenthesisCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_RIGHTPARENTHESISCTRL, _("*)"), wxDefaultPosition, wxDefaultSize, 0 );
184 m_rightParenthesisCtrl->SetValue(false);
185 m_rightParenthesisCtrl->SetHelpText(_("Check to add a right parenthesis."));
6103234e 186 if (wxRichTextBulletsPage::ShowToolTips())
d2d0adc7
JS
187 m_rightParenthesisCtrl->SetToolTip(_("Check to add a right parenthesis."));
188 itemBoxSizer8->Add(m_rightParenthesisCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
f089713f 189
d2d0adc7 190 itemBoxSizer5->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
f089713f 191
d2d0adc7 192 wxStaticText* itemStaticText13 = new wxStaticText( itemPanel1, wxID_STATIC, _("Bullet &Alignment:"), wxDefaultPosition, wxDefaultSize, 0 );
69ce77e2 193 itemBoxSizer5->Add(itemStaticText13, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
d2d0adc7 194
6103234e
JS
195 wxArrayString m_bulletAlignmentCtrlStrings;
196 m_bulletAlignmentCtrlStrings.Add(_("Left"));
197 m_bulletAlignmentCtrlStrings.Add(_("Centre"));
198 m_bulletAlignmentCtrlStrings.Add(_("Right"));
199 m_bulletAlignmentCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_BULLETALIGNMENTCTRL, _("Left"), wxDefaultPosition, wxSize(60, -1), m_bulletAlignmentCtrlStrings, wxCB_READONLY );
d2d0adc7
JS
200 m_bulletAlignmentCtrl->SetStringSelection(_("Left"));
201 m_bulletAlignmentCtrl->SetHelpText(_("The bullet character."));
6103234e 202 if (wxRichTextBulletsPage::ShowToolTips())
d2d0adc7
JS
203 m_bulletAlignmentCtrl->SetToolTip(_("The bullet character."));
204 itemBoxSizer5->Add(m_bulletAlignmentCtrl, 0, wxGROW|wxALL|wxFIXED_MINSIZE, 5);
97ff49b3
JS
205
206 itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
207
d2d0adc7
JS
208 wxStaticLine* itemStaticLine16 = new wxStaticLine( itemPanel1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
209 itemBoxSizer4->Add(itemStaticLine16, 0, wxGROW|wxLEFT|wxRIGHT, 5);
97ff49b3
JS
210
211 itemBoxSizer4->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5);
212
d2d0adc7
JS
213 wxBoxSizer* itemBoxSizer18 = new wxBoxSizer(wxVERTICAL);
214 itemBoxSizer4->Add(itemBoxSizer18, 0, wxGROW, 5);
97ff49b3 215
21172fff
JS
216 wxBoxSizer* itemBoxSizer19 = new wxBoxSizer(wxHORIZONTAL);
217 itemBoxSizer18->Add(itemBoxSizer19, 0, wxGROW, 5);
97ff49b3 218
21172fff
JS
219 wxStaticText* itemStaticText20 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC, _("&Symbol:"), wxDefaultPosition, wxDefaultSize, 0 );
220 itemBoxSizer19->Add(itemStaticText20, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
97ff49b3 221
6103234e
JS
222 wxArrayString m_symbolCtrlStrings;
223 m_symbolCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, _T(""), wxDefaultPosition, wxSize(60, -1), m_symbolCtrlStrings, wxCB_DROPDOWN );
dadd4f55 224 m_symbolCtrl->SetHelpText(_("The bullet character."));
6103234e 225 if (wxRichTextBulletsPage::ShowToolTips())
dadd4f55 226 m_symbolCtrl->SetToolTip(_("The bullet character."));
21172fff 227 itemBoxSizer19->Add(m_symbolCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxFIXED_MINSIZE, 5);
97ff49b3 228
d2d0adc7
JS
229 wxButton* itemButton22 = new wxButton( itemPanel1, ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL, _("Ch&oose..."), wxDefaultPosition, wxDefaultSize, 0 );
230 itemButton22->SetHelpText(_("Click to browse for a symbol."));
6103234e 231 if (wxRichTextBulletsPage::ShowToolTips())
d2d0adc7 232 itemButton22->SetToolTip(_("Click to browse for a symbol."));
21172fff 233 itemBoxSizer19->Add(itemButton22, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
97ff49b3 234
d2d0adc7 235 itemBoxSizer18->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
97ff49b3 236
d2d0adc7 237 wxStaticText* itemStaticText24 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC, _("Symbol &font:"), wxDefaultPosition, wxDefaultSize, 0 );
69ce77e2 238 itemBoxSizer18->Add(itemStaticText24, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
97ff49b3 239
6103234e
JS
240 wxArrayString m_symbolFontCtrlStrings;
241 m_symbolFontCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, m_symbolFontCtrlStrings, wxCB_DROPDOWN );
dadd4f55 242 m_symbolFontCtrl->SetHelpText(_("Available fonts."));
6103234e 243 if (wxRichTextBulletsPage::ShowToolTips())
dadd4f55 244 m_symbolFontCtrl->SetToolTip(_("Available fonts."));
d2d0adc7 245 itemBoxSizer18->Add(m_symbolFontCtrl, 0, wxGROW|wxALL, 5);
97ff49b3 246
2fce6547 247 itemBoxSizer18->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL, 5);
97ff49b3 248
d2d0adc7 249 wxStaticText* itemStaticText27 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_NAMESTATIC, _("S&tandard bullet name:"), wxDefaultPosition, wxDefaultSize, 0 );
69ce77e2 250 itemBoxSizer18->Add(itemStaticText27, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
97ff49b3 251
6103234e
JS
252 wxArrayString m_bulletNameCtrlStrings;
253 m_bulletNameCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_NAMECTRL, _T(""), wxDefaultPosition, wxDefaultSize, m_bulletNameCtrlStrings, wxCB_DROPDOWN );
f089713f 254 m_bulletNameCtrl->SetHelpText(_("A standard bullet name."));
6103234e 255 if (wxRichTextBulletsPage::ShowToolTips())
f089713f 256 m_bulletNameCtrl->SetToolTip(_("A standard bullet name."));
d2d0adc7
JS
257 itemBoxSizer18->Add(m_bulletNameCtrl, 0, wxGROW|wxALL, 5);
258
2fce6547 259 itemBoxSizer18->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL, 5);
d2d0adc7
JS
260
261 wxStaticText* itemStaticText30 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC, _("&Number:"), wxDefaultPosition, wxDefaultSize, 0 );
69ce77e2 262 itemBoxSizer18->Add(itemStaticText30, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5);
d2d0adc7
JS
263
264 m_numberCtrl = new wxSpinCtrl( itemPanel1, ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, _T("0"), wxDefaultPosition, wxSize(50, -1), wxSP_ARROW_KEYS, 0, 100000, 0 );
265 m_numberCtrl->SetHelpText(_("The list item number."));
6103234e 266 if (wxRichTextBulletsPage::ShowToolTips())
d2d0adc7
JS
267 m_numberCtrl->SetToolTip(_("The list item number."));
268 itemBoxSizer18->Add(m_numberCtrl, 0, wxGROW|wxALL, 5);
97ff49b3 269
2fce6547 270 itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5);
97ff49b3 271
2fce6547 272 m_previewCtrl = new wxRichTextCtrl( itemPanel1, ID_RICHTEXTBULLETSPAGE_PREVIEW_CTRL, wxEmptyString, wxDefaultPosition, wxSize(350, 100), wxVSCROLL|wxTE_READONLY );
97ff49b3 273 m_previewCtrl->SetHelpText(_("Shows a preview of the bullet settings."));
6103234e 274 if (wxRichTextBulletsPage::ShowToolTips())
97ff49b3 275 m_previewCtrl->SetToolTip(_("Shows a preview of the bullet settings."));
2fce6547 276 itemBoxSizer3->Add(m_previewCtrl, 1, wxGROW|wxALL, 5);
97ff49b3
JS
277
278////@end wxRichTextBulletsPage content construction
279
21172fff
JS
280 if (wxGetDisplaySize().y < 600)
281 m_previewCtrl->SetMinSize(wxSize(350, 50));
282
97ff49b3
JS
283 m_styleListBox->Append(_("(None)"));
284 m_styleListBox->Append(_("Arabic"));
285 m_styleListBox->Append(_("Upper case letters"));
286 m_styleListBox->Append(_("Lower case letters"));
287 m_styleListBox->Append(_("Upper case roman numerals"));
288 m_styleListBox->Append(_("Lower case roman numerals"));
d2d0adc7 289 m_styleListBox->Append(_("Numbered outline"));
97ff49b3
JS
290 m_styleListBox->Append(_("Symbol"));
291 m_styleListBox->Append(_("Bitmap"));
f089713f 292 m_styleListBox->Append(_("Standard"));
69ce77e2 293
97ff49b3
JS
294 m_symbolCtrl->Append(_("*"));
295 m_symbolCtrl->Append(_("-"));
296 m_symbolCtrl->Append(_(">"));
297 m_symbolCtrl->Append(_("+"));
298 m_symbolCtrl->Append(_("~"));
69ce77e2 299
d2d0adc7
JS
300 wxArrayString standardBulletNames;
301 if (wxRichTextBuffer::GetRenderer())
302 wxRichTextBuffer::GetRenderer()->EnumerateStandardBulletNames(standardBulletNames);
303
304 m_bulletNameCtrl->Append(standardBulletNames);
5778b3c8 305
dadd4f55 306 wxArrayString facenames = wxRichTextCtrl::GetAvailableFontNames();
97ff49b3 307 facenames.Sort();
5778b3c8 308
97ff49b3
JS
309 m_symbolFontCtrl->Append(facenames);
310}
311
312/// Transfer data from/to window
313bool wxRichTextBulletsPage::TransferDataFromWindow()
314{
315 wxPanel::TransferDataFromWindow();
316
44cc96a8 317 wxTextAttr* attr = GetAttributes();
97ff49b3
JS
318
319 if (m_hasBulletStyle)
320 {
d2d0adc7 321 long bulletStyle = wxRICHTEXT_BULLETINDEX_NONE;
97ff49b3
JS
322
323 int index = m_styleListBox->GetSelection();
d2d0adc7 324 if (index == wxRICHTEXT_BULLETINDEX_ARABIC)
97ff49b3 325 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ARABIC;
d2d0adc7
JS
326
327 else if (index == wxRICHTEXT_BULLETINDEX_UPPER_CASE)
97ff49b3 328 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER;
d2d0adc7
JS
329
330 else if (index == wxRICHTEXT_BULLETINDEX_LOWER_CASE)
97ff49b3 331 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER;
d2d0adc7
JS
332
333 else if (index == wxRICHTEXT_BULLETINDEX_UPPER_CASE_ROMAN)
97ff49b3 334 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER;
d2d0adc7
JS
335
336 else if (index == wxRICHTEXT_BULLETINDEX_LOWER_CASE_ROMAN)
97ff49b3 337 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER;
d2d0adc7
JS
338
339 else if (index == wxRICHTEXT_BULLETINDEX_OUTLINE)
340 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_OUTLINE;
341
342 else if (index == wxRICHTEXT_BULLETINDEX_SYMBOL)
97ff49b3 343 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_SYMBOL;
d2d0adc7
JS
344
345 else if (index == wxRICHTEXT_BULLETINDEX_BITMAP)
97ff49b3 346 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_BITMAP;
d2d0adc7
JS
347
348 else if (index == wxRICHTEXT_BULLETINDEX_STANDARD)
f089713f
JS
349 {
350 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_STANDARD;
351 attr->SetBulletName(m_bulletNameCtrl->GetValue());
352 }
97ff49b3
JS
353
354 if (m_parenthesesCtrl->GetValue())
355 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_PARENTHESES;
d2d0adc7
JS
356 if (m_rightParenthesisCtrl->GetValue())
357 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS;
97ff49b3
JS
358 if (m_periodCtrl->GetValue())
359 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_PERIOD;
69ce77e2 360
d2d0adc7
JS
361 if (m_bulletAlignmentCtrl->GetSelection() == 1)
362 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE;
363 else if (m_bulletAlignmentCtrl->GetSelection() == 2)
364 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT;
69ce77e2 365 // Left is implied
97ff49b3
JS
366
367 attr->SetBulletStyle(bulletStyle);
368 }
369
370 if (m_hasBulletNumber)
371 {
372 attr->SetBulletNumber(m_numberCtrl->GetValue());
373 }
374
375 if (m_hasBulletSymbol)
376 {
d2d0adc7 377 attr->SetBulletText(m_symbolCtrl->GetValue());
97ff49b3
JS
378 attr->SetBulletFont(m_symbolFontCtrl->GetValue());
379 }
69ce77e2 380
97ff49b3
JS
381 return true;
382}
383
384bool wxRichTextBulletsPage::TransferDataToWindow()
385{
386 m_dontUpdate = true;
387
388 wxPanel::TransferDataToWindow();
389
44cc96a8 390 wxTextAttr* attr = GetAttributes();
97ff49b3
JS
391
392 if (attr->HasBulletStyle())
393 {
f089713f 394 m_hasBulletStyle = true;
d2d0adc7
JS
395 int index = wxRICHTEXT_BULLETINDEX_NONE;
396
97ff49b3 397 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ARABIC)
d2d0adc7
JS
398 index = wxRICHTEXT_BULLETINDEX_ARABIC;
399
97ff49b3 400 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER)
d2d0adc7
JS
401 index = wxRICHTEXT_BULLETINDEX_UPPER_CASE;
402
97ff49b3 403 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER)
d2d0adc7
JS
404 index = wxRICHTEXT_BULLETINDEX_LOWER_CASE;
405
97ff49b3 406 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER)
d2d0adc7
JS
407 index = wxRICHTEXT_BULLETINDEX_UPPER_CASE_ROMAN;
408
97ff49b3 409 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER)
d2d0adc7
JS
410 index = wxRICHTEXT_BULLETINDEX_LOWER_CASE_ROMAN;
411
412 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_OUTLINE)
413 index = wxRICHTEXT_BULLETINDEX_OUTLINE;
414
97ff49b3 415 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_SYMBOL)
d2d0adc7
JS
416 index = wxRICHTEXT_BULLETINDEX_SYMBOL;
417
97ff49b3 418 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_BITMAP)
d2d0adc7
JS
419 index = wxRICHTEXT_BULLETINDEX_BITMAP;
420
f089713f 421 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_STANDARD)
d2d0adc7
JS
422 index = wxRICHTEXT_BULLETINDEX_STANDARD;
423
97ff49b3
JS
424 m_styleListBox->SetSelection(index);
425
426 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_PARENTHESES)
427 m_parenthesesCtrl->SetValue(true);
428 else
429 m_parenthesesCtrl->SetValue(false);
430
d2d0adc7
JS
431 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS)
432 m_rightParenthesisCtrl->SetValue(true);
433 else
434 m_rightParenthesisCtrl->SetValue(false);
435
97ff49b3
JS
436 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_PERIOD)
437 m_periodCtrl->SetValue(true);
438 else
5778b3c8 439 m_periodCtrl->SetValue(false);
d2d0adc7
JS
440
441 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE)
442 m_bulletAlignmentCtrl->SetSelection(1);
443 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT)
444 m_bulletAlignmentCtrl->SetSelection(2);
445 else
446 m_bulletAlignmentCtrl->SetSelection(0);
97ff49b3
JS
447 }
448 else
f089713f
JS
449 {
450 m_hasBulletStyle = false;
97ff49b3 451 m_styleListBox->SetSelection(-1);
d2d0adc7 452 m_bulletAlignmentCtrl->SetSelection(-1);
f089713f 453 }
97ff49b3 454
d2d0adc7 455 if (attr->HasBulletText())
97ff49b3 456 {
d2d0adc7 457 m_symbolCtrl->SetValue(attr->GetBulletText());
97ff49b3
JS
458 m_symbolFontCtrl->SetValue(attr->GetBulletFont());
459 }
460 else
461 m_symbolCtrl->SetValue(wxEmptyString);
462
463 if (attr->HasBulletNumber())
464 m_numberCtrl->SetValue(attr->GetBulletNumber());
465 else
466 m_numberCtrl->SetValue(0);
467
f089713f
JS
468 if (attr->HasBulletName())
469 m_bulletNameCtrl->SetValue(attr->GetBulletName());
470 else
471 m_bulletNameCtrl->SetValue(wxEmptyString);
472
97ff49b3
JS
473 UpdatePreview();
474
475 m_dontUpdate = false;
476
477 return true;
478}
479
480/// Updates the bullet preview
481void wxRichTextBulletsPage::UpdatePreview()
482{
483 static const wxChar* s_para1 = wxT("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \
2a94806c 484Nullam ante sapien, vestibulum nonummy, pulvinar sed, luctus ut, lacus.\n");
97ff49b3 485
2a94806c
JS
486 static const wxChar* s_para2 = wxT("Duis pharetra consequat dui. Cum sociis natoque penatibus \
487et magnis dis parturient montes, nascetur ridiculus mus. Nullam vitae justo id mauris lobortis interdum.\n");
97ff49b3 488
2a94806c 489 static const wxChar* s_para3 = wxT("Integer convallis dolor at augue \
97ff49b3
JS
490iaculis malesuada. Donec bibendum ipsum ut ante porta fringilla.\n");
491
492 TransferDataFromWindow();
44cc96a8 493 wxTextAttr attr(*GetAttributes());
97ff49b3 494 attr.SetFlags(attr.GetFlags() &
d2d0adc7 495 (wxTEXT_ATTR_BULLET_STYLE|wxTEXT_ATTR_BULLET_NUMBER|wxTEXT_ATTR_BULLET_TEXT|wxTEXT_ATTR_BULLET_NAME|
97ff49b3
JS
496 wxTEXT_ATTR_ALIGNMENT|wxTEXT_ATTR_LEFT_INDENT|wxTEXT_ATTR_RIGHT_INDENT|wxTEXT_ATTR_PARA_SPACING_BEFORE|wxTEXT_ATTR_PARA_SPACING_AFTER|
497 wxTEXT_ATTR_LINE_SPACING));
498
499 wxFont font(m_previewCtrl->GetFont());
500 font.SetPointSize(9);
501 m_previewCtrl->SetFont(font);
502
44cc96a8 503 wxTextAttr normalParaAttr;
dadd4f55
JS
504 normalParaAttr.SetFont(font);
505 normalParaAttr.SetTextColour(wxColour(wxT("LIGHT GREY")));
97ff49b3 506
dadd4f55 507 m_previewCtrl->Freeze();
97ff49b3
JS
508 m_previewCtrl->Clear();
509
dadd4f55 510 m_previewCtrl->BeginStyle(normalParaAttr);
97ff49b3 511 m_previewCtrl->WriteText(s_para1);
dadd4f55 512 m_previewCtrl->EndStyle();
41a85215 513
97ff49b3
JS
514 m_previewCtrl->BeginStyle(attr);
515 m_previewCtrl->WriteText(s_para2);
516 m_previewCtrl->EndStyle();
dadd4f55
JS
517
518 m_previewCtrl->BeginStyle(normalParaAttr);
97ff49b3 519 m_previewCtrl->WriteText(s_para3);
dadd4f55 520 m_previewCtrl->EndStyle();
69ce77e2 521
d2d0adc7 522 m_previewCtrl->NumberList(wxRichTextRange(0, m_previewCtrl->GetLastPosition()+1));
dadd4f55
JS
523
524 m_previewCtrl->Thaw();
97ff49b3
JS
525}
526
44cc96a8 527wxTextAttr* wxRichTextBulletsPage::GetAttributes()
97ff49b3
JS
528{
529 return wxRichTextFormattingDialog::GetDialogAttributes(this);
530}
531
532/*!
533 * Should we show tooltips?
534 */
535
536bool wxRichTextBulletsPage::ShowToolTips()
537{
dadd4f55 538 return wxRichTextFormattingDialog::ShowToolTips();
97ff49b3
JS
539}
540
541/*!
542 * Get bitmap resources
543 */
544
545wxBitmap wxRichTextBulletsPage::GetBitmapResource( const wxString& name )
546{
547 // Bitmap retrieval
548////@begin wxRichTextBulletsPage bitmap retrieval
549 wxUnusedVar(name);
550 return wxNullBitmap;
551////@end wxRichTextBulletsPage bitmap retrieval
552}
553
554/*!
555 * Get icon resources
556 */
557
558wxIcon wxRichTextBulletsPage::GetIconResource( const wxString& name )
559{
560 // Icon retrieval
561////@begin wxRichTextBulletsPage icon retrieval
562 wxUnusedVar(name);
563 return wxNullIcon;
564////@end wxRichTextBulletsPage icon retrieval
565}
566
567/*!
568 * wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_STYLELISTBOX
569 */
570
571void wxRichTextBulletsPage::OnStylelistboxSelected( wxCommandEvent& WXUNUSED(event) )
572{
573 if (!m_dontUpdate)
574 {
575 m_hasBulletStyle = true;
576
d2d0adc7 577 if (m_styleListBox->GetSelection() == wxRICHTEXT_BULLETINDEX_SYMBOL)
97ff49b3
JS
578 m_hasBulletSymbol = true;
579
580 UpdatePreview();
581 }
582}
583
584/*!
585 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
586 */
587
588void wxRichTextBulletsPage::OnSymbolctrlSelected( wxCommandEvent& WXUNUSED(event) )
589{
590 if (!m_dontUpdate)
591 {
592 m_hasBulletSymbol = true;
593 UpdatePreview();
594 }
595}
596
597/*!
598 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
599 */
600
601void wxRichTextBulletsPage::OnSymbolctrlUpdated( wxCommandEvent& WXUNUSED(event) )
602{
603 if (!m_dontUpdate)
604 {
605 m_hasBulletSymbol = true;
606 UpdatePreview();
607 }
608}
609
610/*!
611 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
612 */
613
614void wxRichTextBulletsPage::OnSymbolctrlUpdate( wxUpdateUIEvent& event )
615{
616 OnSymbolUpdate(event);
617}
618
619/*!
620 * wxEVT_COMMAND_SPINCTRL_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
621 */
622
623void wxRichTextBulletsPage::OnNumberctrlUpdated( wxSpinEvent& WXUNUSED(event) )
624{
625 if (!m_dontUpdate)
626 {
627 m_hasBulletNumber = true;
628 UpdatePreview();
629 }
630}
631
632/*!
633 * wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
634 */
635
636void wxRichTextBulletsPage::OnNumberctrlUp( wxSpinEvent& WXUNUSED(event) )
637{
638 if (!m_dontUpdate)
639 {
640 m_hasBulletNumber = true;
641 UpdatePreview();
642 }
643}
644
645/*!
646 * wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
647 */
648
649void wxRichTextBulletsPage::OnNumberctrlDown( wxSpinEvent& WXUNUSED(event) )
650{
651 if (!m_dontUpdate)
652 {
653 m_hasBulletNumber = true;
654 UpdatePreview();
655 }
656}
657
658/*!
659 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
660 */
661
662void wxRichTextBulletsPage::OnNumberctrlTextUpdated( wxCommandEvent& WXUNUSED(event) )
663{
664 if (!m_dontUpdate)
665 {
666 m_hasBulletNumber = true;
667 UpdatePreview();
668 }
669}
670
671/*!
672 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
673 */
674
675void wxRichTextBulletsPage::OnNumberctrlUpdate( wxUpdateUIEvent& event )
676{
677 OnNumberUpdate(event);
678}
679
680/*!
681 * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
682 */
683
684void wxRichTextBulletsPage::OnParenthesesctrlClick( wxCommandEvent& WXUNUSED(event) )
685{
686 if (!m_dontUpdate)
687 {
688 m_hasBulletStyle = true;
689 UpdatePreview();
690 }
691}
692
693/*!
694 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
695 */
696
697void wxRichTextBulletsPage::OnParenthesesctrlUpdate( wxUpdateUIEvent& event )
698{
699 int sel = m_styleListBox->GetSelection();
d2d0adc7
JS
700 event.Enable(m_hasBulletStyle && (sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
701 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
702 sel != wxRICHTEXT_BULLETINDEX_NONE));
97ff49b3
JS
703}
704
705/*!
706 * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_PERIODCTRL
707 */
708
709void wxRichTextBulletsPage::OnPeriodctrlClick( wxCommandEvent& WXUNUSED(event) )
710{
711 if (!m_dontUpdate)
712 {
713 m_hasBulletStyle = true;
714 UpdatePreview();
715 }
716}
717
718/*!
719 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_PERIODCTRL
720 */
721
722void wxRichTextBulletsPage::OnPeriodctrlUpdate( wxUpdateUIEvent& event )
723{
724 int sel = m_styleListBox->GetSelection();
d2d0adc7
JS
725 event.Enable(m_hasBulletStyle && (sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
726 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
727 sel != wxRICHTEXT_BULLETINDEX_NONE));
97ff49b3
JS
728}
729
730/*!
731 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
732 */
733
734void wxRichTextBulletsPage::OnChooseSymbolClick( wxCommandEvent& WXUNUSED(event) )
735{
736 int sel = m_styleListBox->GetSelection();
d2d0adc7 737 if (m_hasBulletStyle && sel == wxRICHTEXT_BULLETINDEX_SYMBOL)
97ff49b3
JS
738 {
739 wxString symbol = m_symbolCtrl->GetValue();
740 wxString fontName = m_symbolFontCtrl->GetValue();
741 wxSymbolPickerDialog dlg(symbol, fontName, fontName, this);
742
743 if (dlg.ShowModal() == wxID_OK)
744 {
745 m_dontUpdate = true;
5778b3c8 746
97ff49b3
JS
747 m_symbolCtrl->SetValue(dlg.GetSymbol());
748 m_symbolFontCtrl->SetValue(dlg.GetFontName());
5778b3c8 749
97ff49b3
JS
750 UpdatePreview();
751
752 m_dontUpdate = false;
753 }
754 }
755}
756
757/*!
758 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
759 */
760
761void wxRichTextBulletsPage::OnChooseSymbolUpdate( wxUpdateUIEvent& event )
762{
763 OnSymbolUpdate(event);
764}
765/*!
766 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
767 */
768
769void wxRichTextBulletsPage::OnSymbolfontctrlSelected( wxCommandEvent& WXUNUSED(event) )
770{
771 if (m_dontUpdate)
772 return;
773 UpdatePreview();
774}
775
776/*!
777 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
778 */
779
780void wxRichTextBulletsPage::OnSymbolfontctrlUpdated( wxCommandEvent& WXUNUSED(event) )
781{
782 if (m_dontUpdate)
783 return;
784 UpdatePreview();
785}
786
787
788/*!
789 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
790 */
791
792void wxRichTextBulletsPage::OnSymbolfontctrlUIUpdate( wxUpdateUIEvent& event )
793{
794 OnSymbolUpdate(event);
795}
796
797/// Update for symbol-related controls
798void wxRichTextBulletsPage::OnSymbolUpdate( wxUpdateUIEvent& event )
799{
800 int sel = m_styleListBox->GetSelection();
d2d0adc7 801 event.Enable(m_hasBulletStyle && (sel == wxRICHTEXT_BULLETINDEX_SYMBOL));
97ff49b3
JS
802}
803
804/// Update for number-related controls
805void wxRichTextBulletsPage::OnNumberUpdate( wxUpdateUIEvent& event )
806{
807 int sel = m_styleListBox->GetSelection();
d2d0adc7
JS
808 event.Enable( m_hasBulletStyle && (sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
809 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
810 sel != wxRICHTEXT_BULLETINDEX_STANDARD &&
811 sel != wxRICHTEXT_BULLETINDEX_NONE));
97ff49b3
JS
812}
813
f089713f
JS
814/// Update for standard bullet-related controls
815void wxRichTextBulletsPage::OnStandardBulletUpdate( wxUpdateUIEvent& event )
816{
817 int sel = m_styleListBox->GetSelection();
d2d0adc7 818 event.Enable( sel == wxRICHTEXT_BULLETINDEX_STANDARD );
f089713f
JS
819}
820
821
97ff49b3
JS
822/*!
823 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC
824 */
825
826void wxRichTextBulletsPage::OnSymbolstaticUpdate( wxUpdateUIEvent& event )
827{
828 OnSymbolUpdate(event);
829}
830
831
832/*!
833 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC
834 */
835
836void wxRichTextBulletsPage::OnNumberstaticUpdate( wxUpdateUIEvent& event )
837{
838 OnNumberUpdate(event);
839}
840
f089713f
JS
841/*!
842 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NAMESTATIC
843 */
844
845void wxRichTextBulletsPage::OnNamestaticUpdate( wxUpdateUIEvent& event )
846{
847 OnStandardBulletUpdate(event);
848}
849
850
851/*!
852 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
853 */
854
855void wxRichTextBulletsPage::OnNamectrlSelected( wxCommandEvent& WXUNUSED(event) )
856{
857 if (m_dontUpdate)
858 return;
859 UpdatePreview();
860}
861
862/*!
863 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
864 */
865
866void wxRichTextBulletsPage::OnNamectrlUpdated( wxCommandEvent& WXUNUSED(event) )
867{
868 if (m_dontUpdate)
869 return;
870 UpdatePreview();
871}
872
873/*!
874 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
875 */
876
877void wxRichTextBulletsPage::OnNamectrlUIUpdate( wxUpdateUIEvent& event )
878{
879 OnStandardBulletUpdate(event);
880}
881
b68603d5 882#endif // wxUSE_RICHTEXT
d2d0adc7
JS
883/*!
884 * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_RIGHT_PARENTHESIS_CTRL
885 */
886
887void wxRichTextBulletsPage::OnRightParenthesisCtrlClick( wxCommandEvent& WXUNUSED(event) )
888{
889 if (!m_dontUpdate)
890 {
891 m_hasBulletStyle = true;
892 UpdatePreview();
893 }
894}
895
896/*!
897 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_RIGHT_PARENTHESIS_CTRL
898 */
899
900void wxRichTextBulletsPage::OnRightParenthesisCtrlUpdate( wxUpdateUIEvent& event )
901{
902 int sel = m_styleListBox->GetSelection();
903 event.Enable(m_hasBulletStyle && (sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
904 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
905 sel != wxRICHTEXT_BULLETINDEX_NONE));
906}
907
908/*!
909 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_COMBOBOX
910 */
911
912void wxRichTextBulletsPage::OnBulletAlignmentCtrlSelected( wxCommandEvent& WXUNUSED(event) )
913{
914 if (m_dontUpdate)
915 return;
916 UpdatePreview();
917}
918
919