Correct the previously wrong described behaviour for wxRB_SINGLE buttons
and also mention that Get{First,Last}InGroup() never return NULL.
		
	
		
			
				
	
	
		
			193 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			193 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        radiobut.h
 | 
						|
// Purpose:     interface of wxRadioButton
 | 
						|
// Author:      wxWidgets team
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxRadioButton
 | 
						|
 | 
						|
    A radio button item is a button which usually denotes one of several
 | 
						|
    mutually exclusive options. It has a text label next to a (usually) round
 | 
						|
    button.
 | 
						|
 | 
						|
    Radio buttons are typically used in groups of mutually-exclusive buttons,
 | 
						|
    i.e. exactly one of the buttons in the group is checked, and the other ones
 | 
						|
    are unchecked automatically. Such groups are created implicitly, but can
 | 
						|
    also be started explicitly by using @c wxRB_GROUP style: a button with this
 | 
						|
    style starts a new group and will become the initial selection in this
 | 
						|
    group. Alternatively, a radio button may be excluded from the group that it
 | 
						|
    would otherwise belong to by using @c wxRB_SINGLE style.
 | 
						|
 | 
						|
    To find the other elements of the same radio button group, you can use
 | 
						|
    GetFirstInGroup(), GetPreviousInGroup(), GetNextInGroup() and
 | 
						|
    GetLastInGroup() functions.
 | 
						|
 | 
						|
 | 
						|
    @beginStyleTable
 | 
						|
    @style{wxRB_GROUP}
 | 
						|
           Marks the beginning of a new group of radio buttons.
 | 
						|
    @style{wxRB_SINGLE}
 | 
						|
           Creates a radio button which is not part of any radio button group.
 | 
						|
           When this style is used, no other radio buttons will be turned off
 | 
						|
           automatically when this button is turned on and such behaviour will
 | 
						|
           need to be implemented manually, in the event handler for this
 | 
						|
           button.
 | 
						|
    @endStyleTable
 | 
						|
 | 
						|
    @beginEventEmissionTable{wxCommandEvent}
 | 
						|
    @event{EVT_RADIOBUTTON(id, func)}
 | 
						|
           Process a @c wxEVT_RADIOBUTTON event, when the
 | 
						|
           radiobutton is clicked.
 | 
						|
    @endEventTable
 | 
						|
 | 
						|
    @library{wxcore}
 | 
						|
    @category{ctrl}
 | 
						|
    @appearance{radiobutton}
 | 
						|
 | 
						|
    @see @ref overview_events, wxRadioBox, wxCheckBox
 | 
						|
*/
 | 
						|
