]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/radiobox.h
avoid infinite recursion for richtooltops, (hopefully) fixes #15070
[wxWidgets.git] / interface / wx / radiobox.h
index 2aeb3772fa789e899a77c97aa0ba4855d465cfe0..d588c3a9c57e83d75443a591c1aa0ae09e88ef83 100644 (file)
@@ -3,12 +3,11 @@
 // Purpose:     interface of wxRadioBox
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @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
     @style{wxRA_SPECIFY_COLS}
            The major dimension parameter refers to the maximum number of
            columns.
-    @style{wxRA_USE_CHECKBOX}
-           Use of the checkbox controls instead of radio buttons (currently
-           supported only on PalmOS)
     @endStyleTable
 
-    @beginEventTable{wxCommandEvent}
+    @beginEventEmissionTable{wxCommandEvent}
     @event{EVT_RADIOBOX(id, func)}
            Process a @c wxEVT_COMMAND_RADIOBOX_SELECTED event, when a radiobutton
            is clicked.
@@ -33,9 +29,9 @@
 
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{radiobox.png} -->
+    @appearance{radiobox}
 
-    @see @ref overview_eventhandling, wxRadioButton, wxCheckBox
+    @see @ref overview_events, wxRadioButton, wxCheckBox
 */
 class wxRadioBox : public wxControl, wxItemContainerImmutable
 {
@@ -58,10 +54,10 @@ public:
         @param label
             Label for the static box surrounding the radio buttons.
         @param pos
-            Window position. If @c wxDefaultPosition is specified then a
+            Window position. If ::wxDefaultPosition is specified then a
             default position is chosen.
         @param size
-            Window size. If @c wxDefaultSize is specified then a default size
+            Window size. If ::wxDefaultSize is specified then a default size
             is chosen.
         @param n
             Number of choices with which to initialize the radiobox.
@@ -70,7 +66,8 @@ public:
         @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.
+            @c wxRA_SPECIFY_COLS) for a two-dimensional radiobox. The default
+            value of 0 means to use the number of items, i.e. @a n.
         @param style
             Window style. See wxRadioBox.
         @param validator
@@ -78,6 +75,10 @@ public:
         @param name
             Window name.
 
+        @beginWxPerlOnly
+        Not supported by wxPerl.
+        @endWxPerlOnly
+
         @see Create(), wxValidator
     */
     wxRadioBox(wxWindow* parent, wxWindowID id,
@@ -89,7 +90,7 @@ public:
                int majorDimension = 0,
                long style = wxRA_SPECIFY_COLS,
                const wxValidator& validator = wxDefaultValidator,
-               const wxString& name = "radioBox");
+               const wxString& name = wxRadioBoxNameStr);
 
     /**
         Constructor, creating and showing a radiobox.
@@ -101,17 +102,19 @@ public:
         @param label
             Label for the static box surrounding the radio buttons.
         @param pos
-            Window position. If @c wxDefaultPosition is specified then a
+            Window position. If ::wxDefaultPosition is specified then a
             default position is chosen.
         @param size
-            Window size. If @c wxDefaultSize is specified then a default size
+            Window size. If ::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.
+            @c wxRA_SPECIFY_COLS) for a two-dimensional radiobox. The default
+            value of 0 means to use the number of items, i.e. number of
+            elements in @a choices.
         @param style
             Window style. See wxRadioBox.
         @param validator
@@ -119,6 +122,10 @@ public:
         @param name
             Window name.
 
+        @beginWxPerlOnly
+        Use an array reference for the @a choices parameter.
+        @endWxPerlOnly
+
         @see Create(), wxValidator
     */
     wxRadioBox(wxWindow* parent, wxWindowID id,
@@ -129,12 +136,12 @@ public:
                int majorDimension = 0,
                long style = wxRA_SPECIFY_COLS,
                const wxValidator& validator = wxDefaultValidator,
-               const wxString& name = "radioBox");
+               const wxString& name = wxRadioBoxNameStr);
 
     /**
         Destructor, destroying the radiobox item.
     */
-    ~wxRadioBox();
+    virtual ~wxRadioBox();
 
     /**
         Creates the radiobox for two-step construction. See wxRadioBox()
@@ -149,7 +156,7 @@ public:
                 int majorDimension = 0,
                 long style = wxRA_SPECIFY_COLS,
                 const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = "radioBox");
+                const wxString& name = wxRadioBoxNameStr);
 
     /**
         Creates the radiobox for two-step construction. See wxRadioBox()
@@ -163,7 +170,7 @@ public:
                 int majorDimension = 0,
                 long style = wxRA_SPECIFY_COLS,
                 const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = "radioBox");
+                const wxString& name = wxRadioBoxNameStr);
 
     /**
         Enables or disables an individual button in the radiobox.
@@ -175,27 +182,19 @@ public:
 
         @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(unsigned int n, bool enable = true);
 
-
     /**
-        Finds a button matching the given string, returning the position if found, or
-        -1 if not found.
+        Finds a button matching the given string, returning the position if found,
+        or @c wxNOT_FOUND if not found.
 
         @param string
             The string to find.
+        @param bCase
+            Should the search be case-sensitive?
     */
-    int FindString(const wxString& string) const;
+    virtual int FindString(const wxString& string, bool bCase = false) const;
 
     /**
         Returns the number of columns in the radiobox.
@@ -209,7 +208,7 @@ public:
         @param pt
             Point in client coordinates.
     */
-    int GetItemFromPoint(const wxPoint pt) const;
+    virtual int GetItemFromPoint(const wxPoint& pt) const;
 
     /**
         Returns the helptext associated with the specified @a item if any or @c
@@ -244,7 +243,7 @@ public:
         @param n
             The zero-based button position.
     */
-    bool IsItemEnabled(unsigned int n) const;
+    virtual bool IsItemEnabled(unsigned int n) const;
 
     /**
         Returns @true if the item is currently shown or @false if it was hidden
@@ -259,7 +258,7 @@ public:
         @param n
             The zero-based button position.
     */
-    bool IsItemShown(unsigned int n) const;
+    virtual bool IsItemShown(unsigned int n) const;
 
     /**
         Sets the helptext for an item. Empty string erases any existing helptext.
@@ -303,16 +302,15 @@ public:
         @see
             wxWindow::Show()
 
-        @beginWxPythonOnly
-        In place of a single overloaded method name, wxPython implements the following methods:
+    */
+    virtual bool Show(unsigned int item, bool show = true);
 
-        @beginTable
-        @row2col{Show(flag), Shows or hides the entire radiobox.}
-        @row2col{ShowItem(n\, flag), Shows or hides individual buttons.}
-        @endTable
 
-        @endWxPythonOnly
+    // pure virtuals that have implementations here
+    virtual unsigned int GetCount() const;
+    virtual wxString GetString(unsigned int n) const;
+    virtual void SetString(unsigned int n, const wxString& string);
+    virtual void SetSelection(int n);
+    virtual int GetSelection() const;
 
-    */
-    virtual bool Show(unsigned int item, const bool show = true);
 };