wxWidgets/include/wx/generic/fontdlgg.h

121 lines
3.1 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: wx/generic/fontdlgg.h
// Purpose: wxGenericFontDialog
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_GENERIC_FONTDLGG_H
#define _WX_GENERIC_FONTDLGG_H
#include "wx/defs.h"
#include "wx/gdicmn.h"
#include "wx/font.h"
#include "wx/dialog.h"
#include "wx/cmndata.h"
#ifdef __WXWINCE__
#define USE_SPINCTRL_FOR_POINT_SIZE 1
class WXDLLEXPORT wxSpinEvent;
#else
#define USE_SPINCTRL_FOR_POINT_SIZE 0
#endif
/*
* FONT DIALOG
*/
class WXDLLEXPORT wxChoice;
class WXDLLEXPORT wxText;
class WXDLLEXPORT wxCheckBox;
class WXDLLEXPORT wxFontPreviewer;
enum
{
wxID_FONT_UNDERLINE = 3000,
wxID_FONT_STYLE,
wxID_FONT_WEIGHT,
wxID_FONT_FAMILY,
wxID_FONT_COLOUR,
wxID_FONT_SIZE
};
class WXDLLEXPORT wxGenericFontDialog : public wxFontDialogBase
{
public:
wxGenericFontDialog() { Init(); }
wxGenericFontDialog(wxWindow *parent)
: wxFontDialogBase(parent) { Init(); }
wxGenericFontDialog(wxWindow *parent, const wxFontData& data)
: wxFontDialogBase(parent, data) { Init(); }
virtual ~wxGenericFontDialog();
virtual int ShowModal();
#if WXWIN_COMPATIBILITY_2_6
// deprecated, for backwards compatibility only
wxDEPRECATED( wxGenericFontDialog(wxWindow *parent, const wxFontData *data) );
#endif // WXWIN_COMPATIBILITY_2_6
// Internal functions
void OnCloseWindow(wxCloseEvent& event);
virtual void CreateWidgets();
virtual void InitializeFont();
void OnChangeFont(wxCommandEvent& event);
#if USE_SPINCTRL_FOR_POINT_SIZE
void OnChangeSize(wxSpinEvent& event);
#endif
protected:
virtual bool DoCreate(wxWindow *parent);
private:
// common part of all ctors
void Init();
void DoChangeFont();
wxFont m_dialogFont;
wxChoice *m_familyChoice;
wxChoice *m_styleChoice;
wxChoice *m_weightChoice;
wxChoice *m_colourChoice;
wxCheckBox *m_underLineCheckBox;
#if !USE_SPINCTRL_FOR_POINT_SIZE
wxChoice *m_pointSizeChoice;
#endif
wxFontPreviewer *m_previewer;
bool m_useEvents;
// static bool fontDialogCancelled;
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
};
WXDLLEXPORT const wxChar *wxFontFamilyIntToString(int family);
WXDLLEXPORT const wxChar *wxFontWeightIntToString(int weight);
WXDLLEXPORT const wxChar *wxFontStyleIntToString(int style);
WXDLLEXPORT int wxFontFamilyStringToInt(wxChar *family);
WXDLLEXPORT int wxFontWeightStringToInt(wxChar *weight);
WXDLLEXPORT int wxFontStyleStringToInt(wxChar *style);
#if WXWIN_COMPATIBILITY_2_6
// deprecated, for backwards compatibility only
inline wxGenericFontDialog::wxGenericFontDialog(wxWindow *parent, const wxFontData *data)
:wxFontDialogBase(parent) { Init(); InitFontData(data); Create(parent); }
#endif // WXWIN_COMPATIBILITY_2_6
#endif // _WX_GENERIC_FONTDLGG_H