X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/66bd6b93005b803910caca469110495ce549599f..dbaf49a996b4f8496a07f860297f3dca4a1817fd:/include/wx/generic/fontdlgg.h diff --git a/include/wx/generic/fontdlgg.h b/include/wx/generic/fontdlgg.h index bd997e45e3..485b99fdd3 100644 --- a/include/wx/generic/fontdlgg.h +++ b/include/wx/generic/fontdlgg.h @@ -1,95 +1,118 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: fontdlgg.h +// Name: wx/generic/fontdlgg.h // Purpose: wxGenericFontDialog // Author: Julian Smart // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) -// Licence: wxWindows licence +// Copyright: (c) Julian Smart +// 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" -#endif - -#include "wx/setup.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; -#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; +public: + wxGenericFontDialog() { Init(); } + wxGenericFontDialog(wxWindow *parent, const wxFontData& data) + : wxFontDialogBase(parent, data) { Init(); } + virtual ~wxGenericFontDialog(); + + virtual int ShowModal(); - // Area reserved for font display - wxRectangle fontRect; +#if WXWIN_COMPATIBILITY_2_6 + // deprecated, for backwards compatibility only + wxDEPRECATED( wxGenericFontDialog(wxWindow *parent, const wxFontData *data) ); +#endif // WXWIN_COMPATIBILITY_2_6 - wxChoice *familyChoice; - wxChoice *styleChoice; - wxChoice *weightChoice; - wxChoice *colourChoice; - wxCheckBox *underLineCheckBox; - wxChoice *pointSizeChoice; - bool m_useEvents; + // Internal functions + void OnCloseWindow(wxCloseEvent& event); -// static bool fontDialogCancelled; - public: - - wxGenericFontDialog(void); - wxGenericFontDialog(wxWindow *parent, wxFontData *data = NULL); - ~wxGenericFontDialog(void); + virtual void CreateWidgets(); + virtual void InitializeFont(); - bool Create(wxWindow *parent, wxFontData *data = NULL); + void OnChangeFont(wxCommandEvent& event); - int ShowModal(void); +#if USE_SPINCTRL_FOR_POINT_SIZE + void OnChangeSize(wxSpinEvent& event); +#endif - inline wxFontData& GetFontData(void) { return fontData; } +protected: - // Internal functions - void OnPaint(wxPaintEvent& event); + virtual bool DoCreate(wxWindow *parent); - bool OnClose(void); +private: - virtual void CreateWidgets(void); - virtual void InitializeFont(void); - - virtual void PaintFontBackground(wxDC& dc); - virtual void PaintFont(wxDC& dc); + // common part of all ctors + void Init(); - void OnChangeFont(wxCommandEvent& event); + void DoChangeFont(); -DECLARE_EVENT_TABLE() -}; + wxFont m_dialogFont; -char* WXDLLEXPORT wxFontFamilyIntToString(int family); -char* WXDLLEXPORT wxFontWeightIntToString(int weight); -char* WXDLLEXPORT wxFontStyleIntToString(int style); -int WXDLLEXPORT wxFontFamilyStringToInt(char *family); -int WXDLLEXPORT wxFontWeightStringToInt(char *weight); -int WXDLLEXPORT wxFontStyleStringToInt(char *style); + 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