From c2c59b22862f9537c18f4d4c16b68056d86493f9 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 29 Jun 2002 00:46:11 +0000 Subject: [PATCH] made wxGenericFontDialog derive from wxFontDialogBase git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/generic/fontdlgg.h | 92 +++++++++++++++++++---------------- src/generic/fontdlgg.cpp | 48 +++++++----------- 2 files changed, 67 insertions(+), 73 deletions(-) diff --git a/include/wx/generic/fontdlgg.h b/include/wx/generic/fontdlgg.h index 89868d2c42..f0075ba7ea 100644 --- a/include/wx/generic/fontdlgg.h +++ b/include/wx/generic/fontdlgg.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: fontdlgg.h +// Name: wx/generic/fontdlgg.h // Purpose: wxGenericFontDialog // Author: Julian Smart // Modified by: @@ -9,8 +9,8 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __FONTDLGH_G__ -#define __FONTDLGH_G__ +#ifndef _WX_GENERIC_FONTDLGG_H +#define _WX_GENERIC_FONTDLGG_H #ifdef __GNUG__ #pragma interface "fontdlgg.h" @@ -31,52 +31,59 @@ class WXDLLEXPORT wxText; class WXDLLEXPORT wxCheckBox; class WXDLLEXPORT wxFontPreviewer; -#define wxID_FONT_UNDERLINE 3000 -#define wxID_FONT_STYLE 3001 -#define wxID_FONT_WEIGHT 3002 -#define wxID_FONT_FAMILY 3003 -#define wxID_FONT_COLOUR 3004 -#define wxID_FONT_SIZE 3005 +enum +{ + wxID_FONT_UNDERLINE = 3000, + wxID_FONT_STYLE, + wxID_FONT_WEIGHT, + wxID_FONT_FAMILY, + wxID_FONT_COLOUR, + wxID_FONT_SIZE +}; -class WXDLLEXPORT wxGenericFontDialog: public wxDialog +class WXDLLEXPORT wxGenericFontDialog : public wxFontDialogBase { - DECLARE_DYNAMIC_CLASS(wxGenericFontDialog) - protected: - wxFontData fontData; - wxFont dialogFont; - wxWindow *dialogParent; - - wxChoice *familyChoice; - wxChoice *styleChoice; - wxChoice *weightChoice; - wxChoice *colourChoice; - wxCheckBox *underLineCheckBox; - wxChoice *pointSizeChoice; - wxFontPreviewer *m_previewer; - bool m_useEvents; - -// static bool fontDialogCancelled; - public: - - wxGenericFontDialog(void); - wxGenericFontDialog(wxWindow *parent, const wxFontData& data); - ~wxGenericFontDialog(void); +public: + wxGenericFontDialog() { Init(); } + wxGenericFontDialog(wxWindow *parent, const wxFontData& data) + : wxFontDialogBase(parent, data) { Init(); } + virtual ~wxGenericFontDialog(); + + virtual int ShowModal(); + + // deprecated, for backwards compatibility only + wxGenericFontDialog(wxWindow *parent, const wxFontData *data) + : wxFontDialogBase(parent, data) { Init(); } - bool Create(wxWindow *parent, const wxFontData& data); + // Internal functions + void OnCloseWindow(wxCloseEvent& event); - int ShowModal(void); + virtual void CreateWidgets(); + virtual void InitializeFont(); - inline wxFontData& GetFontData(void) { return fontData; } + void OnChangeFont(wxCommandEvent& event); - // Internal functions - void OnCloseWindow(wxCloseEvent& event); +protected: + // common part of all ctors + void Init(); - virtual void CreateWidgets(void); - virtual void InitializeFont(void); - - void OnChangeFont(wxCommandEvent& event); + virtual bool DoCreate(wxWindow *parent); -DECLARE_EVENT_TABLE() + wxFont dialogFont; + + wxChoice *familyChoice; + wxChoice *styleChoice; + wxChoice *weightChoice; + wxChoice *colourChoice; + wxCheckBox *underLineCheckBox; + wxChoice *pointSizeChoice; + + wxFontPreviewer *m_previewer; + bool m_useEvents; + + // static bool fontDialogCancelled; + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxGenericFontDialog) }; WXDLLEXPORT const wxChar *wxFontFamilyIntToString(int family); @@ -86,4 +93,5 @@ WXDLLEXPORT int wxFontFamilyStringToInt(wxChar *family); WXDLLEXPORT int wxFontWeightStringToInt(wxChar *weight); WXDLLEXPORT int wxFontStyleStringToInt(wxChar *style); -#endif +#endif // _WX_GENERIC_FONTDLGG_H + diff --git a/src/generic/fontdlgg.cpp b/src/generic/fontdlgg.cpp index c9f46c7f5e..6ca1b71e4c 100644 --- a/src/generic/fontdlgg.cpp +++ b/src/generic/fontdlgg.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: fontdlgg.cpp +// Name: src/generic/fontdlgg.cpp // Purpose: Generic font dialog // Author: Julian Smart // Modified by: @@ -41,7 +41,7 @@ #include "wx/cmndata.h" #include "wx/sizer.h" -#include "wx/generic/fontdlgg.h" +#include "wx/fontdlg.h" //----------------------------------------------------------------------------- // helper class - wxFontPreviewer @@ -163,23 +163,13 @@ static wxString wxColourDialogNames[NUM_COLS]={wxT("ORANGE"), * Generic wxFontDialog */ -wxGenericFontDialog::wxGenericFontDialog(void) +void wxGenericFontDialog::Init() { m_useEvents = FALSE; m_previewer = NULL; - dialogParent = NULL; } -wxGenericFontDialog::wxGenericFontDialog(wxWindow *parent, const wxFontData& data): - wxDialog(parent, -1, _("Font"), wxDefaultPosition, wxDefaultSize, - wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL|wxRESIZE_BORDER) -{ - m_useEvents = FALSE; - m_previewer = NULL; - Create(parent, data); -} - -wxGenericFontDialog::~wxGenericFontDialog(void) +wxGenericFontDialog::~wxGenericFontDialog() { } @@ -188,31 +178,27 @@ void wxGenericFontDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) EndModal(wxID_CANCEL); } -bool wxGenericFontDialog::Create(wxWindow *parent, const wxFontData& data) +bool wxGenericFontDialog::DoCreate(wxWindow *parent) { - dialogParent = parent; - - fontData = data; - InitializeFont(); CreateWidgets(); return TRUE; } -int wxGenericFontDialog::ShowModal(void) +int wxGenericFontDialog::ShowModal() { int ret = wxDialog::ShowModal(); if (ret != wxID_CANCEL) { - fontData.chosenFont = dialogFont; + m_fontData.chosenFont = dialogFont; } return ret; } -void wxGenericFontDialog::CreateWidgets(void) +void wxGenericFontDialog::CreateWidgets() { wxBusyCursor bcur; @@ -259,7 +245,7 @@ void wxGenericFontDialog::CreateWidgets(void) familyChoice->SetStringSelection( wxFontFamilyIntToString(dialogFont.GetFamily()) ); styleChoice->SetStringSelection(wxFontStyleIntToString(dialogFont.GetStyle())); weightChoice->SetStringSelection(wxFontWeightIntToString(dialogFont.GetWeight())); - wxString name(wxTheColourDatabase->FindName(fontData.fontColour)); + wxString name(wxTheColourDatabase->FindName(m_fontData.fontColour)); colourChoice->SetStringSelection(name); underLineCheckBox->SetValue(dialogFont.GetUnderlined()); @@ -304,7 +290,7 @@ void wxGenericFontDialog::CreateWidgets(void) m_useEvents = TRUE; } -void wxGenericFontDialog::InitializeFont(void) +void wxGenericFontDialog::InitializeFont() { int fontFamily = wxSWISS; int fontWeight = wxNORMAL; @@ -312,13 +298,13 @@ void wxGenericFontDialog::InitializeFont(void) int fontSize = 12; int fontUnderline = FALSE; - if (fontData.initialFont.Ok()) + if (m_fontData.initialFont.Ok()) { - fontFamily = fontData.initialFont.GetFamily(); - fontWeight = fontData.initialFont.GetWeight(); - fontStyle = fontData.initialFont.GetStyle(); - fontSize = fontData.initialFont.GetPointSize(); - fontUnderline = fontData.initialFont.GetUnderlined(); + fontFamily = m_fontData.initialFont.GetFamily(); + fontWeight = m_fontData.initialFont.GetWeight(); + fontStyle = m_fontData.initialFont.GetStyle(); + fontSize = m_fontData.initialFont.GetPointSize(); + fontUnderline = m_fontData.initialFont.GetUnderlined(); } dialogFont = wxFont(fontSize, fontFamily, fontStyle, fontWeight, (fontUnderline != 0)); @@ -348,7 +334,7 @@ void wxGenericFontDialog::OnChangeFont(wxCommandEvent& WXUNUSED(event)) col = wxTheColourDatabase->FindColour(colourChoice->GetStringSelection()); if (col) { - fontData.fontColour = *col; + m_fontData.fontColour = *col; m_previewer->SetForegroundColour(*col); } } -- 2.45.2