X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec376c8fd9ff813392030426acd2317c6fa6527e..43cf637fac1894db167f0ed34d1958107a48ea85:/include/wx/fontpicker.h diff --git a/include/wx/fontpicker.h b/include/wx/fontpicker.h index 88a29d4b55..51b4a21766 100644 --- a/include/wx/fontpicker.h +++ b/include/wx/fontpicker.h @@ -17,14 +17,13 @@ #if wxUSE_FONTPICKERCTRL -#include "wx/control.h" #include "wx/pickerbase.h" -class WXDLLIMPEXP_CORE wxFontPickerEvent; +class WXDLLIMPEXP_FWD_CORE wxFontPickerEvent; -extern WXDLLEXPORT_DATA(const wxChar) wxFontPickerWidgetNameStr[]; -extern WXDLLEXPORT_DATA(const wxChar) wxFontPickerCtrlNameStr[]; +extern WXDLLEXPORT_DATA(const char) wxFontPickerWidgetNameStr[]; +extern WXDLLEXPORT_DATA(const char) wxFontPickerCtrlNameStr[]; // ---------------------------------------------------------------------------- @@ -67,7 +66,11 @@ protected: // uses the currently selected font to draw the label of the button #define wxFNTP_USEFONT_FOR_LABEL 0x0010 -#if defined(__WXGTK24__) // since GTK > 2.4, there is GtkFontButton +#define wxFONTBTN_DEFAULT_STYLE \ + (wxFNTP_FONTDESC_AS_LABEL | wxFNTP_USEFONT_FOR_LABEL) + +// native version currently only exists in wxGTK2 +#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) #include "wx/gtk/fontpicker.h" #define wxFontPickerWidget wxFontButton #else @@ -80,8 +83,8 @@ protected: // wxFontPickerCtrl specific flags // ---------------------------------------------------------------------------- -#define wxFNTP_USE_TEXTCTRL wxPB_USE_TEXTCTRL -#define wxFNTP_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) // not a style but rather the default value of the maximum pointsize allowed #define wxFNTP_MAXPOINT_SIZE 100 @@ -107,7 +110,7 @@ public: wxFontPickerCtrl(wxWindow *parent, wxWindowID id, - const wxFont& initial = *wxNORMAL_FONT, + const wxFont& initial = wxNullFont, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxFNTP_DEFAULT_STYLE, @@ -121,7 +124,7 @@ public: bool Create(wxWindow *parent, wxWindowID id, - const wxFont& initial = *wxNORMAL_FONT, + const wxFont& initial = wxNullFont, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxFNTP_DEFAULT_STYLE, @@ -156,12 +159,12 @@ public: // internal functions virtual wxString Font2String(const wxFont &font); virtual wxFont String2Font(const wxString &font); +protected: + // extracts the style for our picker from wxFontPickerCtrl's style long GetPickerStyle(long style) const { return (style & (wxFNTP_FONTDESC_AS_LABEL|wxFNTP_USEFONT_FOR_LABEL)); } -protected: - // true if the next UpdateTextCtrl() call is to ignore bool m_bIgnoreNextTextCtrlUpdate; @@ -195,10 +198,13 @@ public: wxFont GetFont() const { return m_font; } void SetFont(const wxFont &c) { m_font = c; } + // default copy ctor, assignment operator and dtor are ok + virtual wxEvent *Clone() const { return new wxFontPickerEvent(*this); } + private: wxFont m_font; - DECLARE_DYNAMIC_CLASS_NO_COPY(wxFontPickerEvent) + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxFontPickerEvent) }; // ---------------------------------------------------------------------------- @@ -213,13 +219,6 @@ typedef void (wxEvtHandler::*wxFontPickerEventFunction)(wxFontPickerEvent&); #define EVT_FONTPICKER_CHANGED(id, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_FONTPICKER_CHANGED, id, wxFontPickerEventHandler(fn)) -#ifdef _WX_DEFINE_DATE_EVENTS_ - DEFINE_EVENT_TYPE(wxEVT_COMMAND_FONTPICKER_CHANGED) - - IMPLEMENT_DYNAMIC_CLASS(wxFontPickerEvent, wxCommandEvent) -#endif - - #endif // wxUSE_FONTPICKERCTRL