]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/radiobox.h
fixes for Linux build (part of ticket 4700)
[wxWidgets.git] / interface / radiobox.h
index 9c224670e4d6f74b31d533394f975702ef0ffa4c..2aeb3772fa789e899a77c97aa0ba4855d465cfe0 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        radiobox.h
-// Purpose:     documentation for wxRadioBox class
+// Purpose:     interface of wxRadioBox
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Licence:     wxWindows license
 /**
     @class wxRadioBox
     @wxheader{radiobox.h}
-    
+
     A radio box item is used to select one of number of mutually exclusive
     choices.  It is displayed as a vertical column or horizontal row of
     labelled buttons.
-    
+
     @beginStyleTable
-    @style{wxRA_SPECIFY_ROWS}:
+    @style{wxRA_SPECIFY_ROWS}
            The major dimension parameter refers to the maximum number of rows.
-    @style{wxRA_SPECIFY_COLS}:
+    @style{wxRA_SPECIFY_COLS}
            The major dimension parameter refers to the maximum number of
            columns.
-    @style{wxRA_USE_CHECKBOX}:
+    @style{wxRA_USE_CHECKBOX}
            Use of the checkbox controls instead of radio buttons (currently
            supported only on PalmOS)
     @endStyleTable
-    
-    @beginEventTable
-    @event{EVT_RADIOBOX(id\, func)}:
-           Process a wxEVT_COMMAND_RADIOBOX_SELECTED event, when a radiobutton
+
+    @beginEventTable{wxCommandEvent}
+    @event{EVT_RADIOBOX(id, func)}
+           Process a @c wxEVT_COMMAND_RADIOBOX_SELECTED event, when a radiobutton
            is clicked.
     @endEventTable
-    
+
     @library{wxcore}
     @category{ctrl}
-    @appearance{radiobox.png}
-    
-    @seealso
-    @ref overview_eventhandlingoverview "Event handling overview", wxRadioButton,
-    wxCheckBox
+    <!-- @appearance{radiobox.png} -->
+
+    @see @ref overview_eventhandling, wxRadioButton, wxCheckBox
 */
