| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: fontpicker.h
- // Purpose: interface of wxFontPickerCtrl
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #define wxFNTP_FONTDESC_AS_LABEL 0x0008
- #define wxFNTP_USEFONT_FOR_LABEL 0x0010
- #define wxFONTBTN_DEFAULT_STYLE (wxFNTP_FONTDESC_AS_LABEL | wxFNTP_USEFONT_FOR_LABEL)
- #define wxFNTP_USE_TEXTCTRL (wxPB_USE_TEXTCTRL)
- #define wxFNTP_DEFAULT_STYLE (wxFNTP_FONTDESC_AS_LABEL|wxFNTP_USEFONT_FOR_LABEL)
- wxEventType wxEVT_FONTPICKER_CHANGED;
- /**
- @class wxFontPickerCtrl
- This control allows the user to select a font. The generic implementation is
- a button which brings up a wxFontDialog when clicked. Native implementation
- may differ but this is usually a (small) widget which give access to the
- font-chooser dialog.
- It is only available if @c wxUSE_FONTPICKERCTRL is set to 1 (the default).
- @beginStyleTable
- @style{wxFNTP_DEFAULT_STYLE}
- The default style: wxFNTP_FONTDESC_AS_LABEL | wxFNTP_USEFONT_FOR_LABEL.
- @style{wxFNTP_USE_TEXTCTRL}
- Creates a text control to the left of the picker button which is
- completely managed by the wxFontPickerCtrl and which can be used by
- the user to specify a font (see SetSelectedFont). The text control
- is automatically synchronized with button's value. Use functions
- defined in wxPickerBase to modify the text control.
- @style{wxFNTP_FONTDESC_AS_LABEL}
- Keeps the label of the button updated with the fontface name and
- the font size. E.g. choosing "Times New Roman bold, italic with
- size 10" from the fontdialog, will update the label (overwriting
- any previous label) with the "Times New Roman, 10" text.
- @style{wxFNTP_USEFONT_FOR_LABEL}
- Uses the currently selected font to draw the label of the button.
- @endStyleTable
- @beginEventEmissionTable{wxFontPickerEvent}
- @event{EVT_FONTPICKER_CHANGED(id, func)}
- The user changed the font selected in the control either using the button
- or using text control (see wxFNTP_USE_TEXTCTRL; note that in this case the
- event is fired only if the user's input is valid, i.e. recognizable).
- @endEventTable
- @library{wxcore}
- @category{pickers}
- @appearance{fontpickerctrl}
- @see wxFontDialog, wxFontPickerEvent
- */
- class wxFontPickerCtrl : public wxPickerBase
- {
- public:
- wxFontPickerCtrl();
-
- /**
- Initializes the object and calls Create() with
- all the parameters.
- */
- wxFontPickerCtrl(wxWindow* parent, wxWindowID id,
- const wxFont& font = wxNullFont,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxFNTP_DEFAULT_STYLE,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxFontPickerCtrlNameStr);
- /**
- Creates this widget with given parameters.
- @param parent
- Parent window, must not be non-@NULL.
- @param id
- The identifier for the control.
- @param font
- The initial font shown in the control.
- If ::wxNullFont is given, the default font is used.
- @param pos
- Initial position.
- @param size
- Initial size.
- @param style
- The window style, see wxFNTP_* flags.
- @param validator
- Validator which can be used for additional date checks.
- @param name
- Control name.
- @return @true if the control was successfully created or @false if
- creation failed.
- */
- bool Create(wxWindow* parent, wxWindowID id,
- const wxFont& font = wxNullFont,
- const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize,
- long style = wxFNTP_DEFAULT_STYLE,
- const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxFontPickerCtrlNameStr);
- /**
- Returns the maximum point size value allowed for the user-chosen font.
- */
- unsigned int GetMaxPointSize() const;
- /**
- Returns the currently selected font.
- Note that this function is completely different from wxWindow::GetFont.
- */
- wxFont GetSelectedFont() const;
- /**
- Sets the maximum point size value allowed for the user-chosen font.
- The default value is 100. Note that big fonts can require a lot of memory and
- CPU time both for creation and for rendering; thus, specially because the user
- has the option to specify the fontsize through a text control
- (see wxFNTP_USE_TEXTCTRL), it's a good idea to put a limit to the maximum
- font size when huge fonts do not make much sense.
- */
- void SetMaxPointSize(unsigned int max);
- /**
- Sets the currently selected font.
- Note that this function is completely different from wxWindow::SetFont.
- */
- void SetSelectedFont(const wxFont& font);
- };
- /**
- @class wxFontPickerEvent
- This event class is used for the events generated by
- wxFontPickerCtrl.
- @beginEventTable{wxFontPickerEvent}
- @event{EVT_FONTPICKER_CHANGED(id, func)}
- Generated whenever the selected font changes.
- @endEventTable
- @library{wxcore}
- @category{events}
- @see wxFontPickerCtrl
- */
- class wxFontPickerEvent : public wxCommandEvent
- {
- public:
- /**
- The constructor is not normally used by the user code.
- */
- wxFontPickerEvent(wxObject* generator, int id,
- const wxFont& font);
- /**
- Retrieve the font the user has just selected.
- */
- wxFont GetFont() const;
- /**
- Set the font associated with the event.
- */
- void SetFont(const wxFont& f);
- };
|