]>
git.saurik.com Git - wxWidgets.git/blob - interface/richtext/richtextsymboldlg.h
f862372780f7674fc92b2bcf9f5e6469f9d06719
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: richtext/richtextsymboldlg.h
3 // Purpose: interface of wxSymbolPickerDialog
4 // Author: wxWidgets team
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
10 @class wxSymbolPickerDialog
11 @headerfile richtextsymboldlg.h wx/richtext/richtextsymboldlg.h
13 wxSymbolPickerDialog presents the user with a choice of fonts and a grid
14 of available characters. This modal dialog provides the application with
15 a selected symbol and optional font selection.
17 Although this dialog is contained in the rich text library, the dialog
18 is generic and can be used in other contexts.
20 To use the dialog, pass a default symbol specified as a string, an initial font
22 and a current font name. The difference between the initial font and
23 current font is that the initial font determines what the font control will be
24 set to when the dialog shows - an empty string will show the selection @e
26 The current font, on the other hand, is used by the dialog to determine what
28 to display the characters in, even when no initial font is selected.
29 This allows the user (and application) to distinguish between inserting a
30 symbol in the current font, and inserting it with a specified font.
32 When the dialog is dismissed, the application can get the selected symbol
33 with GetSymbol and test whether a font was specified with UseNormalFont,
34 fetching the specified font with GetFontName.
36 Here's a realistic example, inserting the supplied symbol into a
37 rich text control in either the current font or specified font.
40 wxRichTextCtrl* ctrl = (wxRichTextCtrl*) FindWindow(ID_RICHTEXT_CTRL);
43 attr.SetFlags(wxTEXT_ATTR_FONT);
44 ctrl-GetStyle(ctrl-GetInsertionPoint(), attr);
46 wxString currentFontName;
47 if (attr.HasFont() && attr.GetFont().Ok())
48 currentFontName = attr.GetFont().GetFaceName();
50 // Don't set the initial font in the dialog (so the user is choosing
51 // 'normal text', i.e. the current font) but do tell the dialog
52 // what 'normal text' is.
54 wxSymbolPickerDialog dlg(wxT("*"), wxEmptyString, currentFontName, this);
56 if (dlg.ShowModal() == wxID_OK)
58 if (dlg.HasSelection())
60 long insertionPoint = ctrl-GetInsertionPoint();
62 ctrl-WriteText(dlg.GetSymbol());
64 if (!dlg.UseNormalFont())
66 wxFont font(attr.GetFont());
67 font.SetFaceName(dlg.GetFontName());
69 ctrl-SetStyle(insertionPoint, insertionPoint+1, attr);
78 class wxSymbolPickerDialog
: public wxDialog
86 The initial symbol to show. Specify a single character in a string, or an
89 The initial font to be displayed in the font list. If empty, the item
90 normal text will be selected.
92 The font the dialog will use to display the symbols if the initial font is
97 The dialog's identifier.
101 The dialog's position.
105 The dialog's window style.
107 wxSymbolPickerDialog(const wxString
& symbol
,
108 const wxString
& initialFont
,
109 const wxString
& normalTextFont
,
111 wxWindowID id
= wxID_ANY
);
112 const wxSize
& size
= wxDefaultSize
, long style
= wxDEFAULT_DIALOG_STYLE
|wxRESIZE_BORDER
|wxCLOSE_BOX
)
113 wxSymbolPickerDialog();
117 , wxPoint&@e pos = wxDefaultPosition, wxSize&@e size = wxDefaultSize, @b
118 long@e style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER|wxCLOSE_BOX)
119 Creation: see @ref wxsymbolpickerdialog() "the constructor" for details about
122 bool Create(const wxString
& symbol
, const wxString
& initialFont
,
123 const wxString
& normalTextFont
,
125 wxWindowID id
= wxID_ANY
) const;
128 Returns the font name (the font reflected in the font list).
130 wxString
GetFontName() const;
133 Returns @true if the dialog is showing the full range of Unicode characters.
135 bool GetFromUnicode() const;
138 Gets the font name used for displaying symbols in the absence of a selected
141 wxString
GetNormalTextFontName() const;
144 Gets the current or initial symbol as a string.
146 wxString
GetSymbol() const;
149 Gets the selected symbol character as an integer.
151 int GetSymbolChar() const;
154 Returns @true if a symbol is selected.
156 bool HasSelection() const;
159 Sets the initial/selected font name.
161 void SetFontName(const wxString
& value
);
164 Sets the internal flag indicating that the full Unicode range should be
167 void SetFromUnicode(bool value
);
170 Sets the name of the font to be used in the absence of a selected font.
172 void SetNormalTextFontName(const wxString
& value
);
175 Sets the symbol as a one or zero character string.
177 void SetSymbol(const wxString
& value
);
180 Sets Unicode display mode.
182 void SetUnicodeMode(bool unicodeMode
);
185 Returns @true if the has specified normal text - that is, there is no selected
188 bool UseNormalFont() const;