]> git.saurik.com Git - wxWidgets.git/blob - interface/fontpicker.h
Switch on build breakage email notifications.
[wxWidgets.git] / interface / fontpicker.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: fontpicker.h
3 // Purpose: interface of wxFontPickerCtrl
4 // Author: wxWidgets team
5 // RCS-ID: $Id$
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
8
9 /**
10 @class wxFontPickerCtrl
11 @wxheader{fontpicker.h}
12
13 This control allows the user to select a font. The generic implementation is
14 a button which brings up a wxFontDialog when clicked. Native implementation
15 may differ but this is usually a (small) widget which give access to the
16 font-chooser
17 dialog.
18 It is only available if @c wxUSE_FONTPICKERCTRL is set to 1 (the default).
19
20 @beginStyleTable
21 @style{wxFNTP_DEFAULT_STYLE}:
22 The default style: wxFNTP_FONTDESC_AS_LABEL |
23 wxFNTP_USEFONT_FOR_LABEL.
24 @style{wxFNTP_USE_TEXTCTRL}:
25 Creates a text control to the left of the picker button which is
26 completely managed by the wxFontPickerCtrl and which can be used by
27 the user to specify a font (see SetSelectedFont). The text control
28 is automatically synchronized with button's value. Use functions
29 defined in wxPickerBase to modify the text control.
30 @style{wxFNTP_FONTDESC_AS_LABEL}:
31 Keeps the label of the button updated with the fontface name and
32 the font size. E.g. choosing "Times New Roman bold, italic with
33 size 10" from the fontdialog, will update the label (overwriting
34 any previous label) with the "Times New Roman, 10" text.
35 @style{wxFNTP_USEFONT_FOR_LABEL}:
36 Uses the currently selected font to draw the label of the button.
37 @endStyleTable
38
39 @library{wxcore}
40 @category{miscpickers}
41 @appearance{fontpickerctrl.png}
42
43 @see wxFontDialog, wxFontPickerEvent
44 */
45 class wxFontPickerCtrl : public wxPickerBase
46 {
47 public:
48 /**
49 Initializes the object and calls Create() with
50 all the parameters.
51 */
52 wxFontPickerCtrl(wxWindow* parent, wxWindowID id,
53 const wxFont& font = wxNullFont,
54 const wxPoint& pos = wxDefaultPosition,
55 const wxSize& size = wxDefaultSize,
56 long style = wxFNTP_DEFAULT_STYLE,
57 const wxValidator& validator = wxDefaultValidator,
58 const wxString& name = "fontpickerctrl");
59
60 /**
61 @param parent
62 Parent window, must not be non-@NULL.
63 @param id
64 The identifier for the control.
65 @param font
66 The initial font shown in the control. If wxNullFont
67 is given, the default font is used.
68 @param pos
69 Initial position.
70 @param size
71 Initial size.
72 @param style
73 The window style, see wxFNTP_* flags.
74 @param validator
75 Validator which can be used for additional date checks.
76 @param name
77 Control name.
78
79 @returns @true if the control was successfully created or @false if
80 creation failed.
81 */
82 bool Create(wxWindow* parent, wxWindowID id,
83 const wxFont& font = wxNullFont,
84 const wxPoint& pos = wxDefaultPosition,
85 const wxSize& size = wxDefaultSize,
86 long style = wxFNTP_DEFAULT_STYLE,
87 const wxValidator& validator = wxDefaultValidator,
88 const wxString& name = "fontpickerctrl");
89
90 /**
91 Returns the maximum point size value allowed for the user-chosen font.
92 */
93 unsigned int GetMaxPointSize() const;
94
95 /**
96 Returns the currently selected font.
97 Note that this function is completely different from wxWindow::GetFont.
98 */
99 wxFont GetSelectedFont() const;
100
101 /**
102 Sets the maximum point size value allowed for the user-chosen font.
103 The default value is 100. Note that big fonts can require a lot of memory and
104 CPU time
105 both for creation and for rendering; thus, specially because the user has the
106 option to specify
107 the fontsize through a text control (see wxFNTP_USE_TEXTCTRL), it's a good idea
108 to put a limit
109 to the maximum font size when huge fonts do not make much sense.
110 */
111 void GetMaxPointSize(unsigned int max);
112
113 /**
114 Sets the currently selected font.
115 Note that this function is completely different from wxWindow::SetFont.
116 */
117 void SetSelectedFont(const wxFont& font);
118 };
119
120
121
122 /**
123 @class wxFontPickerEvent
124 @wxheader{fontpicker.h}
125
126 This event class is used for the events generated by
127 wxFontPickerCtrl.
128
129 @library{wxcore}
130 @category{FIXME}
131
132 @see wxFontPickerCtrl
133 */
134 class wxFontPickerEvent : public wxCommandEvent
135 {
136 public:
137 /**
138 The constructor is not normally used by the user code.
139 */
140 wxFontPickerEvent(wxObject* generator, int id,
141 const wxFont& font);
142
143 /**
144 Retrieve the font the user has just selected.
145 */
146 wxFont GetFont() const;
147
148 /**
149 Set the font associated with the event.
150 */
151 void SetFont(const wxFont& f);
152 };
153