made wxGenericFontDialog derive from wxFontDialogBase

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-06-29 00:46:11 +00:00
parent ee66bc1fac
commit c2c59b2286
2 changed files with 66 additions and 72 deletions

View File

@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: fontdlgg.h // Name: wx/generic/fontdlgg.h
// Purpose: wxGenericFontDialog // Purpose: wxGenericFontDialog
// Author: Julian Smart // Author: Julian Smart
// Modified by: // Modified by:
@@ -9,8 +9,8 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifndef __FONTDLGH_G__ #ifndef _WX_GENERIC_FONTDLGG_H
#define __FONTDLGH_G__ #define _WX_GENERIC_FONTDLGG_H
#ifdef __GNUG__ #ifdef __GNUG__
#pragma interface "fontdlgg.h" #pragma interface "fontdlgg.h"
@@ -31,20 +31,45 @@ class WXDLLEXPORT wxText;
class WXDLLEXPORT wxCheckBox; class WXDLLEXPORT wxCheckBox;
class WXDLLEXPORT wxFontPreviewer; class WXDLLEXPORT wxFontPreviewer;
#define wxID_FONT_UNDERLINE 3000 enum
#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
class WXDLLEXPORT wxGenericFontDialog: public wxDialog
{ {
DECLARE_DYNAMIC_CLASS(wxGenericFontDialog) wxID_FONT_UNDERLINE = 3000,
protected: wxID_FONT_STYLE,
wxFontData fontData; wxID_FONT_WEIGHT,
wxID_FONT_FAMILY,
wxID_FONT_COLOUR,
wxID_FONT_SIZE
};
class WXDLLEXPORT wxGenericFontDialog : public wxFontDialogBase
{
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(); }
// Internal functions
void OnCloseWindow(wxCloseEvent& event);
virtual void CreateWidgets();
virtual void InitializeFont();
void OnChangeFont(wxCommandEvent& event);
protected:
// common part of all ctors
void Init();
virtual bool DoCreate(wxWindow *parent);
wxFont dialogFont; wxFont dialogFont;
wxWindow *dialogParent;
wxChoice *familyChoice; wxChoice *familyChoice;
wxChoice *styleChoice; wxChoice *styleChoice;
@@ -52,31 +77,13 @@ class WXDLLEXPORT wxGenericFontDialog: public wxDialog
wxChoice *colourChoice; wxChoice *colourChoice;
wxCheckBox *underLineCheckBox; wxCheckBox *underLineCheckBox;
wxChoice *pointSizeChoice; wxChoice *pointSizeChoice;
wxFontPreviewer *m_previewer; wxFontPreviewer *m_previewer;
bool m_useEvents; bool m_useEvents;
// static bool fontDialogCancelled; // static bool fontDialogCancelled;
public: DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
wxGenericFontDialog(void);
wxGenericFontDialog(wxWindow *parent, const wxFontData& data);
~wxGenericFontDialog(void);
bool Create(wxWindow *parent, const wxFontData& data);
int ShowModal(void);
inline wxFontData& GetFontData(void) { return fontData; }
// Internal functions
void OnCloseWindow(wxCloseEvent& event);
virtual void CreateWidgets(void);
virtual void InitializeFont(void);
void OnChangeFont(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
}; };
WXDLLEXPORT const wxChar *wxFontFamilyIntToString(int family); WXDLLEXPORT const wxChar *wxFontFamilyIntToString(int family);
@@ -86,4 +93,5 @@ WXDLLEXPORT int wxFontFamilyStringToInt(wxChar *family);
WXDLLEXPORT int wxFontWeightStringToInt(wxChar *weight); WXDLLEXPORT int wxFontWeightStringToInt(wxChar *weight);
WXDLLEXPORT int wxFontStyleStringToInt(wxChar *style); WXDLLEXPORT int wxFontStyleStringToInt(wxChar *style);
#endif #endif // _WX_GENERIC_FONTDLGG_H

View File

