1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/mac/carbon/combobox.h
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 #include "wx/choice.h"
17 WXDLLEXPORT_DATA(extern const wxChar
) wxComboBoxNameStr
[];
19 // forward declaration of private implementation classes
21 class wxComboBoxText
;
22 class wxComboBoxChoice
;
25 class WXDLLEXPORT wxComboBox
: public wxControl
, public wxComboBoxBase
27 DECLARE_DYNAMIC_CLASS(wxComboBox
)
30 inline wxComboBox() {}
31 virtual ~wxComboBox();
33 // forward these functions to all subcontrols
34 virtual bool Enable(bool enable
= true);
35 virtual bool Show(bool show
= true);
36 virtual void SetFocus();
39 virtual void DelegateTextChanged( const wxString
& value
);
40 virtual void DelegateChoice( const wxString
& value
);
42 inline wxComboBox(wxWindow
*parent
, wxWindowID id
,
43 const wxString
& value
= wxEmptyString
,
44 const wxPoint
& pos
= wxDefaultPosition
,
45 const wxSize
& size
= wxDefaultSize
,
46 int n
= 0, const wxString choices
[] = NULL
,
48 const wxValidator
& validator
= wxDefaultValidator
,
49 const wxString
& name
= wxComboBoxNameStr
)
51 Create(parent
, id
, value
, pos
, size
, n
, choices
, style
, validator
, name
);
53 inline wxComboBox(wxWindow
*parent
, wxWindowID id
,
54 const wxString
& value
,
57 const wxArrayString
& choices
,
59 const wxValidator
& validator
= wxDefaultValidator
,
60 const wxString
& name
= wxComboBoxNameStr
)
62 Create(parent
, id
, value
, pos
, size
, choices
, style
, validator
, name
);
65 bool Create(wxWindow
*parent
, wxWindowID id
,
66 const wxString
& value
= wxEmptyString
,
67 const wxPoint
& pos
= wxDefaultPosition
,
68 const wxSize
& size
= wxDefaultSize
,
69 int n
= 0, const wxString choices
[] = NULL
,
71 const wxValidator
& validator
= wxDefaultValidator
,
72 const wxString
& name
= wxComboBoxNameStr
);
73 bool Create(wxWindow
*parent
, wxWindowID id
,
74 const wxString
& value
,
77 const wxArrayString
& choices
,
79 const wxValidator
& validator
= wxDefaultValidator
,
80 const wxString
& name
= wxComboBoxNameStr
);
83 virtual void Delete(int n
);
86 virtual int GetSelection() const ;
87 int GetCurrentSelection() const { return GetSelection(); }
88 virtual void SetSelection(int n
);
89 virtual int FindString(const wxString
& s
, bool bCase
= false) const;
90 virtual wxString
GetString(int n
) const ;
91 virtual wxString
GetStringSelection() const ;
92 virtual void SetString(int n
, const wxString
& s
) ;
94 // Text field functions
95 virtual wxString
GetValue() const ;
96 virtual void SetValue(const wxString
& value
);
98 // Clipboard operations
101 virtual void Paste();
102 virtual void SetInsertionPoint(long pos
);
103 virtual void SetInsertionPointEnd();
104 virtual long GetInsertionPoint() const ;
105 virtual wxTextPos
GetLastPosition() const ;
106 virtual void Replace(long from
, long to
, const wxString
& value
);
107 virtual void Remove(long from
, long to
);
108 virtual void SetSelection(long from
, long to
);
109 virtual void SetEditable(bool editable
);
110 virtual int GetCount() const ;
112 virtual bool IsEditable() const ;
114 virtual void Undo() ;
115 virtual void Redo() ;
116 virtual void SelectAll() ;
118 virtual bool CanCopy() const ;
119 virtual bool CanCut() const ;
120 virtual bool CanPaste() const ;
121 virtual bool CanUndo() const ;
122 virtual bool CanRedo() const ;
124 wxInt32
MacControlHit( WXEVENTHANDLERREF handler
, WXEVENTREF event
) ;
126 wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST
129 // override the base class virtuals involved in geometry calculations
130 virtual wxSize
DoGetBestSize() const;
131 virtual void DoMoveWindow(int x
, int y
, int width
, int height
);
133 virtual int DoAppend(const wxString
& item
) ;
134 virtual int DoInsert(const wxString
& item
, int pos
) ;
136 virtual void DoSetItemClientData(int n
, void* clientData
) ;
137 virtual void* DoGetItemClientData(int n
) const ;
138 virtual void DoSetItemClientObject(int n
, wxClientData
* clientData
) ;
139 virtual wxClientData
* DoGetItemClientObject(int n
) const ;
144 wxComboBoxText
* m_text
;
145 wxComboBoxChoice
* m_choice
;