1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxComboBox class
4 // Author: Stefan Csomor
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_COMBOBOX_H_
13 #define _WX_COMBOBOX_H_
15 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
16 #pragma interface "combobox.h"
19 #include "wx/textctrl.h"
20 #include "wx/choice.h"
22 WXDLLEXPORT_DATA(extern const wxChar
*) wxComboBoxNameStr
;
25 class WXDLLEXPORT wxComboBox
: public wxComboBoxBase
, public wxControl
27 DECLARE_DYNAMIC_CLASS(wxComboBox
)
30 inline wxComboBox() {}
31 virtual ~wxComboBox();
32 // override the base class virtuals involved in geometry calculations
33 virtual wxSize
DoGetBestSize() const;
34 virtual void DoMoveWindow(int x
, int y
, int width
, int height
);
36 // forward these functions to all subcontrols
37 virtual bool Enable(bool enable
= TRUE
);
38 virtual bool Show(bool show
= TRUE
);
39 virtual void SetFocus();
42 virtual void DelegateTextChanged( const wxString
& value
);
43 virtual void DelegateChoice( const wxString
& value
);
45 inline wxComboBox(wxWindow
*parent
, wxWindowID id
,
46 const wxString
& value
= wxEmptyString
,
47 const wxPoint
& pos
= wxDefaultPosition
,
48 const wxSize
& size
= wxDefaultSize
,
49 int n
= 0, const wxString choices
[] = NULL
,
51 const wxValidator
& validator
= wxDefaultValidator
,
52 const wxString
& name
= wxComboBoxNameStr
)
54 Create(parent
, id
, value
, pos
, size
, n
, choices
, style
, validator
, name
);
57 bool Create(wxWindow
*parent
, wxWindowID id
,
58 const wxString
& value
= wxEmptyString
,
59 const wxPoint
& pos
= wxDefaultPosition
,
60 const wxSize
& size
= wxDefaultSize
,
61 int n
= 0, const wxString choices
[] = NULL
,
63 const wxValidator
& validator
= wxDefaultValidator
,
64 const wxString
& name
= wxComboBoxNameStr
);
67 virtual void Delete(int n
);
70 virtual int GetSelection() const ;
71 virtual void SetSelection(int n
);
72 virtual void Select(int n
) { SetSelection(n
) ; }
73 virtual int FindString(const wxString
& s
) const;
74 virtual wxString
GetString(int n
) const ;
75 virtual wxString
GetStringSelection() const ;
76 virtual void SetString(int n
, const wxString
& s
) ;
77 virtual bool SetStringSelection(const wxString
& sel
);
79 // Text field functions
80 virtual wxString
GetValue() const ;
81 virtual void SetValue(const wxString
& value
);
83 // Clipboard operations
87 virtual void SetInsertionPoint(long pos
);
88 virtual void SetInsertionPointEnd();
89 virtual long GetInsertionPoint() const ;
90 virtual long GetLastPosition() const ;
91 virtual void Replace(long from
, long to
, const wxString
& value
);
92 virtual void Remove(long from
, long to
);
93 virtual void SetSelection(long from
, long to
);
94 virtual void SetEditable(bool editable
);
95 virtual int GetCount() const { return m_choice
->GetCount() ; }
96 void MacHandleControlClick( WXWidget control
, wxInt16 controlpart
, bool mouseStillDown
) ;
98 wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
101 virtual int DoAppend(const wxString
& item
) ;
102 virtual int DoInsert(const wxString
& item
, int pos
) ;
104 virtual void DoSetItemClientData(int n
, void* clientData
) ;
105 virtual void* DoGetItemClientData(int n
) const ;
106 virtual void DoSetItemClientObject(int n
, wxClientData
* clientData
) ;
107 virtual wxClientData
* DoGetItemClientObject(int n
) const ;