]> git.saurik.com Git - wxWidgets.git/blame - include/wx/generic/choicdgg.h
1. serious bug in wxRegConfig corrected - deleting a value would delete the
[wxWidgets.git] / include / wx / generic / choicdgg.h
CommitLineData
c801d85f
KB
1/////////////////////////////////////////////////////////////////////////////
2// Name: choicdgg.h
3// Purpose: Generic choice dialogs
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
8// Copyright: (c)
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef __CHOICEDLGH_G__
13#define __CHOICEDLGH_G__
14
15#ifdef __GNUG__
257bf510 16 #pragma interface "choicdgg.h"
c801d85f
KB
17#endif
18
19#include "wx/setup.h"
20#include "wx/dialog.h"
3e45770c 21#include "wx/listbox.h"
c801d85f
KB
22
23#define wxCHOICE_HEIGHT 150
24#define wxCHOICE_WIDTH 200
25
257bf510 26#define wxCHOICEDLG_STYLE (wxOK | wxCANCEL | wxCENTRE)
c801d85f
KB
27
28class WXDLLEXPORT wxSingleChoiceDialog: public wxDialog
29{
257bf510
VZ
30 DECLARE_DYNAMIC_CLASS(wxSingleChoiceDialog)
31
c801d85f 32public:
257bf510
VZ
33 wxSingleChoiceDialog(wxWindow *parent,
34 const wxString& message,
35 const wxString& caption,
36 int n,
37 const wxString *choices,
38 char **clientData = (char **)NULL,
39 long style = wxCHOICEDLG_STYLE,
40 const wxPoint& pos = wxDefaultPosition);
41
42 wxSingleChoiceDialog(wxWindow *parent,
43 const wxString& message,
44 const wxString& caption,
45 const wxStringList& choices,
46 char **clientData = (char **)NULL,
47 long style = wxCHOICEDLG_STYLE,
48 const wxPoint& pos = wxDefaultPosition);
49
50 bool Create(wxWindow *parent,
51 const wxString& message,
52 const wxString& caption,
53 int n,
54 const wxString *choices,
55 char **clientData = (char **)NULL,
56 long style = wxCHOICEDLG_STYLE,
57 const wxPoint& pos = wxDefaultPosition);
58
59 bool Create(wxWindow *parent,
60 const wxString& message,
61 const wxString& caption,
62 const wxStringList& choices,
63 char **clientData = (char **)NULL,
64 long style = wxCHOICEDLG_STYLE,
65 const wxPoint& pos = wxDefaultPosition);
c801d85f 66
257bf510
VZ
67 void SetSelection(int sel) ;
68 int GetSelection() const { return m_selection; }
69 wxString GetStringSelection() const { return m_stringSelection; }
c801d85f 70
257bf510
VZ
71 // get client data associated with selection
72 void *GetClientData() const { return m_clientData; }
c801d85f 73
257bf510
VZ
74 // obsolete function (NB: no need to make it return wxChar, it's untyped)
75 char *GetSelectionClientData() const { return (char *)m_clientData; }
c801d85f 76
257bf510 77 // implementation from now on
c801d85f 78 void OnOK(wxCommandEvent& event);
debe6624 79 void OnListBoxDClick(wxCommandEvent& event);
c801d85f 80
c801d85f
KB
81protected:
82 long m_dialogStyle;
83 int m_selection;
84 wxString m_stringSelection;
257bf510
VZ
85 void *m_clientData;
86 wxListBox *m_listbox;
87
88private:
89 DECLARE_EVENT_TABLE()
c801d85f
KB
90};
91
184b5d99 92WXDLLEXPORT wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
c67daf87 93 int n, const wxString *choices, wxWindow *parent = (wxWindow *) NULL,
debe6624
JS
94 int x = -1, int y = -1, bool centre = TRUE,
95 int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
c801d85f 96
184b5d99 97WXDLLEXPORT wxString wxGetSingleChoice(const wxString& message, const wxString& caption,
9d2f3c71 98 int n, wxChar *choices[], wxWindow *parent = (wxWindow *) NULL,
debe6624
JS
99 int x = -1, int y = -1, bool centre = TRUE,
100 int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
c801d85f
KB
101
102// Same as above but gets position in list of strings, instead of string,
103// or -1 if no selection
184b5d99 104WXDLLEXPORT int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
c67daf87 105 int n, const wxString *choices, wxWindow *parent = (wxWindow *) NULL,
debe6624
JS
106 int x = -1, int y = -1, bool centre = TRUE,
107 int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
c801d85f 108
184b5d99 109WXDLLEXPORT int wxGetSingleChoiceIndex(const wxString& message, const wxString& caption,
9d2f3c71 110 int n, wxChar *choices[], wxWindow *parent = (wxWindow *) NULL,
debe6624
JS
111 int x = -1, int y = -1, bool centre = TRUE,
112 int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
c801d85f
KB
113
114// Return client data instead
257bf510 115// FIXME: this is horrible, using "char *" instead of "void *" belongs to the 70s!
9d2f3c71 116WXDLLEXPORT wxChar* wxGetSingleChoiceData(const wxString& message, const wxString& caption,
257bf510 117 int n, const wxString *choices, char **client_data,
c67daf87 118 wxWindow *parent = (wxWindow *) NULL, int x = -1, int y = -1,
debe6624
JS
119 bool centre = TRUE,
120 int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
c801d85f 121
9d2f3c71 122WXDLLEXPORT wxChar* wxGetSingleChoiceData(const wxString& message, const wxString& caption,
257bf510 123 int n, wxChar *choices[], char **client_data,
c67daf87 124 wxWindow *parent = (wxWindow *) NULL, int x = -1, int y = -1,
debe6624
JS
125 bool centre = TRUE,
126 int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
127
c801d85f 128/*
184b5d99 129WXDLLEXPORT int wxGetMultipleChoice(const wxString& message, const wxString& caption,
debe6624
JS
130 int n, const wxString *choices,
131 int nsel, int * selection,
132 wxWindow *parent = NULL, int x = -1 , int y = -1, bool centre = TRUE,
133 int width = wxCHOICE_WIDTH, int height = wxCHOICE_HEIGHT);
c801d85f
KB
134*/
135
136#endif