188 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			188 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        checkbox.h
 | 
						|
// Purpose:     interface of wxCheckBox
 | 
						|
// Author:      wxWidgets team
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
/*
 | 
						|
 * wxCheckBox style flags
 | 
						|
 * (Using wxCHK_* because wxCB_* is used by wxComboBox).
 | 
						|
 * Determine whether to use a 3-state or 2-state
 | 
						|
 * checkbox. 3-state enables to differentiate
 | 
						|
 * between 'unchecked', 'checked' and 'undetermined'.
 | 
						|
 *
 | 
						|
 * In addition to the styles here it is also possible to specify just 0 which
 | 
						|
 * is treated the same as wxCHK_2STATE for compatibility (but using explicit
 | 
						|
 * flag is preferred).
 | 
						|
 */
 | 
						|
#define wxCHK_2STATE           0x4000
 | 
						|
#define wxCHK_3STATE           0x1000
 | 
						|
 | 
						|
/*
 | 
						|
 * If this style is set the user can set the checkbox to the
 | 
						|
 * undetermined state. If not set the undetermined set can only
 | 
						|
 * be set programmatically.
 | 
						|
 * This style can only be used with 3 state checkboxes.
 | 
						|
 */
 | 
						|
#define wxCHK_ALLOW_3RD_STATE_FOR_USER 0x2000
 | 
						|
 | 
						|
/**
 | 
						|
    The possible states of a 3-state wxCheckBox (Compatible with the 2-state
 | 
						|
    wxCheckBox).
 | 
						|
*/
 | 
						|