-class wxRadioBox : public wxControlWithItems
+class wxRadioBox : public wxControl, wxItemContainerImmutable
 {
 public:
-    //@{
+
     /**
-        Constructor, creating and showing a radiobox.
-        
-        @param parent 
-        Parent window. Must not be @NULL.
-        
-        @param id 
-        Window identifier. The value wxID_ANY indicates a default value.
-        
-        @param label 
-        Label for the static box surrounding the radio buttons.
-        
-        @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 n 
-        Number of choices with which to initialize the radiobox.
-        
-        @param choices 
-        An array of choices with which to initialize the radiobox.
-        
-        @param majorDimension 
-        Specifies the maximum number of rows (if style contains wxRA_SPECIFY_ROWS) or
-        columns (if style contains wxRA_SPECIFY_COLS) for a two-dimensional
-        radiobox.
-        
-        @param style 
-        Window style. See wxRadioBox.
-        
-        @param validator 
-        Window validator.
-        
-        @param name 
-        Window name.
-        
-        @sa Create(), wxValidator
+        Default constructor.
+
+        @see Create(), wxValidator
     */
     wxRadioBox();
-        wxRadioBox(wxWindow* parent, wxWindowID id,
-                   const wxString& label,
-                   const wxPoint& point = wxDefaultPosition,
-                   const wxSize& size = wxDefaultSize,
-                   int n = 0,
-                   const wxString choices[] = @NULL,
-                   int majorDimension = 0,
-                   long style = wxRA_SPECIFY_COLS,
-                   const wxValidator& validator = wxDefaultValidator,
-                   const wxString& name = "radioBox");
-        wxRadioBox(wxWindow* parent, wxWindowID id,
-                   const wxString& label,
-                   const wxPoint& point,
-                   const wxSize& size,
-                   const wxArrayString& choices,
-                   int majorDimension = 0,
-                   long style = wxRA_SPECIFY_COLS,
-                   const wxValidator& validator = wxDefaultValidator,
-                   const wxString& name = "radioBox");
-    //@}
+
+    /**
+        Constructor, creating and showing a radiobox.
+
+        @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 static box surrounding the radio buttons.
+        @param pos
+            Window position. If @c wxDefaultPosition is specified then a
+            default position is chosen.
+        @param size
+            Window size. If @c wxDefaultSize is specified then a default size
+            is chosen.
+        @param n
+            Number of choices with which to initialize the radiobox.
+        @param choices
+            An array of choices with which to initialize the radiobox.
+        @param majorDimension
+            Specifies the maximum number of rows (if style contains
+            @c wxRA_SPECIFY_ROWS) or columns (if style contains
+            @c wxRA_SPECIFY_COLS) for a two-dimensional radiobox.
+        @param style
+            Window style. See wxRadioBox.
+        @param validator
+            Window validator.
+        @param name
+            Window name.
+
+        @see Create(), wxValidator
+    */
+    wxRadioBox(wxWindow* parent, wxWindowID id,
+               const wxString& label,
+               const wxPoint& pos = wxDefaultPosition,
+               const wxSize& size = wxDefaultSize,
+               int n = 0,
+               const wxString choices[] = NULL,
+               int majorDimension = 0,
+               long style = wxRA_SPECIFY_COLS,
+               const wxValidator& validator = wxDefaultValidator,
+               const wxString& name = "radioBox");
+
+    /**
+        Constructor, creating and showing a radiobox.
+
+        @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 static box surrounding the radio buttons.
+        @param pos
+            Window position. If @c wxDefaultPosition is specified then a
+            default position is chosen.
+        @param size
+            Window size. If @c wxDefaultSize is specified then a default size
+            is chosen.
+        @param choices
+            An array of choices with which to initialize the radiobox.
+        @param majorDimension
+            Specifies the maximum number of rows (if style contains
+            @c wxRA_SPECIFY_ROWS) or columns (if style contains
+            @c wxRA_SPECIFY_COLS) for a two-dimensional radiobox.
+        @param style
+            Window style. See wxRadioBox.
+        @param validator
+            Window validator.
+        @param name
+            Window name.
+
+        @see Create(), wxValidator
+    */
+    wxRadioBox(wxWindow* parent, wxWindowID id,
+               const wxString& label,
+               const wxPoint& pos,
+               const wxSize& size,
+               const wxArrayString& choices,
+               int majorDimension = 0,
+               long style = wxRA_SPECIFY_COLS,
+               const wxValidator& validator = wxDefaultValidator,
+               const wxString& name = "radioBox");
 
     /**
         Destructor, destroying the radiobox item.
     */
     ~wxRadioBox();
 
-    //@{
     /**
         Creates the radiobox for two-step construction. See wxRadioBox()
         for further details.
     */
     bool Create(wxWindow* parent, wxWindowID id,
                 const wxString& label,
-                const wxPoint& point = wxDefaultPosition,
+                const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
                 int n = 0,
-                const wxString choices[] = @NULL,
+                const wxString choices[] = NULL,
                 int majorDimension = 0,
                 long style = wxRA_SPECIFY_COLS,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = "radioBox");
-        bool Create(wxWindow* parent, wxWindowID id,
-                    const wxString& label,
-                    const wxPoint& point,
-                    const wxSize& size,
-                    const wxArrayString& choices,
-                    int majorDimension = 0,
-                    long style = wxRA_SPECIFY_COLS,
-                    const wxValidator& validator = wxDefaultValidator,
-                    const wxString& name = "radioBox");
-    //@}
-
-    //@{
+
+    /**
+        Creates the radiobox for two-step construction. See wxRadioBox()
+        for further details.
+    */
+    bool Create(wxWindow* parent, wxWindowID id,
+                const wxString& label,
+                const wxPoint& pos,
+                const wxSize& size,
+                const wxArrayString& choices,
+                int majorDimension = 0,
+                long style = wxRA_SPECIFY_COLS,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = "radioBox");
+
     /**
         Enables or disables an individual button in the radiobox.
-        
-        @param enable 
-        @true to enable, @false to disable.
-        
-        @param n 
-        The zero-based button to enable or disable.
-        
-        @sa wxWindow::Enable
+
+        @param enable
+            @true to enable, @false to disable.
+        @param n
+            The zero-based button to enable or disable.
+
+        @see wxWindow::Enable()
+
+        @beginWxPythonOnly
+        In place of a single overloaded method name, wxPython implements the following methods:
+
+        @beginTable
+        @row2col{Enable(flag), Enables or disables the entire radiobox.}
+        @row2col{EnableItem(n\, flag), Enables or disables an individual button in the radiobox.}
+        @endTable
+
+        @endWxPythonOnly
     */
-    virtual bool Enable(bool enable = @true);
-        virtual bool Enable(unsigned int n, bool enable = @true);
-    //@}
+    virtual bool Enable(unsigned int n, bool enable = true);
+
 
     /**
         Finds a button matching the given string, returning the position if found, or
         -1 if not found.
-        
-        @param string 
-        The string to find.
+
+        @param string
+            The string to find.
     */
-    int FindString(const wxString& string);
+    int FindString(const wxString& string) const;
 
     /**
         Returns the number of columns in the radiobox.
     */
-    unsigned int GetColumnCount();
+    unsigned int GetColumnCount() const;
 
     /**
         Returns a radio box item under the point, a zero-based item index, or @c
         wxNOT_FOUND if no item is under the point.
-        
-        @param pt 
-        Point in client coordinates.
-    */
-    int GetItemFromPoint(const wxPoint pt);
 
-    /**
-        Returns the helptext associated with the specified @e item if any or @c
-        wxEmptyString.
-        
-        @param item 
-        The zero-based item index.
-        
-        @sa SetItemHelpText()
+        @param pt
+            Point in client coordinates.
     */
-    wxString GetItemHelpText(unsigned int item);
+    int GetItemFromPoint(const wxPoint pt) const;
 
     /**
-        Returns the tooltip associated with the specified @e item if any or @NULL.
-        
-        @sa SetItemToolTip(), wxWindow::GetToolTip
-    */
-    wxToolTip * GetItemToolTip(unsigned int item);
+        Returns the helptext associated with the specified @a item if any or @c
+        wxEmptyString.
 
-    /**
-        Returns the radiobox label.
-        
-        @param n 
-        The zero-based button index.
-        
-        @sa SetLabel()
-    */
-    wxString GetLabel();
+        @param item
+            The zero-based item index.
 
-    /**
-        Returns the number of rows in the radiobox.
+        @see SetItemHelpText()
     */
-    unsigned int GetRowCount();
+    wxString GetItemHelpText(unsigned int item) const;
 
     /**
-        Returns the zero-based position of the selected button.
-    */
-    int GetSelection();
+        Returns the tooltip associated with the specified @a item if any or @NULL.
 
-    /**
-        Returns the label for the button at the given position.
-        
-        @param n 
-        The zero-based button position.
+        @see SetItemToolTip(), wxWindow::GetToolTip()
     */
-    wxString GetString(unsigned int n);
+    wxToolTip* GetItemToolTip(unsigned int item) const;
 
     /**
-        Returns the selected string.
+        Returns the number of rows in the radiobox.
     */
-    wxString GetStringSelection();
+    unsigned int GetRowCount() const;
 
     /**
         Returns @true if the item is enabled or @false if it was disabled using
-        @ref enable() "Enable(n, @false)".
-        
-        @b Platform note: Currently only implemented in wxMSW, wxGTK and wxUniversal
-        and always returns @true in the other ports.
-        
-        @param n 
-        The zero-based button position.
+        @ref Enable(unsigned int,bool) "Enable(n, false)".
+
+        This function is currently only implemented in wxMSW, wxGTK and
+        wxUniversal and always returns @true in the other ports.
+
+        @param n
+            The zero-based button position.
     */
-    bool IsItemEnabled(unsigned int n);
+    bool IsItemEnabled(unsigned int n) const;
 
     /**
         Returns @true if the item is currently shown or @false if it was hidden
-        using
-        @ref show() "Show(n, @false)".
-        
+        using @ref Show(unsigned int,bool) "Show(n, false)".
+
         Note that this function returns @true for an item which hadn't been hidden
-        even
-        if the entire radiobox is not currently shown.
-        
-        @b Platform note: Currently only implemented in wxMSW, wxGTK and wxUniversal
-        and always returns @true in the other ports.
-        
-        @param n 
-        The zero-based button position.
+        even if the entire radiobox is not currently shown.
+
+        This function is currently only implemented in wxMSW, wxGTK and
+        wxUniversal and always returns @true in the other ports.
+
+        @param n
+            The zero-based button position.
     */
-    bool IsItemShown(unsigned int n);
+    bool IsItemShown(unsigned int n) const;
 
     /**
         Sets the helptext for an item. Empty string erases any existing helptext.
-        
-        @param item 
-        The zero-based item index.
-        
-        @param helptext 
-        The help text to set for the item.
-        
-        @sa GetItemHelpText()
+
+        @param item
+            The zero-based item index.
+        @param helptext
+            The help text to set for the item.
+
+        @see GetItemHelpText()
     */
     void SetItemHelpText(unsigned int item, const wxString& helptext);
 
     /**
         Sets the tooltip text for the specified item in the radio group.
-        
-        @b Platform note: Currently only implemented in wxMSW and wxGTK2 and does
-        nothing in the other ports.
-        
-        @param item 
-        Index of the item the tooltip will be shown for.
-        
-        @param text 
-        Tooltip text for the item, the tooltip is removed if empty.
-        
-        @sa GetItemToolTip(), wxWindow::SetToolTip
+
+        This function is currently only implemented in wxMSW and wxGTK2 and
+        does nothing in the other ports.
+
+        @param item
+            Index of the item the tooltip will be shown for.
+        @param text
+            Tooltip text for the item, the tooltip is removed if empty.
+
+        @see GetItemToolTip(), wxWindow::SetToolTip()
     */
     void SetItemToolTip(unsigned int item, const wxString& text);
 
     /**
-        Sets the radiobox label.
-        
-        @param label 
-        The label to set.
-        
-        @param n 
-        The zero-based button index.
-    */
-    void SetLabel(const wxString& label);
+        Shows or hides individual buttons.
 
-    /**
-        Sets a button by passing the desired string position. This does not cause
-        a wxEVT_COMMAND_RADIOBOX_SELECTED event to get emitted.
-        
-        @param n 
-        The zero-based button position.
-    */
-    void SetSelection(int n);
+        @param show
+            @true to show, @false to hide.
+        @param item
+            The zero-based position of the button to show or hide.
+
+        @return
+            @true if the item has been shown or hidden or @false if nothing
+            was done because it already was in the requested state.
+
+        @see
+            wxWindow::Show()
+
+        @beginWxPythonOnly
+        In place of a single overloaded method name, wxPython implements the following methods:
+
+        @beginTable
+        @row2col{Show(flag), Shows or hides the entire radiobox.}
+        @row2col{ShowItem(n\, flag), Shows or hides individual buttons.}
+        @endTable
+
+        @endWxPythonOnly
 
-    /**
-        Sets the selection to a button by passing the desired string. This does not
-        cause
-        a wxEVT_COMMAND_RADIOBOX_SELECTED event to get emitted.
-        
-        @param string 
-        The label of the button to select.
     */
-    void SetStringSelection(const wxString& string);
+    virtual bool Show(unsigned int item, const bool show = true);
 };