/////////////////////////////////////////////////////////////////////////////
-// Name: fontdlgg.h
+// Name: wx/generic/fontdlgg.h
// Purpose: wxGenericFontDialog
// Author: Julian Smart
// Modified by:
// 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"
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);
WXDLLEXPORT int wxFontWeightStringToInt(wxChar *weight);
WXDLLEXPORT int wxFontStyleStringToInt(wxChar *style);
-#endif
+#endif // _WX_GENERIC_FONTDLGG_H
+
/////////////////////////////////////////////////////////////////////////////
-// Name: fontdlgg.cpp
+// Name: src/generic/fontdlgg.cpp
// Purpose: Generic font dialog
// Author: Julian Smart
// Modified by:
#include "wx/cmndata.h"
#include "wx/sizer.h"
-#include "wx/generic/fontdlgg.h"
+#include "wx/fontdlg.h"
//-----------------------------------------------------------------------------
// helper class - wxFontPreviewer
* 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()
{
}
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;
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());
m_useEvents = TRUE;
}
-void wxGenericFontDialog::InitializeFont(void)
+void wxGenericFontDialog::InitializeFont()
{
int fontFamily = wxSWISS;
int fontWeight = wxNORMAL;
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));
col = wxTheColourDatabase->FindColour(colourChoice->GetStringSelection());
if (col)
{
- fontData.fontColour = *col;
+ m_fontData.fontColour = *col;
m_previewer->SetForegroundColour(*col);
}
}