1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxChoice class
8 // Copyright: (c) AUTHOR
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
16 #pragma interface "choice.h"
19 #include "wx/control.h"
21 #include <wx/dynarray.h>
23 WXDLLEXPORT_DATA(extern const char*) wxChoiceNameStr
;
25 WX_DEFINE_ARRAY( char * , wxChoiceDataArray
) ;
28 class WXDLLEXPORT wxChoice
: public wxChoiceBase
30 DECLARE_DYNAMIC_CLASS(wxChoice
)
36 wxChoice(wxWindow
*parent
, wxWindowID id
,
37 const wxPoint
& pos
= wxDefaultPosition
,
38 const wxSize
& size
= wxDefaultSize
,
39 int n
= 0, const wxString choices
[] = NULL
,
41 const wxValidator
& validator
= wxDefaultValidator
,
42 const wxString
& name
= wxChoiceNameStr
)
44 Create(parent
, id
, pos
, size
, n
, choices
, style
, validator
, name
);
47 bool Create(wxWindow
*parent
, wxWindowID id
,
48 const wxPoint
& pos
= wxDefaultPosition
,
49 const wxSize
& size
= wxDefaultSize
,
50 int n
= 0, const wxString choices
[] = NULL
,
52 const wxValidator
& validator
= wxDefaultValidator
,
53 const wxString
& name
= wxChoiceNameStr
);
55 virtual int DoAppend(const wxString
& item
);
56 virtual void Delete(int n
);
58 virtual int GetCount() const ;
59 virtual int GetSelection() const ;
60 virtual void SetSelection(int n
);
61 virtual int FindString(const wxString
& s
) const;
62 virtual wxString
GetString(int n
) const ;
63 virtual void SetString( int , const wxString
& s
) ;
64 void MacHandleControlClick( ControlHandle control
, SInt16 controlpart
) ;
67 virtual void Append(const wxString& item);
68 // Added min Append and GetClientData
69 virtual void Append(const wxString& item, void *client_data);
70 virtual void *GetClientData(int index) const;
71 virtual inline void Select( int n ) { SetSelection( n ); }
72 virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
73 virtual wxString GetStringSelection() const ;
74 virtual bool SetStringSelection(const wxString& sel);
76 virtual inline int Number() const { return m_strings.GetCount(); }
77 virtual inline int GetCount() const { return m_strings.GetCount(); }
78 virtual void Command(wxCommandEvent& event);
80 virtual inline int GetColumns() const { return 1 ; };
83 virtual void DoSetItemClientData( int n
, void* clientData
);
84 virtual void* DoGetItemClientData( int n
) const;
85 virtual void DoSetItemClientObject( int n
, wxClientData
* clientData
);
86 virtual wxClientData
* DoGetItemClientObject( int n
) const;
88 virtual void DoSetSize(int x
, int y
,
89 int width
, int height
,
90 int sizeFlags
= wxSIZE_AUTO
);
92 // free all memory we have (used by Clear() and dtor)
95 wxArrayString m_strings
;
96 wxChoiceDataArray m_dataArray
;
97 MenuHandle m_macPopUpMenuHandle
;