]>
Commit | Line | Data |
---|---|---|
1 | /**************************************************************************** | |
2 | * | |
3 | * wxWindows HTML Applet Package | |
4 | * | |
5 | * Copyright (C) 1991-2001 SciTech Software, Inc. | |
6 | * All rights reserved. | |
7 | * | |
8 | * ======================================================================== | |
9 | * | |
10 | * The contents of this file are subject to the wxWindows License | |
11 | * Version 3.0 (the "License"); you may not use this file except in | |
12 | * compliance with the License. You may obtain a copy of the License at | |
13 | * http://www.wxwindows.org/licence3.txt | |
14 | * | |
15 | * Software distributed under the License is distributed on an | |
16 | * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or | |
17 | * implied. See the License for the specific language governing | |
18 | * rights and limitations under the License. | |
19 | * | |
20 | * ======================================================================== | |
21 | * | |
22 | * Language: ANSI C++ | |
23 | * Environment: Any | |
24 | * | |
25 | * Description: Combobox wrapper. This file implements the custom | |
26 | * combo boxes used for this sample program. | |
27 | * | |
28 | ****************************************************************************/ | |
29 | ||
30 | // For compilers that support precompilation, includes "wx/wx.h". | |
31 | #include "wx/wxprec.h" | |
32 | #ifdef __BORLANDC__ | |
33 | #pragma hdrstop | |
34 | #endif | |
35 | ||
36 | #include "wx/wx.h" | |
37 | #include "combobox.h" | |
38 | ||
39 | /*------------------------- Implementation --------------------------------*/ | |
40 | ||
41 | ComboBox::ComboBox( | |
42 | wxWindow *parent, | |
43 | int listid, | |
44 | int textid) | |
45 | : m_Parent(parent), m_ListBoxId(listid), m_TextCtrlId(textid) | |
46 | { | |
47 | m_ListBox = wxDynamicCast(m_Parent->FindWindow(listid),wxListBox); | |
48 | m_TextCtrl = wxDynamicCast(m_Parent->FindWindow(textid),wxTextCtrl); | |
49 | } | |
50 | ||
51 | int ComboBox::GetListBoxId() | |
52 | { | |
53 | return m_ListBoxId; | |
54 | } | |
55 | ||
56 | int ComboBox::GetSelection() | |
57 | { | |
58 | return m_ListBox->GetSelection(); | |
59 | } | |
60 | ||
61 | wxString ComboBox::GetStringSelection() | |
62 | { | |
63 | return m_ListBox->GetStringSelection(); | |
64 | } | |
65 | ||
66 | bool ComboBox::SetStringSelection(const wxString& s, bool select) | |
67 | { | |
68 | select = TRUE; | |
69 | select = m_ListBox->SetStringSelection(s, select); | |
70 | m_TextCtrl->SetValue(GetStringSelection()); | |
71 | return select; | |
72 | } | |
73 | ||
74 | void ComboBox::Select(int n) | |
75 | { | |
76 | m_ListBox->Select(n); | |
77 | m_TextCtrl->SetValue(GetStringSelection()); | |
78 | } | |
79 | ||
80 | void ComboBox::Deselect(int n) | |
81 | { | |
82 | m_ListBox->Deselect(n); | |
83 | } | |
84 | ||
85 | void ComboBox::Insert(const wxString& item, int pos) | |
86 | { | |
87 | m_ListBox->Insert(item,pos); | |
88 | } | |
89 | ||
90 | void ComboBox::Insert(const wxString& item, int pos, void *clientData) | |
91 | { | |
92 | m_ListBox->Insert(item, pos, clientData); | |
93 | } | |
94 | ||
95 | void ComboBox::Insert(const wxString& item, int pos, wxClientData *clientData) | |
96 | { | |
97 | m_ListBox->Insert(item, pos, clientData); | |
98 | } | |
99 | ||
100 | void ComboBox::InsertItems(int nItems, const wxString *items, int pos) | |
101 | { | |
102 | m_ListBox->InsertItems(nItems, items, pos); | |
103 | } | |
104 | ||
105 | void ComboBox::InsertItems(const wxArrayString& items, int pos) | |
106 | { | |
107 | m_ListBox->InsertItems(items, pos); | |
108 | } | |
109 | ||
110 | void ComboBox::Set(int n, const wxString* items, void **clientData) | |
111 | { | |
112 | m_ListBox->Set(n, items, clientData); | |
113 | m_TextCtrl->SetValue(GetStringSelection()); | |
114 | } | |
115 | ||
116 | void ComboBox::Set(const wxArrayString& items, void **clientData) | |
117 | { | |
118 | m_ListBox->Set(items, clientData); | |
119 | m_TextCtrl->SetValue(GetStringSelection()); | |
120 | } | |
121 | ||
122 | int ComboBox::FindString(const wxString &s) | |
123 | { | |
124 | return (m_ListBox->FindString(s)); | |
125 | } | |
126 | ||
127 | void ComboBox::SetFirstItem(int n) | |
128 | { | |
129 | m_ListBox->SetFirstItem(n); | |
130 | m_TextCtrl->SetValue(GetStringSelection()); | |
131 | } | |
132 | ||
133 | void ComboBox::SetFirstItem(const wxString &s) | |
134 | { | |
135 | m_ListBox->SetFirstItem(s); | |
136 | m_TextCtrl->SetValue(GetStringSelection()); | |
137 | } | |
138 | ||
139 | void ComboBox::Append(const wxString &item) | |
140 | { | |
141 | m_ListBox->Append(item); | |
142 | m_TextCtrl->SetValue(GetStringSelection()); | |
143 | } | |
144 | ||
145 | void ComboBox::Append(const wxString& item, void *clientData) | |
146 | { | |
147 | m_ListBox->Append(item, clientData); | |
148 | m_TextCtrl->SetValue(GetStringSelection()); | |
149 | } | |
150 | ||
151 | void ComboBox::Append(const wxString& item, wxClientData *clientData) | |
152 | { | |
153 | m_ListBox->Append(item, clientData); | |
154 | m_TextCtrl->SetValue(GetStringSelection()); | |
155 | } | |
156 | ||
157 | void ComboBox::Clear() | |
158 | { | |
159 | m_ListBox->Clear(); | |
160 | m_TextCtrl->SetValue(GetStringSelection()); | |
161 | } | |
162 | ||
163 | void ComboBox::Delete(int n) | |
164 | { | |
165 | m_ListBox->Delete(n); | |
166 | m_TextCtrl->SetValue(GetStringSelection()); | |
167 | } | |
168 | ||
169 | void ComboBox::OnChange(wxCommandEvent &) | |
170 | { | |
171 | m_TextCtrl->SetValue(GetStringSelection()); | |
172 | } | |
173 |