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/choice.h"
21 WXDLLEXPORT_DATA(extern const wxChar
*) wxComboBoxNameStr
;
24 class WXDLLEXPORT wxComboBox
: public wxControl
, public wxComboBoxBase
26 DECLARE_DYNAMIC_CLASS(wxComboBox
)
29 inline wxComboBox() {}
30 virtual ~wxComboBox();
31 // override the base class virtuals involved in geometry calculations
32 virtual wxSize
DoGetBestSize() const;
33 virtual void DoMoveWindow(int x
, int y
, int width
, int height
);
35 // forward these functions to all subcontrols
36 virtual bool Enable(bool enable
= true);
37 virtual bool Show(bool show
= true);
38 virtual void SetFocus();
41 virtual void DelegateTextChanged( const wxString
& value
);
42 virtual void DelegateChoice( const wxString
& value
);
44 inline wxComboBox(wxWindow
*parent
, wxWindowID id
,
45 const wxString
& value
= wxEmptyString
,
46 const wxPoint
& pos
= wxDefaultPosition
,
47 const wxSize
& size
= wxDefaultSize
,
48 int n
= 0, const wxString choices
[] = NULL
,
50 const wxValidator
& validator
= wxDefaultValidator
,
51 const wxString
& name
= wxComboBoxNameStr
)
53 Create(parent
, id
, value
, pos
, size
, n
, choices
, style
, validator
, name
);
55 inline wxComboBox(wxWindow
*parent
, wxWindowID id
,
56 const wxString
& value
,
59 const wxArrayString
& choices
,
61 const wxValidator
& validator
= wxDefaultValidator
,
62 const wxString
& name
= wxComboBoxNameStr
)
64 Create(parent
, id
, value
, pos
, size
, choices
, style
, validator
, name
);
67 bool Create(wxWindow
*parent
, wxWindowID id
,
68 const wxString
& value
= wxEmptyString
,
69 const wxPoint
& pos
= wxDefaultPosition
,
70 const wxSize
& size
= wxDefaultSize
,
71 int n
= 0, const wxString choices
[] = NULL
,
73 const wxValidator
& validator
= wxDefaultValidator
,
74 const wxString
& name
= wxComboBoxNameStr
);
75 bool Create(wxWindow
*parent
, wxWindowID id
,
76 const wxString
& value
,
79 const wxArrayString
& choices
,
81 const wxValidator
& validator
= wxDefaultValidator
,
82 const wxString
& name
= wxComboBoxNameStr
);
85 virtual void Delete(int n
);
88 virtual int GetSelection() const ;
89 virtual void SetSelection(int n
);
90 virtual int FindString(const wxString
& s
) const;
91 virtual wxString
GetString(int n
) const ;
92 virtual wxString
GetStringSelection() const ;
93 virtual void SetString(int n
, const wxString
& s
) ;
95 // Text field functions
96 virtual wxString
GetValue() const ;
97 virtual void SetValue(const wxString
& value
);
99 // Clipboard operations
102 virtual void Paste();
103 virtual void SetInsertionPoint(long pos
);
104 virtual void SetInsertionPointEnd();
105 virtual long GetInsertionPoint() const ;
106 virtual wxTextPos
GetLastPosition() const ;
107 virtual void Replace(long from
, long to
, const wxString
& value
);
108 virtual void Remove(long from
, long to
);
109 virtual void SetSelection(long from
, long to
);
110 virtual void SetEditable(bool editable
);
111 virtual int GetCount() const { return m_choice
->GetCount() ; }
113 virtual bool IsEditable() const ;
115 virtual void Undo() ;
116 virtual void Redo() ;
117 virtual void SelectAll() ;
119 virtual bool CanCopy() const ;
120 virtual bool CanCut() const ;
121 virtual bool CanPaste() const ;
122 virtual bool CanUndo() const ;
123 virtual bool CanRedo() const ;
125 void MacHandleControlClick( WXWidget control
, wxInt16 controlpart
, bool mouseStillDown
) ;
127 wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
130 virtual int DoAppend(const wxString
& item
) ;
131 virtual int DoInsert(const wxString
& item
, int pos
) ;
133 virtual void DoSetItemClientData(int n
, void* clientData
) ;
134 virtual void* DoGetItemClientData(int n
) const ;
135 virtual void DoSetItemClientObject(int n
, wxClientData
* clientData
) ;
136 virtual wxClientData
* DoGetItemClientObject(int n
) const ;