]> git.saurik.com Git - wxWidgets.git/blobdiff - src/richtext/richtextfontpage.cpp
Fix tracking rectangles in 64-bit build by remembering the tag as the 64-bit integer...
[wxWidgets.git] / src / richtext / richtextfontpage.cpp
index 1324dab7f1234ba00349127a9b67138a579a6fd8..3409e66a8e0ef2e5006a437cc2dc26e8e1fbd394 100644 (file)
@@ -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)