enum wxCheckBoxState
 | 
						|
{
 | 
						|
    wxCHK_UNCHECKED,
 | 
						|
    wxCHK_CHECKED,
 | 
						|
    wxCHK_UNDETERMINED  ///< 3-state checkbox only
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxCheckBox
 | 
						|
 | 
						|
    A checkbox is a labelled box which by default is either on (checkmark is
 | 
						|
    visible) or off (no checkmark). Optionally (when the wxCHK_3STATE style
 | 
						|
    flag is set) it can have a third state, called the mixed or undetermined
 | 
						|
    state. Often this is used as a "Does Not Apply" state.
 | 
						|
 | 
						|
    @beginStyleTable
 | 
						|
    @style{wxCHK_2STATE}
 | 
						|
           Create a 2-state checkbox. This is the default.
 | 
						|
    @style{wxCHK_3STATE}
 | 
						|
           Create a 3-state checkbox. Not implemented in wxGTK1.
 | 
						|
    @style{wxCHK_ALLOW_3RD_STATE_FOR_USER}
 | 
						|
           By default a user can't set a 3-state checkbox to the third state.
 | 
						|
           It can only be done from code. Using this flags allows the user to
 | 
						|
           set the checkbox to the third state by clicking.
 | 
						|
    @style{wxALIGN_RIGHT}
 | 
						|
           Makes the text appear on the left of the checkbox.
 | 
						|
    @endStyleTable
 | 
						|
 | 
						|
    @beginEventEmissionTable{wxCommandEvent}
 | 
						|
    @event{EVT_CHECKBOX(id, func)}
 | 
						|
           Process a @c wxEVT_CHECKBOX event, when the checkbox
 | 
						|
           is clicked.
 | 
						|
    @endEventTable
 | 
						|
 | 
						|
    @library{wxcore}
 | 
						|
    @category{ctrl}
 | 
						|
    @appearance{checkbox}
 | 
						|
 | 
						|
    @see wxRadioButton, wxCommandEvent
 | 
						|
*/
 | 
						|
class wxCheckBox : public wxControl
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Default constructor.
 | 
						|
 | 
						|
        @see Create(), wxValidator
 | 
						|
    */
 | 
						|
    wxCheckBox();
 | 
						|
 | 
						|
    /**
 | 
						|
        Constructor, creating and showing a checkbox.
 | 
						|
 | 
						|
        @param parent
 | 
						|
            Parent window. Must not be @NULL.
 | 
						|
        @param id
 | 
						|
            Checkbox identifier. The value wxID_ANY indicates a default value.
 | 
						|
        @param label
 | 
						|
            Text to be displayed next to the checkbox.
 | 
						|
        @param pos
 | 
						|
            Checkbox position. 
 | 
						|
            If ::wxDefaultPosition is specified then a default position is chosen.
 | 
						|
        @param size
 | 
						|
            Checkbox size. 
 | 
						|
            If ::wxDefaultSize is specified then a default size is chosen.
 | 
						|
        @param style
 | 
						|
            Window style. See wxCheckBox.
 | 
						|
        @param validator
 | 
						|
            Window validator.
 | 
						|
        @param name
 | 
						|
            Window name.
 | 
						|
 | 
						|
        @see Create(), wxValidator
 | 
						|
    */
 | 
						|
    wxCheckBox(wxWindow* parent, wxWindowID id,
 | 
						|
               const wxString& label,
 | 
						|
               const wxPoint& pos = wxDefaultPosition,
 | 
						|
               const wxSize& size = wxDefaultSize,
 | 
						|
               long style = 0,
 | 
						|
               const wxValidator& validator = wxDefaultValidator,
 | 
						|
               const wxString& name = wxCheckBoxNameStr);
 | 
						|
 | 
						|
    /**
 | 
						|
        Destructor, destroying the checkbox.
 | 
						|
    */
 | 
						|
    virtual ~wxCheckBox();
 | 
						|
 | 
						|
    /**
 | 
						|
        Creates the checkbox for two-step construction. See wxCheckBox()
 | 
						|
        for details.
 | 
						|
    */
 | 
						|
    bool Create(wxWindow* parent, wxWindowID id, const wxString& label,
 | 
						|
                const wxPoint& pos = wxDefaultPosition,
 | 
						|
                const wxSize& size = wxDefaultSize, long style = 0,
 | 
						|
                const wxValidator& validator = wxDefaultValidator,
 | 
						|
                const wxString& name = wxCheckBoxNameStr);
 | 
						|
 | 
						|
    /**
 | 
						|
        Gets the state of a 2-state checkbox.
 | 
						|
 | 
						|
        @return Returns @true if it is checked, @false otherwise.
 | 
						|
    */
 | 
						|
    virtual bool GetValue() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Gets the state of a 3-state checkbox. Asserts when the function is used
 | 
						|
        with a 2-state checkbox.
 | 
						|
    */
 | 
						|
    wxCheckBoxState Get3StateValue() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns whether or not the checkbox is a 3-state checkbox.
 | 
						|
 | 
						|
        @return @true if this checkbox is a 3-state checkbox, @false if it's
 | 
						|
                a 2-state checkbox.
 | 
						|
    */
 | 
						|
    bool Is3State() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns whether or not the user can set the checkbox to the third
 | 
						|
        state.
 | 
						|
 | 
						|
        @return @true if the user can set the third state of this checkbox,
 | 
						|
                @false if it can only be set programmatically or if it's a
 | 
						|
                2-state checkbox.
 | 
						|
    */
 | 
						|
    bool Is3rdStateAllowedForUser() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        This is just a maybe more readable synonym for GetValue(): just as the
 | 
						|
        latter, it returns @true if the checkbox is checked and @false
 | 
						|
        otherwise.
 | 
						|
    */
 | 
						|
    bool IsChecked() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Sets the checkbox to the given state. This does not cause a
 | 
						|
        @c wxEVT_CHECKBOX event to get emitted.
 | 
						|
 | 
						|
        @param state
 | 
						|
            If @true, the check is on, otherwise it is off.
 | 
						|
    */
 | 
						|
    virtual void SetValue(bool state);
 | 
						|
 | 
						|
    /**
 | 
						|
        Sets the checkbox to the given state. This does not cause a
 | 
						|
        @c wxEVT_CHECKBOX event to get emitted.
 | 
						|
 | 
						|
        Asserts when the checkbox is a 2-state checkbox and setting the state
 | 
						|
        to wxCHK_UNDETERMINED.
 | 
						|
    */
 | 
						|
    void Set3StateValue(wxCheckBoxState state);
 | 
						|
};
 | 
						|
 |