]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/clrpicker.h
correct positioning of the control and removed workarounds for old MSW bugs
[wxWidgets.git] / include / wx / clrpicker.h
index fdd10bd80e94c114bd9750fe8ca4f5788160690a..59edfe8436e8d89c862ad96cd27fe0c90f8484b2 100644 (file)
 
 #if wxUSE_COLOURPICKERCTRL
 
 
 #if wxUSE_COLOURPICKERCTRL
 
-#include "wx/control.h"
 #include "wx/pickerbase.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)
 //       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
     #include "wx/gtk/clrpicker.h"
     #define wxColourPickerWidget      wxColourButton
 #else
@@ -85,7 +92,7 @@ protected:
 // used, a textctrl next to it.
 // ----------------------------------------------------------------------------
 
 // 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
 #define wxCLRP_DEFAULT_STYLE      0
 
 class WXDLLIMPEXP_CORE wxColourPickerCtrl : public wxPickerBase
@@ -137,11 +144,10 @@ public:        // internal functions
     // event handler for our picker
     void OnColourChange(wxColourPickerEvent &);
 
     // event handler for our picker
     void OnColourChange(wxColourPickerEvent &);
 
+protected:
     virtual long GetPickerStyle(long style) const
         { return (style & wxCLRP_SHOW_LABEL); }
 
     virtual long GetPickerStyle(long style) const
         { return (style & wxCLRP_SHOW_LABEL); }
 
-protected:
-
     // true if the next UpdateTextCtrl() call is to ignore
     bool m_bIgnoreNextTextCtrlUpdate;
 
     // true if the next UpdateTextCtrl() call is to ignore
     bool m_bIgnoreNextTextCtrlUpdate;
 
@@ -154,9 +160,7 @@ private:
 // wxColourPickerEvent: used by wxColourPickerCtrl only
 // ----------------------------------------------------------------------------
 
 // wxColourPickerEvent: used by wxColourPickerCtrl only
 // ----------------------------------------------------------------------------
 
-BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_CORE, wxEVT_COMMAND_COLOURPICKER_CHANGED, 1102)
-END_DECLARE_EVENT_TYPES()
+extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_COLOURPICKER_CHANGED;
 
 class WXDLLIMPEXP_CORE wxColourPickerEvent : public wxCommandEvent
 {
 
 class WXDLLIMPEXP_CORE wxColourPickerEvent : public wxCommandEvent
 {
@@ -172,10 +176,14 @@ public:
     wxColour GetColour() const { return m_colour; }
     void SetColour(const wxColour &c) { m_colour = c; }
 
     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;
 
 private:
     wxColour m_colour;
 
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxColourPickerEvent)
+    DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxColourPickerEvent)
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
@@ -190,13 +198,6 @@ typedef void (wxEvtHandler::*wxColourPickerEventFunction)(wxColourPickerEvent&);
 #define EVT_COLOURPICKER_CHANGED(id, fn) \
     wx__DECLARE_EVT1(wxEVT_COMMAND_COLOURPICKER_CHANGED, id, wxColourPickerEventHandler(fn))
 
 #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
 
 
 #endif // wxUSE_COLOURPICKERCTRL