X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ef77f91e5be312b09b5b3cb6114f05b593376db1..9b64e79868d4d32c3541bbd049d3f9f94c8edbfe:/include/wx/generic/choicdgg.h diff --git a/include/wx/generic/choicdgg.h b/include/wx/generic/choicdgg.h index cef0162261..017ec2a43b 100644 --- a/include/wx/generic/choicdgg.h +++ b/include/wx/generic/choicdgg.h @@ -6,96 +6,130 @@ // 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, - const int n, const wxString *choices, char **clientData = 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 = 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, - const int n, const wxString *choices, char **clientData = 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 = 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); - -DECLARE_EVENT_TABLE() + void OnListBoxDClick(wxCommandEvent& event); 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, - const int n, const wxString *choices, wxWindow *parent = NULL, - const int x = -1, const int y = -1, const bool centre = TRUE, - const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT); +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, - const int n, char *choices[], wxWindow *parent = NULL, - const int x = -1, const int y = -1, const bool centre = TRUE, - const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT); +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, - const int n, const wxString *choices, wxWindow *parent = NULL, - const int x = -1, const int y = -1, const bool centre = TRUE, - const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT); +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, - const int n, char *choices[], wxWindow *parent = NULL, - const int x = -1, const int y = -1, const bool centre = TRUE, - const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT); +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, - const int n, const wxString *choices, char **client_data, - wxWindow *parent = NULL, const int x = -1, const int y = -1, - const bool centre = TRUE, - const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT); - -char* WXDLLEXPORT wxGetSingleChoiceData(const wxString& message, const wxString& caption, - const int n, char *choices[], char **client_data, - wxWindow *parent = NULL, const int x = -1, const int y = -1, - const bool centre = TRUE, - const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT); - +// 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); + +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, - const int n, const wxString *choices, - const int nsel, int * selection, - wxWindow *parent = NULL, const int x = -1 , const int y = -1, const bool centre = TRUE, - const int width = wxCHOICE_WIDTH, const int height = wxCHOICE_HEIGHT); +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, + int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT); */ #endif