public:
// create the font dialog
wxFontDialogBase() { }
- wxFontDialogBase(wxWindow *parent) { }
- wxFontDialogBase(wxWindow *parent, const wxFontData& data) { }
+ wxFontDialogBase(wxWindow *parent) { m_parent = parent; }
+ wxFontDialogBase(wxWindow *parent, const wxFontData& data)
+ { m_parent = parent; InitFontData(&data); }
bool Create(wxWindow *parent)
{ return DoCreate(parent); }
bool Create(wxWindow *parent, const wxFontData& data)
- { m_fontData = data; return Create(parent); }
+ { InitFontData(&data); return Create(parent); }
virtual ~wxFontDialogBase();
// deprecated interface, for compatibility only, don't use
wxFontDialogBase(wxWindow *parent, const wxFontData *data)
- { Init(); Create(parent, data); }
+ { m_parent = parent; InitFontData(data); }
bool Create(wxWindow *parent, const wxFontData *data)
- { if ( data ) m_fontData = *data; return Create(parent); }
+ { InitFontData(data); return Create(parent); }
protected:
virtual bool DoCreate(wxWindow *parent) { m_parent = parent; return TRUE; }
+ void InitFontData(const wxFontData *data = NULL)
+ { if ( data ) m_fontData = *data; }
+
wxFontData m_fontData;
};
class WXDLLEXPORT wxFontDialog : public wxFontDialogBase
{
public:
- wxFontDialog() : wxFontDialogBase() { }
- wxFontDialog(wxWindow *parent) : wxFontDialogBase(parent) { }
+ wxFontDialog() : wxFontDialogBase() { /* must be Create()d later */ }
+ wxFontDialog(wxWindow *parent)
+ : wxFontDialogBase(parent) { Create(parent); }
wxFontDialog(wxWindow *parent, const wxFontData& data)
- : wxFontDialogBase(parent, data) { }
+ : wxFontDialogBase(parent, data) { Create(parent, data); }
virtual int ShowModal();
- // deprecated
- wxFontDialog(wxWindow *parent, wxFontData *data)
- : wxFontDialogBase(parent, data) { }
+ // deprecated interface, don't use
+ wxFontDialog(wxWindow *parent, const wxFontData *data)
+ : wxFontDialogBase(parent, data) { Create(parent, data); }
protected:
DECLARE_DYNAMIC_CLASS(wxFontDialog)