]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/choicdgg.h
Rebake from clean wx tree.
[wxWidgets.git] / include / wx / generic / choicdgg.h
index 21073059c768b18672e2c687aef8c575d111c733..505a63b3a57ef3dbbf842939742782e95fb24a5f 100644 (file)
@@ -9,17 +9,13 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __CHOICEDLGH_G__
-#define __CHOICEDLGH_G__
-
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma interface "choicdgg.h"
-#endif
+#ifndef _WX_GENERIC_CHOICDGG_H_
+#define _WX_GENERIC_CHOICDGG_H_
 
 #include "wx/dynarray.h"
 #include "wx/dialog.h"
 
 
 #include "wx/dynarray.h"
 #include "wx/dialog.h"
 
-class WXDLLEXPORT wxListBox;
+class WXDLLIMPEXP_FWD_CORE wxListBoxBase;
 
 // ----------------------------------------------------------------------------
 // some (ugly...) constants
 
 // ----------------------------------------------------------------------------
 // some (ugly...) constants
@@ -40,7 +36,7 @@ class WXDLLEXPORT wxListBox;
 // wxAnyChoiceDialog: a base class for dialogs containing a listbox
 // ----------------------------------------------------------------------------
 
 // wxAnyChoiceDialog: a base class for dialogs containing a listbox
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxAnyChoiceDialog : public wxDialog
+class WXDLLIMPEXP_CORE wxAnyChoiceDialog : public wxDialog
 {
 public:
     wxAnyChoiceDialog() { }
 {
 public:
     wxAnyChoiceDialog() { }
@@ -84,16 +80,20 @@ public:
                 long styleLbox = wxLB_ALWAYS_SB);
 
 protected:
                 long styleLbox = wxLB_ALWAYS_SB);
 
 protected:
-    wxListBox  *m_listbox;
+    wxListBoxBase *m_listbox;
 
 
-    DECLARE_NO_COPY_CLASS(wxAnyChoiceDialog)
+    virtual wxListBoxBase *CreateList(int n,
+                                      const wxString *choices,
+                                      long styleLbox);
+
+    wxDECLARE_NO_COPY_CLASS(wxAnyChoiceDialog);
 };
 
 // ----------------------------------------------------------------------------
 // wxSingleChoiceDialog: a dialog with single selection listbox
 // ----------------------------------------------------------------------------
 
 };
 
 // ----------------------------------------------------------------------------
 // wxSingleChoiceDialog: a dialog with single selection listbox
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxSingleChoiceDialog : public wxAnyChoiceDialog
+class WXDLLIMPEXP_CORE wxSingleChoiceDialog : public wxAnyChoiceDialog
 {
 public:
     wxSingleChoiceDialog()
 {
 public:
     wxSingleChoiceDialog()
@@ -142,12 +142,19 @@ public:
 
     // implementation from now on
     void OnOK(wxCommandEvent& event);
 
     // implementation from now on
     void OnOK(wxCommandEvent& event);
+#ifndef __SMARTPHONE__
     void OnListBoxDClick(wxCommandEvent& event);
     void OnListBoxDClick(wxCommandEvent& event);
+#endif
+#ifdef __WXWINCE__
+    void OnJoystickButtonDown(wxJoystickEvent& event);
+#endif
 
 protected:
     int         m_selection;
     wxString    m_stringSelection;
 
 
 protected:
     int         m_selection;
     wxString    m_stringSelection;
 
+    void DoChoice();
+
 private:
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxSingleChoiceDialog)
     DECLARE_EVENT_TABLE()
 private:
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxSingleChoiceDialog)
     DECLARE_EVENT_TABLE()
