1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/richtext/richtextbulletspage.cpp
4 // Author: Julian Smart
6 // Created: 10/4/2006 10:32:31 AM
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 // For compilers that support precompilation, includes "wx/wx.h".
13 #include "wx/wxprec.h"
21 #include "wx/richtext/richtextbulletspage.h"
26 #include "wx/richtext/richtextsymboldlg.h"
27 #include "wx/fontenum.h"
30 * wxRichTextBulletsPage type definition
33 IMPLEMENT_DYNAMIC_CLASS( wxRichTextBulletsPage
, wxPanel
)
36 * wxRichTextBulletsPage event table definition
39 BEGIN_EVENT_TABLE( wxRichTextBulletsPage
, wxPanel
)
41 ////@begin wxRichTextBulletsPage event table entries
42 EVT_LISTBOX( ID_RICHTEXTBULLETSPAGE_STYLELISTBOX
, wxRichTextBulletsPage::OnStylelistboxSelected
)
44 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC
, wxRichTextBulletsPage::OnSymbolstaticUpdate
)
46 EVT_COMBOBOX( ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
, wxRichTextBulletsPage::OnSymbolctrlSelected
)
47 EVT_TEXT( ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
, wxRichTextBulletsPage::OnSymbolctrlUpdated
)
48 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
, wxRichTextBulletsPage::OnSymbolctrlUpdate
)
50 EVT_BUTTON( ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
, wxRichTextBulletsPage::OnChooseSymbolClick
)
51 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
, wxRichTextBulletsPage::OnChooseSymbolUpdate
)
53 EVT_COMBOBOX( ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
, wxRichTextBulletsPage::OnSymbolfontctrlSelected
)
54 EVT_TEXT( ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
, wxRichTextBulletsPage::OnSymbolfontctrlUpdated
)
55 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
, wxRichTextBulletsPage::OnSymbolfontctrlUIUpdate
)
57 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC
, wxRichTextBulletsPage::OnNumberstaticUpdate
)
59 EVT_SPINCTRL( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
, wxRichTextBulletsPage::OnNumberctrlUpdated
)
60 EVT_SPIN_UP( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
, wxRichTextBulletsPage::OnNumberctrlUp
)
61 EVT_SPIN_DOWN( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
, wxRichTextBulletsPage::OnNumberctrlDown
)
62 EVT_TEXT( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
, wxRichTextBulletsPage::OnNumberctrlTextUpdated
)
63 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
, wxRichTextBulletsPage::OnNumberctrlUpdate
)
65 EVT_CHECKBOX( ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
, wxRichTextBulletsPage::OnParenthesesctrlClick
)
66 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
, wxRichTextBulletsPage::OnParenthesesctrlUpdate
)
68 EVT_CHECKBOX( ID_RICHTEXTBULLETSPAGE_PERIODCTRL
, wxRichTextBulletsPage::OnPeriodctrlClick
)
69 EVT_UPDATE_UI( ID_RICHTEXTBULLETSPAGE_PERIODCTRL
, wxRichTextBulletsPage::OnPeriodctrlUpdate
)
71 ////@end wxRichTextBulletsPage event table entries
76 * wxRichTextBulletsPage constructors
79 wxRichTextBulletsPage::wxRichTextBulletsPage( )
84 wxRichTextBulletsPage::wxRichTextBulletsPage( wxWindow
* parent
, wxWindowID id
, const wxPoint
& pos
, const wxSize
& size
, long style
)
87 Create(parent
, id
, pos
, size
, style
);
94 void wxRichTextBulletsPage::Init()
96 m_hasBulletStyle
= false;
97 m_hasBulletNumber
= false;
98 m_hasBulletSymbol
= false;
101 ////@begin wxRichTextBulletsPage member initialisation
102 m_styleListBox
= NULL
;
104 m_symbolFontCtrl
= NULL
;
106 m_parenthesesCtrl
= NULL
;
108 m_previewCtrl
= NULL
;
109 ////@end wxRichTextBulletsPage member initialisation
113 * wxRichTextBulletsPage creator
116 bool wxRichTextBulletsPage::Create( wxWindow
* parent
, wxWindowID id
, const wxPoint
& pos
, const wxSize
& size
, long style
)
118 ////@begin wxRichTextBulletsPage creation
119 wxPanel::Create( parent
, id
, pos
, size
, style
);
124 GetSizer()->SetSizeHints(this);
127 ////@end wxRichTextBulletsPage creation
132 * Control creation for wxRichTextBulletsPage
135 void wxRichTextBulletsPage::CreateControls()
137 ////@begin wxRichTextBulletsPage content construction
138 wxRichTextBulletsPage
* itemPanel1
= this;
140 wxBoxSizer
* itemBoxSizer2
= new wxBoxSizer(wxVERTICAL
);
141 itemPanel1
->SetSizer(itemBoxSizer2
);
143 wxBoxSizer
* itemBoxSizer3
= new wxBoxSizer(wxVERTICAL
);
144 itemBoxSizer2
->Add(itemBoxSizer3
, 1, wxGROW
|wxALL
, 5);
146 wxBoxSizer
* itemBoxSizer4
= new wxBoxSizer(wxHORIZONTAL
);
147 itemBoxSizer3
->Add(itemBoxSizer4
, 0, wxGROW
, 5);
149 wxBoxSizer
* itemBoxSizer5
= new wxBoxSizer(wxVERTICAL
);
150 itemBoxSizer4
->Add(itemBoxSizer5
, 0, wxGROW
, 5);
152 wxStaticText
* itemStaticText6
= new wxStaticText( itemPanel1
, wxID_STATIC
, _("&Bullet style:"), wxDefaultPosition
, wxDefaultSize
, 0 );
153 itemBoxSizer5
->Add(itemStaticText6
, 0, wxALIGN_LEFT
|wxLEFT
|wxRIGHT
|wxTOP
|wxADJUST_MINSIZE
, 5);
155 wxString
* m_styleListBoxStrings
= NULL
;
156 m_styleListBox
= new wxListBox( itemPanel1
, ID_RICHTEXTBULLETSPAGE_STYLELISTBOX
, wxDefaultPosition
, wxDefaultSize
, 0, m_styleListBoxStrings
, wxLB_SINGLE
);
157 itemBoxSizer5
->Add(m_styleListBox
, 1, wxALIGN_CENTER_HORIZONTAL
|wxALL
, 5);
159 itemBoxSizer4
->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL
|wxTOP
|wxBOTTOM
, 5);
161 wxStaticLine
* itemStaticLine9
= new wxStaticLine( itemPanel1
, wxID_STATIC
, wxDefaultPosition
, wxDefaultSize
, wxLI_VERTICAL
);
162 itemBoxSizer4
->Add(itemStaticLine9
, 0, wxGROW
|wxALL
, 5);
164 itemBoxSizer4
->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL
|wxTOP
|wxBOTTOM
, 5);
166 wxBoxSizer
* itemBoxSizer11
= new wxBoxSizer(wxVERTICAL
);
167 itemBoxSizer4
->Add(itemBoxSizer11
, 0, wxGROW
, 5);
169 wxStaticText
* itemStaticText12
= new wxStaticText( itemPanel1
, ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC
, _("&Symbol:"), wxDefaultPosition
, wxDefaultSize
, 0 );
170 itemBoxSizer11
->Add(itemStaticText12
, 0, wxALIGN_LEFT
|wxLEFT
|wxRIGHT
|wxTOP
|wxADJUST_MINSIZE
, 5);
172 wxBoxSizer
* itemBoxSizer13
= new wxBoxSizer(wxHORIZONTAL
);
173 itemBoxSizer11
->Add(itemBoxSizer13
, 0, wxGROW
, 5);
175 wxString
* m_symbolCtrlStrings
= NULL
;
176 m_symbolCtrl
= new wxComboBox( itemPanel1
,
177 ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
,
180 wxSize(60, wxDefaultCoord
),
184 itemBoxSizer13
->Add(m_symbolCtrl
, 0, wxALIGN_CENTER_VERTICAL
|wxALL
|wxFIXED_MINSIZE
, 5);
186 wxButton
* itemButton15
= new wxButton( itemPanel1
, ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
, _("Ch&oose..."), wxDefaultPosition
, wxDefaultSize
, 0 );
187 itemBoxSizer13
->Add(itemButton15
, 0, wxALIGN_CENTER_VERTICAL
|wxALL
, 5);
189 itemBoxSizer11
->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL
|wxALL
, 5);
191 wxStaticText
* itemStaticText17
= new wxStaticText( itemPanel1
, ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC
, _("Symbol &font:"), wxDefaultPosition
, wxDefaultSize
, 0 );
192 itemBoxSizer11
->Add(itemStaticText17
, 0, wxALIGN_LEFT
|wxLEFT
|wxRIGHT
|wxTOP
|wxADJUST_MINSIZE
, 5);
194 wxString
* m_symbolFontCtrlStrings
= NULL
;
195 m_symbolFontCtrl
= new wxComboBox( itemPanel1
,
196 ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
,
201 m_symbolFontCtrlStrings
,
203 itemBoxSizer11
->Add(m_symbolFontCtrl
, 0, wxGROW
|wxALL
, 5);
205 itemBoxSizer4
->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL
|wxTOP
|wxBOTTOM
, 5);
207 wxStaticLine
* itemStaticLine20
= new wxStaticLine( itemPanel1
, wxID_STATIC
, wxDefaultPosition
, wxDefaultSize
, wxLI_VERTICAL
);
208 itemBoxSizer4
->Add(itemStaticLine20
, 0, wxGROW
|wxALL
, 5);
210 itemBoxSizer4
->Add(2, 1, 1, wxALIGN_CENTER_VERTICAL
|wxTOP
|wxBOTTOM
, 5);
212 wxBoxSizer
* itemBoxSizer22
= new wxBoxSizer(wxVERTICAL
);
213 itemBoxSizer4
->Add(itemBoxSizer22
, 0, wxGROW
, 5);
215 wxStaticText
* itemStaticText23
= new wxStaticText( itemPanel1
, ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC
, _("&Number:"), wxDefaultPosition
, wxDefaultSize
, 0 );
216 itemBoxSizer22
->Add(itemStaticText23
, 0, wxALIGN_LEFT
|wxLEFT
|wxRIGHT
|wxTOP
|wxADJUST_MINSIZE
, 5);
218 m_numberCtrl
= new wxSpinCtrl( itemPanel1
, ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
, _T("0"), wxDefaultPosition
, wxSize(50, wxDefaultCoord
), wxSP_ARROW_KEYS
, 0, 100000, 0 );
219 itemBoxSizer22
->Add(m_numberCtrl
, 0, wxGROW
|wxALL
, 5);
221 itemBoxSizer22
->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL
|wxALL
, 5);
223 m_parenthesesCtrl
= new wxCheckBox( itemPanel1
, ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
, _("&Parentheses"), wxDefaultPosition
, wxDefaultSize
, 0 );
224 m_parenthesesCtrl
->SetValue(false);
225 itemBoxSizer22
->Add(m_parenthesesCtrl
, 0, wxALIGN_LEFT
|wxALL
, 5);
227 m_periodCtrl
= new wxCheckBox( itemPanel1
, ID_RICHTEXTBULLETSPAGE_PERIODCTRL
, _("Peri&od"), wxDefaultPosition
, wxDefaultSize
, 0 );
228 m_periodCtrl
->SetValue(false);
229 itemBoxSizer22
->Add(m_periodCtrl
, 0, wxALIGN_LEFT
|wxALL
, 5);
231 itemBoxSizer3
->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL
|wxALL
, 5);
233 m_previewCtrl
= new wxRichTextCtrl( itemPanel1
, ID_RICHTEXTBULLETSPAGE_PREVIEW_CTRL
, wxEmptyString
, wxDefaultPosition
, wxSize(350, 180), wxSUNKEN_BORDER
);
234 m_previewCtrl
->SetHelpText(_("Shows a preview of the bullet settings."));
236 m_previewCtrl
->SetToolTip(_("Shows a preview of the bullet settings."));
237 itemBoxSizer3
->Add(m_previewCtrl
, 0, wxALIGN_CENTER_HORIZONTAL
|wxALL
, 5);
239 ////@end wxRichTextBulletsPage content construction
241 m_styleListBox
->Append(_("(None)"));
242 m_styleListBox
->Append(_("Arabic"));
243 m_styleListBox
->Append(_("Upper case letters"));
244 m_styleListBox
->Append(_("Lower case letters"));
245 m_styleListBox
->Append(_("Upper case roman numerals"));
246 m_styleListBox
->Append(_("Lower case roman numerals"));
247 m_styleListBox
->Append(_("Symbol"));
248 m_styleListBox
->Append(_("Bitmap"));
250 m_symbolCtrl
->Append(_("*"));
251 m_symbolCtrl
->Append(_("-"));
252 m_symbolCtrl
->Append(_(">"));
253 m_symbolCtrl
->Append(_("+"));
254 m_symbolCtrl
->Append(_("~"));
256 wxFontEnumerator enumerator
;
257 enumerator
.EnumerateFacenames();
258 wxArrayString facenames
= enumerator
.GetFacenames();
261 m_symbolFontCtrl
->Append(facenames
);
264 /// Transfer data from/to window
265 bool wxRichTextBulletsPage::TransferDataFromWindow()
267 wxPanel::TransferDataFromWindow();
269 wxTextAttrEx
* attr
= GetAttributes();
271 if (m_hasBulletStyle
)
273 long bulletStyle
= 0;
275 int index
= m_styleListBox
->GetSelection();
277 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_ARABIC
;
279 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER
;
281 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER
;
283 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER
;
285 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER
;
287 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_SYMBOL
;
289 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_BITMAP
;
291 if (m_parenthesesCtrl
->GetValue())
292 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_PARENTHESES
;
293 if (m_periodCtrl
->GetValue())
294 bulletStyle
|= wxTEXT_ATTR_BULLET_STYLE_PERIOD
;
296 attr
->SetBulletStyle(bulletStyle
);
299 if (m_hasBulletNumber
)
301 attr
->SetBulletNumber(m_numberCtrl
->GetValue());
304 if (m_hasBulletSymbol
)
307 if (m_symbolCtrl
->GetValue().length() > 0)
308 c
= m_symbolCtrl
->GetValue()[0];
309 attr
->SetBulletSymbol(c
);
310 attr
->SetBulletFont(m_symbolFontCtrl
->GetValue());
315 bool wxRichTextBulletsPage::TransferDataToWindow()
319 wxPanel::TransferDataToWindow();
321 wxTextAttrEx
* attr
= GetAttributes();
323 if (attr
->HasBulletStyle())
326 if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ARABIC
)
328 else if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER
)
330 else if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER
)
332 else if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER
)
334 else if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER
)
336 else if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_SYMBOL
)
338 else if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_BITMAP
)
340 m_styleListBox
->SetSelection(index
);
342 if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_PARENTHESES
)
343 m_parenthesesCtrl
->SetValue(true);
345 m_parenthesesCtrl
->SetValue(false);
347 if (attr
->GetBulletStyle() & wxTEXT_ATTR_BULLET_STYLE_PERIOD
)
348 m_periodCtrl
->SetValue(true);
350 m_periodCtrl
->SetValue(false);
353 m_styleListBox
->SetSelection(-1);
355 if (attr
->HasBulletSymbol())
357 wxChar c
= attr
->GetBulletSymbol();
360 m_symbolCtrl
->SetValue(s
);
361 m_symbolFontCtrl
->SetValue(attr
->GetBulletFont());
364 m_symbolCtrl
->SetValue(wxEmptyString
);
366 if (attr
->HasBulletNumber())
367 m_numberCtrl
->SetValue(attr
->GetBulletNumber());
369 m_numberCtrl
->SetValue(0);
373 m_dontUpdate
= false;
378 /// Updates the bullet preview
379 void wxRichTextBulletsPage::UpdatePreview()
381 static const wxChar
* s_para1
= wxT("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. \
382 Nullam ante sapien, vestibulum nonummy, pulvinar sed, luctus ut, lacus.");
384 static const wxChar
* s_para2
= wxT("\nDuis pharetra consequat dui. Cum sociis natoque penatibus \
385 et magnis dis parturient montes, nascetur ridiculus mus. Nullam vitae justo id mauris lobortis interdum.");
387 static const wxChar
* s_para3
= wxT("\nInteger convallis dolor at augue \
388 iaculis malesuada. Donec bibendum ipsum ut ante porta fringilla.\n");
390 TransferDataFromWindow();
391 wxTextAttrEx
attr(*GetAttributes());
392 attr
.SetFlags(attr
.GetFlags() &
393 (wxTEXT_ATTR_BULLET_STYLE
|wxTEXT_ATTR_BULLET_NUMBER
|wxTEXT_ATTR_BULLET_SYMBOL
|
394 wxTEXT_ATTR_ALIGNMENT
|wxTEXT_ATTR_LEFT_INDENT
|wxTEXT_ATTR_RIGHT_INDENT
|wxTEXT_ATTR_PARA_SPACING_BEFORE
|wxTEXT_ATTR_PARA_SPACING_AFTER
|
395 wxTEXT_ATTR_LINE_SPACING
));
397 wxFont
font(m_previewCtrl
->GetFont());
398 font
.SetPointSize(9);
399 m_previewCtrl
->SetFont(font
);
401 font
.SetWeight(wxBOLD
);
404 m_previewCtrl
->Clear();
406 m_previewCtrl
->WriteText(s_para1
);
407 m_previewCtrl
->BeginStyle(attr
);
408 m_previewCtrl
->WriteText(s_para2
);
409 m_previewCtrl
->EndStyle();
410 m_previewCtrl
->WriteText(s_para3
);
413 wxTextAttrEx
* wxRichTextBulletsPage::GetAttributes()
415 return wxRichTextFormattingDialog::GetDialogAttributes(this);
419 * Should we show tooltips?
422 bool wxRichTextBulletsPage::ShowToolTips()
428 * Get bitmap resources
431 wxBitmap
wxRichTextBulletsPage::GetBitmapResource( const wxString
& name
)
434 ////@begin wxRichTextBulletsPage bitmap retrieval
437 ////@end wxRichTextBulletsPage bitmap retrieval
444 wxIcon
wxRichTextBulletsPage::GetIconResource( const wxString
& name
)
447 ////@begin wxRichTextBulletsPage icon retrieval
450 ////@end wxRichTextBulletsPage icon retrieval
454 * wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_STYLELISTBOX
457 void wxRichTextBulletsPage::OnStylelistboxSelected( wxCommandEvent
& WXUNUSED(event
) )
461 m_hasBulletStyle
= true;
463 if (m_styleListBox
->GetSelection() == 6)
464 m_hasBulletSymbol
= true;
471 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
474 void wxRichTextBulletsPage::OnSymbolctrlSelected( wxCommandEvent
& WXUNUSED(event
) )
478 m_hasBulletSymbol
= true;
484 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
487 void wxRichTextBulletsPage::OnSymbolctrlUpdated( wxCommandEvent
& WXUNUSED(event
) )
491 m_hasBulletSymbol
= true;
497 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
500 void wxRichTextBulletsPage::OnSymbolctrlUpdate( wxUpdateUIEvent
& event
)
502 OnSymbolUpdate(event
);
506 * wxEVT_COMMAND_SPINCTRL_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
509 void wxRichTextBulletsPage::OnNumberctrlUpdated( wxSpinEvent
& WXUNUSED(event
) )
513 m_hasBulletNumber
= true;
519 * wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
522 void wxRichTextBulletsPage::OnNumberctrlUp( wxSpinEvent
& WXUNUSED(event
) )
526 m_hasBulletNumber
= true;
532 * wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
535 void wxRichTextBulletsPage::OnNumberctrlDown( wxSpinEvent
& WXUNUSED(event
) )
539 m_hasBulletNumber
= true;
545 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
548 void wxRichTextBulletsPage::OnNumberctrlTextUpdated( wxCommandEvent
& WXUNUSED(event
) )
552 m_hasBulletNumber
= true;
558 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
561 void wxRichTextBulletsPage::OnNumberctrlUpdate( wxUpdateUIEvent
& event
)
563 OnNumberUpdate(event
);
567 * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
570 void wxRichTextBulletsPage::OnParenthesesctrlClick( wxCommandEvent
& WXUNUSED(event
) )
574 m_hasBulletStyle
= true;
580 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
583 void wxRichTextBulletsPage::OnParenthesesctrlUpdate( wxUpdateUIEvent
& event
)
585 int sel
= m_styleListBox
->GetSelection();
586 event
.Enable(m_hasBulletStyle
&& (sel
!= 6 && sel
!= 7 && sel
!= 0));
590 * wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_PERIODCTRL
593 void wxRichTextBulletsPage::OnPeriodctrlClick( wxCommandEvent
& WXUNUSED(event
) )
597 m_hasBulletStyle
= true;
603 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_PERIODCTRL
606 void wxRichTextBulletsPage::OnPeriodctrlUpdate( wxUpdateUIEvent
& event
)
608 int sel
= m_styleListBox
->GetSelection();
609 event
.Enable(m_hasBulletStyle
&& (sel
!= 6 && sel
!= 7 && sel
!= 0));
613 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
616 void wxRichTextBulletsPage::OnChooseSymbolClick( wxCommandEvent
& WXUNUSED(event
) )
618 int sel
= m_styleListBox
->GetSelection();
619 if (m_hasBulletStyle
&& sel
== 6)
621 wxString symbol
= m_symbolCtrl
->GetValue();
622 wxString fontName
= m_symbolFontCtrl
->GetValue();
623 wxSymbolPickerDialog
dlg(symbol
, fontName
, fontName
, this);
625 if (dlg
.ShowModal() == wxID_OK
)
629 m_symbolCtrl
->SetValue(dlg
.GetSymbol());
630 m_symbolFontCtrl
->SetValue(dlg
.GetFontName());
634 m_dontUpdate
= false;
640 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
643 void wxRichTextBulletsPage::OnChooseSymbolUpdate( wxUpdateUIEvent
& event
)
645 OnSymbolUpdate(event
);
648 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
651 void wxRichTextBulletsPage::OnSymbolfontctrlSelected( wxCommandEvent
& WXUNUSED(event
) )
659 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
662 void wxRichTextBulletsPage::OnSymbolfontctrlUpdated( wxCommandEvent
& WXUNUSED(event
) )
671 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
674 void wxRichTextBulletsPage::OnSymbolfontctrlUIUpdate( wxUpdateUIEvent
& event
)
676 OnSymbolUpdate(event
);
679 /// Update for symbol-related controls
680 void wxRichTextBulletsPage::OnSymbolUpdate( wxUpdateUIEvent
& event
)
682 int sel
= m_styleListBox
->GetSelection();
683 event
.Enable(m_hasBulletStyle
&& (sel
== 6));
686 /// Update for number-related controls
687 void wxRichTextBulletsPage::OnNumberUpdate( wxUpdateUIEvent
& event
)
689 int sel
= m_styleListBox
->GetSelection();
690 event
.Enable( m_hasBulletStyle
&& (sel
!= 6 && sel
!= 7 && sel
!= 0));
694 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC
697 void wxRichTextBulletsPage::OnSymbolstaticUpdate( wxUpdateUIEvent
& event
)
699 OnSymbolUpdate(event
);
704 * wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC
707 void wxRichTextBulletsPage::OnNumberstaticUpdate( wxUpdateUIEvent
& event
)
709 OnNumberUpdate(event
);
712 #endif // wxUSE_RICHTEXT