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:
@@ -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
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user