X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec376c8fd9ff813392030426acd2317c6fa6527e..0555b2a0a3c509687e7fc5aeb160f5171b7e6311:/include/wx/clrpicker.h?ds=sidebyside diff --git a/include/wx/clrpicker.h b/include/wx/clrpicker.h index fdd10bd80e..9228596daa 100644 --- a/include/wx/clrpicker.h +++ b/include/wx/clrpicker.h @@ -17,14 +17,20 @@ #if wxUSE_COLOURPICKERCTRL -#include "wx/control.h" #include "wx/pickerbase.h" -class WXDLLIMPEXP_CORE wxColourPickerEvent; +class WXDLLIMPEXP_FWD_CORE wxColourPickerEvent; + +extern WXDLLIMPEXP_DATA_CORE(const char) wxColourPickerWidgetNameStr[]; +extern WXDLLIMPEXP_DATA_CORE(const char) wxColourPickerCtrlNameStr[]; + +// show the colour in HTML form (#AABBCC) as colour button label +#define wxCLRBTN_SHOW_LABEL 100 + +// the default style +#define wxCLRBTN_DEFAULT_STYLE (wxCLRBTN_SHOW_LABEL) -extern WXDLLEXPORT_DATA(const wxChar) wxColourPickerWidgetNameStr[]; -extern WXDLLEXPORT_DATA(const wxChar) wxColourPickerCtrlNameStr[]; // ---------------------------------------------------------------------------- @@ -70,7 +76,8 @@ protected: // fact that all classes being mapped as wxColourPickerWidget have the // same prototype for their contructor (and also explains why we use // define instead of a typedef) -#if defined(__WXGTK24__) // since GTK > 2.4, there is GtkColorButton +// since GTK > 2.4, there is GtkColorButton +#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) #include "wx/gtk/clrpicker.h" #define wxColourPickerWidget wxColourButton #else @@ -85,13 +92,13 @@ protected: // used, a textctrl next to it. // ---------------------------------------------------------------------------- -#define wxCLRP_USE_TEXTCTRL wxPB_USE_TEXTCTRL +#define wxCLRP_USE_TEXTCTRL (wxPB_USE_TEXTCTRL) #define wxCLRP_DEFAULT_STYLE 0 class WXDLLIMPEXP_CORE wxColourPickerCtrl : public wxPickerBase { public: - wxColourPickerCtrl() : m_bIgnoreNextTextCtrlUpdate(false) {} + wxColourPickerCtrl() {} virtual ~wxColourPickerCtrl() {} @@ -100,7 +107,6 @@ public: const wxSize& size = wxDefaultSize, long style = wxCLRP_DEFAULT_STYLE, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxColourPickerCtrlNameStr) - : m_bIgnoreNextTextCtrlUpdate(false) { Create(parent, id, col, pos, size, style, validator, name); } bool Create(wxWindow *parent, wxWindowID id, @@ -137,14 +143,10 @@ public: // internal functions // event handler for our picker void OnColourChange(wxColourPickerEvent &); +protected: virtual long GetPickerStyle(long style) const { return (style & wxCLRP_SHOW_LABEL); } -protected: - - // true if the next UpdateTextCtrl() call is to ignore - bool m_bIgnoreNextTextCtrlUpdate; - private: DECLARE_DYNAMIC_CLASS(wxColourPickerCtrl) }; @@ -154,9 +156,7 @@ private: // wxColourPickerEvent: used by wxColourPickerCtrl only // ---------------------------------------------------------------------------- -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_CORE, wxEVT_COMMAND_COLOURPICKER_CHANGED, 1102) -END_DECLARE_EVENT_TYPES() +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_COMMAND_COLOURPICKER_CHANGED, wxColourPickerEvent ); class WXDLLIMPEXP_CORE wxColourPickerEvent : public wxCommandEvent { @@ -172,10 +172,14 @@ public: wxColour GetColour() const { return m_colour; } void SetColour(const wxColour &c) { m_colour = c; } + + // default copy ctor, assignment operator and dtor are ok + virtual wxEvent *Clone() const { return new wxColourPickerEvent(*this); } + private: wxColour m_colour; - DECLARE_DYNAMIC_CLASS_NO_COPY(wxColourPickerEvent) + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxColourPickerEvent) }; // ---------------------------------------------------------------------------- @@ -185,18 +189,11 @@ private: typedef void (wxEvtHandler::*wxColourPickerEventFunction)(wxColourPickerEvent&); #define wxColourPickerEventHandler(func) \ - (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxColourPickerEventFunction, &func) + wxEVENT_HANDLER_CAST(wxColourPickerEventFunction, func) #define EVT_COLOURPICKER_CHANGED(id, fn) \ wx__DECLARE_EVT1(wxEVT_COMMAND_COLOURPICKER_CHANGED, id, wxColourPickerEventHandler(fn)) -#ifdef _WX_DEFINE_DATE_EVENTS_ - DEFINE_EVENT_TYPE(wxEVT_COMMAND_COLOURPICKER_CHANGED) - - IMPLEMENT_DYNAMIC_CLASS(wxColourPickerEvent, wxCommandEvent) -#endif - - #endif // wxUSE_COLOURPICKERCTRL