Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: xfa/fwl/lightwidget/cfwl_combobox.cpp

Issue 1834323003: Move xfa/include/fwl/{theme,lightwidget} to xfa/fwl (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #include "xfa/include/fwl/lightwidget/combobox.h" 7 #include "xfa/fwl/lightwidget/cfwl_combobox.h"
8 8
9 #include <utility> 9 #include <utility>
10 10
11 #include "xfa/fwl/core/fwl_error.h" 11 #include "xfa/fwl/core/fwl_error.h"
12 #include "xfa/fwl/core/ifwl_widget.h" 12 #include "xfa/fwl/core/ifwl_widget.h"
13 13
14 CFWL_ComboBox* CFWL_ComboBox::Create() { 14 CFWL_ComboBox* CFWL_ComboBox::Create() {
15 return new CFWL_ComboBox; 15 return new CFWL_ComboBox;
16 } 16 }
17
17 FWL_ERR CFWL_ComboBox::Initialize(const CFWL_WidgetProperties* pProperties) { 18 FWL_ERR CFWL_ComboBox::Initialize(const CFWL_WidgetProperties* pProperties) {
18 if (m_pIface) 19 if (m_pIface)
19 return FWL_ERR_Indefinite; 20 return FWL_ERR_Indefinite;
20 if (pProperties) { 21 if (pProperties) {
21 *m_pProperties = *pProperties; 22 *m_pProperties = *pProperties;
22 } 23 }
23 std::unique_ptr<IFWL_ComboBox> pComboBox(IFWL_ComboBox::Create( 24 std::unique_ptr<IFWL_ComboBox> pComboBox(IFWL_ComboBox::Create(
24 m_pProperties->MakeWidgetImpProperties(&m_comboBoxData))); 25 m_pProperties->MakeWidgetImpProperties(&m_comboBoxData)));
25 FWL_ERR ret = pComboBox->Initialize(); 26 FWL_ERR ret = pComboBox->Initialize();
26 if (ret != FWL_ERR_Succeeded) { 27 if (ret != FWL_ERR_Succeeded) {
27 return ret; 28 return ret;
28 } 29 }
29 m_pIface = pComboBox.release(); 30 m_pIface = pComboBox.release();
30 CFWL_Widget::Initialize(); 31 CFWL_Widget::Initialize();
31 return FWL_ERR_Succeeded; 32 return FWL_ERR_Succeeded;
32 } 33 }
34
33 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText) { 35 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText) {
34 std::unique_ptr<CFWL_ComboBoxItem> pItem(new CFWL_ComboBoxItem); 36 std::unique_ptr<CFWL_ComboBoxItem> pItem(new CFWL_ComboBoxItem);
35 pItem->m_wsText = wsText; 37 pItem->m_wsText = wsText;
36 pItem->m_dwStyles = 0; 38 pItem->m_dwStyles = 0;
37 m_comboBoxData.m_ItemArray.push_back(std::move(pItem)); 39 m_comboBoxData.m_ItemArray.push_back(std::move(pItem));
38 return m_comboBoxData.m_ItemArray.size() - 1; 40 return m_comboBoxData.m_ItemArray.size() - 1;
39 } 41 }
42
40 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText, 43 int32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText,
41 CFX_DIBitmap* pIcon) { 44 CFX_DIBitmap* pIcon) {
42 std::unique_ptr<CFWL_ComboBoxItem> pItem(new CFWL_ComboBoxItem); 45 std::unique_ptr<CFWL_ComboBoxItem> pItem(new CFWL_ComboBoxItem);
43 pItem->m_wsText = wsText; 46 pItem->m_wsText = wsText;
44 pItem->m_dwStyles = 0; 47 pItem->m_dwStyles = 0;
45 pItem->m_pDIB = pIcon; 48 pItem->m_pDIB = pIcon;
46 m_comboBoxData.m_ItemArray.push_back(std::move(pItem)); 49 m_comboBoxData.m_ItemArray.push_back(std::move(pItem));
47 return m_comboBoxData.m_ItemArray.size() - 1; 50 return m_comboBoxData.m_ItemArray.size() - 1;
48 } 51 }
52
49 bool CFWL_ComboBox::RemoveAt(int32_t iIndex) { 53 bool CFWL_ComboBox::RemoveAt(int32_t iIndex) {
50 if (iIndex < 0 || 54 if (iIndex < 0 ||
51 static_cast<size_t>(iIndex) >= m_comboBoxData.m_ItemArray.size()) { 55 static_cast<size_t>(iIndex) >= m_comboBoxData.m_ItemArray.size()) {
52 return false; 56 return false;
53 } 57 }
54 m_comboBoxData.m_ItemArray.erase(m_comboBoxData.m_ItemArray.begin() + iIndex); 58 m_comboBoxData.m_ItemArray.erase(m_comboBoxData.m_ItemArray.begin() + iIndex);
55 return true; 59 return true;
56 } 60 }
61
57 void CFWL_ComboBox::RemoveAll() { 62 void CFWL_ComboBox::RemoveAll() {
58 m_comboBoxData.m_ItemArray.clear(); 63 m_comboBoxData.m_ItemArray.clear();
59 } 64 }
65
60 int32_t CFWL_ComboBox::CountItems() { 66 int32_t CFWL_ComboBox::CountItems() {
61 return m_comboBoxData.CountItems(GetWidget()); 67 return m_comboBoxData.CountItems(GetWidget());
62 } 68 }
69
63 FWL_ERR CFWL_ComboBox::GetTextByIndex(int32_t iIndex, CFX_WideString& wsText) { 70 FWL_ERR CFWL_ComboBox::GetTextByIndex(int32_t iIndex, CFX_WideString& wsText) {
64 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>( 71 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(
65 m_comboBoxData.GetItem(m_pIface, iIndex)); 72 m_comboBoxData.GetItem(m_pIface, iIndex));
66 if (!pItem) 73 if (!pItem)
67 return FWL_ERR_Indefinite; 74 return FWL_ERR_Indefinite;
68 wsText = pItem->m_wsText; 75 wsText = pItem->m_wsText;
69 return FWL_ERR_Succeeded; 76 return FWL_ERR_Succeeded;
70 } 77 }
78
71 int32_t CFWL_ComboBox::GetCurSel() { 79 int32_t CFWL_ComboBox::GetCurSel() {
72 if (!m_pIface) 80 if (!m_pIface)
73 return -1; 81 return -1;
74 return static_cast<IFWL_ComboBox*>(m_pIface)->GetCurSel(); 82 return static_cast<IFWL_ComboBox*>(m_pIface)->GetCurSel();
75 } 83 }
84
76 FWL_ERR CFWL_ComboBox::SetCurSel(int32_t iSel) { 85 FWL_ERR CFWL_ComboBox::SetCurSel(int32_t iSel) {
77 if (!m_pIface) 86 if (!m_pIface)
78 return FWL_ERR_Indefinite; 87 return FWL_ERR_Indefinite;
79 return static_cast<IFWL_ComboBox*>(m_pIface)->SetCurSel(iSel); 88 return static_cast<IFWL_ComboBox*>(m_pIface)->SetCurSel(iSel);
80 } 89 }
90
81 FWL_ERR CFWL_ComboBox::SetEditText(const CFX_WideStringC& wsText) { 91 FWL_ERR CFWL_ComboBox::SetEditText(const CFX_WideStringC& wsText) {
82 if (!m_pIface) 92 if (!m_pIface)
83 return FWL_ERR_Indefinite; 93 return FWL_ERR_Indefinite;
84 return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditText(wsText); 94 return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditText(wsText);
85 } 95 }
96
86 int32_t CFWL_ComboBox::GetEditTextLength() const { 97 int32_t CFWL_ComboBox::GetEditTextLength() const {
87 if (!m_pIface) 98 if (!m_pIface)
88 return 0; 99 return 0;
89 return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditTextLength(); 100 return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditTextLength();
90 } 101 }
102
91 FWL_ERR CFWL_ComboBox::GetEditText(CFX_WideString& wsText, 103 FWL_ERR CFWL_ComboBox::GetEditText(CFX_WideString& wsText,
92 int32_t nStart, 104 int32_t nStart,
93 int32_t nCount) const { 105 int32_t nCount) const {
94 if (!m_pIface) 106 if (!m_pIface)
95 return FWL_ERR_Indefinite; 107 return FWL_ERR_Indefinite;
96 return static_cast<IFWL_ComboBox*>(m_pIface) 108 return static_cast<IFWL_ComboBox*>(m_pIface)
97 ->GetEditText(wsText, nStart, nCount); 109 ->GetEditText(wsText, nStart, nCount);
98 } 110 }
111
99 FWL_ERR CFWL_ComboBox::SetEditSelRange(int32_t nStart, int32_t nCount) { 112 FWL_ERR CFWL_ComboBox::SetEditSelRange(int32_t nStart, int32_t nCount) {
100 if (!m_pIface) 113 if (!m_pIface)
101 return FWL_ERR_Indefinite; 114 return FWL_ERR_Indefinite;
102 return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditSelRange(nStart, nCount); 115 return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditSelRange(nStart, nCount);
103 } 116 }
117
104 int32_t CFWL_ComboBox::GetEditSelRange(int32_t nIndex, int32_t& nStart) { 118 int32_t CFWL_ComboBox::GetEditSelRange(int32_t nIndex, int32_t& nStart) {
105 if (!m_pIface) 119 if (!m_pIface)
106 return 0; 120 return 0;
107 return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditSelRange(nIndex, nStart); 121 return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditSelRange(nIndex, nStart);
108 } 122 }
123
109 int32_t CFWL_ComboBox::GetEditLimit() { 124 int32_t CFWL_ComboBox::GetEditLimit() {
110 if (!m_pIface) 125 if (!m_pIface)
111 return 0; 126 return 0;
112 return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditLimit(); 127 return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditLimit();
113 } 128 }
129
114 FWL_ERR CFWL_ComboBox::SetEditLimit(int32_t nLimit) { 130 FWL_ERR CFWL_ComboBox::SetEditLimit(int32_t nLimit) {
115 if (!m_pIface) 131 if (!m_pIface)
116 return FWL_ERR_Indefinite; 132 return FWL_ERR_Indefinite;
117 return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditLimit(nLimit); 133 return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditLimit(nLimit);
118 } 134 }
135
119 FWL_ERR CFWL_ComboBox::EditDoClipboard(int32_t iCmd) { 136 FWL_ERR CFWL_ComboBox::EditDoClipboard(int32_t iCmd) {
120 if (!m_pIface) 137 if (!m_pIface)
121 return FWL_ERR_Indefinite; 138 return FWL_ERR_Indefinite;
122 return static_cast<IFWL_ComboBox*>(m_pIface)->EditDoClipboard(iCmd); 139 return static_cast<IFWL_ComboBox*>(m_pIface)->EditDoClipboard(iCmd);
123 } 140 }
141
124 FX_BOOL CFWL_ComboBox::EditRedo(const CFX_ByteStringC& bsRecord) { 142 FX_BOOL CFWL_ComboBox::EditRedo(const CFX_ByteStringC& bsRecord) {
125 if (!m_pIface) 143 if (!m_pIface)
126 return FALSE; 144 return FALSE;
127 return static_cast<IFWL_ComboBox*>(m_pIface)->EditRedo(bsRecord); 145 return static_cast<IFWL_ComboBox*>(m_pIface)->EditRedo(bsRecord);
128 } 146 }
147
129 FX_BOOL CFWL_ComboBox::EditUndo(const CFX_ByteStringC& bsRecord) { 148 FX_BOOL CFWL_ComboBox::EditUndo(const CFX_ByteStringC& bsRecord) {
130 if (!m_pIface) 149 if (!m_pIface)
131 return FALSE; 150 return FALSE;
132 return static_cast<IFWL_ComboBox*>(m_pIface)->EditUndo(bsRecord); 151 return static_cast<IFWL_ComboBox*>(m_pIface)->EditUndo(bsRecord);
133 } 152 }
153
134 FWL_ERR CFWL_ComboBox::SetMaxListHeight(FX_FLOAT fMaxHeight) { 154 FWL_ERR CFWL_ComboBox::SetMaxListHeight(FX_FLOAT fMaxHeight) {
135 m_comboBoxData.m_fMaxListHeight = fMaxHeight; 155 m_comboBoxData.m_fMaxListHeight = fMaxHeight;
136 return FWL_ERR_Succeeded; 156 return FWL_ERR_Succeeded;
137 } 157 }
158
138 FWL_ERR CFWL_ComboBox::SetItemData(int32_t iIndex, void* pData) { 159 FWL_ERR CFWL_ComboBox::SetItemData(int32_t iIndex, void* pData) {
139 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>( 160 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(
140 m_comboBoxData.GetItem(m_pIface, iIndex)); 161 m_comboBoxData.GetItem(m_pIface, iIndex));
141 if (!pItem) 162 if (!pItem)
142 return FWL_ERR_Indefinite; 163 return FWL_ERR_Indefinite;
143 pItem->m_pData = pData; 164 pItem->m_pData = pData;
144 return FWL_ERR_Succeeded; 165 return FWL_ERR_Succeeded;
145 } 166 }
167
146 void* CFWL_ComboBox::GetItemData(int32_t iIndex) { 168 void* CFWL_ComboBox::GetItemData(int32_t iIndex) {
147 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>( 169 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(
148 m_comboBoxData.GetItem(m_pIface, iIndex)); 170 m_comboBoxData.GetItem(m_pIface, iIndex));
149 if (!pItem) 171 if (!pItem)
150 return NULL; 172 return NULL;
151 return pItem->m_pData; 173 return pItem->m_pData;
152 } 174 }
175
153 FWL_ERR CFWL_ComboBox::SetListTheme(IFWL_ThemeProvider* pTheme) { 176 FWL_ERR CFWL_ComboBox::SetListTheme(IFWL_ThemeProvider* pTheme) {
154 return static_cast<IFWL_ComboBox*>(m_pIface)->GetListBoxt()->SetThemeProvider( 177 return static_cast<IFWL_ComboBox*>(m_pIface)->GetListBoxt()->SetThemeProvider(
155 pTheme); 178 pTheme);
156 } 179 }
180
157 FX_BOOL CFWL_ComboBox::AfterFocusShowDropList() { 181 FX_BOOL CFWL_ComboBox::AfterFocusShowDropList() {
158 return static_cast<IFWL_ComboBox*>(m_pIface)->AfterFocusShowDropList(); 182 return static_cast<IFWL_ComboBox*>(m_pIface)->AfterFocusShowDropList();
159 } 183 }
184
160 FWL_ERR CFWL_ComboBox::OpenDropDownList(FX_BOOL bActivate) { 185 FWL_ERR CFWL_ComboBox::OpenDropDownList(FX_BOOL bActivate) {
161 return static_cast<IFWL_ComboBox*>(m_pIface)->OpenDropDownList(bActivate); 186 return static_cast<IFWL_ComboBox*>(m_pIface)->OpenDropDownList(bActivate);
162 } 187 }
188
163 FX_BOOL CFWL_ComboBox::EditCanUndo() { 189 FX_BOOL CFWL_ComboBox::EditCanUndo() {
164 if (!m_pIface) 190 if (!m_pIface)
165 return FALSE; 191 return FALSE;
166 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanUndo(); 192 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanUndo();
167 } 193 }
194
168 FX_BOOL CFWL_ComboBox::EditCanRedo() { 195 FX_BOOL CFWL_ComboBox::EditCanRedo() {
169 if (!m_pIface) 196 if (!m_pIface)
170 return FALSE; 197 return FALSE;
171 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanRedo(); 198 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanRedo();
172 } 199 }
200
173 FX_BOOL CFWL_ComboBox::EditUndo() { 201 FX_BOOL CFWL_ComboBox::EditUndo() {
174 if (!m_pIface) 202 if (!m_pIface)
175 return FALSE; 203 return FALSE;
176 return static_cast<IFWL_ComboBox*>(m_pIface)->EditUndo(); 204 return static_cast<IFWL_ComboBox*>(m_pIface)->EditUndo();
177 } 205 }
206
178 FX_BOOL CFWL_ComboBox::EditRedo() { 207 FX_BOOL CFWL_ComboBox::EditRedo() {
179 if (!m_pIface) 208 if (!m_pIface)
180 return FALSE; 209 return FALSE;
181 return static_cast<IFWL_ComboBox*>(m_pIface)->EditRedo(); 210 return static_cast<IFWL_ComboBox*>(m_pIface)->EditRedo();
182 } 211 }
212
183 FX_BOOL CFWL_ComboBox::EditCanCopy() { 213 FX_BOOL CFWL_ComboBox::EditCanCopy() {
184 if (!m_pIface) 214 if (!m_pIface)
185 return FALSE; 215 return FALSE;
186 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanCopy(); 216 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanCopy();
187 } 217 }
218
188 FX_BOOL CFWL_ComboBox::EditCanCut() { 219 FX_BOOL CFWL_ComboBox::EditCanCut() {
189 if (!m_pIface) 220 if (!m_pIface)
190 return FALSE; 221 return FALSE;
191 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanCut(); 222 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanCut();
192 } 223 }
224
193 FX_BOOL CFWL_ComboBox::EditCanSelectAll() { 225 FX_BOOL CFWL_ComboBox::EditCanSelectAll() {
194 if (!m_pIface) 226 if (!m_pIface)
195 return FALSE; 227 return FALSE;
196 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanSelectAll(); 228 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanSelectAll();
197 } 229 }
230
198 FX_BOOL CFWL_ComboBox::EditCopy(CFX_WideString& wsCopy) { 231 FX_BOOL CFWL_ComboBox::EditCopy(CFX_WideString& wsCopy) {
199 if (!m_pIface) 232 if (!m_pIface)
200 return FALSE; 233 return FALSE;
201 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCopy(wsCopy); 234 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCopy(wsCopy);
202 } 235 }
236
203 FX_BOOL CFWL_ComboBox::EditCut(CFX_WideString& wsCut) { 237 FX_BOOL CFWL_ComboBox::EditCut(CFX_WideString& wsCut) {
204 if (!m_pIface) 238 if (!m_pIface)
205 return FALSE; 239 return FALSE;
206 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCut(wsCut); 240 return static_cast<IFWL_ComboBox*>(m_pIface)->EditCut(wsCut);
207 } 241 }
242
208 FX_BOOL CFWL_ComboBox::EditPaste(const CFX_WideString& wsPaste) { 243 FX_BOOL CFWL_ComboBox::EditPaste(const CFX_WideString& wsPaste) {
209 if (!m_pIface) 244 if (!m_pIface)
210 return FALSE; 245 return FALSE;
211 return static_cast<IFWL_ComboBox*>(m_pIface)->EditPaste(wsPaste); 246 return static_cast<IFWL_ComboBox*>(m_pIface)->EditPaste(wsPaste);
212 } 247 }
248
213 FX_BOOL CFWL_ComboBox::EditSelectAll() { 249 FX_BOOL CFWL_ComboBox::EditSelectAll() {
214 if (!m_pIface) 250 if (!m_pIface)
215 return FALSE; 251 return FALSE;
216 return static_cast<IFWL_ComboBox*>(m_pIface)->EditSelectAll(); 252 return static_cast<IFWL_ComboBox*>(m_pIface)->EditSelectAll();
217 } 253 }
254
218 FX_BOOL CFWL_ComboBox::EditDelete() { 255 FX_BOOL CFWL_ComboBox::EditDelete() {
219 if (!m_pIface) 256 if (!m_pIface)
220 return FALSE; 257 return FALSE;
221 return static_cast<IFWL_ComboBox*>(m_pIface)->EditDelete(); 258 return static_cast<IFWL_ComboBox*>(m_pIface)->EditDelete();
222 } 259 }
260
223 FX_BOOL CFWL_ComboBox::EditDeSelect() { 261 FX_BOOL CFWL_ComboBox::EditDeSelect() {
224 if (!m_pIface) 262 if (!m_pIface)
225 return FALSE; 263 return FALSE;
226 return static_cast<IFWL_ComboBox*>(m_pIface)->EditDeSelect(); 264 return static_cast<IFWL_ComboBox*>(m_pIface)->EditDeSelect();
227 } 265 }
266
228 FWL_ERR CFWL_ComboBox::GetBBox(CFX_RectF& rect) { 267 FWL_ERR CFWL_ComboBox::GetBBox(CFX_RectF& rect) {
229 if (!m_pIface) 268 if (!m_pIface)
230 return FALSE; 269 return FALSE;
231 return static_cast<IFWL_ComboBox*>(m_pIface)->GetBBox(rect); 270 return static_cast<IFWL_ComboBox*>(m_pIface)->GetBBox(rect);
232 } 271 }
272
233 FWL_ERR CFWL_ComboBox::EditModifyStylesEx(uint32_t dwStylesExAdded, 273 FWL_ERR CFWL_ComboBox::EditModifyStylesEx(uint32_t dwStylesExAdded,
234 uint32_t dwStylesExRemoved) { 274 uint32_t dwStylesExRemoved) {
235 if (!m_pIface) 275 if (!m_pIface)
236 return FALSE; 276 return FALSE;
237 return static_cast<IFWL_ComboBox*>(m_pIface) 277 return static_cast<IFWL_ComboBox*>(m_pIface)
238 ->EditModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); 278 ->EditModifyStylesEx(dwStylesExAdded, dwStylesExRemoved);
239 } 279 }
280
240 CFWL_ComboBox::CFWL_ComboBox() {} 281 CFWL_ComboBox::CFWL_ComboBox() {}
282
241 CFWL_ComboBox::~CFWL_ComboBox() {} 283 CFWL_ComboBox::~CFWL_ComboBox() {}
284
242 CFWL_ComboBox::CFWL_ComboBoxDP::CFWL_ComboBoxDP() { 285 CFWL_ComboBox::CFWL_ComboBoxDP::CFWL_ComboBoxDP() {
243 m_fItemHeight = 0; 286 m_fItemHeight = 0;
244 m_fMaxListHeight = 0; 287 m_fMaxListHeight = 0;
245 } 288 }
289
246 CFWL_ComboBox::CFWL_ComboBoxDP::~CFWL_ComboBoxDP() {} 290 CFWL_ComboBox::CFWL_ComboBoxDP::~CFWL_ComboBoxDP() {}
291
247 int32_t CFWL_ComboBox::CFWL_ComboBoxDP::CountItems(IFWL_Widget* pWidget) { 292 int32_t CFWL_ComboBox::CFWL_ComboBoxDP::CountItems(IFWL_Widget* pWidget) {
248 return m_ItemArray.size(); 293 return m_ItemArray.size();
249 } 294 }
295
250 FWL_HLISTITEM CFWL_ComboBox::CFWL_ComboBoxDP::GetItem(IFWL_Widget* pWidget, 296 FWL_HLISTITEM CFWL_ComboBox::CFWL_ComboBoxDP::GetItem(IFWL_Widget* pWidget,
251 int32_t nIndex) { 297 int32_t nIndex) {
252 if (nIndex < 0 || static_cast<size_t>(nIndex) >= m_ItemArray.size()) 298 if (nIndex < 0 || static_cast<size_t>(nIndex) >= m_ItemArray.size())
253 return nullptr; 299 return nullptr;
254 300
255 return reinterpret_cast<FWL_HLISTITEM>(m_ItemArray[nIndex].get()); 301 return reinterpret_cast<FWL_HLISTITEM>(m_ItemArray[nIndex].get());
256 } 302 }
303
257 int32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemIndex(IFWL_Widget* pWidget, 304 int32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemIndex(IFWL_Widget* pWidget,
258 FWL_HLISTITEM hItem) { 305 FWL_HLISTITEM hItem) {
259 auto it = std::find_if( 306 auto it = std::find_if(
260 m_ItemArray.begin(), m_ItemArray.end(), 307 m_ItemArray.begin(), m_ItemArray.end(),
261 [hItem](const std::unique_ptr<CFWL_ComboBoxItem>& candidate) { 308 [hItem](const std::unique_ptr<CFWL_ComboBoxItem>& candidate) {
262 return candidate.get() == reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 309 return candidate.get() == reinterpret_cast<CFWL_ComboBoxItem*>(hItem);
263 }); 310 });
264 return it != m_ItemArray.end() ? it - m_ItemArray.begin() : -1; 311 return it != m_ItemArray.end() ? it - m_ItemArray.begin() : -1;
265 } 312 }
313
266 FX_BOOL CFWL_ComboBox::CFWL_ComboBoxDP::SetItemIndex(IFWL_Widget* pWidget, 314 FX_BOOL CFWL_ComboBox::CFWL_ComboBoxDP::SetItemIndex(IFWL_Widget* pWidget,
267 FWL_HLISTITEM hItem, 315 FWL_HLISTITEM hItem,
268 int32_t nIndex) { 316 int32_t nIndex) {
269 if (nIndex < 0 || static_cast<size_t>(nIndex) >= m_ItemArray.size()) 317 if (nIndex < 0 || static_cast<size_t>(nIndex) >= m_ItemArray.size())
270 return FALSE; 318 return FALSE;
271 319
272 m_ItemArray[nIndex].reset(reinterpret_cast<CFWL_ComboBoxItem*>(hItem)); 320 m_ItemArray[nIndex].reset(reinterpret_cast<CFWL_ComboBoxItem*>(hItem));
273 return TRUE; 321 return TRUE;
274 } 322 }
323
275 uint32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemStyles(IFWL_Widget* pWidget, 324 uint32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemStyles(IFWL_Widget* pWidget,
276 FWL_HLISTITEM hItem) { 325 FWL_HLISTITEM hItem) {
277 if (!hItem) 326 if (!hItem)
278 return 0; 327 return 0;
279 return reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_dwStyles; 328 return reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_dwStyles;
280 } 329 }
330
281 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemText(IFWL_Widget* pWidget, 331 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemText(IFWL_Widget* pWidget,
282 FWL_HLISTITEM hItem, 332 FWL_HLISTITEM hItem,
283 CFX_WideString& wsText) { 333 CFX_WideString& wsText) {
284 if (!hItem) 334 if (!hItem)
285 return FWL_ERR_Indefinite; 335 return FWL_ERR_Indefinite;
286 wsText = reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_wsText; 336 wsText = reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_wsText;
287 return FWL_ERR_Succeeded; 337 return FWL_ERR_Succeeded;
288 } 338 }
339
289 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemRect(IFWL_Widget* pWidget, 340 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemRect(IFWL_Widget* pWidget,
290 FWL_HLISTITEM hItem, 341 FWL_HLISTITEM hItem,
291 CFX_RectF& rtItem) { 342 CFX_RectF& rtItem) {
292 if (!hItem) 343 if (!hItem)
293 return FWL_ERR_Indefinite; 344 return FWL_ERR_Indefinite;
294 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 345 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem);
295 rtItem.Set(pItem->m_rtItem.left, pItem->m_rtItem.top, pItem->m_rtItem.width, 346 rtItem.Set(pItem->m_rtItem.left, pItem->m_rtItem.top, pItem->m_rtItem.width,
296 pItem->m_rtItem.height); 347 pItem->m_rtItem.height);
297 return FWL_ERR_Succeeded; 348 return FWL_ERR_Succeeded;
298 } 349 }
350
299 void* CFWL_ComboBox::CFWL_ComboBoxDP::GetItemData(IFWL_Widget* pWidget, 351 void* CFWL_ComboBox::CFWL_ComboBoxDP::GetItemData(IFWL_Widget* pWidget,
300 FWL_HLISTITEM hItem) { 352 FWL_HLISTITEM hItem) {
301 if (!hItem) 353 if (!hItem)
302 return NULL; 354 return NULL;
303 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 355 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem);
304 return pItem->m_pData; 356 return pItem->m_pData;
305 } 357 }
358
306 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemStyles(IFWL_Widget* pWidget, 359 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemStyles(IFWL_Widget* pWidget,
307 FWL_HLISTITEM hItem, 360 FWL_HLISTITEM hItem,
308 uint32_t dwStyle) { 361 uint32_t dwStyle) {
309 if (!hItem) 362 if (!hItem)
310 return FWL_ERR_Indefinite; 363 return FWL_ERR_Indefinite;
311 reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_dwStyles = dwStyle; 364 reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_dwStyles = dwStyle;
312 return FWL_ERR_Succeeded; 365 return FWL_ERR_Succeeded;
313 } 366 }
367
314 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemText(IFWL_Widget* pWidget, 368 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemText(IFWL_Widget* pWidget,
315 FWL_HLISTITEM hItem, 369 FWL_HLISTITEM hItem,
316 const FX_WCHAR* pszText) { 370 const FX_WCHAR* pszText) {
317 if (!hItem) 371 if (!hItem)
318 return FWL_ERR_Indefinite; 372 return FWL_ERR_Indefinite;
319 reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_wsText = pszText; 373 reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_wsText = pszText;
320 return FWL_ERR_Succeeded; 374 return FWL_ERR_Succeeded;
321 } 375 }
376
322 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemRect(IFWL_Widget* pWidget, 377 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemRect(IFWL_Widget* pWidget,
323 FWL_HLISTITEM hItem, 378 FWL_HLISTITEM hItem,
324 const CFX_RectF& rtItem) { 379 const CFX_RectF& rtItem) {
325 if (!hItem) 380 if (!hItem)
326 return FWL_ERR_Indefinite; 381 return FWL_ERR_Indefinite;
327 reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_rtItem = rtItem; 382 reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_rtItem = rtItem;
328 return FWL_ERR_Succeeded; 383 return FWL_ERR_Succeeded;
329 } 384 }
385
330 FX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetItemHeight(IFWL_Widget* pWidget) { 386 FX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetItemHeight(IFWL_Widget* pWidget) {
331 return m_fItemHeight; 387 return m_fItemHeight;
332 } 388 }
389
333 CFX_DIBitmap* CFWL_ComboBox::CFWL_ComboBoxDP::GetItemIcon(IFWL_Widget* pWidget, 390 CFX_DIBitmap* CFWL_ComboBox::CFWL_ComboBoxDP::GetItemIcon(IFWL_Widget* pWidget,
334 FWL_HLISTITEM hItem) { 391 FWL_HLISTITEM hItem) {
335 if (!hItem) 392 if (!hItem)
336 return NULL; 393 return NULL;
337 return reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_pDIB; 394 return reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_pDIB;
338 } 395 }
396
339 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemCheckRect(IFWL_Widget* pWidget, 397 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemCheckRect(IFWL_Widget* pWidget,
340 FWL_HLISTITEM hItem, 398 FWL_HLISTITEM hItem,
341 CFX_RectF& rtCheck) { 399 CFX_RectF& rtCheck) {
342 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 400 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem);
343 rtCheck = pItem->m_rtCheckBox; 401 rtCheck = pItem->m_rtCheckBox;
344 return FWL_ERR_Succeeded; 402 return FWL_ERR_Succeeded;
345 } 403 }
404
346 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemCheckRect( 405 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemCheckRect(
347 IFWL_Widget* pWidget, 406 IFWL_Widget* pWidget,
348 FWL_HLISTITEM hItem, 407 FWL_HLISTITEM hItem,
349 const CFX_RectF& rtCheck) { 408 const CFX_RectF& rtCheck) {
350 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 409 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem);
351 pItem->m_rtCheckBox = rtCheck; 410 pItem->m_rtCheckBox = rtCheck;
352 return FWL_ERR_Succeeded; 411 return FWL_ERR_Succeeded;
353 } 412 }
413
354 uint32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemCheckState( 414 uint32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemCheckState(
355 IFWL_Widget* pWidget, 415 IFWL_Widget* pWidget,
356 FWL_HLISTITEM hItem) { 416 FWL_HLISTITEM hItem) {
357 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 417 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem);
358 return pItem->m_dwCheckState; 418 return pItem->m_dwCheckState;
359 } 419 }
420
360 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemCheckState( 421 FWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemCheckState(
361 IFWL_Widget* pWidget, 422 IFWL_Widget* pWidget,
362 FWL_HLISTITEM hItem, 423 FWL_HLISTITEM hItem,
363 uint32_t dwCheckState) { 424 uint32_t dwCheckState) {
364 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 425 CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem);
365 pItem->m_dwCheckState = dwCheckState; 426 pItem->m_dwCheckState = dwCheckState;
366 return FWL_ERR_Succeeded; 427 return FWL_ERR_Succeeded;
367 } 428 }
429
368 FX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetListHeight(IFWL_Widget* pWidget) { 430 FX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetListHeight(IFWL_Widget* pWidget) {
369 return m_fMaxListHeight; 431 return m_fMaxListHeight;
370 } 432 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698