File: choice.h

package info (click to toggle)
wxwidgets3.0 3.0.5.1%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 120,464 kB
  • sloc: cpp: 896,633; makefile: 52,303; ansic: 21,971; sh: 5,713; python: 2,940; xml: 1,534; perl: 264; javascript: 33
file content (184 lines) | stat: -rw-r--r-- 5,832 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
/////////////////////////////////////////////////////////////////////////////
// Name:        choice.h
// Purpose:     interface of wxChoice
// Author:      wxWidgets team
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////

/**
    @class wxChoice

    A choice item is used to select one of a list of strings. Unlike a
    wxListBox, only the selection is visible until the user pulls down the
    menu of choices.

    @beginStyleTable
    @style{wxCB_SORT}
           Sorts the entries alphabetically.
    @endStyleTable

    @beginEventEmissionTable{wxCommandEvent}
    @event{EVT_CHOICE(id, func)}
           Process a @c wxEVT_CHOICE event, when an item on the
           list is selected.
    @endEventTable

    @library{wxcore}
    @category{ctrl}
    @appearance{choice}

    @see wxListBox, wxComboBox, wxCommandEvent
*/
class wxChoice : public wxControl,
                 public wxItemContainer
{
public:
    /**
        Default constructor.

        @see Create(), wxValidator
    */
    wxChoice();

    /**
        Constructor, creating and showing a choice.

        @param parent
            Parent window. Must not be @NULL.
        @param id
            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.
        @param n
            Number of strings with which to initialise the choice control.
        @param choices
            An array of strings with which to initialise the choice control.
        @param style
            Window style. See wxChoice.
        @param validator
            Window validator.
        @param name
            Window name.

        @see Create(), wxValidator

        @beginWxPerlOnly
        Not supported by wxPerl.
        @endWxPerlOnly
    */
    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.

        @param parent
            Parent window. Must not be @NULL.
        @param id
            Window identifier. The value wxID_ANY indicates a default value.
        @param pos
            Window position.
        @param size
            Window size. If wxDefaultSize is specified then the choice is sized
            appropriately.
        @param choices
            An array of strings with which to initialise the choice control.
        @param style
            Window style. See wxChoice.
        @param validator
            Window validator.
        @param name
            Window name.

        @see Create(), wxValidator

        @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 = wxChoiceNameStr );

    /**
        Destructor, destroying the choice item.
    */
    virtual ~wxChoice();

    //@{
    /**
        Creates the choice for two-step construction. See wxChoice().
    */
    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
                 returns 1 for the other platforms.
    */
    virtual int GetColumns() const;

    /**
        Unlike wxControlWithItems::GetSelection() which only returns the
        accepted selection value (the selection in the control once the
        user closes the dropdown list), this function returns the current
        selection. That is, while the dropdown list is shown, it returns the
        currently selected item in it. When it is not shown, its result is the
        same as for the other function.

        @since 2.6.2.
               In older versions, wxControlWithItems::GetSelection() itself
               behaved like this.
    */
    virtual int GetCurrentSelection() const;

    /**
        Sets the number of columns in this choice item.

        @param n
            Number of columns.

        @remarks This is implemented for GTK and Motif only and doesn’t do
                 anything under other platforms.
    */
    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);
};