@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: fontdlgg.cpp // Name: src/generic/fontdlgg.cpp
// Purpose: Generic font dialog // Purpose: Generic font dialog
// Author: Julian Smart // Author: Julian Smart
// Modified by: // Modified by:
@@ -41,7 +41,7 @@
#include "wx/cmndata.h" #include "wx/cmndata.h"
#include "wx/sizer.h" #include "wx/sizer.h"
#include "wx/generic/fontdlgg.h" #include "wx/fontdlg.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// helper class - wxFontPreviewer // helper class - wxFontPreviewer
@@ -163,23 +163,13 @@ static wxString wxColourDialogNames[NUM_COLS]={wxT("ORANGE"),
* Generic wxFontDialog * Generic wxFontDialog
*/ */
wxGenericFontDialog::wxGenericFontDialog(void) void wxGenericFontDialog::Init()
{ {
m_useEvents = FALSE; m_useEvents = FALSE;
m_previewer = NULL; m_previewer = NULL;
dialogParent = NULL;
} }
wxGenericFontDialog::wxGenericFontDialog(wxWindow *parent, const wxFontData& data): wxGenericFontDialog::~wxGenericFontDialog()
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)
{ {
} }
@@ -188,31 +178,27 @@ void wxGenericFontDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
EndModal(wxID_CANCEL); EndModal(wxID_CANCEL);
} }
bool wxGenericFontDialog::Create(wxWindow *parent, const wxFontData& data) bool wxGenericFontDialog::DoCreate(wxWindow *parent)
{ {
dialogParent = parent;
fontData = data;
InitializeFont(); InitializeFont();
CreateWidgets(); CreateWidgets();
return TRUE; return TRUE;
} }
int wxGenericFontDialog::ShowModal(void) int wxGenericFontDialog::ShowModal()
{ {
int ret = wxDialog::ShowModal(); int ret = wxDialog::ShowModal();
if (ret != wxID_CANCEL) if (ret != wxID_CANCEL)
{ {
fontData.chosenFont = dialogFont; m_fontData.chosenFont = dialogFont;
} }
return ret; return ret;
} }
void wxGenericFontDialog::CreateWidgets(void) void wxGenericFontDialog::CreateWidgets()
{ {
wxBusyCursor bcur; wxBusyCursor bcur;
@@ -259,7 +245,7 @@ void wxGenericFontDialog::CreateWidgets(void)
familyChoice->SetStringSelection( wxFontFamilyIntToString(dialogFont.GetFamily()) ); familyChoice->SetStringSelection( wxFontFamilyIntToString(dialogFont.GetFamily()) );
styleChoice->SetStringSelection(wxFontStyleIntToString(dialogFont.GetStyle())); styleChoice->SetStringSelection(wxFontStyleIntToString(dialogFont.GetStyle()));
weightChoice->SetStringSelection(wxFontWeightIntToString(dialogFont.GetWeight())); weightChoice->SetStringSelection(wxFontWeightIntToString(dialogFont.GetWeight()));
wxString name(wxTheColourDatabase->FindName(fontData.fontColour)); wxString name(wxTheColourDatabase->FindName(m_fontData.fontColour));
colourChoice->SetStringSelection(name); colourChoice->SetStringSelection(name);
underLineCheckBox->SetValue(dialogFont.GetUnderlined()); underLineCheckBox->SetValue(dialogFont.GetUnderlined());
@@ -304,7 +290,7 @@ void wxGenericFontDialog::CreateWidgets(void)
m_useEvents = TRUE; m_useEvents = TRUE;
} }
void wxGenericFontDialog::InitializeFont(void) void wxGenericFontDialog::InitializeFont()
{ {
int fontFamily = wxSWISS; int fontFamily = wxSWISS;
int fontWeight = wxNORMAL; int fontWeight = wxNORMAL;
@@ -312,13 +298,13 @@ void wxGenericFontDialog::InitializeFont(void)
int fontSize = 12; int fontSize = 12;
int fontUnderline = FALSE; int fontUnderline = FALSE;
if (fontData.initialFont.Ok()) if (m_fontData.initialFont.Ok())
{ {
fontFamily = fontData.initialFont.GetFamily(); fontFamily = m_fontData.initialFont.GetFamily();
fontWeight = fontData.initialFont.GetWeight(); fontWeight = m_fontData.initialFont.GetWeight();
fontStyle = fontData.initialFont.GetStyle(); fontStyle = m_fontData.initialFont.GetStyle();
fontSize = fontData.initialFont.GetPointSize(); fontSize = m_fontData.initialFont.GetPointSize();
fontUnderline = fontData.initialFont.GetUnderlined(); fontUnderline = m_fontData.initialFont.GetUnderlined();
} }
dialogFont = wxFont(fontSize, fontFamily, fontStyle, fontWeight, (fontUnderline != 0)); dialogFont = wxFont(fontSize, fontFamily, fontStyle, fontWeight, (fontUnderline != 0));
@@ -348,7 +334,7 @@ void wxGenericFontDialog::OnChangeFont(wxCommandEvent& WXUNUSED(event))
col = wxTheColourDatabase->FindColour(colourChoice->GetStringSelection()); col = wxTheColourDatabase->FindColour(colourChoice->GetStringSelection());
if (col) if (col)
{ {
fontData.fontColour = *col; m_fontData.fontColour = *col;
m_previewer->SetForegroundColour(*col); m_previewer->SetForegroundColour(*col);
} }
} }