This is implmentation of the feature which is already implemented in the native wxColourPicker under wxGTK.
		
			
				
	
	
		
			156 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | ||
| // Name:        clrpicker.h
 | ||
| // Purpose:     interface of wxColourPickerCtrl
 | ||
| // Author:      wxWidgets team
 | ||
| // Licence:     wxWindows licence
 | ||
| /////////////////////////////////////////////////////////////////////////////
 | ||
| 
 | ||
| #define wxCLRP_USE_TEXTCTRL       (wxPB_USE_TEXTCTRL)
 | ||
| #define wxCLRP_DEFAULT_STYLE      0
 | ||
| #define wxCLRP_SHOW_LABEL         0x0008
 | ||
| #define wxCLRP_SHOW_ALPHA         0x0010
 | ||
| 
 | ||
| wxEventType wxEVT_COLOURPICKER_CHANGED;
 | ||
| 
 | ||
| 
 | ||
| /**
 | ||
|     @class wxColourPickerCtrl
 | ||
| 
 | ||
|     This control allows the user to select a colour. The generic implementation
 | ||
|     is a button which brings up a wxColourDialog when clicked. Native
 | ||
|     implementation may differ but this is usually a (small) widget which give
 | ||
|     access to the colour-chooser dialog. It is only available if
 | ||
|     @c wxUSE_COLOURPICKERCTRL is set to 1 (the default).
 | ||
| 
 | ||
|     @beginStyleTable
 | ||
|     @style{wxCLRP_DEFAULT_STYLE}
 | ||
|            The default style: 0.
 | ||
|     @style{wxCLRP_USE_TEXTCTRL}
 | ||
|            Creates a text control to the left of the picker button which is
 | ||
|            completely managed by the wxColourPickerCtrl and which can be used
 | ||
|            by the user to specify a colour (see SetColour). The text control
 | ||
|            is automatically synchronized with button's value. Use functions
 | ||
|            defined in wxPickerBase to modify the text control.
 | ||
|     @style{wxCLRP_SHOW_LABEL}
 | ||
|            Shows the colour in HTML form (AABBCC) as colour button label
 | ||
|            (instead of no label at all).
 | ||
|     @style{wxCLRP_SHOW_ALPHA}
 | ||
|            Allows to select opacity in the colour-chooser (effective under
 | ||
|            wxGTK and wxOSX).
 | ||
|     @endStyleTable
 | ||
| 
 | ||
|     @beginEventEmissionTable{wxColourPickerEvent}
 | ||
|     @event{EVT_COLOURPICKER_CHANGED(id, func)}
 | ||
|            The user changed the colour selected in the control either using the
 | ||
|            button or using text control (see @c wxCLRP_USE_TEXTCTRL; note that
 | ||
|            in this case the event is fired only if the user’s input is valid,
 | ||
|            i.e. recognizable).
 | ||
|     @endEventTable
 | ||
| 
 | ||
|     @library{wxcore}
 | ||
|     @category{pickers}
 | ||
|     @appearance{colourpickerctrl}
 | ||
| 
 | ||
|     @see wxColourDialog, wxColourPickerEvent
 | ||
| */
 | ||
| class wxColourPickerCtrl : public wxPickerBase
 | ||
| {
 | ||
| public:
 | ||
|     wxColourPickerCtrl();
 | ||
|     
 | ||
|     /**
 | ||
|         Initializes the object and calls Create() with all the parameters.
 | ||
|     */
 | ||
|     wxColourPickerCtrl(wxWindow* parent, wxWindowID id,
 | ||
|                        const wxColour& colour = *wxBLACK,
 | ||
|                        const wxPoint& pos = wxDefaultPosition,
 | ||
|                        const wxSize& size = wxDefaultSize,
 | ||
|                        long style = wxCLRP_DEFAULT_STYLE,
 | ||
|                        const wxValidator& validator = wxDefaultValidator,
 | ||
|                        const wxString& name = wxColourPickerCtrlNameStr);
 | ||
| 
 | ||
|     /**
 | ||
|         Creates a colour picker with the given arguments.
 | ||
| 
 | ||
|         @param parent
 | ||
|             Parent window, must not be non-@NULL.
 | ||
|         @param id
 | ||
|             The identifier for the control.
 | ||
|         @param colour
 | ||
|             The initial colour shown in the control.
 | ||
|         @param pos
 | ||
|             Initial position.
 | ||
|         @param size
 | ||
|             Initial size.
 | ||
|         @param style
 | ||
|             The window style, see wxCRLP_* flags.
 | ||
|         @param validator
 | ||
|             Validator which can be used for additional date checks.
 | ||
|         @param name
 | ||
|             Control name.
 | ||
| 
 | ||
|         @return @true if the control was successfully created or @false if
 | ||
|                 creation failed.
 | ||
|     */
 | ||
|     bool Create(wxWindow* parent, wxWindowID id,
 | ||
|                 const wxColour& colour = *wxBLACK,
 | ||
|                 const wxPoint& pos = wxDefaultPosition,
 | ||
|                 const wxSize& size = wxDefaultSize,
 | ||
|                 long style = wxCLRP_DEFAULT_STYLE,
 | ||
|                 const wxValidator& validator = wxDefaultValidator,
 | ||
|                 const wxString& name = wxColourPickerCtrlNameStr);
 | ||
| 
 | ||
|     /**
 | ||
|         Returns the currently selected colour.
 | ||
|     */
 | ||
|     wxColour GetColour() const;
 | ||
| 
 | ||
|     //@{
 | ||
|     /**
 | ||
|         Sets the currently selected colour. See wxColour::Set().
 | ||
|     */
 | ||
|     void SetColour(const wxColour& col);
 | ||
|     void SetColour(const wxString& colname);
 | ||
|     //@}
 | ||
| };
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| /**
 | ||
|     @class wxColourPickerEvent
 | ||
| 
 | ||
|     This event class is used for the events generated by wxColourPickerCtrl.
 | ||
| 
 | ||
|     @beginEventTable{wxColourPickerEvent}
 | ||
|     @event{EVT_COLOURPICKER_CHANGED(id, func)}
 | ||
|            Generated whenever the selected colour changes.
 | ||
|     @endEventTable
 | ||
| 
 | ||
|     @library{wxcore}
 | ||
|     @category{events}
 | ||
| 
 | ||
|     @see wxColourPickerCtrl
 | ||
| */
 | ||
| class wxColourPickerEvent : public wxCommandEvent
 | ||
| {
 | ||
| public:
 | ||
|     wxColourPickerEvent();
 | ||
| 
 | ||
|     /**
 | ||
|         The constructor is not normally used by the user code.
 | ||
|     */
 | ||
|     wxColourPickerEvent(wxObject* generator, int id,
 | ||
|                         const wxColour& colour);
 | ||
| 
 | ||
|     /**
 | ||
|         Retrieve the colour the user has just selected.
 | ||
|     */
 | ||
|     wxColour GetColour() const;
 | ||
| 
 | ||
|     /**
 | ||
|         Set the colour associated with the event.
 | ||
|     */
 | ||
|     void SetColour(const wxColour& pos);
 | ||
| };
 | ||
| 
 |