class wxRadioButton : public wxControl
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Default constructor.
 | 
						|
 | 
						|
        @see Create(), wxValidator
 | 
						|
    */
 | 
						|
    wxRadioButton();
 | 
						|
 | 
						|
    /**
 | 
						|
        Constructor, creating and showing a radio button.
 | 
						|
 | 
						|
        @param parent
 | 
						|
            Parent window. Must not be @NULL.
 | 
						|
        @param id
 | 
						|
            Window identifier. The value @c wxID_ANY indicates a default value.
 | 
						|
        @param label
 | 
						|
            Label for the radio button.
 | 
						|
        @param pos
 | 
						|
            Window position. If ::wxDefaultPosition is specified then a default
 | 
						|
            position is chosen.
 | 
						|
        @param size
 | 
						|
            Window size. If ::wxDefaultSize is specified then a default size
 | 
						|
            is chosen.
 | 
						|
        @param style
 | 
						|
            Window style. See wxRadioButton.
 | 
						|
        @param validator
 | 
						|
            Window validator.
 | 
						|
        @param name
 | 
						|
            Window name.
 | 
						|
 | 
						|
        @see Create(), wxValidator
 | 
						|
    */
 | 
						|
    wxRadioButton(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 = wxRadioButtonNameStr);
 | 
						|
 | 
						|
    /**
 | 
						|
        Destructor, destroying the radio button item.
 | 
						|
    */
 | 
						|
    virtual ~wxRadioButton();
 | 
						|
 | 
						|
    /**
 | 
						|
        Creates the choice for two-step construction. See wxRadioButton() for
 | 
						|
        further 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 = wxRadioButtonNameStr);
 | 
						|
 | 
						|
    /**
 | 
						|
        Returns @true if the radio button is checked, @false otherwise.
 | 
						|
    */
 | 
						|
    virtual bool GetValue() const;
 | 
						|
 | 
						|
    /**
 | 
						|
        Sets the radio button to checked or unchecked status. This does not cause a
 | 
						|
        @c wxEVT_RADIOBUTTON event to get emitted.
 | 
						|
 | 
						|
        If the radio button belongs to a radio group exactly one button in the
 | 
						|
        group may be checked and so this method can be only called with @a
 | 
						|
        value set to @true. To uncheck a radio button in a group you must check
 | 
						|
        another button in the same group.
 | 
						|
 | 
						|
        @note Under MSW, the focused radio button is always selected, i.e. its
 | 
						|
            value is @true. And, conversely, calling @c SetValue(true) will
 | 
						|
            also set focus to the radio button if the focus had previously been
 | 
						|
            on another radio button in the same group -- as otherwise setting
 | 
						|
            it on wouldn't work.
 | 
						|
 | 
						|
        @param value
 | 
						|
            @true to check, @false to uncheck.
 | 
						|
    */
 | 
						|
    virtual void SetValue(bool value);
 | 
						|
 | 
						|
   /**
 | 
						|
        Returns the first button of the radio button group this button belongs
 | 
						|
        to.
 | 
						|
 | 
						|
        For a radio button with @c wxRB_SINGLE style, this function returns this
 | 
						|
        button itself, as it is the only member of its group. Otherwise, the
 | 
						|
        function returns the closest previous radio button with @c wxRB_GROUP
 | 
						|
        style (which could still be this button itself) or the first radio
 | 
						|
        button in the same window.
 | 
						|
 | 
						|
        The returned value is never @NULL.
 | 
						|
 | 
						|
        @see GetPreviousInGroup(), GetNextInGroup(), GetLastInGroup()
 | 
						|
 | 
						|
        @since 3.1.5
 | 
						|
    */
 | 
						|
    wxRadioButton* GetFirstInGroup() const;
 | 
						|
 | 
						|
   /**
 | 
						|
        Returns the last button of the radio button group this button belongs
 | 
						|
        to.
 | 
						|
 | 
						|
        Similarly to GetFirstInGroup(), this function returns this button
 | 
						|
        itself if it has @c wxRB_SINGLE style. Otherwise, the function returns
 | 
						|
        the last button before the next button with @c wxRB_GROUP style or the
 | 
						|
        last radio button in the same window.
 | 
						|
 | 
						|
        The returned value is never @NULL.
 | 
						|
 | 
						|
        @see GetPreviousInGroup(), GetNextInGroup()
 | 
						|
 | 
						|
        @since 3.1.5
 | 
						|
    */
 | 
						|
    wxRadioButton* GetLastInGroup() const;
 | 
						|
 | 
						|
   /**
 | 
						|
        Returns the previous radio button in the same group.
 | 
						|
 | 
						|
        The return value is @NULL if there is no predecessor or if this button
 | 
						|
        has @c wxRB_SINGLE style.
 | 
						|
 | 
						|
        @see GetFirstInGroup(), GetNextInGroup(), GetLastInGroup()
 | 
						|
 | 
						|
        @since 3.1.5
 | 
						|
    */
 | 
						|
    wxRadioButton* GetPreviousInGroup() const;
 | 
						|
 | 
						|
   /**
 | 
						|
        Returns the next radio button in the same group.
 | 
						|
 | 
						|
        The return value is @NULL if there is no successor or if this button
 | 
						|
        has @c wxRB_SINGLE style.
 | 
						|
 | 
						|
        @see GetFirstInGroup(), GetPreviousInGroup(), GetLastInGroup()
 | 
						|
 | 
						|
        @since 3.1.5
 | 
						|
    */
 | 
						|
    wxRadioButton* GetNextInGroup() const;
 | 
						|
};
 | 
						|
 |