removed multiple duplicate copies (with subtly different behaviour) of SetStringSelec...
[wxWidgets.git] / include / wx / cocoa / combobox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/cocoa/combobox.h
3 // Purpose: wxComboBox class
4 // Author: David Elliott
5 // Modified by:
6 // Created: 2003/07/14
7 // RCS-ID: $Id$
8 // Copyright: (c) 2003 David Elliott
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef __WX_COCOA_COMBOBOX_H__
13 #define __WX_COCOA_COMBOBOX_H__
14
15 //#include "wx/cocoa/NSTableView.h"
16
17 // ========================================================================
18 // wxComboBox
19 // ========================================================================
20 class WXDLLEXPORT wxComboBox: public wxTextCtrl, public wxComboBoxBase //, protected wxCocoaNSTableView
21 {
22 DECLARE_DYNAMIC_CLASS(wxComboBox)
23 DECLARE_EVENT_TABLE()
24 // WX_DECLARE_COCOA_OWNER(NSComboBox,NSTextField,NSView)
25 // ------------------------------------------------------------------------
26 // initialization
27 // ------------------------------------------------------------------------
28 public:
29 wxComboBox() { }
30 wxComboBox(wxWindow *parent, wxWindowID winid,
31 const wxString& value = wxEmptyString,
32 const wxPoint& pos = wxDefaultPosition,
33 const wxSize& size = wxDefaultSize,
34 int n = 0, const wxString choices[] = NULL,
35 long style = 0,
36 const wxValidator& validator = wxDefaultValidator,
37 const wxString& name = wxComboBoxNameStr)
38 {
39 Create(parent, winid, value, pos, size, n, choices, style, validator, name);
40 }
41 wxComboBox(wxWindow *parent, wxWindowID winid,
42 const wxString& value,
43 const wxPoint& pos,
44 const wxSize& size,
45 const wxArrayString& choices,
46 long style = 0,
47 const wxValidator& validator = wxDefaultValidator,
48 const wxString& name = wxComboBoxNameStr)
49 {
50 Create(parent, winid, value, pos, size, choices, style,
51 validator, name);
52 }
53
54 bool Create(wxWindow *parent, wxWindowID winid,
55 const wxString& value = wxEmptyString,
56 const wxPoint& pos = wxDefaultPosition,
57 const wxSize& size = wxDefaultSize,
58 int n = 0, const wxString choices[] = NULL,
59 long style = 0,
60 const wxValidator& validator = wxDefaultValidator,
61 const wxString& name = wxComboBoxNameStr);
62 bool Create(wxWindow *parent, wxWindowID winid,
63 const wxString& value,
64 const wxPoint& pos,
65 const wxSize& size,
66 const wxArrayString& choices,
67 long style = 0,
68 const wxValidator& validator = wxDefaultValidator,
69 const wxString& name = wxComboBoxNameStr);
70 virtual ~wxComboBox();
71
72 // ------------------------------------------------------------------------
73 // Cocoa callbacks
74 // ------------------------------------------------------------------------
75 protected:
76 // ------------------------------------------------------------------------
77 // Implementation
78 // ------------------------------------------------------------------------
79 public:
80 // wxCombobox methods
81 virtual void SetSelection(int);
82 // Overlapping methods
83 virtual wxString GetStringSelection();
84 // wxItemContainer
85 virtual void Clear();
86 virtual void Delete(int);
87 virtual int GetCount() const;
88 virtual wxString GetString(int) const;
89 virtual void SetString(int, const wxString&);
90 virtual int FindString(const wxString&) const;
91 virtual void Select(int) {}
92 virtual int GetSelection() const;
93 virtual int DoAppend(const wxString&);
94 virtual int DoInsert(const wxString&, int);
95 virtual void DoSetItemClientData(int, void*);
96 virtual void* DoGetItemClientData(int) const;
97 virtual void DoSetItemClientObject(int, wxClientData*);
98 virtual wxClientData* DoGetItemClientObject(int) const;
99 // wxComboBoxBase pure virtuals
100 virtual wxString GetValue() const
101 { return wxTextCtrl::GetValue(); }
102 virtual void SetValue(const wxString& value)
103 { return wxTextCtrl::SetValue(value); }
104 virtual void Cut() { wxTextCtrl::Cut(); }
105 virtual void Copy() { wxTextCtrl::Copy(); }
106 virtual void Paste() { wxTextCtrl::Paste(); }
107 virtual void SetInsertionPoint(long pos)
108 { wxTextCtrl::SetInsertionPoint(pos); }
109 virtual void SetInsertionPointEnd()
110 { wxTextCtrl::SetInsertionPointEnd(); }
111 virtual long GetInsertionPoint() const
112 { return wxTextCtrl::GetInsertionPoint(); }
113 virtual wxTextPos GetLastPosition() const
114 { return wxTextCtrl::GetLastPosition(); }
115 virtual void Replace(long from, long to, const wxString& value)
116 { wxTextCtrl::Replace(from,to,value); }
117 virtual void SetSelection(long from, long to)
118 { wxTextCtrl::SetSelection(from,to); }
119 virtual void SetEditable(bool editable)
120 { wxTextCtrl::SetEditable(editable); }
121 virtual bool IsEditable() const
122 { return !HasFlag(wxCB_READONLY); }
123 virtual void Undo()
124 { wxTextCtrl::Undo(); }
125 virtual void Redo()
126 { wxTextCtrl::Redo(); }
127 virtual void SelectAll()
128 { wxTextCtrl::SelectAll(); }
129 virtual bool CanCopy() const
130 { return wxTextCtrl::CanCopy(); }
131 virtual bool CanCut() const
132 { return wxTextCtrl::CanCut(); }
133 virtual bool CanPaste() const
134 { return wxTextCtrl::CanPaste(); }
135 virtual bool CanUndo() const
136 { return wxTextCtrl::CanUndo(); }
137 virtual bool CanRedo() const
138 { return wxTextCtrl::CanRedo(); }
139 };
140
141 #endif // __WX_COCOA_COMBOBOX_H__