@@ -157,7 +164,7 @@ private:
 // wxMultiChoiceDialog: a dialog with multi selection listbox
 // ----------------------------------------------------------------------------
 
 // wxMultiChoiceDialog: a dialog with multi selection listbox
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxMultiChoiceDialog : public wxAnyChoiceDialog
+class WXDLLIMPEXP_CORE wxMultiChoiceDialog : public wxAnyChoiceDialog
 {
 public:
     wxMultiChoiceDialog() { }
 {
 public:
     wxMultiChoiceDialog() { }
@@ -203,6 +210,12 @@ public:
     virtual bool TransferDataFromWindow();
 
 protected:
     virtual bool TransferDataFromWindow();
 
 protected:
+#if wxUSE_CHECKLISTBOX
+    virtual wxListBoxBase *CreateList(int n,
+                                      const wxString *choices,
+                                      long styleLbox);
+#endif // wxUSE_CHECKLISTBOX
+
     wxArrayInt m_selections;
 
 private:
     wxArrayInt m_selections;
 
 private:
@@ -214,20 +227,20 @@ private:
 // ----------------------------------------------------------------------------
 
 // get the user selection as a string
 // ----------------------------------------------------------------------------
 
 // get the user selection as a string
-WXDLLEXPORT wxString wxGetSingleChoice(const wxString& message,
+WXDLLIMPEXP_CORE wxString wxGetSingleChoice(const wxString& message,
                                        const wxString& caption,
                                        const wxArrayString& choices,
                                        const wxString& caption,
                                        const wxArrayString& choices,
-                                       wxWindow *parent = (wxWindow *) NULL,
+                                       wxWindow *parent = NULL,
                                        int x = wxDefaultCoord,
                                        int y = wxDefaultCoord,
                                        bool centre = true,
                                        int width = wxCHOICE_WIDTH,
                                        int height = wxCHOICE_HEIGHT);
 
                                        int x = wxDefaultCoord,
                                        int y = wxDefaultCoord,
                                        bool centre = true,
                                        int width = wxCHOICE_WIDTH,
                                        int height = wxCHOICE_HEIGHT);
 
-WXDLLEXPORT wxString wxGetSingleChoice(const wxString& message,
+WXDLLIMPEXP_CORE wxString wxGetSingleChoice(const wxString& message,
                                        const wxString& caption,
                                        int n, const wxString *choices,
                                        const wxString& caption,
                                        int n, const wxString *choices,
-                                       wxWindow *parent = (wxWindow *) NULL,
+                                       wxWindow *parent = NULL,
                                        int x = wxDefaultCoord,
                                        int y = wxDefaultCoord,
                                        bool centre = true,
                                        int x = wxDefaultCoord,
                                        int y = wxDefaultCoord,
                                        bool centre = true,
@@ -236,20 +249,20 @@ WXDLLEXPORT wxString wxGetSingleChoice(const wxString& message,
 
 // Same as above but gets position in list of strings, instead of string,
 // or -1 if no selection
 
 // Same as above but gets position in list of strings, instead of string,
 // or -1 if no selection
-WXDLLEXPORT int wxGetSingleChoiceIndex(const wxString& message,
+WXDLLIMPEXP_CORE int wxGetSingleChoiceIndex(const wxString& message,
                                        const wxString& caption,
                                        const wxArrayString& choices,
                                        const wxString& caption,
                                        const wxArrayString& choices,
-                                       wxWindow *parent = (wxWindow *) NULL,
+                                       wxWindow *parent = NULL,
                                        int x = wxDefaultCoord,
                                        int y = wxDefaultCoord,
                                        bool centre = true,
                                        int width = wxCHOICE_WIDTH,
                                        int height = wxCHOICE_HEIGHT);
 
                                        int x = wxDefaultCoord,
                                        int y = wxDefaultCoord,
                                        bool centre = true,
                                        int width = wxCHOICE_WIDTH,
                                        int height = wxCHOICE_HEIGHT);
 
-WXDLLEXPORT int wxGetSingleChoiceIndex(const wxString& message,
+WXDLLIMPEXP_CORE int wxGetSingleChoiceIndex(const wxString& message,
                                        const wxString& caption,
                                        int n, const wxString *choices,
                                        const wxString& caption,
                                        int n, const wxString *choices,
-                                       wxWindow *parent = (wxWindow *) NULL,
+                                       wxWindow *parent = NULL,
                                        int x = wxDefaultCoord,
                                        int y = wxDefaultCoord,
                                        bool centre = true,
                                        int x = wxDefaultCoord,
                                        int y = wxDefaultCoord,
                                        bool centre = true,
@@ -257,22 +270,22 @@ WXDLLEXPORT int wxGetSingleChoiceIndex(const wxString& message,
                                        int height = wxCHOICE_HEIGHT);
 
 // Return client data instead or NULL if cancelled
                                        int height = wxCHOICE_HEIGHT);
 
 // Return client data instead or NULL if cancelled
-WXDLLEXPORT void* wxGetSingleChoiceData(const wxString& message,
+WXDLLIMPEXP_CORE void* wxGetSingleChoiceData(const wxString& message,
                                         const wxString& caption,
                                         const wxArrayString& choices,
                                         void **client_data,
                                         const wxString& caption,
                                         const wxArrayString& choices,
                                         void **client_data,
-                                        wxWindow *parent = (wxWindow *) NULL,
+                                        wxWindow *parent = NULL,
                                         int x = wxDefaultCoord,
                                         int y = wxDefaultCoord,
                                         bool centre = true,
                                         int width = wxCHOICE_WIDTH,
                                         int height = wxCHOICE_HEIGHT);
 
                                         int x = wxDefaultCoord,
                                         int y = wxDefaultCoord,
                                         bool centre = true,
                                         int width = wxCHOICE_WIDTH,
                                         int height = wxCHOICE_HEIGHT);
 
-WXDLLEXPORT void* wxGetSingleChoiceData(const wxString& message,
+WXDLLIMPEXP_CORE void* wxGetSingleChoiceData(const wxString& message,
                                         const wxString& caption,
                                         int n, const wxString *choices,
                                         void **client_data,
                                         const wxString& caption,
                                         int n, const wxString *choices,
                                         void **client_data,
-                                        wxWindow *parent = (wxWindow *) NULL,
+                                        wxWindow *parent = NULL,
                                         int x = wxDefaultCoord,
                                         int y = wxDefaultCoord,
                                         bool centre = true,
                                         int x = wxDefaultCoord,
                                         int y = wxDefaultCoord,
                                         bool centre = true,
@@ -281,28 +294,54 @@ WXDLLEXPORT void* wxGetSingleChoiceData(const wxString& message,
 
 // fill the array with the indices of the chosen items, it will be empty
 // if no items were selected or Cancel was pressed - return the number of
 
 // fill the array with the indices of the chosen items, it will be empty
 // if no items were selected or Cancel was pressed - return the number of
-// selections
-WXDLLEXPORT size_t wxGetMultipleChoices(wxArrayInt& selections,
+// selections or -1 if cancelled
+WXDLLIMPEXP_CORE int wxGetSelectedChoices(wxArrayInt& selections,
                                         const wxString& message,
                                         const wxString& caption,
                                         int n, const wxString *choices,
                                         const wxString& message,
                                         const wxString& caption,
                                         int n, const wxString *choices,
-                                        wxWindow *parent = (wxWindow *) NULL,
+                                        wxWindow *parent = NULL,
                                         int x = wxDefaultCoord,
                                         int y = wxDefaultCoord,
                                         bool centre = true,
                                         int width = wxCHOICE_WIDTH,
                                         int height = wxCHOICE_HEIGHT);
 
                                         int x = wxDefaultCoord,
                                         int y = wxDefaultCoord,
                                         bool centre = true,
                                         int width = wxCHOICE_WIDTH,
                                         int height = wxCHOICE_HEIGHT);
 
-WXDLLEXPORT size_t wxGetMultipleChoices(wxArrayInt& selections,
+WXDLLIMPEXP_CORE int wxGetSelectedChoices(wxArrayInt& selections,
                                         const wxString& message,
                                         const wxString& caption,
                                         const wxArrayString& choices,
                                         const wxString& message,
                                         const wxString& caption,
                                         const wxArrayString& choices,
-                                        wxWindow *parent = (wxWindow *) NULL,
+                                        wxWindow *parent = NULL,
                                         int x = wxDefaultCoord,
                                         int y = wxDefaultCoord,
                                         bool centre = true,
                                         int width = wxCHOICE_WIDTH,
                                         int height = wxCHOICE_HEIGHT);
 
                                         int x = wxDefaultCoord,
                                         int y = wxDefaultCoord,
                                         bool centre = true,
                                         int width = wxCHOICE_WIDTH,
                                         int height = wxCHOICE_HEIGHT);
 
-#endif // __CHOICEDLGH_G__
+#if WXWIN_COMPATIBILITY_2_8
+// fill the array with the indices of the chosen items, it will be empty
+// if no items were selected or Cancel was pressed - return the number of
+// selections
+wxDEPRECATED( WXDLLIMPEXP_CORE size_t wxGetMultipleChoices(wxArrayInt& selections,
+                                        const wxString& message,
+                                        const wxString& caption,
+                                        int n, const wxString *choices,
+                                        wxWindow *parent = NULL,
+                                        int x = wxDefaultCoord,
+                                        int y = wxDefaultCoord,
+                                        bool centre = true,
+                                        int width = wxCHOICE_WIDTH,
+                                        int height = wxCHOICE_HEIGHT) );
+
+wxDEPRECATED( WXDLLIMPEXP_CORE size_t wxGetMultipleChoices(wxArrayInt& selections,
+                                        const wxString& message,
+                                        const wxString& caption,
+                                        const wxArrayString& choices,
+                                        wxWindow *parent = NULL,
+                                        int x = wxDefaultCoord,
+                                        int y = wxDefaultCoord,
+                                        bool centre = true,
+                                        int width = wxCHOICE_WIDTH,
+                                        int height = wxCHOICE_HEIGHT));
+#endif // WXWIN_COMPATIBILITY_2_8
 
 
+#endif // _WX_GENERIC_CHOICDGG_H_