X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f18eaf2687ab42c97ccf469a2617306cadc0c6ef..29fbbf8967e4c4b3174a4bc45a9007b92ecb0de7:/src/richtext/richtextfontpage.cpp diff --git a/src/richtext/richtextfontpage.cpp b/src/richtext/richtextfontpage.cpp index 1324dab7f1..3409e66a8e 100644 --- a/src/richtext/richtextfontpage.cpp +++ b/src/richtext/richtextfontpage.cpp @@ -130,13 +130,13 @@ void wxRichTextFontPage::CreateControls() m_faceTextCtrl = new wxTextCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_FACETEXTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0 ); m_faceTextCtrl->SetHelpText(_("Type a font name.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_faceTextCtrl->SetToolTip(_("Type a font name.")); itemBoxSizer5->Add(m_faceTextCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5); - m_faceListBox = new wxRichTextFontListBox( itemPanel1, ID_RICHTEXTFONTPAGE_FACELISTBOX, wxDefaultPosition, wxSize(200, 140), wxSIMPLE_BORDER ); + m_faceListBox = new wxRichTextFontListBox( itemPanel1, ID_RICHTEXTFONTPAGE_FACELISTBOX, wxDefaultPosition, wxSize(200, 100), 0 ); m_faceListBox->SetHelpText(_("Lists the available fonts.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_faceListBox->SetToolTip(_("Lists the available fonts.")); itemBoxSizer5->Add(m_faceListBox, 1, wxGROW|wxALL|wxFIXED_MINSIZE, 5); @@ -148,14 +148,14 @@ void wxRichTextFontPage::CreateControls() m_sizeTextCtrl = new wxTextCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_SIZETEXTCTRL, _T(""), wxDefaultPosition, wxSize(50, -1), 0 ); m_sizeTextCtrl->SetHelpText(_("Type a size in points.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_sizeTextCtrl->SetToolTip(_("Type a size in points.")); itemBoxSizer9->Add(m_sizeTextCtrl, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5); - wxString* m_sizeListBoxStrings = NULL; - m_sizeListBox = new wxListBox( itemPanel1, ID_RICHTEXTFONTPAGE_SIZELISTBOX, wxDefaultPosition, wxSize(50, -1), 0, m_sizeListBoxStrings, wxLB_SINGLE ); + wxArrayString m_sizeListBoxStrings; + m_sizeListBox = new wxListBox( itemPanel1, ID_RICHTEXTFONTPAGE_SIZELISTBOX, wxDefaultPosition, wxSize(50, -1), m_sizeListBoxStrings, wxLB_SINGLE ); m_sizeListBox->SetHelpText(_("Lists font sizes in points.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_sizeListBox->SetToolTip(_("Lists font sizes in points.")); itemBoxSizer9->Add(m_sizeListBox, 1, wxALIGN_CENTER_HORIZONTAL|wxALL|wxFIXED_MINSIZE, 5); @@ -168,10 +168,10 @@ void wxRichTextFontPage::CreateControls() wxStaticText* itemStaticText15 = new wxStaticText( itemPanel1, wxID_STATIC, _("Font st&yle:"), wxDefaultPosition, wxDefaultSize, 0 ); itemBoxSizer14->Add(itemStaticText15, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5); - wxString* m_styleCtrlStrings = NULL; - m_styleCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_STYLECTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_styleCtrlStrings, wxCB_READONLY ); + wxArrayString m_styleCtrlStrings; + m_styleCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_STYLECTRL, _T(""), wxDefaultPosition, wxDefaultSize, m_styleCtrlStrings, wxCB_READONLY ); m_styleCtrl->SetHelpText(_("Select regular or italic style.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_styleCtrl->SetToolTip(_("Select regular or italic style.")); itemBoxSizer14->Add(m_styleCtrl, 0, wxGROW|wxALL, 5); @@ -181,10 +181,10 @@ void wxRichTextFontPage::CreateControls() wxStaticText* itemStaticText18 = new wxStaticText( itemPanel1, wxID_STATIC, _("Font &weight:"), wxDefaultPosition, wxDefaultSize, 0 ); itemBoxSizer17->Add(itemStaticText18, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5); - wxString* m_weightCtrlStrings = NULL; - m_weightCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_WEIGHTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_weightCtrlStrings, wxCB_READONLY ); + wxArrayString m_weightCtrlStrings; + m_weightCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_WEIGHTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, m_weightCtrlStrings, wxCB_READONLY ); m_weightCtrl->SetHelpText(_("Select regular or bold.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_weightCtrl->SetToolTip(_("Select regular or bold.")); itemBoxSizer17->Add(m_weightCtrl, 0, wxGROW|wxALL, 5); @@ -194,10 +194,10 @@ void wxRichTextFontPage::CreateControls() wxStaticText* itemStaticText21 = new wxStaticText( itemPanel1, wxID_STATIC, _("&Underlining:"), wxDefaultPosition, wxDefaultSize, 0 ); itemBoxSizer20->Add(itemStaticText21, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5); - wxString* m_underliningCtrlStrings = NULL; - m_underliningCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_underliningCtrlStrings, wxCB_READONLY ); + wxArrayString m_underliningCtrlStrings; + m_underliningCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL, _T(""), wxDefaultPosition, wxDefaultSize, m_underliningCtrlStrings, wxCB_READONLY ); m_underliningCtrl->SetHelpText(_("Select underlining or no underlining.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_underliningCtrl->SetToolTip(_("Select underlining or no underlining.")); itemBoxSizer20->Add(m_underliningCtrl, 0, wxGROW|wxALL, 5); @@ -209,7 +209,7 @@ void wxRichTextFontPage::CreateControls() m_colourCtrl = new wxRichTextColourSwatchCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_COLOURCTRL, wxDefaultPosition, wxSize(40, 20), wxSIMPLE_BORDER ); m_colourCtrl->SetHelpText(_("Click to change the text colour.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_colourCtrl->SetToolTip(_("Click to change the text colour.")); itemBoxSizer23->Add(m_colourCtrl, 0, wxALIGN_LEFT|wxALL, 5); @@ -219,22 +219,22 @@ void wxRichTextFontPage::CreateControls() m_strikethroughCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTFONTPAGE_STRIKETHROUGHCTRL, _("&Strikethrough"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE ); m_strikethroughCtrl->SetValue(false); m_strikethroughCtrl->SetHelpText(_("Check to show a line through the text.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_strikethroughCtrl->SetToolTip(_("Check to show a line through the text.")); itemBoxSizer26->Add(m_strikethroughCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); m_capitalsCtrl = new wxCheckBox( itemPanel1, ID_RICHTEXTFONTPAGE_CAPSCTRL, _("Ca&pitals"), wxDefaultPosition, wxDefaultSize, wxCHK_3STATE ); m_capitalsCtrl->SetValue(false); m_capitalsCtrl->SetHelpText(_("Check to show the text in capitals.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_capitalsCtrl->SetToolTip(_("Check to show the text in capitals.")); itemBoxSizer26->Add(m_capitalsCtrl, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); + itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL, 5); - m_previewCtrl = new wxRichTextFontPreviewCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_PREVIEWCTRL, wxDefaultPosition, wxSize(100, 80), wxSIMPLE_BORDER ); + m_previewCtrl = new wxRichTextFontPreviewCtrl( itemPanel1, ID_RICHTEXTFONTPAGE_PREVIEWCTRL, wxDefaultPosition, wxSize(100, 60), 0 ); m_previewCtrl->SetHelpText(_("Shows a preview of the font settings.")); - if (ShowToolTips()) + if (wxRichTextFontPage::ShowToolTips()) m_previewCtrl->SetToolTip(_("Shows a preview of the font settings.")); itemBoxSizer3->Add(m_previewCtrl, 0, wxGROW|wxALL, 5); @@ -267,17 +267,14 @@ bool wxRichTextFontPage::TransferDataFromWindow() { wxPanel::TransferDataFromWindow(); - wxTextAttrEx* attr = GetAttributes(); + wxTextAttr* attr = GetAttributes(); if (m_faceListBox->GetSelection() != wxNOT_FOUND) { wxString faceName = m_faceListBox->GetFaceName(m_faceListBox->GetSelection()); if (!faceName.IsEmpty()) { - wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT); - font.SetFaceName(faceName); - wxSetFontPreservingStyles(*attr, font); - attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_FACE); + attr->SetFontFaceName(faceName); } } else @@ -289,10 +286,7 @@ bool wxRichTextFontPage::TransferDataFromWindow() int sz = wxAtoi(strSize); if (sz > 0) { - wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT); - font.SetPointSize(sz); - wxSetFontPreservingStyles(*attr, font); - attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_SIZE); + attr->SetFontSize(sz); } } else @@ -306,10 +300,7 @@ bool wxRichTextFontPage::TransferDataFromWindow() else style = wxNORMAL; - wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT); - font.SetStyle(style); - wxSetFontPreservingStyles(*attr, font); - attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_ITALIC); + attr->SetFontStyle(style); } else attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_ITALIC)); @@ -322,10 +313,7 @@ bool wxRichTextFontPage::TransferDataFromWindow() else weight = wxNORMAL; - wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT); - font.SetWeight(weight); - wxSetFontPreservingStyles(*attr, font); - attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_WEIGHT); + attr->SetFontWeight(weight); } else attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_WEIGHT)); @@ -338,10 +326,7 @@ bool wxRichTextFontPage::TransferDataFromWindow() else underlined = false; - wxFont font(attr->GetFont().Ok() ? attr->GetFont() : *wxNORMAL_FONT); - font.SetUnderlined(underlined); - wxSetFontPreservingStyles(*attr, font); - attr->SetFlags(attr->GetFlags() | wxTEXT_ATTR_FONT_UNDERLINE); + attr->SetFontUnderlined(underlined); } else attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_FONT_UNDERLINE)); @@ -352,7 +337,7 @@ bool wxRichTextFontPage::TransferDataFromWindow() } else attr->SetFlags(attr->GetFlags() & (~ wxTEXT_ATTR_TEXT_COLOUR)); - + if (m_strikethroughCtrl->Get3StateValue() != wxCHK_UNDETERMINED) { attr->SetTextEffectFlags(attr->GetTextEffectFlags() | wxTEXT_ATTR_EFFECT_STRIKETHROUGH); @@ -366,7 +351,7 @@ bool wxRichTextFontPage::TransferDataFromWindow() if (m_capitalsCtrl->Get3StateValue() != wxCHK_UNDETERMINED) { attr->SetTextEffectFlags(attr->GetTextEffectFlags() | wxTEXT_ATTR_EFFECT_CAPITALS); - + if (m_capitalsCtrl->Get3StateValue() == wxCHK_CHECKED) attr->SetTextEffects(attr->GetTextEffects() | wxTEXT_ATTR_EFFECT_CAPITALS); else @@ -381,11 +366,11 @@ bool wxRichTextFontPage::TransferDataToWindow() wxPanel::TransferDataToWindow(); m_dontUpdate = true; - wxTextAttrEx* attr = GetAttributes(); + wxTextAttr* attr = GetAttributes(); - if (attr->HasFont() && attr->HasFontFaceName()) + if (attr->HasFontFaceName()) { - m_faceTextCtrl->SetValue(attr->GetFont().GetFaceName()); + m_faceTextCtrl->SetValue(attr->GetFontFaceName()); m_faceListBox->SetFaceNameSelection(attr->GetFont().GetFaceName()); } else @@ -394,9 +379,9 @@ bool wxRichTextFontPage::TransferDataToWindow() m_faceListBox->SetFaceNameSelection(wxEmptyString); } - if (attr->HasFont() && attr->HasFontSize()) + if (attr->HasFontSize()) { - wxString strSize = wxString::Format(wxT("%d"), attr->GetFont().GetPointSize()); + wxString strSize = wxString::Format(wxT("%d"), attr->GetFontSize()); m_sizeTextCtrl->SetValue(strSize); if (m_sizeListBox->FindString(strSize) != wxNOT_FOUND) m_sizeListBox->SetStringSelection(strSize); @@ -407,9 +392,9 @@ bool wxRichTextFontPage::TransferDataToWindow() m_sizeListBox->SetSelection(wxNOT_FOUND); } - if (attr->HasFont() && attr->HasFontWeight()) + if (attr->HasFontWeight()) { - if (attr->GetFont().GetWeight() == wxBOLD) + if (attr->GetFontWeight() == wxBOLD) m_weightCtrl->SetSelection(1); else m_weightCtrl->SetSelection(0); @@ -419,9 +404,9 @@ bool wxRichTextFontPage::TransferDataToWindow() m_weightCtrl->SetSelection(wxNOT_FOUND); } - if (attr->HasFont() && attr->HasFontItalic()) + if (attr->HasFontItalic()) { - if (attr->GetFont().GetStyle() == wxITALIC) + if (attr->GetFontStyle() == wxITALIC) m_styleCtrl->SetSelection(1); else m_styleCtrl->SetSelection(0); @@ -431,9 +416,9 @@ bool wxRichTextFontPage::TransferDataToWindow() m_styleCtrl->SetSelection(wxNOT_FOUND); } - if (attr->HasFont() && attr->HasFontUnderlined()) + if (attr->HasFontUnderlined()) { - if (attr->GetFont().GetUnderlined()) + if (attr->GetFontUnderlined()) m_underliningCtrl->SetSelection(1); else m_underliningCtrl->SetSelection(0); @@ -484,7 +469,7 @@ bool wxRichTextFontPage::TransferDataToWindow() return true; } -wxTextAttrEx* wxRichTextFontPage::GetAttributes() +wxTextAttr* wxRichTextFontPage::GetAttributes() { return wxRichTextFormattingDialog::GetDialogAttributes(this); } @@ -543,7 +528,7 @@ void wxRichTextFontPage::UpdatePreview() font.SetUnderlined(underlined); } - + int textEffects = 0; if (m_strikethroughCtrl->Get3StateValue() == wxCHK_CHECKED)