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

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

Issue 1952693003: Convert FWL_ERR into an enum class. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
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 299
300 void CFWL_EditImp::SetStates(uint32_t dwStates, FX_BOOL bSet) { 300 void CFWL_EditImp::SetStates(uint32_t dwStates, FX_BOOL bSet) {
301 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Invisible) || 301 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Invisible) ||
302 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) { 302 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
303 ShowCaret(FALSE); 303 ShowCaret(FALSE);
304 } 304 }
305 CFWL_WidgetImp::SetStates(dwStates, bSet); 305 CFWL_WidgetImp::SetStates(dwStates, bSet);
306 } 306 }
307 307
308 FWL_ERR CFWL_EditImp::SetWidgetRect(const CFX_RectF& rect) { 308 FWL_Error CFWL_EditImp::SetWidgetRect(const CFX_RectF& rect) {
309 return CFWL_WidgetImp::SetWidgetRect(rect); 309 return CFWL_WidgetImp::SetWidgetRect(rect);
310 } 310 }
311 FWL_ERR CFWL_EditImp::Update() { 311 FWL_Error CFWL_EditImp::Update() {
312 if (IsLocked()) { 312 if (IsLocked()) {
313 return FWL_ERR_Indefinite; 313 return FWL_Error::Indefinite;
314 } 314 }
315 if (!m_pProperties->m_pThemeProvider) { 315 if (!m_pProperties->m_pThemeProvider) {
316 m_pProperties->m_pThemeProvider = GetAvailableTheme(); 316 m_pProperties->m_pThemeProvider = GetAvailableTheme();
317 } 317 }
318 Layout(); 318 Layout();
319 if (m_rtClient.IsEmpty()) { 319 if (m_rtClient.IsEmpty()) {
320 return FWL_ERR_Indefinite; 320 return FWL_Error::Indefinite;
321 } 321 }
322 UpdateEditEngine(); 322 UpdateEditEngine();
323 UpdateVAlignment(); 323 UpdateVAlignment();
324 UpdateScroll(); 324 UpdateScroll();
325 InitCaret(); 325 InitCaret();
326 return FWL_ERR_Succeeded; 326 return FWL_Error::Succeeded;
327 } 327 }
328 328
329 FWL_WidgetHit CFWL_EditImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) { 329 FWL_WidgetHit CFWL_EditImp::HitTest(FX_FLOAT fx, FX_FLOAT fy) {
330 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) { 330 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_OuterScrollbar) {
331 if (IsShowScrollBar(TRUE)) { 331 if (IsShowScrollBar(TRUE)) {
332 CFX_RectF rect; 332 CFX_RectF rect;
333 m_pVertScrollBar->GetWidgetRect(rect); 333 m_pVertScrollBar->GetWidgetRect(rect);
334 if (rect.Contains(fx, fy)) 334 if (rect.Contains(fx, fy))
335 return FWL_WidgetHit::VScrollBar; 335 return FWL_WidgetHit::VScrollBar;
336 } 336 }
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 pMatrix->TransformRect(rtClip); 485 pMatrix->TransformRect(rtClip);
486 mt.Concat(*pMatrix); 486 mt.Concat(*pMatrix);
487 } 487 }
488 pGraphics->SetClipRect(rtClip); 488 pGraphics->SetClipRect(rtClip);
489 pGraphics->SetStrokeColor(&crLine); 489 pGraphics->SetStrokeColor(&crLine);
490 pGraphics->SetLineWidth(0); 490 pGraphics->SetLineWidth(0);
491 pGraphics->StrokePath(&pathSpell, NULL); 491 pGraphics->StrokePath(&pathSpell, NULL);
492 } 492 }
493 pGraphics->RestoreGraphState(); 493 pGraphics->RestoreGraphState();
494 } 494 }
495 FWL_ERR CFWL_EditImp::DrawWidget(CFX_Graphics* pGraphics, 495 FWL_Error CFWL_EditImp::DrawWidget(CFX_Graphics* pGraphics,
496 const CFX_Matrix* pMatrix) { 496 const CFX_Matrix* pMatrix) {
497 if (!pGraphics) 497 if (!pGraphics)
498 return FWL_ERR_Indefinite; 498 return FWL_Error::Indefinite;
499 if (!m_pProperties->m_pThemeProvider) 499 if (!m_pProperties->m_pThemeProvider)
500 return FWL_ERR_Indefinite; 500 return FWL_Error::Indefinite;
501 if (m_rtClient.IsEmpty()) { 501 if (m_rtClient.IsEmpty()) {
502 return FWL_ERR_Indefinite; 502 return FWL_Error::Indefinite;
503 } 503 }
504 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; 504 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider;
505 if (!m_pWidgetMgr->IsFormDisabled()) { 505 if (!m_pWidgetMgr->IsFormDisabled()) {
506 DrawTextBk(pGraphics, pTheme, pMatrix); 506 DrawTextBk(pGraphics, pTheme, pMatrix);
507 } 507 }
508 if (m_pEdtEngine) { 508 if (m_pEdtEngine) {
509 DrawContent(pGraphics, pTheme, pMatrix); 509 DrawContent(pGraphics, pTheme, pMatrix);
510 } 510 }
511 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) && 511 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) &&
512 !(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly)) { 512 !(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly)) {
513 DrawSpellCheck(pGraphics, pMatrix); 513 DrawSpellCheck(pGraphics, pMatrix);
514 } 514 }
515 if (HasBorder()) { 515 if (HasBorder()) {
516 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix); 516 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix);
517 } 517 }
518 if (HasEdge()) { 518 if (HasEdge()) {
519 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix); 519 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix);
520 } 520 }
521 return FWL_ERR_Succeeded; 521 return FWL_Error::Succeeded;
522 } 522 }
523 FWL_ERR CFWL_EditImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) { 523 FWL_Error CFWL_EditImp::SetThemeProvider(IFWL_ThemeProvider* pThemeProvider) {
524 if (!pThemeProvider) 524 if (!pThemeProvider)
525 return FWL_ERR_Indefinite; 525 return FWL_Error::Indefinite;
526 if (m_pHorzScrollBar) { 526 if (m_pHorzScrollBar) {
527 m_pHorzScrollBar->SetThemeProvider(pThemeProvider); 527 m_pHorzScrollBar->SetThemeProvider(pThemeProvider);
528 } 528 }
529 if (m_pVertScrollBar) { 529 if (m_pVertScrollBar) {
530 m_pVertScrollBar->SetThemeProvider(pThemeProvider); 530 m_pVertScrollBar->SetThemeProvider(pThemeProvider);
531 } 531 }
532 if (m_pCaret) { 532 if (m_pCaret) {
533 m_pCaret->SetThemeProvider(pThemeProvider); 533 m_pCaret->SetThemeProvider(pThemeProvider);
534 } 534 }
535 m_pProperties->m_pThemeProvider = pThemeProvider; 535 m_pProperties->m_pThemeProvider = pThemeProvider;
536 return FWL_ERR_Succeeded; 536 return FWL_Error::Succeeded;
537 } 537 }
538 FWL_ERR CFWL_EditImp::SetText(const CFX_WideString& wsText) { 538
539 FWL_Error CFWL_EditImp::SetText(const CFX_WideString& wsText) {
539 m_pEdtEngine->SetText(wsText); 540 m_pEdtEngine->SetText(wsText);
540 return FWL_ERR_Succeeded; 541 return FWL_Error::Succeeded;
541 } 542 }
543
542 int32_t CFWL_EditImp::GetTextLength() const { 544 int32_t CFWL_EditImp::GetTextLength() const {
543 if (!m_pEdtEngine) 545 if (!m_pEdtEngine)
544 return -1; 546 return -1;
545 return m_pEdtEngine->GetTextLength(); 547 return m_pEdtEngine->GetTextLength();
546 } 548 }
547 FWL_ERR CFWL_EditImp::GetText(CFX_WideString& wsText, 549
548 int32_t nStart, 550 FWL_Error CFWL_EditImp::GetText(CFX_WideString& wsText,
549 int32_t nCount) const { 551 int32_t nStart,
552 int32_t nCount) const {
550 if (!m_pEdtEngine) 553 if (!m_pEdtEngine)
551 return FWL_ERR_Succeeded; 554 return FWL_Error::Indefinite;
555
552 m_pEdtEngine->GetText(wsText, nStart, nCount); 556 m_pEdtEngine->GetText(wsText, nStart, nCount);
553 return FWL_ERR_Succeeded; 557 return FWL_Error::Succeeded;
554 } 558 }
555 FWL_ERR CFWL_EditImp::ClearText() { 559
560 FWL_Error CFWL_EditImp::ClearText() {
556 if (!m_pEdtEngine) 561 if (!m_pEdtEngine)
557 return FWL_ERR_Succeeded; 562 return FWL_Error::Indefinite;
563
558 m_pEdtEngine->ClearText(); 564 m_pEdtEngine->ClearText();
559 return FWL_ERR_Succeeded; 565 return FWL_Error::Succeeded;
560 } 566 }
567
561 int32_t CFWL_EditImp::GetCaretPos() const { 568 int32_t CFWL_EditImp::GetCaretPos() const {
562 if (!m_pEdtEngine) 569 if (!m_pEdtEngine)
563 return -1; 570 return -1;
564 return m_pEdtEngine->GetCaretPos(); 571 return m_pEdtEngine->GetCaretPos();
565 } 572 }
573
566 int32_t CFWL_EditImp::SetCaretPos(int32_t nIndex, FX_BOOL bBefore) { 574 int32_t CFWL_EditImp::SetCaretPos(int32_t nIndex, FX_BOOL bBefore) {
567 if (!m_pEdtEngine) 575 if (!m_pEdtEngine)
568 return -1; 576 return -1;
569 return m_pEdtEngine->SetCaretPos(nIndex, bBefore); 577 return m_pEdtEngine->SetCaretPos(nIndex, bBefore);
570 } 578 }
571 FWL_ERR CFWL_EditImp::AddSelRange(int32_t nStart, int32_t nCount) { 579
580 FWL_Error CFWL_EditImp::AddSelRange(int32_t nStart, int32_t nCount) {
572 if (!m_pEdtEngine) 581 if (!m_pEdtEngine)
573 return FWL_ERR_Succeeded; 582 return FWL_Error::Indefinite;
583
574 m_pEdtEngine->AddSelRange(nStart, nCount); 584 m_pEdtEngine->AddSelRange(nStart, nCount);
575 return FWL_ERR_Succeeded; 585 return FWL_Error::Succeeded;
576 } 586 }
587
577 int32_t CFWL_EditImp::CountSelRanges() { 588 int32_t CFWL_EditImp::CountSelRanges() {
578 if (!m_pEdtEngine) 589 if (!m_pEdtEngine)
579 return 0; 590 return 0;
580 return m_pEdtEngine->CountSelRanges(); 591 return m_pEdtEngine->CountSelRanges();
581 return FWL_ERR_Succeeded;
582 } 592 }
593
583 int32_t CFWL_EditImp::GetSelRange(int32_t nIndex, int32_t& nStart) { 594 int32_t CFWL_EditImp::GetSelRange(int32_t nIndex, int32_t& nStart) {
584 if (!m_pEdtEngine) 595 if (!m_pEdtEngine)
585 return -1; 596 return -1;
586 return m_pEdtEngine->GetSelRange(nIndex, nStart); 597 return m_pEdtEngine->GetSelRange(nIndex, nStart);
587 } 598 }
588 FWL_ERR CFWL_EditImp::ClearSelections() { 599
600 FWL_Error CFWL_EditImp::ClearSelections() {
589 if (!m_pEdtEngine) 601 if (!m_pEdtEngine)
590 return FWL_ERR_Succeeded; 602 return FWL_Error::Indefinite;
603
591 m_pEdtEngine->ClearSelection(); 604 m_pEdtEngine->ClearSelection();
592 return FWL_ERR_Succeeded; 605 return FWL_Error::Succeeded;
593 } 606 }
607
594 int32_t CFWL_EditImp::GetLimit() { 608 int32_t CFWL_EditImp::GetLimit() {
595 return m_nLimit; 609 return m_nLimit;
596 } 610 }
597 FWL_ERR CFWL_EditImp::SetLimit(int32_t nLimit) { 611
612 FWL_Error CFWL_EditImp::SetLimit(int32_t nLimit) {
598 m_nLimit = nLimit; 613 m_nLimit = nLimit;
599 if (!m_pEdtEngine) 614 if (!m_pEdtEngine)
600 return FWL_ERR_Succeeded; 615 return FWL_Error::Indefinite;
616
601 m_pEdtEngine->SetLimit(nLimit); 617 m_pEdtEngine->SetLimit(nLimit);
602 return FWL_ERR_Succeeded; 618 return FWL_Error::Succeeded;
603 } 619 }
604 FWL_ERR CFWL_EditImp::SetAliasChar(FX_WCHAR wAlias) { 620
621 FWL_Error CFWL_EditImp::SetAliasChar(FX_WCHAR wAlias) {
605 if (!m_pEdtEngine) 622 if (!m_pEdtEngine)
606 return FWL_ERR_Indefinite; 623 return FWL_Error::Indefinite;
624
607 m_pEdtEngine->SetAliasChar(wAlias); 625 m_pEdtEngine->SetAliasChar(wAlias);
608 return FWL_ERR_Succeeded; 626 return FWL_Error::Succeeded;
609 } 627 }
610 FWL_ERR CFWL_EditImp::Insert(int32_t nStart, 628
611 const FX_WCHAR* lpText, 629 FWL_Error CFWL_EditImp::Insert(int32_t nStart,
612 int32_t nLen) { 630 const FX_WCHAR* lpText,
631 int32_t nLen) {
613 if (!m_pEdtEngine) 632 if (!m_pEdtEngine)
614 return FWL_ERR_Succeeded; 633 return FWL_Error::Indefinite;
634
615 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) || 635 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) ||
616 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) { 636 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
617 return FWL_ERR_Indefinite; 637 return FWL_Error::Indefinite;
618 } 638 }
619 m_pEdtEngine->Insert(nStart, lpText, nLen); 639 m_pEdtEngine->Insert(nStart, lpText, nLen);
620 return FWL_ERR_Succeeded; 640 return FWL_Error::Succeeded;
621 } 641 }
622 FWL_ERR CFWL_EditImp::DeleteSelections() { 642
643 FWL_Error CFWL_EditImp::DeleteSelections() {
623 if (!m_pEdtEngine) 644 if (!m_pEdtEngine)
624 return FWL_ERR_Succeeded; 645 return FWL_Error::Indefinite;
646
625 int32_t iCount = m_pEdtEngine->CountSelRanges(); 647 int32_t iCount = m_pEdtEngine->CountSelRanges();
626 if (iCount > 0) { 648 if (iCount > 0)
627 m_pEdtEngine->Delete(-1); 649 m_pEdtEngine->Delete(-1);
628 } 650 return FWL_Error::Succeeded;
629 return FWL_ERR_Succeeded;
630 } 651 }
631 FWL_ERR CFWL_EditImp::DeleteRange(int32_t nStart, int32_t nCount) { 652
653 FWL_Error CFWL_EditImp::DeleteRange(int32_t nStart, int32_t nCount) {
632 if (!m_pEdtEngine) 654 if (!m_pEdtEngine)
633 return FWL_ERR_Succeeded; 655 return FWL_Error::Indefinite;
656
634 m_pEdtEngine->DeleteRange(nStart, nCount); 657 m_pEdtEngine->DeleteRange(nStart, nCount);
635 return FWL_ERR_Succeeded; 658 return FWL_Error::Succeeded;
636 } 659 }
637 FWL_ERR CFWL_EditImp::ReplaceSelections(const CFX_WideStringC& wsReplace) { 660
661 FWL_Error CFWL_EditImp::ReplaceSelections(const CFX_WideStringC& wsReplace) {
638 if (!m_pEdtEngine) 662 if (!m_pEdtEngine)
639 return FWL_ERR_Succeeded; 663 return FWL_Error::Indefinite;
664
640 int32_t iCount = m_pEdtEngine->CountSelRanges(); 665 int32_t iCount = m_pEdtEngine->CountSelRanges();
641 for (int i = 0; i < iCount; i++) { 666 for (int i = 0; i < iCount; i++) {
642 int32_t nStart; 667 int32_t nStart;
643 int32_t nCount = m_pEdtEngine->GetSelRange(i, nStart); 668 int32_t nCount = m_pEdtEngine->GetSelRange(i, nStart);
644 m_pEdtEngine->Replace(nStart, nCount, wsReplace); 669 m_pEdtEngine->Replace(nStart, nCount, wsReplace);
645 } 670 }
646 return FWL_ERR_Succeeded; 671 return FWL_Error::Succeeded;
647 } 672 }
648 FWL_ERR CFWL_EditImp::Replace(int32_t nStart, 673
649 int32_t nLen, 674 FWL_Error CFWL_EditImp::Replace(int32_t nStart,
650 const CFX_WideStringC& wsReplace) { 675 int32_t nLen,
676 const CFX_WideStringC& wsReplace) {
651 if (!m_pEdtEngine) 677 if (!m_pEdtEngine)
652 return FWL_ERR_Succeeded; 678 return FWL_Error::Indefinite;
679
653 m_pEdtEngine->Replace(nStart, nLen, wsReplace); 680 m_pEdtEngine->Replace(nStart, nLen, wsReplace);
654 return FWL_ERR_Succeeded; 681 return FWL_Error::Succeeded;
655 } 682 }
656 FWL_ERR CFWL_EditImp::DoClipboard(int32_t iCmd) { 683
684 FWL_Error CFWL_EditImp::DoClipboard(int32_t iCmd) {
657 if (!m_pEdtEngine) 685 if (!m_pEdtEngine)
658 return FWL_ERR_Succeeded; 686 return FWL_Error::Indefinite;
687
659 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) || 688 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_ReadOnly) ||
660 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) { 689 (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled)) {
661 return FWL_ERR_Succeeded; 690 return FWL_Error::Succeeded;
662 } 691 }
663 return FWL_ERR_Indefinite; 692 return FWL_Error::Indefinite;
664 } 693 }
694
665 FX_BOOL CFWL_EditImp::Copy(CFX_WideString& wsCopy) { 695 FX_BOOL CFWL_EditImp::Copy(CFX_WideString& wsCopy) {
666 if (!m_pEdtEngine) 696 if (!m_pEdtEngine)
667 return FALSE; 697 return FALSE;
698
668 int32_t nCount = m_pEdtEngine->CountSelRanges(); 699 int32_t nCount = m_pEdtEngine->CountSelRanges();
669 if (nCount == 0) { 700 if (nCount == 0)
670 return FALSE; 701 return FALSE;
671 } 702
672 wsCopy.clear(); 703 wsCopy.clear();
673 CFX_WideString wsTemp; 704 CFX_WideString wsTemp;
674 int32_t nStart, nLength; 705 int32_t nStart, nLength;
675 for (int32_t i = 0; i < nCount; i++) { 706 for (int32_t i = 0; i < nCount; i++) {
676 nLength = m_pEdtEngine->GetSelRange(i, nStart); 707 nLength = m_pEdtEngine->GetSelRange(i, nStart);
677 m_pEdtEngine->GetText(wsTemp, nStart, nLength); 708 m_pEdtEngine->GetText(wsTemp, nStart, nLength);
678 wsCopy += wsTemp; 709 wsCopy += wsTemp;
679 wsTemp.clear(); 710 wsTemp.clear();
680 } 711 }
681 return TRUE; 712 return TRUE;
682 } 713 }
714
683 FX_BOOL CFWL_EditImp::Cut(CFX_WideString& wsCut) { 715 FX_BOOL CFWL_EditImp::Cut(CFX_WideString& wsCut) {
684 if (!m_pEdtEngine) 716 if (!m_pEdtEngine)
685 return FALSE; 717 return FALSE;
718
686 int32_t nCount = m_pEdtEngine->CountSelRanges(); 719 int32_t nCount = m_pEdtEngine->CountSelRanges();
687 if (nCount == 0) { 720 if (nCount == 0)
688 return FALSE; 721 return FALSE;
689 } 722
690 wsCut.clear(); 723 wsCut.clear();
691 CFX_WideString wsTemp; 724 CFX_WideString wsTemp;
692 int32_t nStart, nLength; 725 int32_t nStart, nLength;
693 for (int32_t i = 0; i < nCount; i++) { 726 for (int32_t i = 0; i < nCount; i++) {
694 nLength = m_pEdtEngine->GetSelRange(i, nStart); 727 nLength = m_pEdtEngine->GetSelRange(i, nStart);
695 m_pEdtEngine->GetText(wsTemp, nStart, nLength); 728 m_pEdtEngine->GetText(wsTemp, nStart, nLength);
696 wsCut += wsTemp; 729 wsCut += wsTemp;
697 wsTemp.clear(); 730 wsTemp.clear();
698 } 731 }
699 m_pEdtEngine->Delete(0); 732 m_pEdtEngine->Delete(0);
700 return TRUE; 733 return TRUE;
701 } 734 }
735
702 FX_BOOL CFWL_EditImp::Paste(const CFX_WideString& wsPaste) { 736 FX_BOOL CFWL_EditImp::Paste(const CFX_WideString& wsPaste) {
703 if (!m_pEdtEngine) 737 if (!m_pEdtEngine)
704 return FALSE; 738 return FALSE;
739
705 int32_t nCaret = m_pEdtEngine->GetCaretPos(); 740 int32_t nCaret = m_pEdtEngine->GetCaretPos();
706 int32_t iError = 741 int32_t iError =
707 m_pEdtEngine->Insert(nCaret, wsPaste.c_str(), wsPaste.GetLength()); 742 m_pEdtEngine->Insert(nCaret, wsPaste.c_str(), wsPaste.GetLength());
708 if (iError < 0) { 743 if (iError < 0) {
709 ProcessInsertError(iError); 744 ProcessInsertError(iError);
710 return FALSE; 745 return FALSE;
711 } 746 }
712 return TRUE; 747 return TRUE;
713 } 748 }
749
714 FX_BOOL CFWL_EditImp::Delete() { 750 FX_BOOL CFWL_EditImp::Delete() {
715 if (!m_pEdtEngine) 751 if (!m_pEdtEngine)
716 return FALSE; 752 return FALSE;
753
717 int32_t nCount = m_pEdtEngine->CountSelRanges(); 754 int32_t nCount = m_pEdtEngine->CountSelRanges();
718 if (nCount < 1) { 755 if (nCount < 1)
719 return FALSE; 756 return FALSE;
720 } 757
721 m_pEdtEngine->Delete(0); 758 m_pEdtEngine->Delete(0);
722 return TRUE; 759 return TRUE;
723 } 760 }
761
724 FX_BOOL CFWL_EditImp::Redo(const CFX_ByteStringC& bsRecord) { 762 FX_BOOL CFWL_EditImp::Redo(const CFX_ByteStringC& bsRecord) {
725 if (!m_pEdtEngine) 763 if (!m_pEdtEngine)
726 return FALSE; 764 return FALSE;
727 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_NoRedoUndo) { 765 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_NoRedoUndo)
728 return TRUE; 766 return TRUE;
729 }
730 return m_pEdtEngine->Redo(bsRecord); 767 return m_pEdtEngine->Redo(bsRecord);
731 } 768 }
769
732 FX_BOOL CFWL_EditImp::Undo(const CFX_ByteStringC& bsRecord) { 770 FX_BOOL CFWL_EditImp::Undo(const CFX_ByteStringC& bsRecord) {
733 if (!m_pEdtEngine) 771 if (!m_pEdtEngine)
734 return FALSE; 772 return FALSE;
735 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_NoRedoUndo) { 773 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_NoRedoUndo)
736 return TRUE; 774 return TRUE;
737 }
738 return m_pEdtEngine->Undo(bsRecord); 775 return m_pEdtEngine->Undo(bsRecord);
739 } 776 }
777
740 FX_BOOL CFWL_EditImp::Undo() { 778 FX_BOOL CFWL_EditImp::Undo() {
741 if (!CanUndo()) { 779 if (!CanUndo())
742 return FALSE; 780 return FALSE;
743 } 781
744 CFX_ByteString bsRecord = m_RecordArr[m_iCurRecord--]; 782 CFX_ByteString bsRecord = m_RecordArr[m_iCurRecord--];
745 return Undo(bsRecord.AsStringC()); 783 return Undo(bsRecord.AsStringC());
746 } 784 }
785
747 FX_BOOL CFWL_EditImp::Redo() { 786 FX_BOOL CFWL_EditImp::Redo() {
748 if (!CanRedo()) { 787 if (!CanRedo())
749 return FALSE; 788 return FALSE;
750 } 789
751 CFX_ByteString bsRecord = m_RecordArr[++m_iCurRecord]; 790 CFX_ByteString bsRecord = m_RecordArr[++m_iCurRecord];
752 return Redo(bsRecord.AsStringC()); 791 return Redo(bsRecord.AsStringC());
753 } 792 }
793
754 FX_BOOL CFWL_EditImp::CanUndo() { 794 FX_BOOL CFWL_EditImp::CanUndo() {
755 return m_iCurRecord >= 0; 795 return m_iCurRecord >= 0;
756 } 796 }
797
757 FX_BOOL CFWL_EditImp::CanRedo() { 798 FX_BOOL CFWL_EditImp::CanRedo() {
758 return m_iCurRecord < m_RecordArr.GetSize() - 1; 799 return m_iCurRecord < m_RecordArr.GetSize() - 1;
759 } 800 }
760 FWL_ERR CFWL_EditImp::SetTabWidth(FX_FLOAT fTabWidth, FX_BOOL bEquidistant) { 801
802 FWL_Error CFWL_EditImp::SetTabWidth(FX_FLOAT fTabWidth, FX_BOOL bEquidistant) {
761 if (!m_pEdtEngine) 803 if (!m_pEdtEngine)
762 return FWL_ERR_Succeeded; 804 return FWL_Error::Indefinite;
805
763 FDE_TXTEDTPARAMS* pParams = m_pEdtEngine->GetEditParams(); 806 FDE_TXTEDTPARAMS* pParams = m_pEdtEngine->GetEditParams();
764 pParams->fTabWidth = fTabWidth; 807 pParams->fTabWidth = fTabWidth;
765 pParams->bTabEquidistant = bEquidistant; 808 pParams->bTabEquidistant = bEquidistant;
766 return FWL_ERR_Succeeded; 809 return FWL_Error::Succeeded;
767 } 810 }
768 FWL_ERR CFWL_EditImp::SetOuter(IFWL_Widget* pOuter) { 811
812 FWL_Error CFWL_EditImp::SetOuter(IFWL_Widget* pOuter) {
769 m_pOuter = pOuter; 813 m_pOuter = pOuter;
770 return FWL_ERR_Succeeded; 814 return FWL_Error::Succeeded;
771 } 815 }
772 FWL_ERR CFWL_EditImp::SetNumberRange(int32_t iMin, int32_t iMax) { 816
817 FWL_Error CFWL_EditImp::SetNumberRange(int32_t iMin, int32_t iMax) {
773 m_iMin = iMin; 818 m_iMin = iMin;
774 m_iMax = iMax; 819 m_iMax = iMax;
775 m_bSetRange = TRUE; 820 m_bSetRange = TRUE;
776 return FWL_ERR_Succeeded; 821 return FWL_Error::Succeeded;
777 } 822 }
823
778 void CFWL_EditImp::On_CaretChanged(CFDE_TxtEdtEngine* pEdit, 824 void CFWL_EditImp::On_CaretChanged(CFDE_TxtEdtEngine* pEdit,
779 int32_t nPage, 825 int32_t nPage,
780 FX_BOOL bVisible) { 826 FX_BOOL bVisible) {
781 if (m_rtEngine.IsEmpty()) { 827 if (m_rtEngine.IsEmpty())
782 return; 828 return;
783 } 829 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0)
784 if ((m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) {
785 return; 830 return;
786 } 831
787 FX_BOOL bRepaintContent = UpdateOffset(); 832 FX_BOOL bRepaintContent = UpdateOffset();
788 UpdateCaret(); 833 UpdateCaret();
789 CFX_RectF rtInvalid; 834 CFX_RectF rtInvalid;
790 rtInvalid.Set(0, 0, 0, 0); 835 rtInvalid.Set(0, 0, 0, 0);
791 FX_BOOL bRepaintScroll = FALSE; 836 FX_BOOL bRepaintScroll = FALSE;
792 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) { 837 if (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_MultiLine) {
793 IFWL_ScrollBar* pScroll = UpdateScroll(); 838 IFWL_ScrollBar* pScroll = UpdateScroll();
794 if (pScroll) { 839 if (pScroll) {
795 pScroll->GetWidgetRect(rtInvalid); 840 pScroll->GetWidgetRect(rtInvalid);
796 bRepaintScroll = TRUE; 841 bRepaintScroll = TRUE;
797 } 842 }
798 } 843 }
799 if (bRepaintContent || bRepaintScroll) { 844 if (bRepaintContent || bRepaintScroll) {
800 if (bRepaintContent) { 845 if (bRepaintContent) {
801 rtInvalid.Union(m_rtEngine); 846 rtInvalid.Union(m_rtEngine);
802 } 847 }
803 Repaint(&rtInvalid); 848 Repaint(&rtInvalid);
804 } 849 }
805 } 850 }
851
806 void CFWL_EditImp::On_TextChanged(CFDE_TxtEdtEngine* pEdit, 852 void CFWL_EditImp::On_TextChanged(CFDE_TxtEdtEngine* pEdit,
807 FDE_TXTEDT_TEXTCHANGE_INFO& ChangeInfo) { 853 FDE_TXTEDT_TEXTCHANGE_INFO& ChangeInfo) {
808 uint32_t dwStyleEx = m_pProperties->m_dwStyleExes; 854 uint32_t dwStyleEx = m_pProperties->m_dwStyleExes;
809 if (dwStyleEx & FWL_STYLEEXT_EDT_VAlignMask) { 855 if (dwStyleEx & FWL_STYLEEXT_EDT_VAlignMask)
810 UpdateVAlignment(); 856 UpdateVAlignment();
811 } 857
812 IFDE_TxtEdtPage* page = m_pEdtEngine->GetPage(0); 858 IFDE_TxtEdtPage* page = m_pEdtEngine->GetPage(0);
813 FX_FLOAT fContentWidth = page->GetContentsBox().width; 859 FX_FLOAT fContentWidth = page->GetContentsBox().width;
814 FX_FLOAT fContentHeight = page->GetContentsBox().height; 860 FX_FLOAT fContentHeight = page->GetContentsBox().height;
815 CFX_RectF rtTemp; 861 CFX_RectF rtTemp;
816 GetClientRect(rtTemp); 862 GetClientRect(rtTemp);
817 FX_BOOL bHSelfAdaption = 863 FX_BOOL bHSelfAdaption =
818 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption; 864 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_HSelfAdaption;
819 FX_BOOL bVSelfAdaption = 865 FX_BOOL bVSelfAdaption =
820 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption; 866 m_pProperties->m_dwStyleExes & FWL_STYLEEXT_EDT_VSelfAdaption;
821 FX_BOOL bNeedUpdate = FALSE; 867 FX_BOOL bNeedUpdate = FALSE;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
906 pDst = m_pInterface; 952 pDst = m_pInterface;
907 } 953 }
908 CFWL_EvtEdtValidate event; 954 CFWL_EvtEdtValidate event;
909 event.pDstWidget = pDst; 955 event.pDstWidget = pDst;
910 event.m_pSrcTarget = m_pInterface; 956 event.m_pSrcTarget = m_pInterface;
911 event.wsInsert = wsText; 957 event.wsInsert = wsText;
912 event.bValidate = TRUE; 958 event.bValidate = TRUE;
913 DispatchEvent(&event); 959 DispatchEvent(&event);
914 return event.bValidate; 960 return event.bValidate;
915 } 961 }
916 FWL_ERR CFWL_EditImp::SetBackgroundColor(uint32_t color) { 962 FWL_Error CFWL_EditImp::SetBackgroundColor(uint32_t color) {
917 m_backColor = color; 963 m_backColor = color;
918 m_updateBackColor = TRUE; 964 m_updateBackColor = TRUE;
919 return FWL_ERR_Succeeded; 965 return FWL_Error::Succeeded;
920 } 966 }
921 FWL_ERR CFWL_EditImp::SetFont(const CFX_WideString& wsFont, FX_FLOAT fSize) { 967 FWL_Error CFWL_EditImp::SetFont(const CFX_WideString& wsFont, FX_FLOAT fSize) {
922 m_wsFont = wsFont; 968 m_wsFont = wsFont;
923 m_fFontSize = fSize; 969 m_fFontSize = fSize;
924 return FWL_ERR_Succeeded; 970 return FWL_Error::Succeeded;
925 } 971 }
926 void CFWL_EditImp::SetScrollOffset(FX_FLOAT fScrollOffset) { 972 void CFWL_EditImp::SetScrollOffset(FX_FLOAT fScrollOffset) {
927 m_fScrollOffsetY = fScrollOffset; 973 m_fScrollOffsetY = fScrollOffset;
928 } 974 }
929 void CFWL_EditImp::DrawTextBk(CFX_Graphics* pGraphics, 975 void CFWL_EditImp::DrawTextBk(CFX_Graphics* pGraphics,
930 IFWL_ThemeProvider* pTheme, 976 IFWL_ThemeProvider* pTheme,
931 const CFX_Matrix* pMatrix) { 977 const CFX_Matrix* pMatrix) {
932 CFWL_ThemeBackground param; 978 CFWL_ThemeBackground param;
933 param.m_pWidget = m_pInterface; 979 param.m_pWidget = m_pInterface;
934 param.m_iPart = CFWL_Part::Background; 980 param.m_iPart = CFWL_Part::Background;
(...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after
1711 DispatchEvent(&textFullEvent); 1757 DispatchEvent(&textFullEvent);
1712 break; 1758 break;
1713 } 1759 }
1714 default: {} 1760 default: {}
1715 } 1761 }
1716 } 1762 }
1717 1763
1718 CFWL_EditImpDelegate::CFWL_EditImpDelegate(CFWL_EditImp* pOwner) 1764 CFWL_EditImpDelegate::CFWL_EditImpDelegate(CFWL_EditImp* pOwner)
1719 : m_pOwner(pOwner) {} 1765 : m_pOwner(pOwner) {}
1720 1766
1721 int32_t CFWL_EditImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { 1767 void CFWL_EditImpDelegate::OnProcessMessage(CFWL_Message* pMessage) {
1722 if (!pMessage) 1768 if (!pMessage)
1723 return 0; 1769 return;
1724 1770
1725 CFWL_MessageType dwMsgCode = pMessage->GetClassID(); 1771 CFWL_MessageType dwMsgCode = pMessage->GetClassID();
1726 int32_t iRet = 1;
1727 switch (dwMsgCode) { 1772 switch (dwMsgCode) {
1728 case CFWL_MessageType::Activate: { 1773 case CFWL_MessageType::Activate: {
1729 DoActivate(static_cast<CFWL_MsgActivate*>(pMessage)); 1774 DoActivate(static_cast<CFWL_MsgActivate*>(pMessage));
1730 break; 1775 break;
1731 } 1776 }
1732 case CFWL_MessageType::Deactivate: { 1777 case CFWL_MessageType::Deactivate: {
1733 DoDeactivate(static_cast<CFWL_MsgDeactivate*>(pMessage)); 1778 DoDeactivate(static_cast<CFWL_MsgDeactivate*>(pMessage));
1734 break; 1779 break;
1735 } 1780 }
1736 case CFWL_MessageType::SetFocus: 1781 case CFWL_MessageType::SetFocus:
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1768 } 1813 }
1769 case CFWL_MessageType::Key: { 1814 case CFWL_MessageType::Key: {
1770 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage); 1815 CFWL_MsgKey* pKey = static_cast<CFWL_MsgKey*>(pMessage);
1771 if (pKey->m_dwCmd == FWL_KeyCommand::KeyDown) 1816 if (pKey->m_dwCmd == FWL_KeyCommand::KeyDown)
1772 OnKeyDown(pKey); 1817 OnKeyDown(pKey);
1773 else if (pKey->m_dwCmd == FWL_KeyCommand::Char) 1818 else if (pKey->m_dwCmd == FWL_KeyCommand::Char)
1774 OnChar(pKey); 1819 OnChar(pKey);
1775 break; 1820 break;
1776 } 1821 }
1777 default: { 1822 default: {
1778 iRet = 0;
1779 break; 1823 break;
1780 } 1824 }
1781 } 1825 }
1782 CFWL_WidgetImpDelegate::OnProcessMessage(pMessage); 1826 CFWL_WidgetImpDelegate::OnProcessMessage(pMessage);
1783 return iRet;
1784 } 1827 }
1785 1828
1786 FWL_ERR CFWL_EditImpDelegate::OnProcessEvent(CFWL_Event* pEvent) { 1829 void CFWL_EditImpDelegate::OnProcessEvent(CFWL_Event* pEvent) {
1787 if (!pEvent) 1830 if (!pEvent)
1788 return FWL_ERR_Indefinite; 1831 return;
1789 if (pEvent->GetClassID() != CFWL_EventType::Scroll) 1832 if (pEvent->GetClassID() != CFWL_EventType::Scroll)
1790 return FWL_ERR_Succeeded; 1833 return;
1791 1834
1792 IFWL_Widget* pSrcTarget = pEvent->m_pSrcTarget; 1835 IFWL_Widget* pSrcTarget = pEvent->m_pSrcTarget;
1793 if ((pSrcTarget == m_pOwner->m_pVertScrollBar.get() && 1836 if ((pSrcTarget == m_pOwner->m_pVertScrollBar.get() &&
1794 m_pOwner->m_pVertScrollBar) || 1837 m_pOwner->m_pVertScrollBar) ||
1795 (pSrcTarget == m_pOwner->m_pHorzScrollBar.get() && 1838 (pSrcTarget == m_pOwner->m_pHorzScrollBar.get() &&
1796 m_pOwner->m_pHorzScrollBar)) { 1839 m_pOwner->m_pHorzScrollBar)) {
1797 CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent); 1840 CFWL_EvtScroll* pScrollEvent = static_cast<CFWL_EvtScroll*>(pEvent);
1798 OnScroll(static_cast<IFWL_ScrollBar*>(pSrcTarget), 1841 OnScroll(static_cast<IFWL_ScrollBar*>(pSrcTarget),
1799 pScrollEvent->m_iScrollCode, pScrollEvent->m_fPos); 1842 pScrollEvent->m_iScrollCode, pScrollEvent->m_fPos);
1800 } 1843 }
1801 return FWL_ERR_Succeeded;
1802 } 1844 }
1803 1845
1804 FWL_ERR CFWL_EditImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, 1846 void CFWL_EditImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics,
1805 const CFX_Matrix* pMatrix) { 1847 const CFX_Matrix* pMatrix) {
1806 return m_pOwner->DrawWidget(pGraphics, pMatrix); 1848 m_pOwner->DrawWidget(pGraphics, pMatrix);
1807 } 1849 }
1850
1808 void CFWL_EditImpDelegate::DoActivate(CFWL_MsgActivate* pMsg) { 1851 void CFWL_EditImpDelegate::DoActivate(CFWL_MsgActivate* pMsg) {
1809 m_pOwner->m_pProperties->m_dwStates |= ~FWL_WGTSTATE_Deactivated; 1852 m_pOwner->m_pProperties->m_dwStates |= ~FWL_WGTSTATE_Deactivated;
1810 m_pOwner->Repaint(&m_pOwner->m_rtClient); 1853 m_pOwner->Repaint(&m_pOwner->m_rtClient);
1811 } 1854 }
1812 void CFWL_EditImpDelegate::DoDeactivate(CFWL_MsgDeactivate* pMsg) { 1855 void CFWL_EditImpDelegate::DoDeactivate(CFWL_MsgDeactivate* pMsg) {
1813 m_pOwner->m_pProperties->m_dwStates &= FWL_WGTSTATE_Deactivated; 1856 m_pOwner->m_pProperties->m_dwStates &= FWL_WGTSTATE_Deactivated;
1814 m_pOwner->Repaint(&m_pOwner->m_rtClient); 1857 m_pOwner->Repaint(&m_pOwner->m_rtClient);
1815 } 1858 }
1816 void CFWL_EditImpDelegate::DoButtonDown(CFWL_MsgMouse* pMsg) { 1859 void CFWL_EditImpDelegate::DoButtonDown(CFWL_MsgMouse* pMsg) {
1817 if ((m_pOwner->m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) { 1860 if ((m_pOwner->m_pProperties->m_dwStates & FWL_WGTSTATE_Focused) == 0) {
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
2156 } 2199 }
2157 CFX_RectF rect; 2200 CFX_RectF rect;
2158 m_pOwner->GetWidgetRect(rect); 2201 m_pOwner->GetWidgetRect(rect);
2159 CFX_RectF rtInvalidate; 2202 CFX_RectF rtInvalidate;
2160 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2); 2203 rtInvalidate.Set(0, 0, rect.width + 2, rect.height + 2);
2161 m_pOwner->Repaint(&rtInvalidate); 2204 m_pOwner->Repaint(&rtInvalidate);
2162 } 2205 }
2163 return TRUE; 2206 return TRUE;
2164 } 2207 }
2165 void CFWL_EditImpDelegate::DoCursor(CFWL_MsgMouse* pMsg) {} 2208 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