fixed wxFontDialog API: accept const ref instead of (well, in addition to) a possibly NULL pointer

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-05-12 19:35:33 +00:00
parent c42a918295
commit dbc65e2760
10 changed files with 198 additions and 115 deletions

View File

@@ -1,20 +1,80 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/fontdlg.h
// Purpose: common interface for different wxFontDialog classes
// Author: Vadim Zeitlin
// Modified by:
// Created: 12.05.02
// RCS-ID: $Id$
// Copyright: (c) 1997-2002 wxWindows team
// Licence: wxWindows license
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_FONTDLG_H_BASE_
#define _WX_FONTDLG_H_BASE_
#include "wx/defs.h" // for wxUSE_FONTDLG
#if wxUSE_FONTDLG
#include "wx/dialog.h" // the base class
#include "wx/cmndata.h" // wxFontData
// ----------------------------------------------------------------------------
// wxFontDialog interface
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxFontDialogBase : public wxDialog
{
public:
// create the font dialog
wxFontDialogBase() { }
wxFontDialogBase(wxWindow *parent) { }
wxFontDialogBase(wxWindow *parent, const wxFontData& data) { }
bool Create(wxWindow *parent)
{ return DoCreate(parent); }
bool Create(wxWindow *parent, const wxFontData& data)
{ m_fontData = data; return Create(parent); }
virtual ~wxFontDialogBase();
// retrieve the font data
const wxFontData& GetFontData() const { return m_fontData; }
wxFontData& GetFontData() { return m_fontData; }
// deprecated interface, for compatibility only, don't use
wxFontDialogBase(wxWindow *parent, const wxFontData *data)
{ Init(); Create(parent, data); }
bool Create(wxWindow *parent, const wxFontData *data)
{ if ( data ) m_fontData = *data; return Create(parent); }
protected:
virtual bool DoCreate(wxWindow *parent) { m_parent = parent; return TRUE; }
wxFontData m_fontData;
};
// ----------------------------------------------------------------------------
// platform-specific wxFontDialog implementation
// ----------------------------------------------------------------------------
#if defined(__WXUNIVERSAL__) || defined(__WXMOTIF__) || defined(__WXMAC__)
# include "wx/generic/fontdlgg.h"
# define wxFontDialog wxGenericFontDialog
# define sm_classwxFontDialog sm_classwxGenericFontDialog
#include "wx/generic/fontdlgg.h"
#define wxFontDialog wxGenericFontDialog
#define sm_classwxFontDialog sm_classwxGenericFontDialog
#elif defined(__WXMSW__)
# include "wx/msw/fontdlg.h"
#include "wx/msw/fontdlg.h"
#elif defined(__WXGTK__)
# include "wx/gtk/fontdlg.h"
#include "wx/gtk/fontdlg.h"
#elif defined(__WXPM__)
# include "wx/os2/fontdlg.h"
#include "wx/os2/fontdlg.h"
#endif
// ----------------------------------------------------------------------------
// global public functions
// ----------------------------------------------------------------------------
// get the font from user and return it, returns wxNullFont if the dialog was
// cancelled
wxFont WXDLLEXPORT

View File

@@ -15,33 +15,31 @@
#pragma interface "fontdlg.h"
#endif
#include "wx/setup.h"
#include "wx/gdicmn.h"
#include "wx/font.h"
#include "wx/dialog.h"
#include "wx/cmndata.h"
//-----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
class wxFontDialog;
//-----------------------------------------------------------------------------
// wxFontDialog
//-----------------------------------------------------------------------------
class wxFontDialog: public wxDialog
class wxFontDialog : public wxFontDialogBase
{
public:
wxFontDialog() {}
wxFontDialog( wxWindow *parent, wxFontData *data = (wxFontData *) NULL );
~wxFontDialog();
wxFontDialog() : wxFontDialogBase() { /* must be Create()d later */ }
wxFontDialog(wxWindow *parent)
: wxFontDialogBase(parent) { Create(parent); }
wxFontDialog(wxWindow *parent, const wxFontData& data)
: wxFontDialogBase(parent, data) { Create(parent, data); }
wxFontData& GetFontData() { return m_fontData; }
virtual ~wxFontDialog();
//protected:
wxFontData m_fontData;
// implementation only
void SetChosenFont(const char *name);
// deprecated interface, don't use
wxFontDialog(wxWindow *parent, const wxFontData *data)
: wxFontDialogBase(parent, data) { Create(parent, data); }
protected:
// create the GTK dialog
virtual bool DoCreate(wxWindow *parent);
private:
DECLARE_DYNAMIC_CLASS(wxFontDialog)

View File

@@ -15,33 +15,31 @@
#pragma interface "fontdlg.h"
#endif
#include "wx/setup.h"
#include "wx/gdicmn.h"
#include "wx/font.h"
#include "wx/dialog.h"
#include "wx/cmndata.h"
//-----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
class wxFontDialog;
//-----------------------------------------------------------------------------
// wxFontDialog
//-----------------------------------------------------------------------------
class wxFontDialog: public wxDialog
class wxFontDialog : public wxFontDialogBase
{
public:
wxFontDialog() {}
wxFontDialog( wxWindow *parent, wxFontData *data = (wxFontData *) NULL );
~wxFontDialog();
wxFontDialog() : wxFontDialogBase() { /* must be Create()d later */ }
wxFontDialog(wxWindow *parent)
: wxFontDialogBase(parent) { Create(parent); }
wxFontDialog(wxWindow *parent, const wxFontData& data)
: wxFontDialogBase(parent, data) { Create(parent, data); }
wxFontData& GetFontData() { return m_fontData; }
virtual ~wxFontDialog();
//protected:
wxFontData m_fontData;
// implementation only
void SetChosenFont(const char *name);
// deprecated interface, don't use
wxFontDialog(wxWindow *parent, const wxFontData *data)
: wxFontDialogBase(parent, data) { Create(parent, data); }
protected:
// create the GTK dialog
virtual bool DoCreate(wxWindow *parent);
private:
DECLARE_DYNAMIC_CLASS(wxFontDialog)

View File

@@ -16,28 +16,25 @@
#pragma interface "fontdlg.h"
#endif
#include "wx/dialog.h"
#include "wx/cmndata.h"
// ----------------------------------------------------------------------------
// wxFontDialog
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxFontDialog : public wxDialog
class WXDLLEXPORT wxFontDialog : public wxFontDialogBase
{
public:
wxFontDialog();
wxFontDialog(wxWindow *parent, wxFontData *data = NULL);
bool Create(wxWindow *parent, wxFontData *data = NULL);
wxFontDialog() : wxFontDialogBase() { }
wxFontDialog(wxWindow *parent) : wxFontDialogBase(parent) { }
wxFontDialog(wxWindow *parent, const wxFontData& data)
: wxFontDialogBase(parent, data) { }
virtual int ShowModal();
wxFontData& GetFontData() { return m_fontData; }
// deprecated
wxFontDialog(wxWindow *parent, wxFontData *data)
: wxFontDialogBase(parent, data) { }
protected:
wxFontData m_fontData;
DECLARE_DYNAMIC_CLASS(wxFontDialog)
};