]> git.saurik.com Git - wxWidgets.git/blob - include/wx/generic/clrpickerg.h
Make wxGenericColourButton derive from wxBitmapButton
[wxWidgets.git] / include / wx / generic / clrpickerg.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/generic/clrpickerg.h
3 // Purpose: wxGenericColourButton header
4 // Author: Francesco Montorsi (based on Vadim Zeitlin's code)
5 // Modified by:
6 // Created: 14/4/2006
7 // Copyright: (c) Vadim Zeitlin, Francesco Montorsi
8 // RCS-ID: $Id$
9 // Licence: wxWindows Licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_CLRPICKER_H_
13 #define _WX_CLRPICKER_H_
14
15 #include "wx/button.h"
16 #include "wx/cmndata.h"
17
18 //-----------------------------------------------------------------------------
19 // wxGenericColourButton: a button which brings up a wxColourDialog
20 //-----------------------------------------------------------------------------
21
22 class WXDLLIMPEXP_CORE wxGenericColourButton : public wxBitmapButton,
23 public wxColourPickerWidgetBase
24 {
25 public:
26 wxGenericColourButton() {}
27 wxGenericColourButton(wxWindow *parent,
28 wxWindowID id,
29 const wxColour& col = *wxBLACK,
30 const wxPoint& pos = wxDefaultPosition,
31 const wxSize& size = wxDefaultSize,
32 long style = wxCLRBTN_DEFAULT_STYLE,
33 const wxValidator& validator = wxDefaultValidator,
34 const wxString& name = wxColourPickerWidgetNameStr)
35 {
36 Create(parent, id, col, pos, size, style, validator, name);
37 }
38
39 virtual ~wxGenericColourButton() {}
40
41
42 public: // API extensions specific for wxGenericColourButton
43
44 // user can override this to init colour data in a different way
45 virtual void InitColourData();
46
47 // returns the colour data shown in wxColourDialog
48 wxColourData *GetColourData() { return &ms_data; }
49
50
51 public:
52
53 bool Create(wxWindow *parent,
54 wxWindowID id,
55 const wxColour& col = *wxBLACK,
56 const wxPoint& pos = wxDefaultPosition,
57 const wxSize& size = wxDefaultSize,
58 long style = wxCLRBTN_DEFAULT_STYLE,
59 const wxValidator& validator = wxDefaultValidator,
60 const wxString& name = wxColourPickerWidgetNameStr);
61
62 void OnButtonClick(wxCommandEvent &);
63
64
65 protected:
66 wxBitmap m_bitmap;
67
68 wxSize DoGetBestSize() const;
69
70 void UpdateColour();
71
72 // the colour data shown in wxColourPickerCtrlGeneric
73 // controls. This member is static so that all colour pickers
74 // in the program share the same set of custom colours.
75 static wxColourData ms_data;
76
77 private:
78 DECLARE_DYNAMIC_CLASS(wxGenericColourButton)
79 };
80
81
82 #endif // _WX_CLRPICKER_H_