]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/generic/fontdlgg.h
handle fatal exceptions in the other threads (based on patch 1459813 by Carl-Friedric...
[wxWidgets.git] / include / wx / generic / fontdlgg.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/generic/fontdlgg.h
3// Purpose: wxGenericFontDialog
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_GENERIC_FONTDLGG_H
13#define _WX_GENERIC_FONTDLGG_H
14
15#include "wx/defs.h"
16#include "wx/gdicmn.h"
17#include "wx/font.h"
18#include "wx/dialog.h"
19#include "wx/cmndata.h"
20
21#ifdef __WXWINCE__
22#define USE_SPINCTRL_FOR_POINT_SIZE 1
23class WXDLLEXPORT wxSpinEvent;
24#else
25#define USE_SPINCTRL_FOR_POINT_SIZE 0
26#endif
27
28/*
29 * FONT DIALOG
30 */
31
32class WXDLLEXPORT wxChoice;
33class WXDLLEXPORT wxText;
34class WXDLLEXPORT wxCheckBox;
35class WXDLLEXPORT wxFontPreviewer;
36
37enum
38{
39 wxID_FONT_UNDERLINE = 3000,
40 wxID_FONT_STYLE,
41 wxID_FONT_WEIGHT,
42 wxID_FONT_FAMILY,
43 wxID_FONT_COLOUR,
44 wxID_FONT_SIZE
45};
46
47class WXDLLEXPORT wxGenericFontDialog : public wxFontDialogBase
48{
49public:
50 wxGenericFontDialog() { Init(); }
51 wxGenericFontDialog(wxWindow *parent, const wxFontData& data)
52 : wxFontDialogBase(parent, data) { Init(); }
53 virtual ~wxGenericFontDialog();
54
55 virtual int ShowModal();
56
57#if WXWIN_COMPATIBILITY_2_6
58 // deprecated, for backwards compatibility only
59 wxDEPRECATED( wxGenericFontDialog(wxWindow *parent, const wxFontData *data) );
60#endif // WXWIN_COMPATIBILITY_2_6
61
62 // Internal functions
63 void OnCloseWindow(wxCloseEvent& event);
64
65 virtual void CreateWidgets();
66 virtual void InitializeFont();
67
68 void OnChangeFont(wxCommandEvent& event);
69
70#if USE_SPINCTRL_FOR_POINT_SIZE
71 void OnChangeSize(wxSpinEvent& event);
72#endif
73
74protected:
75
76 virtual bool DoCreate(wxWindow *parent);
77
78private:
79
80 // common part of all ctors
81 void Init();
82
83 void DoChangeFont();
84
85 wxFont m_dialogFont;
86
87 wxChoice *m_familyChoice;
88 wxChoice *m_styleChoice;
89 wxChoice *m_weightChoice;
90 wxChoice *m_colourChoice;
91 wxCheckBox *m_underLineCheckBox;
92
93#if !USE_SPINCTRL_FOR_POINT_SIZE
94 wxChoice *m_pointSizeChoice;
95#endif
96
97 wxFontPreviewer *m_previewer;
98 bool m_useEvents;
99
100 // static bool fontDialogCancelled;
101 DECLARE_EVENT_TABLE()
102 DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
103};
104
105WXDLLEXPORT const wxChar *wxFontFamilyIntToString(int family);
106WXDLLEXPORT const wxChar *wxFontWeightIntToString(int weight);
107WXDLLEXPORT const wxChar *wxFontStyleIntToString(int style);
108WXDLLEXPORT int wxFontFamilyStringToInt(wxChar *family);
109WXDLLEXPORT int wxFontWeightStringToInt(wxChar *weight);
110WXDLLEXPORT int wxFontStyleStringToInt(wxChar *style);
111
112#if WXWIN_COMPATIBILITY_2_6
113 // deprecated, for backwards compatibility only
114inline wxGenericFontDialog::wxGenericFontDialog(wxWindow *parent, const wxFontData *data)
115 :wxFontDialogBase(parent) { Init(); InitFontData(data); Create(parent); }
116#endif // WXWIN_COMPATIBILITY_2_6
117
118#endif // _WX_GENERIC_FONTDLGG_H