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
// 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
class WXDLLEXPORT wxGenericFontDialog: public wxDialog
enum
{
DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
protected:
wxFontData fontData;
wxFont dialogFont;
wxWindow *dialogParent;
wxID_FONT_UNDERLINE = 3000,
wxID_FONT_STYLE,
wxID_FONT_WEIGHT,
wxID_FONT_FAMILY,
wxID_FONT_COLOUR,
wxID_FONT_SIZE
};
wxChoice *familyChoice;
wxChoice *styleChoice;
wxChoice *weightChoice;
wxChoice *colourChoice;
wxCheckBox *underLineCheckBox;
wxChoice *pointSizeChoice;
wxFontPreviewer *m_previewer;
bool m_useEvents;
class WXDLLEXPORT wxGenericFontDialog : public wxFontDialogBase
{
public:
wxGenericFontDialog() { Init(); }
wxGenericFontDialog(wxWindow *parent, const wxFontData& data)
: wxFontDialogBase(parent, data) { Init(); }
virtual ~wxGenericFontDialog();
// static bool fontDialogCancelled;
public:
wxGenericFontDialog(void);
wxGenericFontDialog(wxWindow *parent, const wxFontData& data);
~wxGenericFontDialog(void);
virtual int ShowModal();
bool Create(wxWindow *parent, const wxFontData& data);
// deprecated, for backwards compatibility only
wxGenericFontDialog(wxWindow *parent, const wxFontData *data)
: wxFontDialogBase(parent, data) { Init(); }
int ShowModal(void);
// Internal functions
void OnCloseWindow(wxCloseEvent& event);
inline wxFontData& GetFontData(void) { return fontData; }
virtual void CreateWidgets();
virtual void InitializeFont();
// Internal functions
void OnCloseWindow(wxCloseEvent& event);
void OnChangeFont(wxCommandEvent& event);
virtual void CreateWidgets(void);
virtual void InitializeFont(void);
void OnChangeFont(wxCommandEvent& event);
protected:
// common part of all ctors
void Init();
DECLARE_EVENT_TABLE()
virtual bool DoCreate(wxWindow *parent);
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

View File

@@ -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);
}
}