// Modified by:
// Created: 14/4/2006
// Copyright: (c) Francesco Montorsi
-// RCS-ID: $Id$
// Licence: wxWindows Licence
/////////////////////////////////////////////////////////////////////////////
#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 WXDLLIMPEXP_DATA_CORE(const char) wxFontPickerWidgetNameStr[];
+extern WXDLLIMPEXP_DATA_CORE(const char) wxFontPickerCtrlNameStr[];
// ----------------------------------------------------------------------------
// 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
// 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
{
public:
wxFontPickerCtrl()
- : m_bIgnoreNextTextCtrlUpdate(false),
- m_nMaxPointSize(wxFNTP_MAXPOINT_SIZE)
+ : m_nMaxPointSize(wxFNTP_MAXPOINT_SIZE)
{
}
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,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxFontPickerCtrlNameStr)
- : m_bIgnoreNextTextCtrlUpdate(false),
- m_nMaxPointSize(wxFNTP_MAXPOINT_SIZE)
+ : m_nMaxPointSize(wxFNTP_MAXPOINT_SIZE)
{
Create(parent, id, initial, pos, size, style, validator, name);
}
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,
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;
-
// the maximum pointsize allowed to the user
unsigned int m_nMaxPointSize;
// wxFontPickerEvent: used by wxFontPickerCtrl only
// ----------------------------------------------------------------------------
-BEGIN_DECLARE_EVENT_TYPES()
- DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_CORE, wxEVT_COMMAND_FONTPICKER_CHANGED, 1102)
-END_DECLARE_EVENT_TYPES()
+wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_FONTPICKER_CHANGED, wxFontPickerEvent );
class WXDLLIMPEXP_CORE wxFontPickerEvent : public wxCommandEvent
{
public:
wxFontPickerEvent() {}
wxFontPickerEvent(wxObject *generator, int id, const wxFont &f)
- : wxCommandEvent(wxEVT_COMMAND_FONTPICKER_CHANGED, id),
+ : wxCommandEvent(wxEVT_FONTPICKER_CHANGED, id),
m_font(f)
{
SetEventObject(generator);
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)
};
// ----------------------------------------------------------------------------
typedef void (wxEvtHandler::*wxFontPickerEventFunction)(wxFontPickerEvent&);
#define wxFontPickerEventHandler(func) \
- (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxFontPickerEventFunction, &func)
+ wxEVENT_HANDLER_CAST(wxFontPickerEventFunction, func)
#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
+ wx__DECLARE_EVT1(wxEVT_FONTPICKER_CHANGED, id, wxFontPickerEventHandler(fn))
+// old wxEVT_COMMAND_* constants
+#define wxEVT_COMMAND_FONTPICKER_CHANGED wxEVT_FONTPICKER_CHANGED
#endif // wxUSE_FONTPICKERCTRL