]> git.saurik.com Git - wxWidgets.git/blame - src/richtext/richtextfontpage.cpp
warning fixes/minor cleanup
[wxWidgets.git] / src / richtext / richtextfontpage.cpp
CommitLineData
97ff49b3
JS
1/////////////////////////////////////////////////////////////////////////////
2// Name: src/richtext/richeditfontpage.cpp
3// Purpose: Font page for wxRichTextFormattingDialog
4// Author: Julian Smart
5// Modified by:
6// Created: 2006-10-02
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12////@begin includes
13////@end includes
14
15#include "../../include/wx/richtext/richtextfontpage.h"
16
17////@begin XPM images
18////@end XPM images
19
20/*!
21 * wxRichTextFontPage type definition
22 */
23
24IMPLEMENT_DYNAMIC_CLASS( wxRichTextFontPage, wxPanel )
25
26/*!
27 * wxRichTextFontPage event table definition
28 */
29
30BEGIN_EVENT_TABLE( wxRichTextFontPage, wxPanel )
31 EVT_LISTBOX( ID_RICHTEXTFONTPAGE_FACELISTBOX, wxRichTextFontPage::OnFaceListBoxSelected )
32 EVT_BUTTON( ID_RICHTEXTFONTPAGE_COLOURCTRL, wxRichTextFontPage::OnColourClicked )
33
34////@begin wxRichTextFontPage event table entries
35 EVT_TEXT( ID_RICHTEXTFONTPAGE_FACETEXTCTRL, wxRichTextFontPage::OnFaceTextCtrlUpdated )
36
37 EVT_TEXT( ID_RICHTEXTFONTPAGE_SIZETEXTCTRL, wxRichTextFontPage::OnSizeTextCtrlUpdated )
38
39 EVT_LISTBOX( ID_RICHTEXTFONTPAGE_SIZELISTBOX, wxRichTextFontPage::OnSizeListBoxSelected )
40
41 EVT_COMBOBOX( ID_RICHTEXTFONTPAGE_STYLECTRL, wxRichTextFontPage::OnStyleCtrlSelected )
42
43 EVT_COMBOBOX( ID_RICHTEXTFONTPAGE_WEIGHTCTRL, wxRichTextFontPage::OnWeightCtrlSelected )
44
45 EVT_COMBOBOX( ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL, wxRichTextFontPage::OnUnderliningCtrlSelected )
46
47////@end wxRichTextFontPage event table entries
48
49END_EVENT_TABLE()
50
51/*!
52 * wxRichTextFontPage constructors
53 */
54
55wxRichTextFontPage::wxRichTextFontPage( )
56{
57 Init();
58}
59
60wxRichTextFontPage::wxRichTextFontPage( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
61{
62 Init();
63 Create(parent, id, pos, size, style);
64}
65
66/*!
67 * Initialise members
68 */
69
70void wxRichTextFontPage::Init()
71{
72 m_dontUpdate = false;
73 m_colourPresent = false;
74
75////@begin wxRichTextFontPage member initialisation
76 m_faceTextCtrl = NULL;
77 m_faceListBox = NULL;
78 m_sizeTextCtrl = NULL;
79 m_sizeListBox = NULL;
80 m_styleCtrl = NULL;
81 m_weightCtrl = NULL;
82 m_underliningCtrl = NULL;
83 m_colourCtrl = NULL;
84 m_previewCtrl = NULL;
85////@end wxRichTextFontPage member initialisation
86}
87
88/*!
89 * wxRichTextFontPage creator
90 */
91
92bool wxRichTextFontPage::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
93{
94////@begin wxRichTextFontPage creation
95 wxPanel::Create( parent, id, pos, size, style );
96
97 CreateControls();
98 if (GetSizer())
99 {
100 GetSizer()->SetSizeHints(this);
101 }
102 Centre();
103////@end wxRichTextFontPage creation
104 return true;
105}
106
107/*!
108 * Control creation for wxRichTextFontPage
109 */
110
111void wxRichTextFontPage::CreateControls()
112{
113////@begin wxRichTextFontPage content construction
114 wxRichTextFontPage* itemPanel1 = this;
115
116 wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
117 itemPanel1->SetSizer(itemBoxSizer2);
118
119 wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
120 itemBoxSizer2->Add(itemBoxSizer3, 1, wxGROW|wxALL, 5);
121
122 wxBoxSizer* itemBoxSizer4 = new wxBoxSizer(wxHORIZONTAL);
123 itemBoxSizer3->Add(itemBoxSizer4, 1, wxGROW, 5);
124
125 wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
126 itemBoxSizer4->Add(itemBoxSizer5, 1, wxGROW, 5);
127
128 wxStaticText* itemStaticText6 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Font:"), wxDefaultPosition, wxDefaultSize, 0 );
129 itemBoxSizer5->Add(itemStaticText6, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
130
131 m_faceTextCtrl = new wxTextCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_FACETEXTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
132 m_faceTextCtrl->SetHelpText(_("Type a font name."));
133 if (ShowToolTips())
134 m_faceTextCtrl->SetToolTip(_("Type a font name."));
135 itemBoxSizer5->Add(m_faceTextCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
136
137 m_faceListBox = new wxRichTextFontListBox( itemPanel1, ID_RICHTEXTFONTPAGE_FACELISTBOX, wxDefaultPosition, wxSize(200, 140), wxSIMPLE_BORDER );
138 m_faceListBox->SetHelpText(_("Lists the available fonts."));
139 if (ShowToolTips())
140 m_faceListBox->SetToolTip(_("Lists the available fonts."));
141 itemBoxSizer5->Add(m_faceListBox, 1, wxGROW|wxALL|wxFIXED_MINSIZE, 5);
142
143 wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxVERTICAL);
144 itemBoxSizer4->Add(itemBoxSizer9, 0, wxGROW, 5);
145
146 wxStaticText* itemStaticText10 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Size:"), wxDefaultPosition, wxDefaultSize, 0 );
147 itemBoxSizer9->Add(itemStaticText10, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
148
149 m_sizeTextCtrl = new wxTextCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_SIZETEXTCTRL, _T(""), wxDefaultPosition, wxSize(50, -1), 0 );
150 m_sizeTextCtrl->SetHelpText(_("Type a size in points."));
151 if (ShowToolTips())
152 m_sizeTextCtrl->SetToolTip(_("Type a size in points."));
153 itemBoxSizer9->Add(m_sizeTextCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
154
155 wxString* m_sizeListBoxStrings = NULL;
156 m_sizeListBox = new wxListBox( itemPanel1, ID_RICHTEXTFONTPAGE_SIZELISTBOX, wxDefaultPosition, wxSize(50, -1), 0, m_sizeListBoxStrings, wxLB_SINGLE );
157 m_sizeListBox->SetHelpText(_("Lists font sizes in points."));
158 if (ShowToolTips())
159 m_sizeListBox->SetToolTip(_("Lists font sizes in points."));
160 itemBoxSizer9->Add(m_sizeListBox, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxFIXED_MINSIZE, 5);
161
162 wxBoxSizer* itemBoxSizer13 = new wxBoxSizer(wxHORIZONTAL);
163 itemBoxSizer3->Add(itemBoxSizer13, 0, wxGROW, 5);
164
165 wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxVERTICAL);
166 itemBoxSizer13->Add(itemBoxSizer14, 1, wxGROW, 5);
167
168 wxStaticText* itemStaticText15 = new wxStaticText( itemPanel1, wxID_STATIC, _("Font st&yle:"), wxDefaultPosition, wxDefaultSize, 0 );
169 itemBoxSizer14->Add(itemStaticText15, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
170
171 wxString* m_styleCtrlStrings = NULL;
172 m_styleCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_STYLECTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_styleCtrlStrings, wxCB_READONLY );
173 m_styleCtrl->SetHelpText(_("Select regular or italic style."));
174 if (ShowToolTips())
175 m_styleCtrl->SetToolTip(_("Select regular or italic style."));
176 itemBoxSizer14->Add(m_styleCtrl, 0, wxGROW|wxALL, 5);
177
178 wxBoxSizer* itemBoxSizer17 = new wxBoxSizer(wxVERTICAL);
179 itemBoxSizer13->Add(itemBoxSizer17, 1, wxGROW, 5);
180
181 wxStaticText* itemStaticText18 = new wxStaticText( itemPanel1, wxID_STATIC, _("Font &weight:"), wxDefaultPosition, wxDefaultSize, 0 );
182 itemBoxSizer17->Add(itemStaticText18, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
183
184 wxString* m_weightCtrlStrings = NULL;
185 m_weightCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_WEIGHTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_weightCtrlStrings, wxCB_READONLY );
186 m_weightCtrl->SetHelpText(_("Select regular or bold."));
187 if (ShowToolTips())
188 m_weightCtrl->SetToolTip(_("Select regular or bold."));
189 itemBoxSizer17->Add(m_weightCtrl, 0, wxGROW|wxALL, 5);
190
191 wxBoxSizer* itemBoxSizer20 = new wxBoxSizer(wxVERTICAL);
192 itemBoxSizer13->Add(itemBoxSizer20, 1, wxGROW, 5);
193
194 wxStaticText* itemStaticText21 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Underlining:"), wxDefaultPosition, wxDefaultSize, 0 );
195 itemBoxSizer20->Add(itemStaticText21, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
196
197 wxString* m_underliningCtrlStrings = NULL;
198 m_underliningCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_underliningCtrlStrings, wxCB_READONLY );
199 m_underliningCtrl->SetHelpText(_("Select underlining or no underlining."));
200 if (ShowToolTips())
201 m_underliningCtrl->SetToolTip(_("Select underlining or no underlining."));
202 itemBoxSizer20->Add(m_underliningCtrl, 0, wxGROW|wxALL, 5);
203
204 wxBoxSizer* itemBoxSizer23 = new wxBoxSizer(wxVERTICAL);
205 itemBoxSizer13->Add(itemBoxSizer23, 0, wxGROW, 5);
206
207 wxStaticText* itemStaticText24 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Colour:"), wxDefaultPosition, wxDefaultSize, 0 );
208 itemBoxSizer23->Add(itemStaticText24, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
209
210 m_colourCtrl = new wxRichTextColourSwatchCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_COLOURCTRL, wxDefaultPosition, wxSize(40, 20), wxSIMPLE_BORDER );
211 m_colourCtrl->SetHelpText(_("Click to change the text colour."));
212 if (ShowToolTips())
213 m_colourCtrl->SetToolTip(_("Click to change the text colour."));
214 itemBoxSizer23->Add(m_colourCtrl, 0, wxALIGN_LEFT|wxALL, 5);
215
216 itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
217
218 m_previewCtrl = new wxRichTextFontPreviewCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_PREVIEWCTRL, wxDefaultPosition, wxSize(100, 80), wxSIMPLE_BORDER );
219 m_previewCtrl->SetHelpText(_("Shows a preview of the font settings."));
220 if (ShowToolTips())
221 m_previewCtrl->SetToolTip(_("Shows a preview of the font settings."));
222 itemBoxSizer3->Add(m_previewCtrl, 0, wxGROW|wxALL, 5);
223
224////@end wxRichTextFontPage content construction
225
226 m_faceListBox->UpdateFonts();
227
228 m_styleCtrl->Append(_("Regular"));
229 m_styleCtrl->Append(_("Italic"));
230
231 m_weightCtrl->Append(_("Regular"));
232 m_weightCtrl->Append(_("Bold"));
233
234 m_underliningCtrl->Append(_("Not underlined"));
235 m_underliningCtrl->Append(_("Underlined"));
236
237 wxString nStr;
238 int i;
239 for (i = 8; i < 40; i++)
240 {
241 nStr.Printf(wxT("%d"), i);
242 m_sizeListBox->Append(nStr);
243 }
244 m_sizeListBox->Append(wxT("48"));
245 m_sizeListBox->Append(wxT("72"));
246}
247
248/// Transfer data from/to window
249bool wxRichTextFontPage::TransferDataFromWindow()
250{
251 wxPanel::TransferDataFromWindow();
252
253 wxTextAttrEx* attr = GetAttributes();
254
255 if (m_faceListBox->GetSelection() != wxNOT_FOUND)
256 {
257 wxString faceName = m_faceListBox->GetFaceName(m_faceListBox->GetSelection());
258 if (!faceName.IsEmpty())
259 {
260 wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT);
261 font.SetFaceName(faceName);
262 wxSetFontPreservingStyles(*attr, font);
263 attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_FACE);
264 }
265 }
266 else
267 attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_FACE));
268
269 wxString strSize = m_sizeTextCtrl->GetValue();
270 if (!strSize.IsEmpty())
271 {
272 int sz = wxAtoi(strSize);
273 if (sz > 0)
274 {
275 wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT);
276 font.SetPointSize(sz);
277 wxSetFontPreservingStyles(*attr, font);
278 attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_SIZE);
279 }
280 }
281 else
282 attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_SIZE));
283
284 if (m_styleCtrl->GetSelection() != wxNOT_FOUND)
285 {
286 int style;
287 if (m_styleCtrl->GetStringSelection() == _("Italic"))
288 style = wxITALIC;
289 else
290 style = wxNORMAL;
291
292 wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT);
293 font.SetStyle(style);
294 wxSetFontPreservingStyles(*attr, font);
295 attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_ITALIC);
296 }
297 else
298 attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_ITALIC));
299
300 if (m_weightCtrl->GetSelection() != wxNOT_FOUND)
301 {
302 int weight;
303 if (m_weightCtrl->GetStringSelection() == _("Bold"))
304 weight = wxBOLD;
305 else
306 weight = wxNORMAL;
307
308 wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT);
309 font.SetWeight(weight);
310 wxSetFontPreservingStyles(*attr, font);
311 attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_WEIGHT);
312 }
313 else
314 attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_WEIGHT));
315
316 if (m_underliningCtrl->GetSelection() != wxNOT_FOUND)
317 {
318 bool underlined;
319 if (m_underliningCtrl->GetStringSelection() == _("Underlined"))
320 underlined = true;
321 else
322 underlined = false;
323
324 wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT);
325 font.SetUnderlined(underlined);
326 wxSetFontPreservingStyles(*attr, font);
327 attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_UNDERLINE);
328 }
329 else
330 attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_UNDERLINE));
331
332 if (m_colourPresent)
333 {
334 attr->SetTextColour(m_colourCtrl->GetBackgroundColour());
335 }
336 else
337 attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_TEXT_COLOUR));
338
339 return true;
340}
341
342bool wxRichTextFontPage::TransferDataToWindow()
343{
344 wxPanel::TransferDataToWindow();
345
346 m_dontUpdate = true;
347 wxTextAttrEx* attr = GetAttributes();
348
349 if (attr->HasFont() && attr->HasFaceName())
350 {
351 m_faceTextCtrl->SetValue(attr->GetFont().GetFaceName());
352 m_faceListBox->SetFaceNameSelection(attr->GetFont().GetFaceName());
353 }
354 else
355 {
356 m_faceTextCtrl->SetValue(wxEmptyString);
357 m_faceListBox->SetFaceNameSelection(wxEmptyString);
358 }
359
360 if (attr->HasFont() && attr->HasSize())
361 {
362 wxString strSize = wxString::Format(wxT("%d"), attr->GetFont().GetPointSize());
363 m_sizeTextCtrl->SetValue(strSize);
364 if (m_sizeListBox->FindString(strSize) != wxNOT_FOUND)
365 m_sizeListBox->SetStringSelection(strSize);
366 }
367 else
368 {
369 m_sizeTextCtrl->SetValue(wxEmptyString);
370 m_sizeListBox->SetSelection(wxNOT_FOUND);
371 }
372
373 if (attr->HasFont() && attr->HasWeight())
374 {
375 if (attr->GetFont().GetWeight() == wxBOLD)
376 m_weightCtrl->SetSelection(1);
377 else
378 m_weightCtrl->SetSelection(0);
379 }
380 else
381 {
382 m_weightCtrl->SetSelection(wxNOT_FOUND);
383 }
384
385 if (attr->HasFont() && attr->HasItalic())
386 {
387 if (attr->GetFont().GetStyle() == wxITALIC)
388 m_styleCtrl->SetSelection(1);
389 else
390 m_styleCtrl->SetSelection(0);
391 }
392 else
393 {
394 m_styleCtrl->SetSelection(wxNOT_FOUND);
395 }
396
397 if (attr->HasFont() && attr->HasUnderlined())
398 {
399 if (attr->GetFont().GetUnderlined())
400 m_underliningCtrl->SetSelection(1);
401 else
402 m_underliningCtrl->SetSelection(0);
403 }
404 else
405 {
406 m_underliningCtrl->SetSelection(wxNOT_FOUND);
407 }
408
409 if (attr->HasTextColour())
410 {
411 m_colourCtrl->SetBackgroundColour(attr->GetTextColour());
412 m_colourPresent = true;
413 }
414
415 UpdatePreview();
416
417 m_dontUpdate = false;
418
419 return true;
420}
421
422wxTextAttrEx* wxRichTextFontPage::GetAttributes()
423{
424 return wxRichTextFormattingDialog::GetDialogAttributes(this);
425}
426
427/// Updates the font preview
428void wxRichTextFontPage::UpdatePreview()
429{
430 wxFont font(*wxNORMAL_FONT);
431
432 if (m_colourPresent)
433 m_previewCtrl->SetForegroundColour(m_colourCtrl->GetBackgroundColour());
434
435 if (m_faceListBox->GetSelection() != wxNOT_FOUND)
436 {
437 wxString faceName = m_faceListBox->GetFaceName(m_faceListBox->GetSelection());
438 font.SetFaceName(faceName);
439 }
440
441 wxString strSize = m_sizeTextCtrl->GetValue();
442 if (!strSize.IsEmpty())
443 {
444 int sz = wxAtoi(strSize);
445 if (sz > 0)
446 font.SetPointSize(sz);
447 }
448
449 if (m_styleCtrl->GetSelection() != wxNOT_FOUND)
450 {
451 int style;
452 if (m_styleCtrl->GetStringSelection() == _("Italic"))
453 style = wxITALIC;
454 else
455 style = wxNORMAL;
456
457 font.SetStyle(style);
458 }
459
460 if (m_weightCtrl->GetSelection() != wxNOT_FOUND)
461 {
462 int weight;
463 if (m_weightCtrl->GetStringSelection() == _("Bold"))
464 weight = wxBOLD;
465 else
466 weight = wxNORMAL;
467
468 font.SetWeight(weight);
469 }
470
471 if (m_underliningCtrl->GetSelection() != wxNOT_FOUND)
472 {
473 bool underlined;
474 if (m_underliningCtrl->GetStringSelection() == _("Underlined"))
475 underlined = true;
476 else
477 underlined = false;
478
479 font.SetUnderlined(underlined);
480 }
481
482 m_previewCtrl->SetFont(font);
483 m_previewCtrl->Refresh();
484}
485
486/*!
487 * Should we show tooltips?
488 */
489
490bool wxRichTextFontPage::ShowToolTips()
491{
492 return true;
493}
494
495/*!
496 * Get bitmap resources
497 */
498
499wxBitmap wxRichTextFontPage::GetBitmapResource( const wxString& name )
500{
501 // Bitmap retrieval
502////@begin wxRichTextFontPage bitmap retrieval
503 wxUnusedVar(name);
504 return wxNullBitmap;
505////@end wxRichTextFontPage bitmap retrieval
506}
507
508/*!
509 * Get icon resources
510 */
511
512wxIcon wxRichTextFontPage::GetIconResource( const wxString& name )
513{
514 // Icon retrieval
515////@begin wxRichTextFontPage icon retrieval
516 wxUnusedVar(name);
517 return wxNullIcon;
518////@end wxRichTextFontPage icon retrieval
519}
520
521/*!
522 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTFONTPAGE_FACETEXTCTRL
523 */
524
525void wxRichTextFontPage::OnFaceTextCtrlUpdated( wxCommandEvent& WXUNUSED(event) )
526{
527 if (m_dontUpdate)
528 return;
529
530 wxString facename = m_faceTextCtrl->GetValue();
531 if (!facename.IsEmpty())
532 {
533 if (m_faceListBox->HasFaceName(facename))
534 {
535 m_faceListBox->SetFaceNameSelection(facename);
536 UpdatePreview();
537 }
538 else
539 {
540 // Try to find a partial match
541 const wxArrayString& arr = m_faceListBox->GetFaceNames();
542 size_t i;
543 for (i = 0; i < arr.GetCount(); i++)
544 {
545 if (arr[i].Mid(0, facename.Length()).Lower() == facename.Lower())
546 {
547 m_faceListBox->ScrollToLine(i);
548 break;
549 }
550 }
551 }
552 }
553}
554
555
556/*!
557 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTFONTPAGE_SIZETEXTCTRL
558 */
559
560void wxRichTextFontPage::OnSizeTextCtrlUpdated( wxCommandEvent& WXUNUSED(event) )
561{
562 if (m_dontUpdate)
563 return;
564
565 wxString strSize = m_sizeTextCtrl->GetValue();
566 if (!strSize.IsEmpty() && m_sizeListBox->FindString(strSize) != wxNOT_FOUND)
567 m_sizeListBox->SetStringSelection(strSize);
568 UpdatePreview();
569}
570
571
572/*!
573 * wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_SIZELISTBOX
574 */
575
576void wxRichTextFontPage::OnSizeListBoxSelected( wxCommandEvent& event )
577{
578 m_dontUpdate = true;
579
580 m_sizeTextCtrl->SetValue(event.GetString());
581
582 m_dontUpdate = false;
583
584 UpdatePreview();
585}
586
587/*!
588 * wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_FACELISTBOX
589 */
590
591void wxRichTextFontPage::OnFaceListBoxSelected( wxCommandEvent& WXUNUSED(event) )
592{
593 m_dontUpdate = true;
594
595 m_faceTextCtrl->SetValue(m_faceListBox->GetFaceName(m_faceListBox->GetSelection()));
596
597 m_dontUpdate = false;
598
599 UpdatePreview();
600}
601
602/*!
603 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_STYLECTRL
604 */
605
606void wxRichTextFontPage::OnStyleCtrlSelected( wxCommandEvent& WXUNUSED(event) )
607{
608 UpdatePreview();
609}
610
611
612/*!
613 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL
614 */
615
616void wxRichTextFontPage::OnUnderliningCtrlSelected( wxCommandEvent& WXUNUSED(event) )
617{
618 UpdatePreview();
619}
620
621
622/*!
623 * wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_WEIGHTCTRL
624 */
625
626void wxRichTextFontPage::OnWeightCtrlSelected( wxCommandEvent& WXUNUSED(event) )
627{
628 UpdatePreview();
629}
630
631void wxRichTextFontPage::OnColourClicked( wxCommandEvent& WXUNUSED(event) )
632{
633 m_colourPresent = true;
634
635 UpdatePreview();
636}