]> git.saurik.com Git - wxWidgets.git/blame - src/richtext/richtextbulletspage.cpp
Don't assert in wxDataViewCtrl::ItemDeleted() if item doesn't exist.
[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 222 wxArrayString m_symbolCtrlStrings;
9a83f860 223 m_symbolCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, wxT(""), 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 240 wxArrayString m_symbolFontCtrlStrings;
9a83f860 241 m_symbolFontCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, wxT(""), 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 252 wxArrayString m_bulletNameCtrlStrings;
9a83f860 253 m_bulletNameCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_NAMECTRL, wxT(""), 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 263
9a83f860 264 m_numberCtrl = new wxSpinCtrl( itemPanel1, ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, wxT("0"), wxDefaultPosition, wxSize(50, -1), wxSP_ARROW_KEYS, 0, 100000, 0 );
d2d0adc7 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
04529b2a
JS
304 size_t i;
305 for (i = 0; i < standardBulletNames.GetCount(); i++)
306 m_bulletNameCtrl->Append(wxGetTranslation(standardBulletNames[i]));
5778b3c8 307
dadd4f55 308 wxArrayString facenames = wxRichTextCtrl::GetAvailableFontNames();
97ff49b3 309 facenames.Sort();
5778b3c8 310
97ff49b3
JS
311 m_symbolFontCtrl->Append(facenames);
312}
313
314/// Transfer data from/to window
315bool wxRichTextBulletsPage::TransferDataFromWindow()
316{
317 wxPanel::TransferDataFromWindow();
318
44cc96a8 319 wxTextAttr* attr = GetAttributes();
97ff49b3
JS
320
321 if (m_hasBulletStyle)
322 {
d2d0adc7 323 long bulletStyle = wxRICHTEXT_BULLETINDEX_NONE;
97ff49b3
JS
324
325 int index = m_styleListBox->GetSelection();
d2d0adc7 326 if (index == wxRICHTEXT_BULLETINDEX_ARABIC)
97ff49b3 327 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ARABIC;
d2d0adc7
JS
328
329 else if (index == wxRICHTEXT_BULLETINDEX_UPPER_CASE)
97ff49b3 330 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER;
d2d0adc7
JS
331
332 else if (index == wxRICHTEXT_BULLETINDEX_LOWER_CASE)
97ff49b3 333 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER;
d2d0adc7
JS
334
335 else if (index == wxRICHTEXT_BULLETINDEX_UPPER_CASE_ROMAN)
97ff49b3 336 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER;
d2d0adc7
JS
337
338 else if (index == wxRICHTEXT_BULLETINDEX_LOWER_CASE_ROMAN)
97ff49b3 339 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER;
d2d0adc7
JS
340
341 else if (index == wxRICHTEXT_BULLETINDEX_OUTLINE)
342 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_OUTLINE;
343
344 else if (index == wxRICHTEXT_BULLETINDEX_SYMBOL)
97ff49b3 345 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_SYMBOL;
d2d0adc7
JS
346
347 else if (index == wxRICHTEXT_BULLETINDEX_BITMAP)
97ff49b3 348 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_BITMAP;
d2d0adc7
JS
349
350 else if (index == wxRICHTEXT_BULLETINDEX_STANDARD)
f089713f
JS
351 {
352 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_STANDARD;
04529b2a
JS
353 wxArrayString standardBulletNames;
354 if (wxRichTextBuffer::GetRenderer() && m_bulletNameCtrl->GetSelection() != wxNOT_FOUND)
355 {
356 int sel = m_bulletNameCtrl->GetSelection();
357 wxString selName = m_bulletNameCtrl->GetString(sel);
358
359 // Try to get the untranslated name using the current selection index of the combobox.
360 // into account.
361 wxRichTextBuffer::GetRenderer()->EnumerateStandardBulletNames(standardBulletNames);
362 if (sel < (int) standardBulletNames.GetCount() && m_bulletNameCtrl->GetValue() == selName)
363 attr->SetBulletName(standardBulletNames[sel]);
03647350 364 else
04529b2a
JS
365 attr->SetBulletName(m_bulletNameCtrl->GetValue());
366 }
367 else
368 attr->SetBulletName(m_bulletNameCtrl->GetValue());
f089713f 369 }
97ff49b3
JS
370
371 if (m_parenthesesCtrl->GetValue())
372 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_PARENTHESES;
d2d0adc7
JS
373 if (m_rightParenthesisCtrl->GetValue())
374 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS;
97ff49b3
JS
375 if (m_periodCtrl->GetValue())
376 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_PERIOD;
69ce77e2 377
d2d0adc7
JS
378 if (m_bulletAlignmentCtrl->GetSelection() == 1)
379 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE;
380 else if (m_bulletAlignmentCtrl->GetSelection() == 2)
381 bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT;
69ce77e2 382 // Left is implied
97ff49b3
JS
383
384 attr->SetBulletStyle(bulletStyle);
385 }
386
387 if (m_hasBulletNumber)
388 {
389 attr->SetBulletNumber(m_numberCtrl->GetValue());
390 }
391
392 if (m_hasBulletSymbol)
393 {
d2d0adc7 394 attr->SetBulletText(m_symbolCtrl->GetValue());
97ff49b3
JS
395 attr->SetBulletFont(m_symbolFontCtrl->GetValue());
396 }
69ce77e2 397
97ff49b3
JS
398 return true;
399}
400
401bool wxRichTextBulletsPage::TransferDataToWindow()
402{
403 m_dontUpdate = true;
404
405 wxPanel::TransferDataToWindow();
406
44cc96a8 407 wxTextAttr* attr = GetAttributes();
97ff49b3
JS
408
409 if (attr->HasBulletStyle())
410 {
f089713f 411 m_hasBulletStyle = true;
d2d0adc7
JS
412 int index = wxRICHTEXT_BULLETINDEX_NONE;
413
97ff49b3 414 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ARABIC)
d2d0adc7
JS
415 index = wxRICHTEXT_BULLETINDEX_ARABIC;
416
97ff49b3 417 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER)
d2d0adc7
JS
418 index = wxRICHTEXT_BULLETINDEX_UPPER_CASE;
419
97ff49b3 420 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER)
d2d0adc7
JS
421 index = wxRICHTEXT_BULLETINDEX_LOWER_CASE;
422
97ff49b3 423 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER)
d2d0adc7
JS
424 index = wxRICHTEXT_BULLETINDEX_UPPER_CASE_ROMAN;
425
97ff49b3 426 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER)
d2d0adc7
JS
427 index = wxRICHTEXT_BULLETINDEX_LOWER_CASE_ROMAN;
428
429 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_OUTLINE)
430 index = wxRICHTEXT_BULLETINDEX_OUTLINE;
431
97ff49b3 432 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_SYMBOL)
d2d0adc7
JS
433 index = wxRICHTEXT_BULLETINDEX_SYMBOL;
434
97ff49b3 435 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_BITMAP)
d2d0adc7
JS
436 index = wxRICHTEXT_BULLETINDEX_BITMAP;
437
f089713f 438 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_STANDARD)
d2d0adc7
JS
439 index = wxRICHTEXT_BULLETINDEX_STANDARD;
440
97ff49b3
JS
441 m_styleListBox->SetSelection(index);
442
443 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_PARENTHESES)
444 m_parenthesesCtrl->SetValue(true);
445 else
446 m_parenthesesCtrl->SetValue(false);
447
d2d0adc7
JS
448 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS)
449 m_rightParenthesisCtrl->SetValue(true);
450 else
451 m_rightParenthesisCtrl->SetValue(false);
452
97ff49b3
JS
453 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_PERIOD)
454 m_periodCtrl->SetValue(true);
455 else
5778b3c8 456 m_periodCtrl->SetValue(false);
d2d0adc7
JS
457
458 if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE)
459 m_bulletAlignmentCtrl->SetSelection(1);
460 else if (attr->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT)
461 m_bulletAlignmentCtrl->SetSelection(2);
462 else
463 m_bulletAlignmentCtrl->SetSelection(0);
97ff49b3
JS
464 }
465 else
f089713f
JS
466 {
467 m_hasBulletStyle = false;
97ff49b3 468 m_styleListBox->SetSelection(-1);
d2d0adc7 469 m_bulletAlignmentCtrl->SetSelection(-1);
f089713f 470 }
97ff49b3 471
d2d0adc7 472 if (attr->HasBulletText())
97ff49b3 473 {
d2d0adc7 474 m_symbolCtrl->SetValue(attr->GetBulletText());
97ff49b3
JS
475 m_symbolFontCtrl->SetValue(attr->GetBulletFont());
476 }
477 else
478 m_symbolCtrl->SetValue(wxEmptyString);
479
480 if (attr->HasBulletNumber())
481 m_numberCtrl->SetValue(attr->GetBulletNumber());
482 else
483 m_numberCtrl->SetValue(0);
484
f089713f 485 if (attr->HasBulletName())
04529b2a
JS
486 {
487 wxArrayString standardBulletNames;
488 if (wxRichTextBuffer::GetRenderer())
489 {
490 // Try to set the control by index in order to take translated combo control strings
491 // into account.
492 wxRichTextBuffer::GetRenderer()->EnumerateStandardBulletNames(standardBulletNames);
493 int idx = standardBulletNames.Index(attr->GetBulletName());
494 if (idx != -1 && idx < (int) m_bulletNameCtrl->GetCount())
495 m_bulletNameCtrl->SetSelection(idx);
496 else
497 m_bulletNameCtrl->SetValue(attr->GetBulletName());
498 }
499 else
500 m_bulletNameCtrl->SetValue(attr->GetBulletName());
501 }
f089713f
JS
502 else
503 m_bulletNameCtrl->SetValue(wxEmptyString);
504
97ff49b3
JS
505 UpdatePreview();
506
507 m_dontUpdate = false;
508
509 return true;
510}
511
512/// Updates the bullet preview
513void wxRichTextBulletsPage::UpdatePreview()
514{
515 static const wxChar* s_para1 = wxT("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \
2a94806c 516Nullam ante sapien, vestibulum nonummy, pulvinar sed, luctus ut, lacus.\n");
97ff49b3 517
2a94806c
JS
518 static const wxChar* s_para2 = wxT("Duis pharetra consequat dui. Cum sociis natoque penatibus \
519et magnis dis parturient montes, nascetur ridiculus mus. Nullam vitae justo id mauris lobortis interdum.\n");
97ff49b3 520
2a94806c 521 static const wxChar* s_para3 = wxT("Integer convallis dolor at augue \
97ff49b3
JS
522iaculis malesuada. Donec bibendum ipsum ut ante porta fringilla.\n");
523
524 TransferDataFromWindow();
44cc96a8 525 wxTextAttr attr(*GetAttributes());
97ff49b3 526 attr.SetFlags(attr.GetFlags() &
d2d0adc7 527 (wxTEXT_ATTR_BULLET_STYLE|wxTEXT_ATTR_BULLET_NUMBER|wxTEXT_ATTR_BULLET_TEXT|wxTEXT_ATTR_BULLET_NAME|
97ff49b3
JS
528 wxTEXT_ATTR_ALIGNMENT|wxTEXT_ATTR_LEFT_INDENT|wxTEXT_ATTR_RIGHT_INDENT|wxTEXT_ATTR_PARA_SPACING_BEFORE|wxTEXT_ATTR_PARA_SPACING_AFTER|
529 wxTEXT_ATTR_LINE_SPACING));
530
531 wxFont font(m_previewCtrl->GetFont());
532 font.SetPointSize(9);
533 m_previewCtrl->SetFont(font);
534
44cc96a8 535 wxTextAttr normalParaAttr;
dadd4f55
JS
536 normalParaAttr.SetFont(font);
537 normalParaAttr.SetTextColour(wxColour(wxT("LIGHT GREY")));
97ff49b3 538
dadd4f55 539 m_previewCtrl->Freeze();
97ff49b3
JS
540 m_previewCtrl->Clear();
541
dadd4f55 542 m_previewCtrl->BeginStyle(normalParaAttr);
97ff49b3 543 m_previewCtrl->WriteText(s_para1);
dadd4f55 544 m_previewCtrl->EndStyle();
41a85215 545
97ff49b3
JS
546 m_previewCtrl->BeginStyle(attr);
547 m_previewCtrl->WriteText(s_para2);
548 m_previewCtrl->EndStyle();
dadd4f55
JS
549
550 m_previewCtrl->BeginStyle(normalParaAttr);
97ff49b3 551 m_previewCtrl->WriteText(s_para3);
dadd4f55 552 m_previewCtrl->EndStyle();
69ce77e2 553
d2d0adc7 554 m_previewCtrl->NumberList(wxRichTextRange(0, m_previewCtrl->GetLastPosition()+1));
dadd4f55
JS
555
556 m_previewCtrl->Thaw();
97ff49b3
JS
557}
558
44cc96a8 559wxTextAttr* wxRichTextBulletsPage::GetAttributes()
97ff49b3
JS
560{
561 return wxRichTextFormattingDialog::GetDialogAttributes(this);
562}
563
564/*!
565 * Should we show tooltips?
566 */
567
568bool wxRichTextBulletsPage::ShowToolTips()
569{
dadd4f55 570 return wxRichTextFormattingDialog::ShowToolTips();
97ff49b3
JS
571}
572
573/*!
574 * Get bitmap resources
575 */
576
577wxBitmap wxRichTextBulletsPage::GetBitmapResource( const wxString& name )
578{
579 // Bitmap retrieval
580////@begin wxRichTextBulletsPage bitmap retrieval
581 wxUnusedVar(name);
582 return wxNullBitmap;
583////@end wxRichTextBulletsPage bitmap retrieval
584}
585
586/*!
587 * Get icon resources
588 */
589
590wxIcon wxRichTextBulletsPage::GetIconResource( const wxString& name )
591{
592 // Icon retrieval
593////@begin wxRichTextBulletsPage icon retrieval
594 wxUnusedVar(name);
595 return wxNullIcon;
596////@end wxRichTextBulletsPage icon retrieval
597}
598
599/*!
600 * wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_STYLELISTBOX
601 */
602
603void wxRichTextBulletsPage::OnStylelistboxSelected( wxCommandEvent& WXUNUSED(event) )
604{
605 if (!m_dontUpdate)
606 {
607 m_hasBulletStyle = true;
608
d2d0adc7 609 if (m_styleListBox->GetSelection() == wxRICHTEXT_BULLETINDEX_SYMBOL)
97ff49b3
JS
610 m_hasBulletSymbol = true;
611
612 UpdatePreview();
613 }
614}
615
616/*!
617 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
618 */
619
620void wxRichTextBulletsPage::OnSymbolctrlSelected( wxCommandEvent& WXUNUSED(event) )
621{
622 if (!m_dontUpdate)
623 {
624 m_hasBulletSymbol = true;
625 UpdatePreview();
626 }
627}
628
629/*!
630 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
631 */
632
633void wxRichTextBulletsPage::OnSymbolctrlUpdated( wxCommandEvent& WXUNUSED(event) )
634{
635 if (!m_dontUpdate)
636 {
637 m_hasBulletSymbol = true;
638 UpdatePreview();
639 }
640}
641
642/*!
643 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
644 */
645
646void wxRichTextBulletsPage::OnSymbolctrlUpdate( wxUpdateUIEvent& event )
647{
648 OnSymbolUpdate(event);
649}
650
651/*!
652 * wxEVT_COMMAND_SPINCTRL_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
653 */
654
655void wxRichTextBulletsPage::OnNumberctrlUpdated( wxSpinEvent& WXUNUSED(event) )
656{
657 if (!m_dontUpdate)
658 {
659 m_hasBulletNumber = true;
660 UpdatePreview();
661 }
662}
663
664/*!
665 * wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
666 */
667
668void wxRichTextBulletsPage::OnNumberctrlUp( wxSpinEvent& WXUNUSED(event) )
669{
670 if (!m_dontUpdate)
671 {
672 m_hasBulletNumber = true;
673 UpdatePreview();
674 }
675}
676
677/*!
678 * wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
679 */
680
681void wxRichTextBulletsPage::OnNumberctrlDown( wxSpinEvent& WXUNUSED(event) )
682{
683 if (!m_dontUpdate)
684 {
685 m_hasBulletNumber = true;
686 UpdatePreview();
687 }
688}
689
690/*!
691 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
692 */
693
694void wxRichTextBulletsPage::OnNumberctrlTextUpdated( wxCommandEvent& WXUNUSED(event) )
695{
696 if (!m_dontUpdate)
697 {
698 m_hasBulletNumber = true;
699 UpdatePreview();
700 }
701}
702
703/*!
704 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
705 */
706
707void wxRichTextBulletsPage::OnNumberctrlUpdate( wxUpdateUIEvent& event )
708{
709 OnNumberUpdate(event);
710}
711
712/*!
713 * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
714 */
715
716void wxRichTextBulletsPage::OnParenthesesctrlClick( wxCommandEvent& WXUNUSED(event) )
717{
718 if (!m_dontUpdate)
719 {
720 m_hasBulletStyle = true;
721 UpdatePreview();
722 }
723}
724
725/*!
726 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
727 */
728
729void wxRichTextBulletsPage::OnParenthesesctrlUpdate( wxUpdateUIEvent& event )
730{
731 int sel = m_styleListBox->GetSelection();
d2d0adc7
JS
732 event.Enable(m_hasBulletStyle && (sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
733 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
734 sel != wxRICHTEXT_BULLETINDEX_NONE));
97ff49b3
JS
735}
736
737/*!
738 * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_PERIODCTRL
739 */
740
741void wxRichTextBulletsPage::OnPeriodctrlClick( wxCommandEvent& WXUNUSED(event) )
742{
743 if (!m_dontUpdate)
744 {
745 m_hasBulletStyle = true;
746 UpdatePreview();
747 }
748}
749
750/*!
751 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_PERIODCTRL
752 */
753
754void wxRichTextBulletsPage::OnPeriodctrlUpdate( wxUpdateUIEvent& event )
755{
756 int sel = m_styleListBox->GetSelection();
d2d0adc7
JS
757 event.Enable(m_hasBulletStyle && (sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
758 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
759 sel != wxRICHTEXT_BULLETINDEX_NONE));
97ff49b3
JS
760}
761
762/*!
763 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
764 */
765
766void wxRichTextBulletsPage::OnChooseSymbolClick( wxCommandEvent& WXUNUSED(event) )
767{
768 int sel = m_styleListBox->GetSelection();
d2d0adc7 769 if (m_hasBulletStyle && sel == wxRICHTEXT_BULLETINDEX_SYMBOL)
97ff49b3
JS
770 {
771 wxString symbol = m_symbolCtrl->GetValue();
772 wxString fontName = m_symbolFontCtrl->GetValue();
773 wxSymbolPickerDialog dlg(symbol, fontName, fontName, this);
774
775 if (dlg.ShowModal() == wxID_OK)
776 {
777 m_dontUpdate = true;
5778b3c8 778
97ff49b3
JS
779 m_symbolCtrl->SetValue(dlg.GetSymbol());
780 m_symbolFontCtrl->SetValue(dlg.GetFontName());
5778b3c8 781
97ff49b3
JS
782 UpdatePreview();
783
784 m_dontUpdate = false;
785 }
786 }
787}
788
789/*!
790 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
791 */
792
793void wxRichTextBulletsPage::OnChooseSymbolUpdate( wxUpdateUIEvent& event )
794{
795 OnSymbolUpdate(event);
796}
797/*!
798 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
799 */
800
801void wxRichTextBulletsPage::OnSymbolfontctrlSelected( wxCommandEvent& WXUNUSED(event) )
802{
803 if (m_dontUpdate)
804 return;
805 UpdatePreview();
806}
807
808/*!
809 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
810 */
811
812void wxRichTextBulletsPage::OnSymbolfontctrlUpdated( wxCommandEvent& WXUNUSED(event) )
813{
814 if (m_dontUpdate)
815 return;
816 UpdatePreview();
817}
818
819
820/*!
821 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
822 */
823
824void wxRichTextBulletsPage::OnSymbolfontctrlUIUpdate( wxUpdateUIEvent& event )
825{
826 OnSymbolUpdate(event);
827}
828
829/// Update for symbol-related controls
830void wxRichTextBulletsPage::OnSymbolUpdate( wxUpdateUIEvent& event )
831{
832 int sel = m_styleListBox->GetSelection();
d2d0adc7 833 event.Enable(m_hasBulletStyle && (sel == wxRICHTEXT_BULLETINDEX_SYMBOL));
97ff49b3
JS
834}
835
836/// Update for number-related controls
837void wxRichTextBulletsPage::OnNumberUpdate( wxUpdateUIEvent& event )
838{
839 int sel = m_styleListBox->GetSelection();
d2d0adc7
JS
840 event.Enable( m_hasBulletStyle && (sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
841 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
842 sel != wxRICHTEXT_BULLETINDEX_STANDARD &&
843 sel != wxRICHTEXT_BULLETINDEX_NONE));
97ff49b3
JS
844}
845
f089713f
JS
846/// Update for standard bullet-related controls
847void wxRichTextBulletsPage::OnStandardBulletUpdate( wxUpdateUIEvent& event )
848{
849 int sel = m_styleListBox->GetSelection();
d2d0adc7 850 event.Enable( sel == wxRICHTEXT_BULLETINDEX_STANDARD );
f089713f
JS
851}
852
853
97ff49b3
JS
854/*!
855 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC
856 */
857
858void wxRichTextBulletsPage::OnSymbolstaticUpdate( wxUpdateUIEvent& event )
859{
860 OnSymbolUpdate(event);
861}
862
863
864/*!
865 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC
866 */
867
868void wxRichTextBulletsPage::OnNumberstaticUpdate( wxUpdateUIEvent& event )
869{
870 OnNumberUpdate(event);
871}
872
f089713f
JS
873/*!
874 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NAMESTATIC
875 */
876
877void wxRichTextBulletsPage::OnNamestaticUpdate( wxUpdateUIEvent& event )
878{
879 OnStandardBulletUpdate(event);
880}
881
882
883/*!
884 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
885 */
886
887void wxRichTextBulletsPage::OnNamectrlSelected( wxCommandEvent& WXUNUSED(event) )
888{
889 if (m_dontUpdate)
890 return;
891 UpdatePreview();
892}
893
894/*!
895 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
896 */
897
898void wxRichTextBulletsPage::OnNamectrlUpdated( wxCommandEvent& WXUNUSED(event) )
899{
900 if (m_dontUpdate)
901 return;
902 UpdatePreview();
903}
904
905/*!
906 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
907 */
908
909void wxRichTextBulletsPage::OnNamectrlUIUpdate( wxUpdateUIEvent& event )
910{
911 OnStandardBulletUpdate(event);
912}
913
b68603d5 914#endif // wxUSE_RICHTEXT
d2d0adc7
JS
915/*!
916 * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_RIGHT_PARENTHESIS_CTRL
917 */
918
919void wxRichTextBulletsPage::OnRightParenthesisCtrlClick( wxCommandEvent& WXUNUSED(event) )
920{
921 if (!m_dontUpdate)
922 {
923 m_hasBulletStyle = true;
924 UpdatePreview();
925 }
926}
927
928/*!
929 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_RIGHT_PARENTHESIS_CTRL
930 */
931
932void wxRichTextBulletsPage::OnRightParenthesisCtrlUpdate( wxUpdateUIEvent& event )
933{
934 int sel = m_styleListBox->GetSelection();
935 event.Enable(m_hasBulletStyle && (sel != wxRICHTEXT_BULLETINDEX_SYMBOL &&
936 sel != wxRICHTEXT_BULLETINDEX_BITMAP &&
937 sel != wxRICHTEXT_BULLETINDEX_NONE));
938}
939
940/*!
941 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_COMBOBOX
942 */
943
944void wxRichTextBulletsPage::OnBulletAlignmentCtrlSelected( wxCommandEvent& WXUNUSED(event) )
945{
946 if (m_dontUpdate)
947 return;
948 UpdatePreview();
949}
950
951