void wxsSimpleFontEditorDlg::OnButton1Click(cb_unused wxCommandEvent& event) { wxFont Font = ::wxGetFontFromUser(0,m_WorkingCopy.BuildFont()); if ( !Font.Ok() ) return; m_WorkingCopy.Size = Font.GetPointSize(); #if wxCHECK_VERSION(3, 0, 0) m_WorkingCopy.Style = Font.GetStyle(); m_WorkingCopy.Weight = Font.GetWeight(); m_WorkingCopy.Family = Font.GetFamily(); #else m_WorkingCopy.Style = static_cast<wxFontStyle>(Font.GetStyle()); m_WorkingCopy.Weight = static_cast<wxFontWeight>(Font.GetWeight()); m_WorkingCopy.Family = static_cast<wxFontFamily>(Font.GetFamily()); #endif m_WorkingCopy.Underlined = Font.GetUnderlined(); m_WorkingCopy.Faces.Clear(); m_WorkingCopy.Faces.Add(Font.GetFaceName()); m_WorkingCopy.IsDefault = false; m_WorkingCopy.HasSize = true; m_WorkingCopy.HasStyle = true; m_WorkingCopy.HasWeight = true; m_WorkingCopy.HasUnderlined = true; m_WorkingCopy.HasFamily = true; m_WorkingCopy.HasEncoding = false; m_WorkingCopy.HasSysFont = false; m_WorkingCopy.HasRelativeSize = false; UpdateFontDescription(); }
wxsSimpleFontEditorDlg::wxsSimpleFontEditorDlg(wxWindow* parent,wxsFontData& Data,wxWindowID id): m_Data(Data) { //(*Initialize(wxsSimpleFontEditorDlg) Create(parent, id, _("Font settings"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("id")); FlexGridSizer1 = new wxFlexGridSizer(0, 1, 0, 0); BoxSizer4 = new wxBoxSizer(wxHORIZONTAL); StaticBoxSizer1 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Current font")); FlexGridSizer2 = new wxFlexGridSizer(0, 0, 0, 0); FlexGridSizer2->AddGrowableCol(0); FlexGridSizer2->AddGrowableRow(0); FontDescription = new wxStaticText(this, ID_STATICTEXT1, _("-- None --"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); FlexGridSizer2->Add(FontDescription, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer1->Add(FlexGridSizer2, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticLine2 = new wxStaticLine(this, ID_STATICLINE2, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL, _T("ID_STATICLINE2")); StaticBoxSizer1->Add(StaticLine2, 0, wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer2 = new wxBoxSizer(wxVERTICAL); Button1 = new wxButton(this, ID_BUTTON1, _("Change"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1")); BoxSizer2->Add(Button1, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); Button3 = new wxButton(this, ID_BUTTON3, _("Clear"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON3")); BoxSizer2->Add(Button3, 1, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticLine1 = new wxStaticLine(this, ID_STATICLINE1, wxDefaultPosition, wxSize(10,-1), wxLI_HORIZONTAL, _T("ID_STATICLINE1")); BoxSizer2->Add(StaticLine1, 0, wxTOP|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); Button2 = new wxButton(this, ID_BUTTON2, _("Advanced"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON2")); BoxSizer2->Add(Button2, 0, wxTOP|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); StaticBoxSizer1->Add(BoxSizer2, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer4->Add(StaticBoxSizer1, 1, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer4, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 4); StaticBoxSizer2 = new wxStaticBoxSizer(wxHORIZONTAL, this, _("Test area")); TestArea = new wxTextCtrl(this, ID_TEXTCTRL1, _("This is sample text"), wxDefaultPosition, wxSize(275,71), wxTE_MULTILINE, wxDefaultValidator, _T("ID_TEXTCTRL1")); StaticBoxSizer2->Add(TestArea, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 4); FlexGridSizer1->Add(StaticBoxSizer2, 1, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); BoxSizer3 = new wxBoxSizer(wxHORIZONTAL); StaticText2 = new wxStaticText(this, ID_STATICTEXT2, _("Note:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE, _T("ID_STATICTEXT2")); BoxSizer3->Add(StaticText2, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 4); StaticText3 = new wxStaticText(this, ID_STATICTEXT3, _("In order to provide best cross-platform compatibility\nyou should use either system-based font or multiple \nface names. You can change it in advanced options."), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT3")); BoxSizer3->Add(StaticText3, 1, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 4); FlexGridSizer1->Add(BoxSizer3, 1, wxBOTTOM|wxLEFT|wxRIGHT|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 4); BoxSizer1 = new wxBoxSizer(wxHORIZONTAL); StdDialogButtonSizer1 = new wxStdDialogButtonSizer(); StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_OK, wxEmptyString)); StdDialogButtonSizer1->AddButton(new wxButton(this, wxID_CANCEL, wxEmptyString)); StdDialogButtonSizer1->Realize(); BoxSizer1->Add(StdDialogButtonSizer1, 1, wxBOTTOM|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); FlexGridSizer1->Add(BoxSizer1, 1, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 4); SetSizer(FlexGridSizer1); FlexGridSizer1->Fit(this); FlexGridSizer1->SetSizeHints(this); Center(); Connect(ID_BUTTON1,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsSimpleFontEditorDlg::OnButton1Click); Connect(ID_BUTTON3,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsSimpleFontEditorDlg::OnButton3Click); Connect(ID_BUTTON2,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&wxsSimpleFontEditorDlg::OnButton2Click); //*) m_WorkingCopy = m_Data; UpdateFontDescription(); }
void wxsSimpleFontEditorDlg::OnButton3Click(wxCommandEvent& event) { m_WorkingCopy.IsDefault = true; UpdateFontDescription(); }
void wxsSimpleFontEditorDlg::OnButton2Click(wxCommandEvent& event) { wxsFontEditorDlg Dlg(this,m_WorkingCopy); Dlg.ShowModal(); UpdateFontDescription(); }