]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/choicdgg.h
More wxFileDialog things
[wxWidgets.git] / include / wx / generic / choicdgg.h
index 0fbf506718ce88e3f21a15a323f4e02f0e1deff6..017ec2a43b4c0ff010f9b9fd64d1f459f54a009f 100644 (file)
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c)
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __CHOICEDLGH_G__
 #define __CHOICEDLGH_G__
 
 #ifdef __GNUG__
-#pragma interface "choicdgg.h"
+    #pragma interface "choicdgg.h"
 #endif
 
 #include "wx/setup.h"
 #include "wx/dialog.h"
+#include "wx/listbox.h"
 
 #define wxCHOICE_HEIGHT 150
 #define wxCHOICE_WIDTH 200
 
-#define wxID_LISTBOX 3000
+#define wxCHOICEDLG_STYLE (wxDEFAULT_DIALOG_STYLE|wxOK | wxCANCEL | wxCENTRE)
 
 class WXDLLEXPORT wxSingleChoiceDialog: public wxDialog
 {
-DECLARE_DYNAMIC_CLASS(wxSingleChoiceDialog)
+    DECLARE_DYNAMIC_CLASS(wxSingleChoiceDialog)
+
 public:
-    wxSingleChoiceDialog(wxWindow *parent, const wxString& message, const wxString& caption,
-        int n, const wxString *choices, char **clientData = (char **) NULL, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
+    wxSingleChoiceDialog(wxWindow *parent,
+                         const wxString& message,
+                         const wxString& caption,
+                         int n,
+                         const wxString *choices,
+                         char **clientData = (char **)NULL,
+                         long style = wxCHOICEDLG_STYLE,
+                         const wxPoint& pos = wxDefaultPosition);
+
+    wxSingleChoiceDialog(wxWindow *parent,
+                         const wxString& message,
+                         const wxString& caption,
+                         const wxStringList& choices,
+                         char **clientData = (char **)NULL,
+                         long style = wxCHOICEDLG_STYLE,
+                         const wxPoint& pos = wxDefaultPosition);
+
+    bool Create(wxWindow *parent,
+                const wxString& message,
+                const wxString& caption,
+                int n,
+                const wxString *choices,
+                char **clientData = (char **)NULL,
+                long style = wxCHOICEDLG_STYLE,
+                const wxPoint& pos = wxDefaultPosition);
+
+    bool Create(wxWindow *parent,
+                const wxString& message,
+                const wxString& caption,
+                const wxStringList& choices,
+                char **clientData = (char **)NULL,
+                long style = wxCHOICEDLG_STYLE,
+                const wxPoint& pos = wxDefaultPosition);
 
-    wxSingleChoiceDialog(wxWindow *parent, const wxString& message, const wxString& caption,
-        const wxStringList& choices, char **clientData = (char **) NULL, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
+    void SetSelection(int sel) ;
+    int GetSelection() const { return m_selection; }
+    wxString GetStringSelection() const { return m_stringSelection; }
 
-    bool Create(wxWindow *parent, const wxString& message, const wxString& caption,
-        int n, const wxString *choices, char **clientData = (char **) NULL, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
-    bool Create(wxWindow *parent, const wxString& message, const wxString& caption,
-        const wxStringList& choices, char **clientData = (char **) NULL, long style = wxOK|wxCANCEL|wxCENTRE, const wxPoint& pos = wxDefaultPosition);
+    // get client data associated with selection
+    void *GetClientData() const { return m_clientData; }
 
-    void SetSelection(int sel) ;
-    inline int GetSelection(void) const { return m_selection; }
-    inline wxString GetStringSelection(void) const { return m_stringSelection; }
-    inline char *GetSelectionClientData(void) const { return m_clientData; }
+    // obsolete function (NB: no need to make it return wxChar, it's untyped)
+    char *GetSelectionClientData() const { return (char *)m_clientData; }
 
+    // implementation from now on
     void OnOK(wxCommandEvent& event);
     void OnListBoxDClick(wxCommandEvent& event);
 
-DECLARE_EVENT_TABLE()
-
 protected:
-    long        m_dialogStyle;
     int         m_selection;
+    int         m_dialogStyle;
     wxString    m_stringSelection;
-    char*       m_clientData;
+    wxListBox  *m_listbox;
+
+private:
+    DECLARE_EVENT_TABLE()
 };
 
-wxString WXDLLEXPORT wxGetSingleChoice(const wxString& message, const wxString& caption,
+WXDLLEXPORT wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
                         int n, const wxString *choices, wxWindow *parent = (wxWindow *) NULL,
                         int x = -1, int y = -1, bool centre = TRUE,
                         int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
 
-wxString WXDLLEXPORT wxGetSingleChoice(const wxString& message, const wxString& caption,
-                        int n, char *choices[], wxWindow *parent = (wxWindow *) NULL,
+WXDLLEXPORT wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
+                        int n, wxChar *choices[], wxWindow *parent = (wxWindow *) NULL,
                         int x = -1, int y = -1, bool centre = TRUE,
                         int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
 
 // Same as above but gets position in list of strings, instead of string,
 // or -1 if no selection
-int WXDLLEXPORT wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
+WXDLLEXPORT int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
                            int n, const wxString *choices, wxWindow *parent = (wxWindow *) NULL,
                            int x = -1, int y = -1, bool centre = TRUE,
                            int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
 
-int WXDLLEXPORT wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
-                           int n, char *choices[], wxWindow *parent = (wxWindow *) NULL,
+WXDLLEXPORT int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
+                           int n, wxChar *choices[], wxWindow *parent = (wxWindow *) NULL,
                            int x = -1, int y = -1, bool centre = TRUE,
                            int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
 
 // Return client data instead
-char* WXDLLEXPORT wxGetSingleChoiceData(const wxString& message, const wxString& caption,
+// FIXME: this is horrible, using "char *" instead of "void *" belongs to the 70s!
+WXDLLEXPORT wxChar* wxGetSingleChoiceData(const wxString& message, const wxString& caption,
                             int n, const wxString *choices, char **client_data,
                             wxWindow *parent = (wxWindow *) NULL, int x = -1, int y = -1,
                             bool centre = TRUE,
                             int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
 
-char* WXDLLEXPORT wxGetSingleChoiceData(const wxString& message, const wxString& caption,
-                            int n, char *choices[], char **client_data,
+WXDLLEXPORT wxChar* wxGetSingleChoiceData(const wxString& message, const wxString& caption,
+                            int n, wxChar *choices[], char **client_data,
                             wxWindow *parent = (wxWindow *) NULL, int x = -1, int y = -1,
                             bool centre = TRUE,
                             int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
 
 /*
-int WXDLLEXPORT wxGetMultipleChoice(const wxString& message, const wxString& caption,
+WXDLLEXPORT int wxGetMultipleChoice(const wxString& message, const wxString& caption,
                          int n, const wxString *choices,
                          int nsel, int * selection,
                          wxWindow *parent = NULL, int x = -1 , int y = -1, bool centre = TRUE,