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

Side by Side Diff: xfa/fwl/basewidget/fwl_editimp.cpp

Issue 1943413002: Convert FWL_ERR into an enum class. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@bcdattribute
Patch Set: Created 4 years, 7 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
« no previous file with comments | « xfa/fwl/basewidget/fwl_editimp.h ('k') | xfa/fwl/basewidget/fwl_formproxyimp.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/fwl/basewidget/fwl_editimp.h" 7 #include "xfa/fwl/basewidget/fwl_editimp.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <vector> 10 #include <vector>
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 IFWL_Edit* IFWL_Edit::CreateComboEdit( 67 IFWL_Edit* IFWL_Edit::CreateComboEdit(
68 const CFWL_WidgetImpProperties& properties, 68 const CFWL_WidgetImpProperties& properties,
69 IFWL_Widget* pOuter) { 69 IFWL_Widget* pOuter) {
70 IFWL_Edit* pEdit = new IFWL_Edit; 70 IFWL_Edit* pEdit = new IFWL_Edit;
71 CFWL_EditImp* pComboEditImpl = new CFWL_ComboEditImp(properties, pOuter); 71 CFWL_EditImp* pComboEditImpl = new CFWL_ComboEditImp(properties, pOuter);
72 pEdit->SetImpl(pComboEditImpl); 72 pEdit->SetImpl(pComboEditImpl);
73 pComboEditImpl->SetInterface(pEdit); 73 pComboEditImpl->SetInterface(pEdit);
74 return pEdit; 74 return pEdit;
75 } 75 }
76 IFWL_Edit::IFWL_Edit() {} 76 IFWL_Edit::IFWL_Edit() {}
77 FWL_ERR IFWL_Edit::SetText(const CFX_WideString& wsText) { 77 FWL_Error IFWL_Edit::SetText(const CFX_WideString& wsText) {
78 return static_cast<CFWL_EditImp*>(GetImpl())->SetText(wsText); 78 return static_cast<CFWL_EditImp*>(GetImpl())->SetText(wsText);
79 } 79 }
80 int32_t IFWL_Edit::GetTextLength() const { 80 int32_t IFWL_Edit::GetTextLength() const {
81 return static_cast<CFWL_EditImp*>(GetImpl())->GetTextLength(); 81 return static_cast<CFWL_EditImp*>(GetImpl())->GetTextLength();
82 } 82 }
83 FWL_ERR IFWL_Edit::GetText(CFX_WideString& wsText, 83 FWL_Error IFWL_Edit::GetText(CFX_WideString& wsText,
84 int32_t nStart, 84 int32_t nStart,
85 int32_t nCount) const { 85 int32_t nCount) const {
86 return static_cast<CFWL_EditImp*>(GetImpl())->GetText(wsText, nStart, nCount); 86 return static_cast<CFWL_EditImp*>(GetImpl())->GetText(wsText, nStart, nCount);
87 } 87 }
88 FWL_ERR IFWL_Edit::ClearText() { 88 FWL_Error IFWL_Edit::ClearText() {
89 return static_cast<CFWL_EditImp*>(GetImpl())->ClearText(); 89 return static_cast<CFWL_EditImp*>(GetImpl())->ClearText();
90 } 90 }
91 int32_t IFWL_Edit::GetCaretPos() const { 91 int32_t IFWL_Edit::GetCaretPos() const {
92 return static_cast<CFWL_EditImp*>(GetImpl())->GetCaretPos(); 92 return static_cast<CFWL_EditImp*>(GetImpl())->GetCaretPos();
93 } 93 }
94 int32_t IFWL_Edit::SetCaretPos(int32_t nIndex, FX_BOOL bBefore) { 94 int32_t IFWL_Edit::SetCaretPos(int32_t nIndex, FX_BOOL bBefore) {
95 return static_cast<CFWL_EditImp*>(GetImpl())->SetCaretPos(nIndex, bBefore); 95 return static_cast<CFWL_EditImp*>(GetImpl())->SetCaretPos(nIndex, bBefore);
96 } 96 }
97 FWL_ERR IFWL_Edit::AddSelRange(int32_t nStart, int32_t nCount) { 97 FWL_Error IFWL_Edit::AddSelRange(int32_t nStart, int32_t nCount) {
98 return static_cast<CFWL_EditImp*>(GetImpl())->AddSelRange(nStart, nCount); 98 return static_cast<CFWL_EditImp*>(GetImpl())->AddSelRange(nStart, nCount);
99 } 99 }
100 int32_t IFWL_Edit::CountSelRanges() { 100 int32_t IFWL_Edit::CountSelRanges() {
101 return static_cast<CFWL_EditImp*>(GetImpl())->CountSelRanges(); 101 return static_cast<CFWL_EditImp*>(GetImpl())->CountSelRanges();
102 } 102 }
103 int32_t IFWL_Edit::GetSelRange(int32_t nIndex, int32_t& nStart) { 103 int32_t IFWL_Edit::GetSelRange(int32_t nIndex, int32_t& nStart) {
104 return static_cast<CFWL_EditImp*>(GetImpl())->GetSelRange(nIndex, nStart); 104 return static_cast<CFWL_EditImp*>(GetImpl())->GetSelRange(nIndex, nStart);
105 } 105 }
106 FWL_ERR IFWL_Edit::ClearSelections() { 106 FWL_Error IFWL_Edit::ClearSelections() {
107 return static_cast<CFWL_EditImp*>(GetImpl())->ClearSelections(); 107 return static_cast<CFWL_EditImp*>(GetImpl())->ClearSelections();
108 } 108 }
109 int32_t IFWL_Edit::GetLimit() { 109 int32_t IFWL_Edit::GetLimit() {
110 return static_cast<CFWL_EditImp*>(GetImpl())->GetLimit(); 110 return static_cast<CFWL_EditImp*>(GetImpl())->GetLimit();
111 } 111 }
112 FWL_ERR IFWL_Edit::SetLimit(int32_t nLimit) { 112 FWL_Error IFWL_Edit::SetLimit(int32_t nLimit) {
113 return static_cast<CFWL_EditImp*>(GetImpl())->SetLimit(nLimit); 113 return static_cast<CFWL_EditImp*>(GetImpl())->SetLimit(nLimit);
114 } 114 }
115 FWL_ERR IFWL_Edit::SetAliasChar(FX_WCHAR wAlias) { 115 FWL_Error IFWL_Edit::SetAliasChar(FX_WCHAR wAlias) {
116 return static_cast<CFWL_EditImp*>(GetImpl())->SetAliasChar(wAlias); 116 return static_cast<CFWL_EditImp*>(GetImpl())->SetAliasChar(wAlias);
117 } 117 }
118 FWL_ERR IFWL_Edit::Insert(int32_t nStart, 118 FWL_Error IFWL_Edit::Insert(int32_t nStart,
119 const FX_WCHAR* lpText, 119 const FX_WCHAR* lpText,
120 int32_t nLen) { 120 int32_t nLen) {
121 return static_cast<CFWL_EditImp*>(GetImpl())->Insert(nStart, lpText, nLen); 121 return static_cast<CFWL_EditImp*>(GetImpl())->Insert(nStart, lpText, nLen);
122 } 122 }
123 FWL_ERR IFWL_Edit::DeleteSelections() { 123 FWL_Error IFWL_Edit::DeleteSelections() {
124 return static_cast<CFWL_EditImp*>(GetImpl())->DeleteSelections(); 124 return static_cast<CFWL_EditImp*>(GetImpl())->DeleteSelections();
125 } 125 }
126 FWL_ERR IFWL_Edit::DeleteRange(int32_t nStart, int32_t nCount) { 126 FWL_Error IFWL_Edit::DeleteRange(int32_t nStart, int32_t nCount) {
127 return static_cast<CFWL_EditImp*>(GetImpl())->DeleteRange(nStart, nCount); 127 return static_cast<CFWL_EditImp*>(GetImpl())->DeleteRange(nStart, nCount);
128 } 128 }
129 FWL_ERR IFWL_Edit::ReplaceSelections(const CFX_WideStringC& wsReplace) { 129 FWL_Error IFWL_Edit::ReplaceSelections(const CFX_WideStringC& wsReplace) {
130 return static_cast<CFWL_EditImp*>(GetImpl())->ReplaceSelections(wsReplace); 130 return static_cast<CFWL_EditImp*>(GetImpl())->ReplaceSelections(wsReplace);
131 } 131 }
132 FWL_ERR IFWL_Edit::Replace(int32_t nStart, 132 FWL_Error IFWL_Edit::Replace(int32_t nStart,
133 int32_t nLen, 133 int32_t nLen,
134 const CFX_WideStringC& wsReplace) { 134 const CFX_WideStringC& wsReplace) {
135 return static_cast<CFWL_EditImp*>(GetImpl()) 135 return static_cast<CFWL_EditImp*>(GetImpl())
136 ->Replace(nStart, nLen, wsReplace); 136 ->Replace(nStart, nLen, wsReplace);
137 } 137 }
138 FWL_ERR IFWL_Edit::DoClipboard(int32_t iCmd) { 138 FWL_Error IFWL_Edit::DoClipboard(int32_t iCmd) {
139 return static_cast<CFWL_EditImp*>(GetImpl())->DoClipboard(iCmd); 139 return static_cast<CFWL_EditImp*>(GetImpl())->DoClipboard(iCmd);
140 } 140 }
141 FX_BOOL IFWL_Edit::Copy(CFX_WideString& wsCopy) { 141 FX_BOOL IFWL_Edit::Copy(CFX_WideString& wsCopy) {
142 return static_cast<CFWL_EditImp*>(GetImpl())->Copy(wsCopy); 142 return static_cast<CFWL_EditImp*>(GetImpl())->Copy(wsCopy);
143 } 143 }
144 FX_BOOL IFWL_Edit::Cut(CFX_WideString& wsCut) { 144 FX_BOOL IFWL_Edit::Cut(CFX_WideString& wsCut) {
145 return static_cast<CFWL_EditImp*>(GetImpl())->Cut(wsCut); 145 return static_cast<CFWL_EditImp*>(GetImpl())->Cut(wsCut);
146 } 146 }
147 FX_BOOL IFWL_Edit::Paste(const CFX_WideString& wsPaste) { 147 FX_BOOL IFWL_Edit::Paste(const CFX_WideString& wsPaste) {
148 return static_cast<CFWL_EditImp*>(GetImpl())->Paste(wsPaste); 148 return static_cast<CFWL_EditImp*>(GetImpl())->Paste(wsPaste);
(...skipping 12 matching lines...) Expand all
161 } 161 }
162 FX_BOOL IFWL_Edit::Redo() { 162 FX_BOOL IFWL_Edit::Redo() {
163 return static_cast<CFWL_EditImp*>(GetImpl())->Redo(); 163 return static_cast<CFWL_EditImp*>(GetImpl())->Redo();
164 } 164 }
165 FX_BOOL IFWL_Edit::CanUndo() { 165 FX_BOOL IFWL_Edit::CanUndo() {
166 return static_cast<CFWL_EditImp*>(GetImpl())->CanUndo(); 166 return static_cast<CFWL_EditImp*>(GetImpl())->CanUndo();
167 } 167 }
168 FX_BOOL IFWL_Edit::CanRedo() { 168 FX_BOOL IFWL_Edit::CanRedo() {
169 return static_cast<CFWL_EditImp*>(GetImpl())->CanRedo(); 169 return static_cast<CFWL_EditImp*>(GetImpl())->CanRedo();
170 } 170 }
171 FWL_ERR IFWL_Edit::SetTabWidth(FX_FLOAT fTabWidth, FX_BOOL bEquidistant) { 171 FWL_Error IFWL_Edit::SetTabWidth(FX_FLOAT fTabWidth, FX_BOOL bEquidistant) {
172 return static_cast<CFWL_EditImp*>(GetImpl()) 172 return static_cast<CFWL_EditImp*>(GetImpl())
173 ->SetTabWidth(fTabWidth, bEquidistant); 173 ->SetTabWidth(fTabWidth, bEquidistant);
174 } 174 }
175 FWL_ERR IFWL_Edit::SetOuter(IFWL_Widget* pOuter) { 175 FWL_Error IFWL_Edit::SetOuter(IFWL_Widget* pOuter) {
176 return static_cast<CFWL_EditImp*>(GetImpl())->SetOuter(pOuter); 176 return static_cast<CFWL_EditImp*>(GetImpl())->SetOuter(pOuter);
177 } 177 }
178 FWL_ERR IFWL_Edit::SetNumberRange(int32_t iMin, int32_t iMax) { 178 FWL_Error IFWL_Edit::SetNumberRange(int32_t iMin, int32_t iMax) {
179 return static_cast<CFWL_EditImp*>(GetImpl())->SetNumberRange(iMin, iMax); 179 return static_cast<CFWL_EditImp*>(GetImpl())->SetNumberRange(iMin, iMax);
180 } 180 }
181 FWL_ERR IFWL_Edit::SetBackColor(uint32_t dwColor) { 181 FWL_Error IFWL_Edit::SetBackColor(uint32_t dwColor) {
182 return static_cast<CFWL_EditImp*>(GetImpl())->SetBackgroundColor(dwColor); 182 return static_cast<CFWL_EditImp*>(GetImpl())->SetBackgroundColor(dwColor);
183 } 183 }
184 FWL_ERR IFWL_Edit::SetFont(const CFX_WideString& wsFont, FX_FLOAT fSize) { 184 FWL_Error IFWL_Edit::SetFont(const CFX_WideString& wsFont, FX_FLOAT fSize) {
185 return static_cast<CFWL_EditImp*>(GetImpl())->SetFont(wsFont, fSize); 185 return static_cast<CFWL_EditImp*>(GetImpl())->SetFont(wsFont, fSize);
186 } 186 }
187 void IFWL_Edit::SetScrollOffset(FX_FLOAT fScrollOffset) { 187 void IFWL_Edit::SetScrollOffset(FX_FLOAT fScrollOffset) {
188 return static_cast<CFWL_EditImp*>(GetImpl())->SetScrollOffset(fScrollOffset); 188 return static_cast<CFWL_EditImp*>(GetImpl())->SetScrollOffset(fScrollOffset);
189 } 189 }
190 FX_BOOL IFWL_Edit::GetSuggestWords(CFX_PointF pointf, 190 FX_BOOL IFWL_Edit::GetSuggestWords(CFX_PointF pointf,
191 std::vector<CFX_ByteString>& sSuggest) { 191 std::vector<CFX_ByteString>& sSuggest) {
192 return static_cast<CFWL_EditImp*>(GetImpl()) 192 return static_cast<CFWL_EditImp*>(GetImpl())
193 ->GetSuggestWords(pointf, sSuggest); 193 ->GetSuggestWords(pointf, sSuggest);
194 } 194 }
(...skipping 27 matching lines...) Expand all
222 m_rtEngine.Reset(); 222 m_rtEngine.Reset();
223 m_rtStatic.Reset(); 223 m_rtStatic.Reset();
224 } 224 }
225 CFWL_EditImp::~CFWL_EditImp() { 225 CFWL_EditImp::~CFWL_EditImp() {
226 if (m_pEdtEngine) { 226 if (m_pEdtEngine) {
227 m_pEdtEngine->Release(); 227 m_pEdtEngine->Release();
228 m_pEdtEngine = NULL; 228 m_pEdtEngine = NULL;
229 } 229 }
230 ClearRecord(); 230 ClearRecord();
231 } 231 }
232 FWL_ERR CFWL_EditImp::GetClassName(CFX_WideString& wsClass) const { 232 FWL_Error CFWL_EditImp::GetClassName(CFX_WideString& wsClass) const {
233 wsClass = FWL_CLASS_Edit; 233 wsClass = FWL_CLASS_Edit;
234 return FWL_ERR_Succeeded; 234 return FWL_Error::Succeeded;
235 } 235 }
236 uint32_t CFWL_EditImp::GetClassID() const { 236 uint32_t CFWL_EditImp::GetClassID() const {
237 return FWL_CLASSHASH_Edit; 237 return FWL_CLASSHASH_Edit;
238 } 238 }
239 FWL_ERR CFWL_EditImp::Initialize() { 239 FWL_Error CFWL_EditImp::Initialize() {
240 if (CFWL_WidgetImp::Initialize() != FWL_ERR_Succeeded) 240 if (CFWL_WidgetImp::Initialize() != FWL_Error::Succeeded)
241 return FWL_ERR_Indefinite; 241 return FWL_Error::Indefinite;
242 if (!m_pDelegate) { 242 if (!m_pDelegate) {
243 m_pDelegate = new CFWL_EditImpDelegate(this); 243 m_pDelegate = new CFWL_EditImpDelegate(this);
244 } 244 }
245 InitCaret(); 245 InitCaret();
246 if (!m_pEdtEngine) { 246 if (!m_pEdtEngine) {
247 InitEngine(); 247 InitEngine();
248 } 248 }
249 return FWL_ERR_Succeeded; 249 return FWL_Error::Succeeded;
250 } 250 }
251 FWL_ERR CFWL_EditImp::Finalize() { 251 FWL_Error CFWL_EditImp::Finalize() {
252 if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) { 252 if (m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) {
253 ShowCaret(FALSE); 253 ShowCaret(FALSE);
254 } 254 }
255 if (m_pHorzScrollBar) { 255 if (m_pHorzScrollBar) {
256 m_pHorzScrollBar->Finalize(); 256 m_pHorzScrollBar->Finalize();
257 } 257 }
258 if (m_pVertScrollBar) { 258 if (m_pVertScrollBar) {
259 m_pVertScrollBar->Finalize(); 259 m_pVertScrollBar->Finalize();
260 } 260 }
261 delete m_pDelegate; 261 delete m_pDelegate;
262 m_pDelegate = nullptr; 262 m_pDelegate = nullptr;
263 return CFWL_WidgetImp::Finalize(); 263 return CFWL_WidgetImp::Finalize();
264 } 264 }
265 FWL_ERR CFWL_EditImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { 265 FWL_Error CFWL_EditImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) {
266 if (bAutoSize) { 266 if (bAutoSize) {
267 rect.Set(0, 0, 0, 0); 267 rect.Set(0, 0, 0, 0);
268 if (m_pEdtEngine) { 268 if (m_pEdtEngine) {
269 int32_t iTextLen = m_pEdtEngine->GetTextLength(); 269 int32_t iTextLen = m_pEdtEngine->GetTextLength();
270 if (iTextLen > 0) { 270 if (iTextLen > 0) {
271 CFX_WideString wsText; 271 CFX_WideString wsText;
272 m_pEdtEngine->GetText(wsText, 0); 272 m_pEdtEngine->GetText(wsText, 0);
273 CFX_SizeF sz = CalcTextSize( 273 CFX_SizeF sz = CalcTextSize(
274 wsText, m_pProperties->m_pThemeProvider, 274 wsText, m_pProperties->m_pThemeProvider,
275 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine); 275 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine);
(...skipping 11 matching lines...) Expand all
287 rect.width += kEditMargin; 287 rect.width += kEditMargin;
288 } 288 }
289 if (IsShowScrollBar(FALSE)) { 289 if (IsShowScrollBar(FALSE)) {
290 FX_FLOAT* pfWidth = static_cast<FX_FLOAT*>( 290 FX_FLOAT* pfWidth = static_cast<FX_FLOAT*>(
291 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); 291 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth));
292 rect.height += *pfWidth; 292 rect.height += *pfWidth;
293 rect.height += kEditMargin; 293 rect.height += kEditMargin;
294 } 294 }
295 } 295 }
296 } 296 }
297 return FWL_ERR_Succeeded; 297 return FWL_Error::Succeeded;
298 } 298 }
299 FWL_ERR CFWL_EditImp::SetStates(uint32_t dwStates, FX_BOOL bSet) { 299 FWL_Error CFWL_EditImp::SetStates(uint32_t dwStates, FX_BOOL bSet) {
300 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Invisible) || 300 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Invisible) ||
301 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) { 301 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
302 ShowCaret(FALSE); 302 ShowCaret(FALSE);
303 } 303 }
304 return CFWL_WidgetImp::SetStates(dwStates, bSet); 304 return CFWL_WidgetImp::SetStates(dwStates, bSet);
305 } 305 }
306 FWL_ERR CFWL_EditImp::SetWidgetRect(const CFX_RectF& rect) { 306 FWL_Error CFWL_EditImp::SetWidgetRect(const CFX_RectF& rect) {
307 return CFWL_WidgetImp::SetWidgetRect(rect); 307 return CFWL_WidgetImp::SetWidgetRect(rect);
308 } 308 }
309 FWL_ERR CFWL_EditImp::Update() { 309 FWL_Error CFWL_EditImp::Update() {
310 if (IsLocked()) { 310 if (IsLocked()) {
311 return FWL_ERR_Indefinite; 311 return FWL_Error::Indefinite;
312 } 312 }
313 if (!m_pProperties->m_pThemeProvider) { 313 if (!m_pProperties->m_pThemeProvider) {
314 m_pProperties->m_pThemeProvider = GetAvailableTheme(); 314 m_pProperties->m_pThemeProvider = GetAvailableTheme();
315 } 315 }
316 Layout(); 316 Layout();
317 if (m_rtClient.IsEmpty()) { 317 if (m_rtClient.IsEmpty()) {
318 return FWL_ERR_Indefinite; 318 return FWL_Error::Indefinite;
319 } 319 }
320 UpdateEditEngine(); 320 UpdateEditEngine();
321 UpdateVAlignment(); 321 UpdateVAlignment();
322 UpdateScroll(); 322 UpdateScroll();
323 InitCaret(); 323 InitCaret();
324 return FWL_ERR_Succeeded; 324 return FWL_Error::Succeeded;
325 } 325 }
326 326
327 FWL_WidgetHit CFWL_EditImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) { 327 FWL_WidgetHit CFWL_EditImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
328 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) { 328 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
329 if (IsShowScrollBar(TRUE)) { 329 if (IsShowScrollBar(TRUE)) {
330 CFX_RectF rect; 330 CFX_RectF rect;
331 m_pVertScrollBar->GetWidgetRect(rect); 331 m_pVertScrollBar->GetWidgetRect(rect);
332 if (rect.Contains(fx, fy)) 332 if (rect.Contains(fx, fy))
333 return FWL_WidgetHit::VScrollBar; 333 return FWL_WidgetHit::VScrollBar;
334 } 334 }
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 pMatrix->TransformRect(rtClip); 483 pMatrix->TransformRect(rtClip);
484 mt.Concat(*pMatrix); 484 mt.Concat(*pMatrix);
485 } 485 }
486 pGraphics->SetClipRect(rtClip); 486 pGraphics->SetClipRect(rtClip);
487 pGraphics->SetStrokeColor(&crLine); 487 pGraphics->SetStrokeColor(&crLine);
488 pGraphics->SetLineWidth(0); 488 pGraphics->SetLineWidth(0);
489 pGraphics->StrokePath(&pathSpell, NULL); 489 pGraphics->StrokePath(&pathSpell, NULL);
490 } 490 }
491 pGraphics->RestoreGraphState(); 491 pGraphics->RestoreGraphState();
492 } 492 }
493 FWL_ERR CFWL_EditImp::DrawWidget(CFX_Graphics* pGraphics, 493 FWL_Error CFWL_EditImp::DrawWidget(CFX_Graphics* pGraphics,
494 const CFX_Matrix* pMatrix) { 494 const CFX_Matrix* pMatrix) {
495 if (!pGraphics) 495 if (!pGraphics)
496 return FWL_ERR_Indefinite; 496 return FWL_Error::Indefinite;
497 if (!m_pProperties->m_pThemeProvider) 497 if (!m_pProperties->m_pThemeProvider)
498 return FWL_ERR_Indefinite; 498 return FWL_Error::Indefinite;
499 if (m_rtClient.IsEmpty()) { 499 if (m_rtClient.IsEmpty()) {
500 return FWL_ERR_Indefinite; 500 return FWL_Error::Indefinite;
501 } 501 }
502 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; 502 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider;
503 if (!m_pWidgetMgr->IsFormDisabled()) { 503 if (!m_pWidgetMgr->IsFormDisabled()) {
504 DrawTextBk(pGraphics, pTheme, pMatrix); 504 DrawTextBk(pGraphics, pTheme, pMatrix);
505 } 505 }
506 if (m_pEdtEngine) { 506 if (m_pEdtEngine) {
507 DrawContent(pGraphics, pTheme, pMatrix); 507 DrawContent(pGraphics, pTheme, pMatrix);
508 } 508 }
509 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) && 509 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) &&
510 !(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly)) { 510 !(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly)) {
511 DrawSpellCheck(pGraphics, pMatrix); 511 DrawSpellCheck(pGraphics, pMatrix);
512 } 512 }
513 if (HasBorder()) { 513 if (HasBorder()) {
514 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix); 514 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix);
515 } 515 }
516 if (HasEdge()) { 516 if (HasEdge()) {
517 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix); 517 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix);
518 } 518 }
519 return FWL_ERR_Succeeded; 519 return FWL_Error::Succeeded;
520 } 520 }
521 FWL_ERR CFWL_EditImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { 521 FWL_Error CFWL_EditImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) {
522 if (!pThemeProvider) 522 if (!pThemeProvider)
523 return FWL_ERR_Indefinite; 523 return FWL_Error::Indefinite;
524 if (m_pHorzScrollBar) { 524 if (m_pHorzScrollBar) {
525 m_pHorzScrollBar->SetThemeProvider(pThemeProvider); 525 m_pHorzScrollBar->SetThemeProvider(pThemeProvider);
526 } 526 }
527 if (m_pVertScrollBar) { 527 if (m_pVertScrollBar) {
528 m_pVertScrollBar->SetThemeProvider(pThemeProvider); 528 m_pVertScrollBar->SetThemeProvider(pThemeProvider);
529 } 529 }
530 if (m_pCaret) { 530 if (m_pCaret) {
531 m_pCaret->SetThemeProvider(pThemeProvider); 531 m_pCaret->SetThemeProvider(pThemeProvider);
532 } 532 }
533 m_pProperties->m_pThemeProvider = pThemeProvider; 533 m_pProperties->m_pThemeProvider = pThemeProvider;
534 return FWL_ERR_Succeeded; 534 return FWL_Error::Succeeded;
535 } 535 }
536 FWL_ERR CFWL_EditImp::SetText(const CFX_WideString& wsText) { 536
537 FWL_Error CFWL_EditImp::SetText(const CFX_WideString& wsText) {
537 m_pEdtEngine->SetText(wsText); 538 m_pEdtEngine->SetText(wsText);
538 return FWL_ERR_Succeeded; 539 return FWL_Error::Succeeded;
539 } 540 }
541
540 int32_t CFWL_EditImp::GetTextLength() const { 542 int32_t CFWL_EditImp::GetTextLength() const {
541 if (!m_pEdtEngine) 543 if (!m_pEdtEngine)
542 return -1; 544 return -1;
543 return m_pEdtEngine->GetTextLength(); 545 return m_pEdtEngine->GetTextLength();
544 } 546 }
545 FWL_ERR CFWL_EditImp::GetText(CFX_WideString& wsText, 547
546 int32_t nStart, 548 FWL_Error CFWL_EditImp::GetText(CFX_WideString& wsText,
547 int32_t nCount) const { 549 int32_t nStart,
550 int32_t nCount) const {
548 if (!m_pEdtEngine) 551 if (!m_pEdtEngine)
549 return FWL_ERR_Succeeded; 552 return FWL_Error::Indefinite;
553
550 m_pEdtEngine->GetText(wsText, nStart, nCount); 554 m_pEdtEngine->GetText(wsText, nStart, nCount);
551 return FWL_ERR_Succeeded; 555 return FWL_Error::Succeeded;
552 } 556 }
553 FWL_ERR CFWL_EditImp::ClearText() { 557
558 FWL_Error CFWL_EditImp::ClearText() {
554 if (!m_pEdtEngine) 559 if (!m_pEdtEngine)
555 return FWL_ERR_Succeeded; 560 return FWL_Error::Indefinite;
561
556 m_pEdtEngine->ClearText(); 562 m_pEdtEngine->ClearText();
557 return FWL_ERR_Succeeded; 563 return FWL_Error::Succeeded;
558 } 564 }
565
559 int32_t CFWL_EditImp::GetCaretPos() const { 566 int32_t CFWL_EditImp::GetCaretPos() const {
560 if (!m_pEdtEngine) 567 if (!m_pEdtEngine)
561 return -1; 568 return -1;
562 return m_pEdtEngine->GetCaretPos(); 569 return m_pEdtEngine->GetCaretPos();
563 } 570 }
571
564 int32_t CFWL_EditImp::SetCaretPos(int32_t nIndex, FX_BOOL bBefore) { 572 int32_t CFWL_EditImp::SetCaretPos(int32_t nIndex, FX_BOOL bBefore) {
565 if (!m_pEdtEngine) 573 if (!m_pEdtEngine)
566 return -1; 574 return -1;
567 return m_pEdtEngine->SetCaretPos(nIndex, bBefore); 575 return m_pEdtEngine->SetCaretPos(nIndex, bBefore);
568 } 576 }
569 FWL_ERR CFWL_EditImp::AddSelRange(int32_t nStart, int32_t nCount) { 577
578 FWL_Error CFWL_EditImp::AddSelRange(int32_t nStart, int32_t nCount) {
570 if (!m_pEdtEngine) 579 if (!m_pEdtEngine)
571 return FWL_ERR_Succeeded; 580 return FWL_Error::Indefinite;
581
572 m_pEdtEngine->AddSelRange(nStart, nCount); 582 m_pEdtEngine->AddSelRange(nStart, nCount);
573 return FWL_ERR_Succeeded; 583 return FWL_Error::Succeeded;
574 } 584 }
585
575 int32_t CFWL_EditImp::CountSelRanges() { 586 int32_t CFWL_EditImp::CountSelRanges() {
576 if (!m_pEdtEngine) 587 if (!m_pEdtEngine)
577 return 0; 588 return 0;
578 return m_pEdtEngine->CountSelRanges(); 589 return m_pEdtEngine->CountSelRanges();
579 return FWL_ERR_Succeeded;
580 } 590 }
591
581 int32_t CFWL_EditImp::GetSelRange(int32_t nIndex, int32_t& nStart) { 592 int32_t CFWL_EditImp::GetSelRange(int32_t nIndex, int32_t& nStart) {
582 if (!m_pEdtEngine) 593 if (!m_pEdtEngine)
583 return -1; 594 return -1;
584 return m_pEdtEngine->GetSelRange(nIndex, nStart); 595 return m_pEdtEngine->GetSelRange(nIndex, nStart);
585 } 596 }
586 FWL_ERR CFWL_EditImp::ClearSelections() { 597
598 FWL_Error CFWL_EditImp::ClearSelections() {
587 if (!m_pEdtEngine) 599 if (!m_pEdtEngine)
588 return FWL_ERR_Succeeded; 600 return FWL_Error::Indefinite;
601
589 m_pEdtEngine->ClearSelection(); 602 m_pEdtEngine->ClearSelection();
590 return FWL_ERR_Succeeded; 603 return FWL_Error::Succeeded;
591 } 604 }
605
592 int32_t CFWL_EditImp::GetLimit() { 606 int32_t CFWL_EditImp::GetLimit() {
593 return m_nLimit; 607 return m_nLimit;
594 } 608 }
595 FWL_ERR CFWL_EditImp::SetLimit(int32_t nLimit) { 609
610 FWL_Error CFWL_EditImp::SetLimit(int32_t nLimit) {
596 m_nLimit = nLimit; 611 m_nLimit = nLimit;
597 if (!m_pEdtEngine) 612 if (!m_pEdtEngine)
598 return FWL_ERR_Succeeded; 613 return FWL_Error::Indefinite;
614
599 m_pEdtEngine->SetLimit(nLimit); 615 m_pEdtEngine->SetLimit(nLimit);
600 return FWL_ERR_Succeeded; 616 return FWL_Error::Succeeded;
601 } 617 }
602 FWL_ERR CFWL_EditImp::SetAliasChar(FX_WCHAR wAlias) { 618
619 FWL_Error CFWL_EditImp::SetAliasChar(FX_WCHAR wAlias) {
603 if (!m_pEdtEngine) 620 if (!m_pEdtEngine)
604 return FWL_ERR_Indefinite; 621 return FWL_Error::Indefinite;
622
605 m_pEdtEngine->SetAliasChar(wAlias); 623 m_pEdtEngine->SetAliasChar(wAlias);
606 return FWL_ERR_Succeeded; 624 return FWL_Error::Succeeded;
607 } 625 }
608 FWL_ERR CFWL_EditImp::Insert(int32_t nStart, 626
609 const FX_WCHAR* lpText, 627 FWL_Error CFWL_EditImp::Insert(int32_t nStart,
610 int32_t nLen) { 628 const FX_WCHAR* lpText,
629 int32_t nLen) {
611 if (!m_pEdtEngine) 630 if (!m_pEdtEngine)
612 return FWL_ERR_Succeeded; 631 return FWL_Error::Indefinite;
632
613 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) || 633 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) ||
614 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) { 634 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
615 return FWL_ERR_Indefinite; 635 return FWL_Error::Indefinite;
616 } 636 }
617 m_pEdtEngine->Insert(nStart, lpText, nLen); 637 m_pEdtEngine->Insert(nStart, lpText, nLen);
618 return FWL_ERR_Succeeded; 638 return FWL_Error::Succeeded;
619 } 639 }
620 FWL_ERR CFWL_EditImp::DeleteSelections() { 640
641 FWL_Error CFWL_EditImp::DeleteSelections() {
621 if (!m_pEdtEngine) 642 if (!m_pEdtEngine)
622 return FWL_ERR_Succeeded; 643 return FWL_Error::Indefinite;
644
623 int32_t iCount = m_pEdtEngine->CountSelRanges(); 645 int32_t iCount = m_pEdtEngine->CountSelRanges();
624 if (iCount > 0) { 646 if (iCount > 0)
625 m_pEdtEngine->Delete(-1); 647 m_pEdtEngine->Delete(-1);
626 } 648 return FWL_Error::Succeeded;
627 return FWL_ERR_Succeeded;
628 } 649 }
629 FWL_ERR CFWL_EditImp::DeleteRange(int32_t nStart, int32_t nCount) { 650
651 FWL_Error CFWL_EditImp::DeleteRange(int32_t nStart, int32_t nCount) {
630 if (!m_pEdtEngine) 652 if (!m_pEdtEngine)
631 return FWL_ERR_Succeeded; 653 return FWL_Error::Indefinite;
654
632 m_pEdtEngine->DeleteRange(nStart, nCount); 655 m_pEdtEngine->DeleteRange(nStart, nCount);
633 return FWL_ERR_Succeeded; 656 return FWL_Error::Succeeded;
634 } 657 }
635 FWL_ERR CFWL_EditImp::ReplaceSelections(const CFX_WideStringC& wsReplace) { 658
659 FWL_Error CFWL_EditImp::ReplaceSelections(const CFX_WideStringC& wsReplace) {
636 if (!m_pEdtEngine) 660 if (!m_pEdtEngine)
637 return FWL_ERR_Succeeded; 661 return FWL_Error::Indefinite;
662
638 int32_t iCount = m_pEdtEngine->CountSelRanges(); 663 int32_t iCount = m_pEdtEngine->CountSelRanges();
639 for (int i = 0; i < iCount; i++) { 664 for (int i = 0; i < iCount; i++) {
640 int32_t nStart; 665 int32_t nStart;
641 int32_t nCount = m_pEdtEngine->GetSelRange(i, nStart); 666 int32_t nCount = m_pEdtEngine->GetSelRange(i, nStart);
642 m_pEdtEngine->Replace(nStart, nCount, wsReplace); 667 m_pEdtEngine->Replace(nStart, nCount, wsReplace);
643 } 668 }
644 return FWL_ERR_Succeeded; 669 return FWL_Error::Succeeded;
645 } 670 }
646 FWL_ERR CFWL_EditImp::Replace(int32_t nStart, 671
647 int32_t nLen, 672 FWL_Error CFWL_EditImp::Replace(int32_t nStart,
648 const CFX_WideStringC& wsReplace) { 673 int32_t nLen,
674 const CFX_WideStringC& wsReplace) {
649 if (!m_pEdtEngine) 675 if (!m_pEdtEngine)
650 return FWL_ERR_Succeeded; 676 return FWL_Error::Indefinite;
677
651 m_pEdtEngine->Replace(nStart, nLen, wsReplace); 678 m_pEdtEngine->Replace(nStart, nLen, wsReplace);
652 return FWL_ERR_Succeeded; 679 return FWL_Error::Succeeded;
653 } 680 }
654 FWL_ERR CFWL_EditImp::DoClipboard(int32_t iCmd) { 681
682 FWL_Error CFWL_EditImp::DoClipboard(int32_t iCmd) {
655 if (!m_pEdtEngine) 683 if (!m_pEdtEngine)
656 return FWL_ERR_Succeeded; 684 return FWL_Error::Indefinite;
685
657 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) || 686 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) ||
658 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) { 687 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
659 return FWL_ERR_Succeeded; 688 return FWL_Error::Succeeded;
660 } 689 }
661 return FWL_ERR_Indefinite; 690 return FWL_Error::Indefinite;
662 } 691 }
692
663 FX_BOOL CFWL_EditImp::Copy(CFX_WideString& wsCopy) { 693 FX_BOOL CFWL_EditImp::Copy(CFX_WideString& wsCopy) {
664 if (!m_pEdtEngine) 694 if (!m_pEdtEngine)
665 return FALSE; 695 return FALSE;
696
666 int32_t nCount = m_pEdtEngine->CountSelRanges(); 697 int32_t nCount = m_pEdtEngine->CountSelRanges();
667 if (nCount == 0) { 698 if (nCount == 0)
668 return FALSE; 699 return FALSE;
669 } 700
670 wsCopy.clear(); 701 wsCopy.clear();
671 CFX_WideString wsTemp; 702 CFX_WideString wsTemp;
672 int32_t nStart, nLength; 703 int32_t nStart, nLength;
673 for (int32_t i = 0; i < nCount; i++) { 704 for (int32_t i = 0; i < nCount; i++) {
674 nLength = m_pEdtEngine->GetSelRange(i, nStart); 705 nLength = m_pEdtEngine->GetSelRange(i, nStart);
675 m_pEdtEngine->GetText(wsTemp, nStart, nLength); 706 m_pEdtEngine->GetText(wsTemp, nStart, nLength);
676 wsCopy += wsTemp; 707 wsCopy += wsTemp;
677 wsTemp.clear(); 708 wsTemp.clear();
678 } 709 }
679 return TRUE; 710 return TRUE;
680 } 711 }
712
681 FX_BOOL CFWL_EditImp::Cut(CFX_WideString& wsCut) { 713 FX_BOOL CFWL_EditImp::Cut(CFX_WideString& wsCut) {
682 if (!m_pEdtEngine) 714 if (!m_pEdtEngine)
683 return FALSE; 715 return FALSE;
716
684 int32_t nCount = m_pEdtEngine->CountSelRanges(); 717 int32_t nCount = m_pEdtEngine->CountSelRanges();
685 if (nCount == 0) { 718 if (nCount == 0)
686 return FALSE; 719 return FALSE;
687 } 720
688 wsCut.clear(); 721 wsCut.clear();
689 CFX_WideString wsTemp; 722 CFX_WideString wsTemp;
690 int32_t nStart, nLength; 723 int32_t nStart, nLength;
691 for (int32_t i = 0; i < nCount; i++) { 724 for (int32_t i = 0; i < nCount; i++) {
692 nLength = m_pEdtEngine->GetSelRange(i, nStart); 725 nLength = m_pEdtEngine->GetSelRange(i, nStart);
693 m_pEdtEngine->GetText(wsTemp, nStart, nLength); 726 m_pEdtEngine->GetText(wsTemp, nStart, nLength);
694 wsCut += wsTemp; 727 wsCut += wsTemp;
695 wsTemp.clear(); 728 wsTemp.clear();
696 } 729 }
697 m_pEdtEngine->Delete(0); 730 m_pEdtEngine->Delete(0);
698 return TRUE; 731 return TRUE;
699 } 732 }
733
700 FX_BOOL CFWL_EditImp::Paste(const CFX_WideString& wsPaste) { 734 FX_BOOL CFWL_EditImp::Paste(const CFX_WideString& wsPaste) {
701 if (!m_pEdtEngine) 735 if (!m_pEdtEngine)
702 return FALSE; 736 return FALSE;
737
703 int32_t nCaret = m_pEdtEngine->GetCaretPos(); 738 int32_t nCaret = m_pEdtEngine->GetCaretPos();
704 int32_t iError = 739 int32_t iError =
705 m_pEdtEngine->Insert(nCaret, wsPaste.c_str(), wsPaste.GetLength()); 740 m_pEdtEngine->Insert(nCaret, wsPaste.c_str(), wsPaste.GetLength());
706 if (iError < 0) { 741 if (iError < 0) {
707 ProcessInsertError(iError); 742 ProcessInsertError(iError);
708 return FALSE; 743 return FALSE;
709 } 744 }
710 return TRUE; 745 return TRUE;
711 } 746 }
747
712 FX_BOOL CFWL_EditImp::Delete() { 748 FX_BOOL CFWL_EditImp::Delete() {
713 if (!m_pEdtEngine) 749 if (!m_pEdtEngine)
714 return FALSE; 750 return FALSE;
751
715 int32_t nCount = m_pEdtEngine->CountSelRanges(); 752 int32_t nCount = m_pEdtEngine->CountSelRanges();
716 if (nCount < 1) { 753 if (nCount < 1)
717 return FALSE; 754 return FALSE;
718 } 755
719 m_pEdtEngine->Delete(0); 756 m_pEdtEngine->Delete(0);
720 return TRUE; 757 return TRUE;
721 } 758 }
759
722 FX_BOOL CFWL_EditImp::Redo(const CFX_ByteStringC& bsRecord) { 760 FX_BOOL CFWL_EditImp::Redo(const CFX_ByteStringC& bsRecord) {
723 if (!m_pEdtEngine) 761 if (!m_pEdtEngine)
724 return FALSE; 762 return FALSE;
725 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_NoRedoUndo) { 763 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_NoRedoUndo)
726 return TRUE; 764 return TRUE;
727 }
728 return m_pEdtEngine->Redo(bsRecord); 765 return m_pEdtEngine->Redo(bsRecord);
729 } 766 }
767
730 FX_BOOL CFWL_EditImp::Undo(const CFX_ByteStringC& bsRecord) { 768 FX_BOOL CFWL_EditImp::Undo(const CFX_ByteStringC& bsRecord) {
731 if (!m_pEdtEngine) 769 if (!m_pEdtEngine)
732 return FALSE; 770 return FALSE;
733 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_NoRedoUndo) { 771 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_NoRedoUndo)
734 return TRUE; 772 return TRUE;
735 }
736 return m_pEdtEngine->Undo(bsRecord); 773 return m_pEdtEngine->Undo(bsRecord);
737 } 774 }
775
738 FX_BOOL CFWL_EditImp::Undo() { 776 FX_BOOL CFWL_EditImp::Undo() {
739 if (!CanUndo()) { 777 if (!CanUndo())
740 return FALSE; 778 return FALSE;
741 } 779
742 CFX_ByteString bsRecord = m_RecordArr[m_iCurRecord--]; 780 CFX_ByteString bsRecord = m_RecordArr[m_iCurRecord--];
743 return Undo(bsRecord.AsStringC()); 781 return Undo(bsRecord.AsStringC());
744 } 782 }
783
745 FX_BOOL CFWL_EditImp::Redo() { 784 FX_BOOL CFWL_EditImp::Redo() {
746 if (!CanRedo()) { 785 if (!CanRedo())
747 return FALSE; 786 return FALSE;
748 } 787
749 CFX_ByteString bsRecord = m_RecordArr[++m_iCurRecord]; 788 CFX_ByteString bsRecord = m_RecordArr[++m_iCurRecord];
750 return Redo(bsRecord.AsStringC()); 789 return Redo(bsRecord.AsStringC());
751 } 790 }
791
752 FX_BOOL CFWL_EditImp::CanUndo() { 792 FX_BOOL CFWL_EditImp::CanUndo() {
753 return m_iCurRecord >= 0; 793 return m_iCurRecord >= 0;
754 } 794 }
795
755 FX_BOOL CFWL_EditImp::CanRedo() { 796 FX_BOOL CFWL_EditImp::CanRedo() {
756 return m_iCurRecord < m_RecordArr.GetSize() - 1; 797 return m_iCurRecord < m_RecordArr.GetSize() - 1;
757 } 798 }
758 FWL_ERR CFWL_EditImp::SetTabWidth(FX_FLOAT fTabWidth, FX_BOOL bEquidistant) { 799
800 FWL_Error CFWL_EditImp::SetTabWidth(FX_FLOAT fTabWidth, FX_BOOL bEquidistant) {
759 if (!m_pEdtEngine) 801 if (!m_pEdtEngine)
760 return FWL_ERR_Succeeded; 802 return FWL_Error::Indefinite;
803
761 FDE_TXTEDTPARAMS* pParams = m_pEdtEngine->GetEditParams(); 804 FDE_TXTEDTPARAMS* pParams = m_pEdtEngine->GetEditParams();
762 pParams->fTabWidth = fTabWidth; 805 pParams->fTabWidth = fTabWidth;
763 pParams->bTabEquidistant = bEquidistant; 806 pParams->bTabEquidistant = bEquidistant;
764 return FWL_ERR_Succeeded; 807 return FWL_Error::Succeeded;
765 } 808 }
766 FWL_ERR CFWL_EditImp::SetOuter(IFWL_Widget* pOuter) { 809
810 FWL_Error CFWL_EditImp::SetOuter(IFWL_Widget* pOuter) {
767 m_pOuter = pOuter; 811 m_pOuter = pOuter;
768 return FWL_ERR_Succeeded; 812 return FWL_Error::Succeeded;
769 } 813 }
770 FWL_ERR CFWL_EditImp::SetNumberRange(int32_t iMin, int32_t iMax) { 814
815 FWL_Error CFWL_EditImp::SetNumberRange(int32_t iMin, int32_t iMax) {
771 m_iMin = iMin; 816 m_iMin = iMin;
772 m_iMax = iMax; 817 m_iMax = iMax;
773 m_bSetRange = TRUE; 818 m_bSetRange = TRUE;
774 return FWL_ERR_Succeeded; 819 return FWL_Error::Succeeded;
775 } 820 }
821
776 void CFWL_EditImp::On_CaretChanged(CFDE_TxtEdtEngine* pEdit, 822 void CFWL_EditImp::On_CaretChanged(CFDE_TxtEdtEngine* pEdit,
777 int32_t nPage, 823 int32_t nPage,
778 FX_BOOL bVisible) { 824 FX_BOOL bVisible) {
779 if (m_rtEngine.IsEmpty()) { 825 if (m_rtEngine.IsEmpty())
780 return; 826 return;
781 } 827 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0)
782 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) {
783 return; 828 return;
784 } 829
785 FX_BOOL bRepaintContent = UpdateOffset(); 830 FX_BOOL bRepaintContent = UpdateOffset();
786 UpdateCaret(); 831 UpdateCaret();
787 CFX_RectF rtInvalid; 832 CFX_RectF rtInvalid;
788 rtInvalid.Set(0, 0, 0, 0); 833 rtInvalid.Set(0, 0, 0, 0);
789 FX_BOOL bRepaintScroll = FALSE; 834 FX_BOOL bRepaintScroll = FALSE;
790 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) { 835 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) {
791 IFWL_ScrollBar* pScroll = UpdateScroll(); 836 IFWL_ScrollBar* pScroll = UpdateScroll();
792 if (pScroll) { 837 if (pScroll) {
793 pScroll->GetWidgetRect(rtInvalid); 838 pScroll->GetWidgetRect(rtInvalid);
794 bRepaintScroll = TRUE; 839 bRepaintScroll = TRUE;
795 } 840 }
796 } 841 }
797 if (bRepaintContent || bRepaintScroll) { 842 if (bRepaintContent || bRepaintScroll) {
798 if (bRepaintContent) { 843 if (bRepaintContent) {
799 rtInvalid.Union(m_rtEngine); 844 rtInvalid.Union(m_rtEngine);
800 } 845 }
801 Repaint(&rtInvalid); 846 Repaint(&rtInvalid);
802 } 847 }
803 } 848 }
849
804 void CFWL_EditImp::On_TextChanged(CFDE_TxtEdtEngine* pEdit, 850 void CFWL_EditImp::On_TextChanged(CFDE_TxtEdtEngine* pEdit,
805 FDE_TXTEDT_TEXTCHANGE_INFO& ChangeInfo) { 851 FDE_TXTEDT_TEXTCHANGE_INFO& ChangeInfo) {
806 uint32_t dwStyleEx = m_pProperties->m_dwStyleExes; 852 uint32_t dwStyleEx = m_pProperties->m_dwStyleExes;
807 if (dwStyleEx & FWL_STYLEEXT_EDT_VAlignMask) { 853 if (dwStyleEx & FWL_STYLEEXT_EDT_VAlignMask)
808 UpdateVAlignment(); 854 UpdateVAlignment();
809 } 855
810 IFDE_TxtEdtPage* page = m_pEdtEngine->GetPage(0); 856 IFDE_TxtEdtPage* page = m_pEdtEngine->GetPage(0);
811 FX_FLOAT fContentWidth = page->GetContentsBox().width; 857 FX_FLOAT fContentWidth = page->GetContentsBox().width;
812 FX_FLOAT fContentHeight = page->GetContentsBox().height; 858 FX_FLOAT fContentHeight = page->GetContentsBox().height;
813 CFX_RectF rtTemp; 859 CFX_RectF rtTemp;
814 GetClientRect(rtTemp); 860 GetClientRect(rtTemp);
815 FX_BOOL bHSelfAdaption = 861 FX_BOOL bHSelfAdaption =
816 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption; 862 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption;
817 FX_BOOL bVSelfAdaption = 863 FX_BOOL bVSelfAdaption =
818 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption; 864 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption;
819 FX_BOOL bNeedUpdate = FALSE; 865 FX_BOOL bNeedUpdate = FALSE;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
904 pDst = m_pInterface; 950 pDst = m_pInterface;
905 } 951 }
906 CFWL_EvtEdtValidate event; 952 CFWL_EvtEdtValidate event;
907 event.pDstWidget = pDst; 953 event.pDstWidget = pDst;
908 event.m_pSrcTarget = m_pInterface; 954 event.m_pSrcTarget = m_pInterface;
909 event.wsInsert = wsText; 955 event.wsInsert = wsText;
910 event.bValidate = TRUE; 956 event.bValidate = TRUE;
911 DispatchEvent(&event); 957 DispatchEvent(&event);
912 return event.bValidate; 958 return event.bValidate;
913 } 959 }
914 FWL_ERR CFWL_EditImp::SetBackgroundColor(uint32_t color) { 960 FWL_Error CFWL_EditImp::SetBackgroundColor(uint32_t color) {
915 m_backColor = color; 961 m_backColor = color;
916 m_updateBackColor = TRUE; 962 m_updateBackColor = TRUE;
917 return FWL_ERR_Succeeded; 963 return FWL_Error::Succeeded;
918 } 964 }
919 FWL_ERR CFWL_EditImp::SetFont(const CFX_WideString& wsFont, FX_FLOAT fSize) { 965 FWL_Error CFWL_EditImp::SetFont(const CFX_WideString& wsFont, FX_FLOAT fSize) {
920 m_wsFont = wsFont; 966 m_wsFont = wsFont;
921 m_fFontSize = fSize; 967 m_fFontSize = fSize;
922 return FWL_ERR_Succeeded; 968 return FWL_Error::Succeeded;
923 } 969 }
924 void CFWL_EditImp::SetScrollOffset(FX_FLOAT fScrollOffset) { 970 void CFWL_EditImp::SetScrollOffset(FX_FLOAT fScrollOffset) {
925 m_fScrollOffsetY = fScrollOffset; 971 m_fScrollOffsetY = fScrollOffset;
926 } 972 }
927 void CFWL_EditImp::DrawTextBk(CFX_Graphics* pGraphics, 973 void CFWL_EditImp::DrawTextBk(CFX_Graphics* pGraphics,
928 IFWL_ThemeProvider* pTheme, 974 IFWL_ThemeProvider* pTheme,
929 const CFX_Matrix* pMatrix) { 975 const CFX_Matrix* pMatrix) {
930 CFWL_ThemeBackground param; 976 CFWL_ThemeBackground param;
931 param.m_pWidget = m_pInterface; 977 param.m_pWidget = m_pInterface;
932 param.m_iPart = CFWL_Part::Background; 978 param.m_iPart = CFWL_Part::Background;
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
1708 DispatchEvent(&textFullEvent); 1754 DispatchEvent(&textFullEvent);
1709 break; 1755 break;
1710 } 1756 }
1711 default: {} 1757 default: {}
1712 } 1758 }
1713 } 1759 }
1714 1760
1715 CFWL_EditImpDelegate::CFWL_EditImpDelegate(CFWL_EditImp* pOwner) 1761 CFWL_EditImpDelegate::CFWL_EditImpDelegate(CFWL_EditImp* pOwner)
1716 : m_pOwner(pOwner) {} 1762 : m_pOwner(pOwner) {}
1717 1763
1718 int32_t CFWL_EditImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { 1764 void CFWL_EditImpDelegate::OnProcessMessage(CFWL_Message* pMessage) {
1719 if (!pMessage) 1765 if (!pMessage)
1720 return 0; 1766 return;
1721 1767
1722 CFWL_MessageType dwMsgCode = pMessage->GetClassID(); 1768 CFWL_MessageType dwMsgCode = pMessage->GetClassID();
1723 int32_t iRet = 1;
1724 switch (dwMsgCode) { 1769 switch (dwMsgCode) {
1725 case CFWL_MessageType::Activate: { 1770 case CFWL_MessageType::Activate: {
1726 DoActivate(static_cast<CFWL_MsgActivate*>(pMessage)); 1771 DoActivate(static_cast<CFWL_MsgActivate*>(pMessage));
1727 break; 1772 break;
1728 } 1773 }
1729 case CFWL_MessageType::Deactivate: { 1774 case CFWL_MessageType::Deactivate: {
1730 DoDeactivate(static_cast<CFWL_MsgDeactivate*>(pMessage)); 1775 DoDeactivate(static_cast<CFWL_MsgDeactivate*>(pMessage));
1731 break; 1776 break;
1732 } 1777 }
1733 case CFWL_MessageType::SetFocus: 1778 case CFWL_MessageType::SetFocus:
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 } 1810 }
1766 case CFWL_MessageType::Key: { 1811 case CFWL_MessageType::Key: {
1767 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage); 1812 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage);
1768 if (pKey->m_dwCmd == FWL_KeyCommand::KeyDown) 1813 if (pKey->m_dwCmd == FWL_KeyCommand::KeyDown)
1769 OnKeyDown(pKey); 1814 OnKeyDown(pKey);
1770 else if (pKey->m_dwCmd == FWL_KeyCommand::Char) 1815 else if (pKey->m_dwCmd == FWL_KeyCommand::Char)
1771 OnChar(pKey); 1816 OnChar(pKey);
1772 break; 1817 break;
1773 } 1818 }
1774 default: { 1819 default: {
1775 iRet = 0;
1776 break; 1820 break;
1777 } 1821 }
1778 } 1822 }
1779 CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); 1823 CFWL_WidgetImpDelegate::OnProcessMessage(pMessage);
1780 return iRet;
1781 } 1824 }
1782 1825
1783 FWL_ERR CFWL_EditImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { 1826 void CFWL_EditImpDelegate::OnProcessEvent(CFWL_Event* pEvent) {
1784 if (!pEvent) 1827 if (!pEvent)
1785 return FWL_ERR_Indefinite; 1828 return;
1786 if (pEvent->GetClassID() != CFWL_EventType::Scroll) 1829 if (pEvent->GetClassID() != CFWL_EventType::Scroll)
1787 return FWL_ERR_Succeeded; 1830 return;
1788 1831
1789 IFWL_Widget* pSrcTarget = pEvent->m_pSrcTarget; 1832 IFWL_Widget* pSrcTarget = pEvent->m_pSrcTarget;
1790 if ((pSrcTarget == m_pOwner->m_pVertScrollBar.get() && 1833 if ((pSrcTarget == m_pOwner->m_pVertScrollBar.get() &&
1791 m_pOwner->m_pVertScrollBar) || 1834 m_pOwner->m_pVertScrollBar) ||
1792 (pSrcTarget == m_pOwner->m_pHorzScrollBar.get() && 1835 (pSrcTarget == m_pOwner->m_pHorzScrollBar.get() &&
1793 m_pOwner->m_pHorzScrollBar)) { 1836 m_pOwner->m_pHorzScrollBar)) {
1794 CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent); 1837 CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent);
1795 OnScroll(static_cast<IFWL_ScrollBar*>(pSrcTarget), 1838 OnScroll(static_cast<IFWL_ScrollBar*>(pSrcTarget),
1796 pScrollEvent->m_iScrollCode, pScrollEvent->m_fPos); 1839 pScrollEvent->m_iScrollCode, pScrollEvent->m_fPos);
1797 } 1840 }
1798 return FWL_ERR_Succeeded;
1799 } 1841 }
1800 1842
1801 FWL_ERR CFWL_EditImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, 1843 void CFWL_EditImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics,
1802 const CFX_Matrix* pMatrix) { 1844 const CFX_Matrix* pMatrix) {
1803 return m_pOwner->DrawWidget(pGraphics, pMatrix); 1845 m_pOwner->DrawWidget(pGraphics, pMatrix);
1804 } 1846 }
1847
1805 void CFWL_EditImpDelegate::DoActivate(CFWL_MsgActivate* pMsg) { 1848 void CFWL_EditImpDelegate::DoActivate(CFWL_MsgActivate* pMsg) {
1806 m_pOwner->m_pProperties->m_dwStates |= ~FWL_WGTSTATE_Deactivated; 1849 m_pOwner->m_pProperties->m_dwStates |= ~FWL_WGTSTATE_Deactivated;
1807 m_pOwner->Repaint(&m_pOwner->m_rtClient); 1850 m_pOwner->Repaint(&m_pOwner->m_rtClient);
1808 } 1851 }
1809 void CFWL_EditImpDelegate::DoDeactivate(CFWL_MsgDeactivate* pMsg) { 1852 void CFWL_EditImpDelegate::DoDeactivate(CFWL_MsgDeactivate* pMsg) {
1810 m_pOwner->m_pProperties->m_dwStates &= FWL_WGTSTATE_Deactivated; 1853 m_pOwner->m_pProperties->m_dwStates &= FWL_WGTSTATE_Deactivated;
1811 m_pOwner->Repaint(&m_pOwner->m_rtClient); 1854 m_pOwner->Repaint(&m_pOwner->m_rtClient);
1812 } 1855 }
1813 void CFWL_EditImpDelegate::DoButtonDown(CFWL_MsgMouse* pMsg) { 1856 void CFWL_EditImpDelegate::DoButtonDown(CFWL_MsgMouse* pMsg) {
1814 if ((m_pOwner->m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) { 1857 if ((m_pOwner->m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) {
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
2153 } 2196 }
2154 CFX_RectF rect; 2197 CFX_RectF rect;
2155 m_pOwner->GetWidgetRect(rect); 2198 m_pOwner->GetWidgetRect(rect);
2156 CFX_RectF rtInvalidate; 2199 CFX_RectF rtInvalidate;
2157 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); 2200 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2);
2158 m_pOwner->Repaint(&rtInvalidate); 2201 m_pOwner->Repaint(&rtInvalidate);
2159 } 2202 }
2160 return TRUE; 2203 return TRUE;
2161 } 2204 }
2162 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} 2205 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {}
OLDNEW
« no previous file with comments | « xfa/fwl/basewidget/fwl_editimp.h ('k') | xfa/fwl/basewidget/fwl_formproxyimp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698