Add files necessary to run Expat configure.
[wxWidgets.git] / interface / wx / choice.h
index 57e03c6dfc8640e71c012804564f1d9d97dfdfb8..01ee0b9cb63abcad82c32aa073afff2bc8bc5215 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     interface of wxChoice
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
            Sorts the entries alphabetically.
     @endStyleTable
 
-    @beginEventTable{wxCommandEvent}
+    @beginEventEmissionTable{wxCommandEvent}
     @event{EVT_CHOICE(id, func)}
-           Process a wxEVT_COMMAND_CHOICE_SELECTED event, when an item on the
+           Process a @c wxEVT_CHOICE event, when an item on the
            list is selected.
     @endEventTable
 
     @library{wxcore}
     @category{ctrl}
-    <!-- @appearance{choice.png} -->
+    @appearance{choice}
 
     @see wxListBox, wxComboBox, wxCommandEvent
 */
-class wxChoice : public wxControlWithItems
+class wxChoice : public wxControl,
+                 public wxItemContainer
 {
 public:
     /**
@@ -40,7 +41,6 @@ public:
     */
     wxChoice();
 
-    //@{
     /**
         Constructor, creating and showing a choice.
 
@@ -50,9 +50,10 @@ public:
             Window identifier. The value wxID_ANY indicates a default value.
         @param pos
             Window position.
+            If ::wxDefaultPosition is specified then a default position is chosen.
         @param size
-            Window size. If wxDefaultSize is specified then the choice is sized
-            appropriately.
+            Window size. 
+            If ::wxDefaultSize is specified then the choice is sized appropriately.
         @param n
             Number of strings with which to initialise the choice control.
         @param choices
@@ -66,20 +67,17 @@ public:
 
         @see Create(), wxValidator
 
-        @beginWxPythonOnly
-
-        The wxChoice constructor in wxPython reduces the @a n and @a choices
-        arguments to a single argument, which is a list of strings.
-
-        @endWxPythonOnly
+        @beginWxPerlOnly
+        Not supported by wxPerl.
+        @endWxPerlOnly
     */
-    wxChoice(wxWindow* parent, wxWindowID id,
-             const wxPoint& pos,
-             const wxSize& size, int n,
-             const wxString choices[],
-             long style = 0,
-             const wxValidator& validator = wxDefaultValidator,
-             const wxString& name = "choice");
+    wxChoice( wxWindow *parent, wxWindowID id,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            int n = 0, const wxString choices[] = NULL,
+            long style = 0,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxChoiceNameStr );
 
     /**
         Constructor, creating and showing a choice.
@@ -104,53 +102,50 @@ public:
 
         @see Create(), wxValidator
 
-        @beginWxPythonOnly
-
-        The wxChoice constructor in wxPython reduces the @a n and @a choices
-        arguments to a single argument, which is a list of strings.
-
-        @endWxPythonOnly
+        @beginWxPerlOnly
+        Use an array reference for the @a choices parameter.
+        @endWxPerlOnly
     */
-    wxChoice(wxWindow* parent, wxWindowID id,
-             const wxPoint& pos,
-             const wxSize& size,
-             const wxArrayString& choices,
-             long style = 0,
-             const wxValidator& validator = wxDefaultValidator,
-             const wxString& name = "choice");
-    //@}
+    wxChoice( wxWindow *parent, wxWindowID id,
+            const wxPoint& pos,
+            const wxSize& size,
+            const wxArrayString& choices,
+            long style = 0,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxChoiceNameStr );
 
     /**
         Destructor, destroying the choice item.
     */
-    ~wxChoice();
+    virtual ~wxChoice();
 
     //@{
     /**
         Creates the choice for two-step construction. See wxChoice().
     */
-    bool Create(wxWindow* parent, wxWindowID id, const wxPoint& pos,
-                const wxSize& size, int n,
-                const wxString choices[],
-                long style = 0,
-                const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = "choice");
-    bool Create(wxWindow* parent, wxWindowID id,
-                const wxPoint& pos,
-                const wxSize& size,
-                const wxArrayString& choices,
-                long style = 0,
-                const wxValidator& validator = wxDefaultValidator,
-                const wxString& name = "choice");
+    bool Create( wxWindow *parent, wxWindowID id,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            int n = 0, const wxString choices[] = NULL,
+            long style = 0,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxChoiceNameStr );
+    bool Create( wxWindow *parent, wxWindowID id,
+            const wxPoint& pos,
+            const wxSize& size,
+            const wxArrayString& choices,
+            long style = 0,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxChoiceNameStr );
     //@}
 
     /**
         Gets the number of columns in this choice item.
 
-        @remarks This is implemented for GTK and Motif only and always 
+        @remarks This is implemented for GTK and Motif only and always
                  returns 1 for the other platforms.
     */
-    int GetColumns() const;
+    virtual int GetColumns() const;
 
     /**
         Unlike wxControlWithItems::GetSelection() which only returns the
@@ -164,7 +159,7 @@ public:
                In older versions, wxControlWithItems::GetSelection() itself
                behaved like this.
     */
-    int GetCurrentSelection() const;
+    virtual int GetCurrentSelection() const;
 
     /**
         Sets the number of columns in this choice item.
@@ -172,9 +167,19 @@ public:
         @param n
             Number of columns.
 
-        @remarks This is implemented for GTK and Motif only and doesn’t do 
+        @remarks This is implemented for GTK and Motif only and doesn’t do
                  anything under other platforms.
     */
-    void SetColumns(int n = 1);
+    virtual void SetColumns(int n = 1);
+
+    virtual bool IsSorted() const;
+    
+    virtual unsigned int GetCount() const ;
+    virtual int GetSelection() const ;
+    virtual void SetSelection(int n);
+
+    virtual int FindString(const wxString& s, bool bCase = false) const;
+    virtual wxString GetString(unsigned int n) const ;
+    virtual void SetString(unsigned int pos, const wxString& s);
 };