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

Side by Side Diff: fpdfsdk/src/fxedit/fxet_edit.cpp

Issue 1566583002: Merge to XFA: Remove header files that only have includes. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Fix XFA Created 4 years, 11 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 | « fpdfsdk/src/fxedit/fxet_ap.cpp ('k') | fpdfsdk/src/fxedit/fxet_list.cpp » ('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 "fpdfsdk/include/fxedit/fxet_edit.h" 7 #include "fpdfsdk/include/fxedit/fxet_edit.h"
8 #include "fpdfsdk/include/fxedit/fxet_stub.h" 8
9 #include "core/include/fpdfapi/fpdf_resource.h"
9 10
10 #define FX_EDIT_UNDO_MAXITEM 10000 11 #define FX_EDIT_UNDO_MAXITEM 10000
11 12
12 /* ---------------------------- CFX_Edit_Iterator ----------------------------
13 */
14
15 CFX_Edit_Iterator::CFX_Edit_Iterator(CFX_Edit* pEdit, 13 CFX_Edit_Iterator::CFX_Edit_Iterator(CFX_Edit* pEdit,
16 IPDF_VariableText_Iterator* pVTIterator) 14 IPDF_VariableText_Iterator* pVTIterator)
17 : m_pEdit(pEdit), m_pVTIterator(pVTIterator) {} 15 : m_pEdit(pEdit), m_pVTIterator(pVTIterator) {}
18 16
19 CFX_Edit_Iterator::~CFX_Edit_Iterator() {} 17 CFX_Edit_Iterator::~CFX_Edit_Iterator() {}
20 18
21 FX_BOOL CFX_Edit_Iterator::NextWord() { 19 FX_BOOL CFX_Edit_Iterator::NextWord() {
22 return m_pVTIterator->NextWord(); 20 return m_pVTIterator->NextWord();
23 } 21 }
24 22
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 } 79 }
82 80
83 const CPVT_WordPlace& CFX_Edit_Iterator::GetAt() const { 81 const CPVT_WordPlace& CFX_Edit_Iterator::GetAt() const {
84 return m_pVTIterator->GetAt(); 82 return m_pVTIterator->GetAt();
85 } 83 }
86 84
87 IFX_Edit* CFX_Edit_Iterator::GetEdit() const { 85 IFX_Edit* CFX_Edit_Iterator::GetEdit() const {
88 return m_pEdit; 86 return m_pEdit;
89 } 87 }
90 88
91 /* --------------------------- CFX_Edit_Provider -------------------------------
92 */
93
94 CFX_Edit_Provider::CFX_Edit_Provider(IFX_Edit_FontMap* pFontMap) 89 CFX_Edit_Provider::CFX_Edit_Provider(IFX_Edit_FontMap* pFontMap)
95 : m_pFontMap(pFontMap) { 90 : m_pFontMap(pFontMap) {
96 ASSERT(m_pFontMap); 91 ASSERT(m_pFontMap);
97 } 92 }
98 93
99 CFX_Edit_Provider::~CFX_Edit_Provider() {} 94 CFX_Edit_Provider::~CFX_Edit_Provider() {}
100 95
101 IFX_Edit_FontMap* CFX_Edit_Provider::GetFontMap() { 96 IFX_Edit_FontMap* CFX_Edit_Provider::GetFontMap() {
102 return m_pFontMap; 97 return m_pFontMap;
103 } 98 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 } 136 }
142 137
143 int32_t CFX_Edit_Provider::GetDefaultFontIndex() { 138 int32_t CFX_Edit_Provider::GetDefaultFontIndex() {
144 return 0; 139 return 0;
145 } 140 }
146 141
147 FX_BOOL CFX_Edit_Provider::IsLatinWord(FX_WORD word) { 142 FX_BOOL CFX_Edit_Provider::IsLatinWord(FX_WORD word) {
148 return FX_EDIT_ISLATINWORD(word); 143 return FX_EDIT_ISLATINWORD(word);
149 } 144 }
150 145
151 /* --------------------------------- CFX_Edit_Refresh
152 * --------------------------------- */
153
154 CFX_Edit_Refresh::CFX_Edit_Refresh() {} 146 CFX_Edit_Refresh::CFX_Edit_Refresh() {}
155 147
156 CFX_Edit_Refresh::~CFX_Edit_Refresh() {} 148 CFX_Edit_Refresh::~CFX_Edit_Refresh() {}
157 149
158 void CFX_Edit_Refresh::BeginRefresh() { 150 void CFX_Edit_Refresh::BeginRefresh() {
159 m_RefreshRects.Empty(); 151 m_RefreshRects.Empty();
160 m_OldLineRects = m_NewLineRects; 152 m_OldLineRects = m_NewLineRects;
161 } 153 }
162 154
163 void CFX_Edit_Refresh::Push(const CPVT_WordRange& linerange, 155 void CFX_Edit_Refresh::Push(const CPVT_WordRange& linerange,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 rcResult.Union(pNewRect->m_rcLine); 204 rcResult.Union(pNewRect->m_rcLine);
213 m_RefreshRects.Add(rcResult); 205 m_RefreshRects.Add(rcResult);
214 } else { 206 } else {
215 if (!pNewRect->IsSameLeft(*pOldRect)) { 207 if (!pNewRect->IsSameLeft(*pOldRect)) {
216 rcResult = pOldRect->m_rcLine; 208 rcResult = pOldRect->m_rcLine;
217 rcResult.Union(pNewRect->m_rcLine); 209 rcResult.Union(pNewRect->m_rcLine);
218 } else { 210 } else {
219 fWidthDiff = 211 fWidthDiff =
220 pNewRect->m_rcLine.Width() - pOldRect->m_rcLine.Width(); 212 pNewRect->m_rcLine.Width() - pOldRect->m_rcLine.Width();
221 rcResult = pNewRect->m_rcLine; 213 rcResult = pNewRect->m_rcLine;
222 if (fWidthDiff > 0.0f) 214 if (fWidthDiff > 0.0f) {
223 rcResult.left = rcResult.right - fWidthDiff; 215 rcResult.left = rcResult.right - fWidthDiff;
224 else { 216 } else {
225 rcResult.left = rcResult.right; 217 rcResult.left = rcResult.right;
226 rcResult.right += (-fWidthDiff); 218 rcResult.right += (-fWidthDiff);
227 } 219 }
228 } 220 }
229 m_RefreshRects.Add(rcResult); 221 m_RefreshRects.Add(rcResult);
230 } 222 }
231 } else { 223 } else {
232 rcResult = pOldRect->m_rcLine; 224 rcResult = pOldRect->m_rcLine;
233 rcResult.Union(pNewRect->m_rcLine); 225 rcResult.Union(pNewRect->m_rcLine);
234 m_RefreshRects.Add(rcResult); 226 m_RefreshRects.Add(rcResult);
235 } 227 }
236 } else {
237 // don't need to do anything
238 } 228 }
239 } 229 }
240 } else { 230 } else {
241 m_RefreshRects.Add(pOldRect->m_rcLine); 231 m_RefreshRects.Add(pOldRect->m_rcLine);
242 } 232 }
243 } else { 233 } else {
244 if (pNewRect) { 234 if (pNewRect) {
245 m_RefreshRects.Add(pNewRect->m_rcLine); 235 m_RefreshRects.Add(pNewRect->m_rcLine);
246 } else {
247 // error
248 } 236 }
249 } 237 }
250 i++; 238 i++;
251 } 239 }
252 } 240 }
253 241
254 void CFX_Edit_Refresh::AddRefresh(const CPDF_Rect& rect) { 242 void CFX_Edit_Refresh::AddRefresh(const CPDF_Rect& rect) {
255 m_RefreshRects.Add(rect); 243 m_RefreshRects.Add(rect);
256 } 244 }
257 245
258 const CFX_Edit_RectArray* CFX_Edit_Refresh::GetRefreshRects() const { 246 const CFX_Edit_RectArray* CFX_Edit_Refresh::GetRefreshRects() const {
259 return &m_RefreshRects; 247 return &m_RefreshRects;
260 } 248 }
261 249
262 void CFX_Edit_Refresh::EndRefresh() { 250 void CFX_Edit_Refresh::EndRefresh() {
263 m_RefreshRects.Empty(); 251 m_RefreshRects.Empty();
264 } 252 }
265 253
266 /* ------------------------------------- CFX_Edit_Undo
267 * ------------------------------------- */
268
269 CFX_Edit_Undo::CFX_Edit_Undo(int32_t nBufsize) 254 CFX_Edit_Undo::CFX_Edit_Undo(int32_t nBufsize)
270 : m_nCurUndoPos(0), 255 : m_nCurUndoPos(0),
271 m_nBufSize(nBufsize), 256 m_nBufSize(nBufsize),
272 m_bModified(FALSE), 257 m_bModified(FALSE),
273 m_bVirgin(TRUE), 258 m_bVirgin(TRUE),
274 m_bWorking(FALSE) {} 259 m_bWorking(FALSE) {}
275 260
276 CFX_Edit_Undo::~CFX_Edit_Undo() { 261 CFX_Edit_Undo::~CFX_Edit_Undo() {
277 Reset(); 262 Reset();
278 } 263 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 } 349 }
365 350
366 void CFX_Edit_Undo::Reset() { 351 void CFX_Edit_Undo::Reset() {
367 for (int32_t i = 0, sz = m_UndoItemStack.GetSize(); i < sz; i++) { 352 for (int32_t i = 0, sz = m_UndoItemStack.GetSize(); i < sz; i++) {
368 delete m_UndoItemStack.GetAt(i); 353 delete m_UndoItemStack.GetAt(i);
369 } 354 }
370 m_nCurUndoPos = 0; 355 m_nCurUndoPos = 0;
371 m_UndoItemStack.RemoveAll(); 356 m_UndoItemStack.RemoveAll();
372 } 357 }
373 358
374 /* -------------------------------- CFX_Edit_GroupUndoItem
375 * -------------------------------- */
376
377 CFX_Edit_GroupUndoItem::CFX_Edit_GroupUndoItem(const CFX_WideString& sTitle) 359 CFX_Edit_GroupUndoItem::CFX_Edit_GroupUndoItem(const CFX_WideString& sTitle)
378 : m_sTitle(sTitle) {} 360 : m_sTitle(sTitle) {}
379 361
380 CFX_Edit_GroupUndoItem::~CFX_Edit_GroupUndoItem() { 362 CFX_Edit_GroupUndoItem::~CFX_Edit_GroupUndoItem() {
381 for (int i = 0, sz = m_Items.GetSize(); i < sz; i++) { 363 for (int i = 0, sz = m_Items.GetSize(); i < sz; i++) {
382 delete m_Items[i]; 364 delete m_Items[i];
383 } 365 }
384 366
385 m_Items.RemoveAll(); 367 m_Items.RemoveAll();
386 } 368 }
(...skipping 29 matching lines...) Expand all
416 for (int i = 0, sz = m_Items.GetSize(); i < sz; i++) { 398 for (int i = 0, sz = m_Items.GetSize(); i < sz; i++) {
417 CFX_Edit_UndoItem* pUndoItem = m_Items[i]; 399 CFX_Edit_UndoItem* pUndoItem = m_Items[i];
418 pUndoItem->Redo(); 400 pUndoItem->Redo();
419 } 401 }
420 } 402 }
421 403
422 CFX_WideString CFX_Edit_GroupUndoItem::GetUndoTitle() { 404 CFX_WideString CFX_Edit_GroupUndoItem::GetUndoTitle() {
423 return m_sTitle; 405 return m_sTitle;
424 } 406 }
425 407
426 /* ------------------------------------- CFX_Edit_UndoItem derived classes
427 * ------------------------------------- */
428
429 CFXEU_InsertWord::CFXEU_InsertWord(CFX_Edit* pEdit, 408 CFXEU_InsertWord::CFXEU_InsertWord(CFX_Edit* pEdit,
430 const CPVT_WordPlace& wpOldPlace, 409 const CPVT_WordPlace& wpOldPlace,
431 const CPVT_WordPlace& wpNewPlace, 410 const CPVT_WordPlace& wpNewPlace,
432 FX_WORD word, 411 FX_WORD word,
433 int32_t charset, 412 int32_t charset,
434 const CPVT_WordProps* pWordProps) 413 const CPVT_WordProps* pWordProps)
435 : m_pEdit(pEdit), 414 : m_pEdit(pEdit),
436 m_wpOld(wpOldPlace), 415 m_wpOld(wpOldPlace),
437 m_wpNew(wpNewPlace), 416 m_wpNew(wpNewPlace),
438 m_Word(word), 417 m_Word(word),
(...skipping 14 matching lines...) Expand all
453 } 432 }
454 433
455 void CFXEU_InsertWord::Undo() { 434 void CFXEU_InsertWord::Undo() {
456 if (m_pEdit) { 435 if (m_pEdit) {
457 m_pEdit->SelectNone(); 436 m_pEdit->SelectNone();
458 m_pEdit->SetCaret(m_wpNew); 437 m_pEdit->SetCaret(m_wpNew);
459 m_pEdit->Backspace(FALSE, TRUE); 438 m_pEdit->Backspace(FALSE, TRUE);
460 } 439 }
461 } 440 }
462 441
463 /* -------------------------------------------------------------------------- */
464
465 CFXEU_InsertReturn::CFXEU_InsertReturn(CFX_Edit* pEdit, 442 CFXEU_InsertReturn::CFXEU_InsertReturn(CFX_Edit* pEdit,
466 const CPVT_WordPlace& wpOldPlace, 443 const CPVT_WordPlace& wpOldPlace,
467 const CPVT_WordPlace& wpNewPlace, 444 const CPVT_WordPlace& wpNewPlace,
468 const CPVT_SecProps* pSecProps, 445 const CPVT_SecProps* pSecProps,
469 const CPVT_WordProps* pWordProps) 446 const CPVT_WordProps* pWordProps)
470 : m_pEdit(pEdit), 447 : m_pEdit(pEdit),
471 m_wpOld(wpOldPlace), 448 m_wpOld(wpOldPlace),
472 m_wpNew(wpNewPlace), 449 m_wpNew(wpNewPlace),
473 m_SecProps(), 450 m_SecProps(),
474 m_WordProps() { 451 m_WordProps() {
(...skipping 14 matching lines...) Expand all
489 } 466 }
490 467
491 void CFXEU_InsertReturn::Undo() { 468 void CFXEU_InsertReturn::Undo() {
492 if (m_pEdit) { 469 if (m_pEdit) {
493 m_pEdit->SelectNone(); 470 m_pEdit->SelectNone();
494 m_pEdit->SetCaret(m_wpNew); 471 m_pEdit->SetCaret(m_wpNew);
495 m_pEdit->Backspace(FALSE, TRUE); 472 m_pEdit->Backspace(FALSE, TRUE);
496 } 473 }
497 } 474 }
498 475
499 /* -------------------------------------------------------------------------- */
500 // CFXEU_Backspace
501
502 CFXEU_Backspace::CFXEU_Backspace(CFX_Edit* pEdit, 476 CFXEU_Backspace::CFXEU_Backspace(CFX_Edit* pEdit,
503 const CPVT_WordPlace& wpOldPlace, 477 const CPVT_WordPlace& wpOldPlace,
504 const CPVT_WordPlace& wpNewPlace, 478 const CPVT_WordPlace& wpNewPlace,
505 FX_WORD word, 479 FX_WORD word,
506 int32_t charset, 480 int32_t charset,
507 const CPVT_SecProps& SecProps, 481 const CPVT_SecProps& SecProps,
508 const CPVT_WordProps& WordProps) 482 const CPVT_WordProps& WordProps)
509 : m_pEdit(pEdit), 483 : m_pEdit(pEdit),
510 m_wpOld(wpOldPlace), 484 m_wpOld(wpOldPlace),
511 m_wpNew(wpNewPlace), 485 m_wpNew(wpNewPlace),
(...skipping 17 matching lines...) Expand all
529 m_pEdit->SelectNone(); 503 m_pEdit->SelectNone();
530 m_pEdit->SetCaret(m_wpNew); 504 m_pEdit->SetCaret(m_wpNew);
531 if (m_wpNew.SecCmp(m_wpOld) != 0) { 505 if (m_wpNew.SecCmp(m_wpOld) != 0) {
532 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE); 506 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE);
533 } else { 507 } else {
534 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE); 508 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE);
535 } 509 }
536 } 510 }
537 } 511 }
538 512
539 /* -------------------------------------------------------------------------- */
540 // CFXEU_Delete
541
542 CFXEU_Delete::CFXEU_Delete(CFX_Edit* pEdit, 513 CFXEU_Delete::CFXEU_Delete(CFX_Edit* pEdit,
543 const CPVT_WordPlace& wpOldPlace, 514 const CPVT_WordPlace& wpOldPlace,
544 const CPVT_WordPlace& wpNewPlace, 515 const CPVT_WordPlace& wpNewPlace,
545 FX_WORD word, 516 FX_WORD word,
546 int32_t charset, 517 int32_t charset,
547 const CPVT_SecProps& SecProps, 518 const CPVT_SecProps& SecProps,
548 const CPVT_WordProps& WordProps, 519 const CPVT_WordProps& WordProps,
549 FX_BOOL bSecEnd) 520 FX_BOOL bSecEnd)
550 : m_pEdit(pEdit), 521 : m_pEdit(pEdit),
551 m_wpOld(wpOldPlace), 522 m_wpOld(wpOldPlace),
(...skipping 19 matching lines...) Expand all
571 m_pEdit->SelectNone(); 542 m_pEdit->SelectNone();
572 m_pEdit->SetCaret(m_wpNew); 543 m_pEdit->SetCaret(m_wpNew);
573 if (m_bSecEnd) { 544 if (m_bSecEnd) {
574 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE); 545 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE);
575 } else { 546 } else {
576 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE); 547 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE);
577 } 548 }
578 } 549 }
579 } 550 }
580 551
581 /* -------------------------------------------------------------------------- */
582 // CFXEU_Clear
583
584 CFXEU_Clear::CFXEU_Clear(CFX_Edit* pEdit, 552 CFXEU_Clear::CFXEU_Clear(CFX_Edit* pEdit,
585 const CPVT_WordRange& wrSel, 553 const CPVT_WordRange& wrSel,
586 const CFX_WideString& swText) 554 const CFX_WideString& swText)
587 : m_pEdit(pEdit), m_wrSel(wrSel), m_swText(swText) {} 555 : m_pEdit(pEdit), m_wrSel(wrSel), m_swText(swText) {}
588 556
589 CFXEU_Clear::~CFXEU_Clear() {} 557 CFXEU_Clear::~CFXEU_Clear() {}
590 558
591 void CFXEU_Clear::Redo() { 559 void CFXEU_Clear::Redo() {
592 if (m_pEdit) { 560 if (m_pEdit) {
593 m_pEdit->SelectNone(); 561 m_pEdit->SelectNone();
594 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); 562 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos);
595 m_pEdit->Clear(FALSE, TRUE); 563 m_pEdit->Clear(FALSE, TRUE);
596 } 564 }
597 } 565 }
598 566
599 void CFXEU_Clear::Undo() { 567 void CFXEU_Clear::Undo() {
600 if (m_pEdit) { 568 if (m_pEdit) {
601 m_pEdit->SelectNone(); 569 m_pEdit->SelectNone();
602 m_pEdit->SetCaret(m_wrSel.BeginPos); 570 m_pEdit->SetCaret(m_wrSel.BeginPos);
603 m_pEdit->InsertText(m_swText.c_str(), DEFAULT_CHARSET, NULL, NULL, FALSE, 571 m_pEdit->InsertText(m_swText.c_str(), DEFAULT_CHARSET, NULL, NULL, FALSE,
604 TRUE); 572 TRUE);
605 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); 573 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos);
606 } 574 }
607 } 575 }
608 576
609 /* -------------------------------------------------------------------------- */
610 // CFXEU_ClearRich
611
612 CFXEU_ClearRich::CFXEU_ClearRich(CFX_Edit* pEdit, 577 CFXEU_ClearRich::CFXEU_ClearRich(CFX_Edit* pEdit,
613 const CPVT_WordPlace& wpOldPlace, 578 const CPVT_WordPlace& wpOldPlace,
614 const CPVT_WordPlace& wpNewPlace, 579 const CPVT_WordPlace& wpNewPlace,
615 const CPVT_WordRange& wrSel, 580 const CPVT_WordRange& wrSel,
616 FX_WORD word, 581 FX_WORD word,
617 int32_t charset, 582 int32_t charset,
618 const CPVT_SecProps& SecProps, 583 const CPVT_SecProps& SecProps,
619 const CPVT_WordProps& WordProps) 584 const CPVT_WordProps& WordProps)
620 : m_pEdit(pEdit), 585 : m_pEdit(pEdit),
621 m_wpOld(wpOldPlace), 586 m_wpOld(wpOldPlace),
(...skipping 23 matching lines...) Expand all
645 } else { 610 } else {
646 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, FALSE); 611 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, FALSE);
647 } 612 }
648 613
649 if (IsFirst()) { 614 if (IsFirst()) {
650 m_pEdit->PaintInsertText(m_wrSel.BeginPos, m_wrSel.EndPos); 615 m_pEdit->PaintInsertText(m_wrSel.BeginPos, m_wrSel.EndPos);
651 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); 616 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos);
652 } 617 }
653 } 618 }
654 } 619 }
655 /* -------------------------------------------------------------------------- */
656 // CFXEU_InsertText
657
658 CFXEU_InsertText::CFXEU_InsertText(CFX_Edit* pEdit, 620 CFXEU_InsertText::CFXEU_InsertText(CFX_Edit* pEdit,
659 const CPVT_WordPlace& wpOldPlace, 621 const CPVT_WordPlace& wpOldPlace,
660 const CPVT_WordPlace& wpNewPlace, 622 const CPVT_WordPlace& wpNewPlace,
661 const CFX_WideString& swText, 623 const CFX_WideString& swText,
662 int32_t charset, 624 int32_t charset,
663 const CPVT_SecProps* pSecProps, 625 const CPVT_SecProps* pSecProps,
664 const CPVT_WordProps* pWordProps) 626 const CPVT_WordProps* pWordProps)
665 : m_pEdit(pEdit), 627 : m_pEdit(pEdit),
666 m_wpOld(wpOldPlace), 628 m_wpOld(wpOldPlace),
667 m_wpNew(wpNewPlace), 629 m_wpNew(wpNewPlace),
(...skipping 19 matching lines...) Expand all
687 } 649 }
688 650
689 void CFXEU_InsertText::Undo() { 651 void CFXEU_InsertText::Undo() {
690 if (m_pEdit) { 652 if (m_pEdit) {
691 m_pEdit->SelectNone(); 653 m_pEdit->SelectNone();
692 m_pEdit->SetSel(m_wpOld, m_wpNew); 654 m_pEdit->SetSel(m_wpOld, m_wpNew);
693 m_pEdit->Clear(FALSE, TRUE); 655 m_pEdit->Clear(FALSE, TRUE);
694 } 656 }
695 } 657 }
696 658
697 /* -------------------------------------------------------------------------- */
698
699 CFXEU_SetSecProps::CFXEU_SetSecProps(CFX_Edit* pEdit, 659 CFXEU_SetSecProps::CFXEU_SetSecProps(CFX_Edit* pEdit,
700 const CPVT_WordPlace& place, 660 const CPVT_WordPlace& place,
701 EDIT_PROPS_E ep, 661 EDIT_PROPS_E ep,
702 const CPVT_SecProps& oldsecprops, 662 const CPVT_SecProps& oldsecprops,
703 const CPVT_WordProps& oldwordprops, 663 const CPVT_WordProps& oldwordprops,
704 const CPVT_SecProps& newsecprops, 664 const CPVT_SecProps& newsecprops,
705 const CPVT_WordProps& newwordprops, 665 const CPVT_WordProps& newwordprops,
706 const CPVT_WordRange& range) 666 const CPVT_WordRange& range)
707 : m_pEdit(pEdit), 667 : m_pEdit(pEdit),
708 m_wpPlace(place), 668 m_wpPlace(place),
(...skipping 23 matching lines...) Expand all
732 m_pEdit->SetSecProps(m_eProps, m_wpPlace, &m_OldSecProps, &m_OldWordProps, 692 m_pEdit->SetSecProps(m_eProps, m_wpPlace, &m_OldSecProps, &m_OldWordProps,
733 m_wrPlace, FALSE); 693 m_wrPlace, FALSE);
734 if (IsFirst()) { 694 if (IsFirst()) {
735 m_pEdit->SelectNone(); 695 m_pEdit->SelectNone();
736 m_pEdit->PaintSetProps(m_eProps, m_wrPlace); 696 m_pEdit->PaintSetProps(m_eProps, m_wrPlace);
737 m_pEdit->SetSel(m_wrPlace.BeginPos, m_wrPlace.EndPos); 697 m_pEdit->SetSel(m_wrPlace.BeginPos, m_wrPlace.EndPos);
738 } 698 }
739 } 699 }
740 } 700 }
741 701
742 /* -------------------------------------------------------------------------- */
743
744 CFXEU_SetWordProps::CFXEU_SetWordProps(CFX_Edit* pEdit, 702 CFXEU_SetWordProps::CFXEU_SetWordProps(CFX_Edit* pEdit,
745 const CPVT_WordPlace& place, 703 const CPVT_WordPlace& place,
746 EDIT_PROPS_E ep, 704 EDIT_PROPS_E ep,
747 const CPVT_WordProps& oldprops, 705 const CPVT_WordProps& oldprops,
748 const CPVT_WordProps& newprops, 706 const CPVT_WordProps& newprops,
749 const CPVT_WordRange& range) 707 const CPVT_WordRange& range)
750 : m_pEdit(pEdit), 708 : m_pEdit(pEdit),
751 m_wpPlace(place), 709 m_wpPlace(place),
752 m_wrPlace(range), 710 m_wrPlace(range),
753 m_eProps(ep), 711 m_eProps(ep),
(...skipping 19 matching lines...) Expand all
773 m_pEdit->SetWordProps(m_eProps, m_wpPlace, &m_OldWordProps, m_wrPlace, 731 m_pEdit->SetWordProps(m_eProps, m_wpPlace, &m_OldWordProps, m_wrPlace,
774 FALSE); 732 FALSE);
775 if (IsFirst()) { 733 if (IsFirst()) {
776 m_pEdit->SelectNone(); 734 m_pEdit->SelectNone();
777 m_pEdit->PaintSetProps(m_eProps, m_wrPlace); 735 m_pEdit->PaintSetProps(m_eProps, m_wrPlace);
778 m_pEdit->SetSel(m_wrPlace.BeginPos, m_wrPlace.EndPos); 736 m_pEdit->SetSel(m_wrPlace.BeginPos, m_wrPlace.EndPos);
779 } 737 }
780 } 738 }
781 } 739 }
782 740
783 /* ------------------------------------- CFX_Edit
784 * ------------------------------------- */
785
786 CFX_Edit::CFX_Edit(IPDF_VariableText* pVT) 741 CFX_Edit::CFX_Edit(IPDF_VariableText* pVT)
787 : m_pVT(pVT), 742 : m_pVT(pVT),
788 m_pNotify(NULL), 743 m_pNotify(NULL),
789 m_pOprNotify(NULL), 744 m_pOprNotify(NULL),
790 m_pVTProvide(NULL), 745 m_pVTProvide(NULL),
791 m_wpCaret(-1, -1, -1), 746 m_wpCaret(-1, -1, -1),
792 m_wpOldCaret(-1, -1, -1), 747 m_wpOldCaret(-1, -1, -1),
793 m_SelState(), 748 m_SelState(),
794 m_ptScrollPos(0, 0), 749 m_ptScrollPos(0, 0),
795 m_ptRefreshScrollPos(0, 0), 750 m_ptRefreshScrollPos(0, 0),
(...skipping 14 matching lines...) Expand all
810 } 765 }
811 766
812 CFX_Edit::~CFX_Edit() { 767 CFX_Edit::~CFX_Edit() {
813 delete m_pVTProvide; 768 delete m_pVTProvide;
814 m_pVTProvide = NULL; 769 m_pVTProvide = NULL;
815 delete m_pIterator; 770 delete m_pIterator;
816 m_pIterator = NULL; 771 m_pIterator = NULL;
817 ASSERT(!m_pGroupUndoItem); 772 ASSERT(!m_pGroupUndoItem);
818 } 773 }
819 774
820 // public methods
821
822 void CFX_Edit::Initialize() { 775 void CFX_Edit::Initialize() {
823 m_pVT->Initialize(); 776 m_pVT->Initialize();
824 SetCaret(m_pVT->GetBeginWordPlace()); 777 SetCaret(m_pVT->GetBeginWordPlace());
825 SetCaretOrigin(); 778 SetCaretOrigin();
826 } 779 }
827 780
828 void CFX_Edit::SetFontMap(IFX_Edit_FontMap* pFontMap) { 781 void CFX_Edit::SetFontMap(IFX_Edit_FontMap* pFontMap) {
829 delete m_pVTProvide; 782 delete m_pVTProvide;
830 m_pVT->SetProvider(m_pVTProvide = new CFX_Edit_Provider(pFontMap)); 783 m_pVT->SetProvider(m_pVTProvide = new CFX_Edit_Provider(pFontMap));
831 } 784 }
(...skipping 21 matching lines...) Expand all
853 return m_pVT; 806 return m_pVT;
854 } 807 }
855 808
856 IFX_Edit_FontMap* CFX_Edit::GetFontMap() { 809 IFX_Edit_FontMap* CFX_Edit::GetFontMap() {
857 if (m_pVTProvide) 810 if (m_pVTProvide)
858 return m_pVTProvide->GetFontMap(); 811 return m_pVTProvide->GetFontMap();
859 812
860 return NULL; 813 return NULL;
861 } 814 }
862 815
863 void CFX_Edit::SetPlateRect(const CPDF_Rect& rect, FX_BOOL bPaint /* = TRUE*/) { 816 void CFX_Edit::SetPlateRect(const CPDF_Rect& rect, FX_BOOL bPaint) {
864 m_pVT->SetPlateRect(rect); 817 m_pVT->SetPlateRect(rect);
865 m_ptScrollPos = CPDF_Point(rect.left, rect.top); 818 m_ptScrollPos = CPDF_Point(rect.left, rect.top);
866 if (bPaint) 819 if (bPaint)
867 Paint(); 820 Paint();
868 } 821 }
869 822
870 void CFX_Edit::SetAlignmentH(int32_t nFormat /* =0 */, 823 void CFX_Edit::SetAlignmentH(int32_t nFormat, FX_BOOL bPaint) {
871 FX_BOOL bPaint /* = TRUE*/) {
872 m_pVT->SetAlignment(nFormat); 824 m_pVT->SetAlignment(nFormat);
873 if (bPaint) 825 if (bPaint)
874 Paint(); 826 Paint();
875 } 827 }
876 828
877 void CFX_Edit::SetAlignmentV(int32_t nFormat /* =0 */, 829 void CFX_Edit::SetAlignmentV(int32_t nFormat, FX_BOOL bPaint) {
878 FX_BOOL bPaint /* = TRUE*/) {
879 m_nAlignment = nFormat; 830 m_nAlignment = nFormat;
880 if (bPaint) 831 if (bPaint)
881 Paint(); 832 Paint();
882 } 833 }
883 834
884 void CFX_Edit::SetPasswordChar(FX_WORD wSubWord /* ='*' */, 835 void CFX_Edit::SetPasswordChar(FX_WORD wSubWord, FX_BOOL bPaint) {
885 FX_BOOL bPaint /* = TRUE*/) {
886 m_pVT->SetPasswordChar(wSubWord); 836 m_pVT->SetPasswordChar(wSubWord);
887 if (bPaint) 837 if (bPaint)
888 Paint(); 838 Paint();
889 } 839 }
890 840
891 void CFX_Edit::SetLimitChar(int32_t nLimitChar /* =0 */, 841 void CFX_Edit::SetLimitChar(int32_t nLimitChar, FX_BOOL bPaint) {
892 FX_BOOL bPaint /* = TRUE*/) {
893 m_pVT->SetLimitChar(nLimitChar); 842 m_pVT->SetLimitChar(nLimitChar);
894 if (bPaint) 843 if (bPaint)
895 Paint(); 844 Paint();
896 } 845 }
897 846
898 void CFX_Edit::SetCharArray(int32_t nCharArray /* =0 */, 847 void CFX_Edit::SetCharArray(int32_t nCharArray, FX_BOOL bPaint) {
899 FX_BOOL bPaint /* = TRUE*/) {
900 m_pVT->SetCharArray(nCharArray); 848 m_pVT->SetCharArray(nCharArray);
901 if (bPaint) 849 if (bPaint)
902 Paint(); 850 Paint();
903 } 851 }
904 852
905 void CFX_Edit::SetCharSpace(FX_FLOAT fCharSpace /* =0.0f */, 853 void CFX_Edit::SetCharSpace(FX_FLOAT fCharSpace, FX_BOOL bPaint) {
906 FX_BOOL bPaint /* = TRUE*/) {
907 m_pVT->SetCharSpace(fCharSpace); 854 m_pVT->SetCharSpace(fCharSpace);
908 if (bPaint) 855 if (bPaint)
909 Paint(); 856 Paint();
910 } 857 }
911 858
912 void CFX_Edit::SetHorzScale(int32_t nHorzScale /* =100 */, 859 void CFX_Edit::SetHorzScale(int32_t nHorzScale, FX_BOOL bPaint) {
913 FX_BOOL bPaint /* = TRUE*/) {
914 m_pVT->SetHorzScale(nHorzScale); 860 m_pVT->SetHorzScale(nHorzScale);
915 if (bPaint) 861 if (bPaint)
916 Paint(); 862 Paint();
917 } 863 }
918 864
919 void CFX_Edit::SetMultiLine(FX_BOOL bMultiLine /* =TRUE */, 865 void CFX_Edit::SetMultiLine(FX_BOOL bMultiLine, FX_BOOL bPaint) {
920 FX_BOOL bPaint /* = TRUE*/) {
921 m_pVT->SetMultiLine(bMultiLine); 866 m_pVT->SetMultiLine(bMultiLine);
922 if (bPaint) 867 if (bPaint)
923 Paint(); 868 Paint();
924 } 869 }
925 870
926 void CFX_Edit::SetAutoReturn(FX_BOOL bAuto /* =TRUE */, 871 void CFX_Edit::SetAutoReturn(FX_BOOL bAuto, FX_BOOL bPaint) {
927 FX_BOOL bPaint /* = TRUE*/) {
928 m_pVT->SetAutoReturn(bAuto); 872 m_pVT->SetAutoReturn(bAuto);
929 if (bPaint) 873 if (bPaint)
930 Paint(); 874 Paint();
931 } 875 }
932 876
933 void CFX_Edit::SetLineLeading(FX_FLOAT fLineLeading /* =TRUE */, 877 void CFX_Edit::SetLineLeading(FX_FLOAT fLineLeading, FX_BOOL bPaint) {
934 FX_BOOL bPaint /* = TRUE*/) {
935 m_pVT->SetLineLeading(fLineLeading); 878 m_pVT->SetLineLeading(fLineLeading);
936 if (bPaint) 879 if (bPaint)
937 Paint(); 880 Paint();
938 } 881 }
939 882
940 void CFX_Edit::SetAutoFontSize(FX_BOOL bAuto /* =TRUE */, 883 void CFX_Edit::SetAutoFontSize(FX_BOOL bAuto, FX_BOOL bPaint) {
941 FX_BOOL bPaint /* = TRUE*/) {
942 m_pVT->SetAutoFontSize(bAuto); 884 m_pVT->SetAutoFontSize(bAuto);
943 if (bPaint) 885 if (bPaint)
944 Paint(); 886 Paint();
945 } 887 }
946 888
947 void CFX_Edit::SetFontSize(FX_FLOAT fFontSize, FX_BOOL bPaint /* = TRUE*/) { 889 void CFX_Edit::SetFontSize(FX_FLOAT fFontSize, FX_BOOL bPaint) {
948 m_pVT->SetFontSize(fFontSize); 890 m_pVT->SetFontSize(fFontSize);
949 if (bPaint) 891 if (bPaint)
950 Paint(); 892 Paint();
951 } 893 }
952 894
953 void CFX_Edit::SetAutoScroll(FX_BOOL bAuto /* =TRUE */, 895 void CFX_Edit::SetAutoScroll(FX_BOOL bAuto, FX_BOOL bPaint) {
954 FX_BOOL bPaint /* = TRUE*/) {
955 m_bEnableScroll = bAuto; 896 m_bEnableScroll = bAuto;
956 if (bPaint) 897 if (bPaint)
957 Paint(); 898 Paint();
958 } 899 }
959 900
960 void CFX_Edit::SetTextOverflow(FX_BOOL bAllowed /*= FALSE*/, 901 void CFX_Edit::SetTextOverflow(FX_BOOL bAllowed, FX_BOOL bPaint) {
961 FX_BOOL bPaint /* = TRUE*/) {
962 m_bEnableOverflow = bAllowed; 902 m_bEnableOverflow = bAllowed;
963 if (bPaint) 903 if (bPaint)
964 Paint(); 904 Paint();
965 } 905 }
966 906
967 void CFX_Edit::SetSel(int32_t nStartChar, int32_t nEndChar) { 907 void CFX_Edit::SetSel(int32_t nStartChar, int32_t nEndChar) {
968 if (m_pVT->IsValid()) { 908 if (m_pVT->IsValid()) {
969 if (nStartChar == 0 && nEndChar < 0) { 909 if (nStartChar == 0 && nEndChar < 0) {
970 SelectAll(); 910 SelectAll();
971 } else if (nStartChar < 0) { 911 } else if (nStartChar < 0) {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
1148 wrRet.EndPos = wr1.EndPos; 1088 wrRet.EndPos = wr1.EndPos;
1149 } 1089 }
1150 1090
1151 return wrRet; 1091 return wrRet;
1152 } 1092 }
1153 1093
1154 FX_BOOL CFX_Edit::IsRichText() const { 1094 FX_BOOL CFX_Edit::IsRichText() const {
1155 return m_pVT->IsRichText(); 1095 return m_pVT->IsRichText();
1156 } 1096 }
1157 1097
1158 void CFX_Edit::SetRichText(FX_BOOL bRichText /* =TRUE */, 1098 void CFX_Edit::SetRichText(FX_BOOL bRichText, FX_BOOL bPaint) {
1159 FX_BOOL bPaint /* = TRUE*/) {
1160 m_pVT->SetRichText(bRichText); 1099 m_pVT->SetRichText(bRichText);
1161 if (bPaint) 1100 if (bPaint)
1162 Paint(); 1101 Paint();
1163 } 1102 }
1164 1103
1165 FX_BOOL CFX_Edit::SetRichFontIndex(int32_t nFontIndex) { 1104 FX_BOOL CFX_Edit::SetRichFontIndex(int32_t nFontIndex) {
1166 CPVT_WordProps WordProps; 1105 CPVT_WordProps WordProps;
1167 WordProps.nFontIndex = nFontIndex; 1106 WordProps.nFontIndex = nFontIndex;
1168 return SetRichTextProps(EP_FONTINDEX, NULL, &WordProps); 1107 return SetRichTextProps(EP_FONTINDEX, NULL, &WordProps);
1169 } 1108 }
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1213 WordProps.nWordStyle |= PVTWORD_STYLE_CROSSOUT; 1152 WordProps.nWordStyle |= PVTWORD_STYLE_CROSSOUT;
1214 return SetRichTextProps(EP_CROSSOUT, NULL, &WordProps); 1153 return SetRichTextProps(EP_CROSSOUT, NULL, &WordProps);
1215 } 1154 }
1216 1155
1217 FX_BOOL CFX_Edit::SetRichTextCharSpace(FX_FLOAT fCharSpace) { 1156 FX_BOOL CFX_Edit::SetRichTextCharSpace(FX_FLOAT fCharSpace) {
1218 CPVT_WordProps WordProps; 1157 CPVT_WordProps WordProps;
1219 WordProps.fCharSpace = fCharSpace; 1158 WordProps.fCharSpace = fCharSpace;
1220 return SetRichTextProps(EP_CHARSPACE, NULL, &WordProps); 1159 return SetRichTextProps(EP_CHARSPACE, NULL, &WordProps);
1221 } 1160 }
1222 1161
1223 FX_BOOL CFX_Edit::SetRichTextHorzScale(int32_t nHorzScale /*= 100*/) { 1162 FX_BOOL CFX_Edit::SetRichTextHorzScale(int32_t nHorzScale) {
1224 CPVT_WordProps WordProps; 1163 CPVT_WordProps WordProps;
1225 WordProps.nHorzScale = nHorzScale; 1164 WordProps.nHorzScale = nHorzScale;
1226 return SetRichTextProps(EP_HORZSCALE, NULL, &WordProps); 1165 return SetRichTextProps(EP_HORZSCALE, NULL, &WordProps);
1227 } 1166 }
1228 1167
1229 FX_BOOL CFX_Edit::SetRichTextLineLeading(FX_FLOAT fLineLeading) { 1168 FX_BOOL CFX_Edit::SetRichTextLineLeading(FX_FLOAT fLineLeading) {
1230 CPVT_SecProps SecProps; 1169 CPVT_SecProps SecProps;
1231 SecProps.fLineLeading = fLineLeading; 1170 SecProps.fLineLeading = fLineLeading;
1232 return SetRichTextProps(EP_LINELEADING, &SecProps, NULL); 1171 return SetRichTextProps(EP_LINELEADING, &SecProps, NULL);
1233 } 1172 }
(...skipping 17 matching lines...) Expand all
1251 FX_BOOL bSet1, bSet2; 1190 FX_BOOL bSet1, bSet2;
1252 if (m_pVT->IsValid() && m_pVT->IsRichText()) { 1191 if (m_pVT->IsValid() && m_pVT->IsRichText()) {
1253 if (IPDF_VariableText_Iterator* pIterator = m_pVT->GetIterator()) { 1192 if (IPDF_VariableText_Iterator* pIterator = m_pVT->GetIterator()) {
1254 CPVT_WordRange wrTemp = m_SelState.ConvertToWordRange(); 1193 CPVT_WordRange wrTemp = m_SelState.ConvertToWordRange();
1255 1194
1256 m_pVT->UpdateWordPlace(wrTemp.BeginPos); 1195 m_pVT->UpdateWordPlace(wrTemp.BeginPos);
1257 m_pVT->UpdateWordPlace(wrTemp.EndPos); 1196 m_pVT->UpdateWordPlace(wrTemp.EndPos);
1258 pIterator->SetAt(wrTemp.BeginPos); 1197 pIterator->SetAt(wrTemp.BeginPos);
1259 1198
1260 BeginGroupUndo(L""); 1199 BeginGroupUndo(L"");
1261 ;
1262
1263 bSet = SetSecProps(eProps, wrTemp.BeginPos, pSecProps, pWordProps, wrTemp, 1200 bSet = SetSecProps(eProps, wrTemp.BeginPos, pSecProps, pWordProps, wrTemp,
1264 TRUE); 1201 TRUE);
1265 1202
1266 while (pIterator->NextWord()) { 1203 while (pIterator->NextWord()) {
1267 CPVT_WordPlace place = pIterator->GetAt(); 1204 CPVT_WordPlace place = pIterator->GetAt();
1268 if (place.WordCmp(wrTemp.EndPos) > 0) 1205 if (place.WordCmp(wrTemp.EndPos) > 0)
1269 break; 1206 break;
1270 bSet1 = SetSecProps(eProps, place, pSecProps, pWordProps, wrTemp, TRUE); 1207 bSet1 = SetSecProps(eProps, place, pSecProps, pWordProps, wrTemp, TRUE);
1271 bSet2 = SetWordProps(eProps, place, pWordProps, wrTemp, TRUE); 1208 bSet2 = SetWordProps(eProps, place, pWordProps, wrTemp, TRUE);
1272 1209
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
1638 1575
1639 pIterator->SetAt(oldplace); 1576 pIterator->SetAt(oldplace);
1640 return bSet; 1577 return bSet;
1641 } 1578 }
1642 } 1579 }
1643 1580
1644 return FALSE; 1581 return FALSE;
1645 } 1582 }
1646 1583
1647 void CFX_Edit::SetText(const FX_WCHAR* text, 1584 void CFX_Edit::SetText(const FX_WCHAR* text,
1648 int32_t charset /*= DEFAULT_CHARSET*/, 1585 int32_t charset,
1649 const CPVT_SecProps* pSecProps /*= NULL*/, 1586 const CPVT_SecProps* pSecProps,
1650 const CPVT_WordProps* pWordProps /*= NULL*/) { 1587 const CPVT_WordProps* pWordProps) {
1651 SetText(text, charset, pSecProps, pWordProps, TRUE, TRUE); 1588 SetText(text, charset, pSecProps, pWordProps, TRUE, TRUE);
1652 } 1589 }
1653 1590
1654 FX_BOOL CFX_Edit::InsertWord(FX_WORD word, 1591 FX_BOOL CFX_Edit::InsertWord(FX_WORD word,
1655 int32_t charset /*= DEFAULT_CHARSET*/, 1592 int32_t charset,
1656 const CPVT_WordProps* pWordProps /*= NULL*/) { 1593 const CPVT_WordProps* pWordProps) {
1657 return InsertWord(word, charset, pWordProps, TRUE, TRUE); 1594 return InsertWord(word, charset, pWordProps, TRUE, TRUE);
1658 } 1595 }
1659 1596
1660 FX_BOOL CFX_Edit::InsertReturn(const CPVT_SecProps* pSecProps /*= NULL*/, 1597 FX_BOOL CFX_Edit::InsertReturn(const CPVT_SecProps* pSecProps,
1661 const CPVT_WordProps* pWordProps /*= NULL*/) { 1598 const CPVT_WordProps* pWordProps) {
1662 return InsertReturn(pSecProps, pWordProps, TRUE, TRUE); 1599 return InsertReturn(pSecProps, pWordProps, TRUE, TRUE);
1663 } 1600 }
1664 1601
1665 FX_BOOL CFX_Edit::Backspace() { 1602 FX_BOOL CFX_Edit::Backspace() {
1666 return Backspace(TRUE, TRUE); 1603 return Backspace(TRUE, TRUE);
1667 } 1604 }
1668 1605
1669 FX_BOOL CFX_Edit::Delete() { 1606 FX_BOOL CFX_Edit::Delete() {
1670 return Delete(TRUE, TRUE); 1607 return Delete(TRUE, TRUE);
1671 } 1608 }
1672 1609
1673 FX_BOOL CFX_Edit::Clear() { 1610 FX_BOOL CFX_Edit::Clear() {
1674 return Clear(TRUE, TRUE); 1611 return Clear(TRUE, TRUE);
1675 } 1612 }
1676 1613
1677 FX_BOOL CFX_Edit::InsertText(const FX_WCHAR* text, 1614 FX_BOOL CFX_Edit::InsertText(const FX_WCHAR* text,
1678 int32_t charset /*= DEFAULT_CHARSET*/, 1615 int32_t charset,
1679 const CPVT_SecProps* pSecProps /*= NULL*/, 1616 const CPVT_SecProps* pSecProps,
1680 const CPVT_WordProps* pWordProps /*= NULL*/) { 1617 const CPVT_WordProps* pWordProps) {
1681 return InsertText(text, charset, pSecProps, pWordProps, TRUE, TRUE); 1618 return InsertText(text, charset, pSecProps, pWordProps, TRUE, TRUE);
1682 } 1619 }
1683 1620
1684 FX_FLOAT CFX_Edit::GetFontSize() const { 1621 FX_FLOAT CFX_Edit::GetFontSize() const {
1685 return m_pVT->GetFontSize(); 1622 return m_pVT->GetFontSize();
1686 } 1623 }
1687 1624
1688 FX_WORD CFX_Edit::GetPasswordChar() const { 1625 FX_WORD CFX_Edit::GetPasswordChar() const {
1689 return m_pVT->GetPasswordChar(); 1626 return m_pVT->GetPasswordChar();
1690 } 1627 }
(...skipping 11 matching lines...) Expand all
1702 } 1639 }
1703 1640
1704 int32_t CFX_Edit::GetHorzScale() const { 1641 int32_t CFX_Edit::GetHorzScale() const {
1705 return m_pVT->GetHorzScale(); 1642 return m_pVT->GetHorzScale();
1706 } 1643 }
1707 1644
1708 FX_FLOAT CFX_Edit::GetCharSpace() const { 1645 FX_FLOAT CFX_Edit::GetCharSpace() const {
1709 return m_pVT->GetCharSpace(); 1646 return m_pVT->GetCharSpace();
1710 } 1647 }
1711 1648
1712 // inner methods
1713
1714 CPVT_WordRange CFX_Edit::GetWholeWordRange() const { 1649 CPVT_WordRange CFX_Edit::GetWholeWordRange() const {
1715 if (m_pVT->IsValid()) 1650 if (m_pVT->IsValid())
1716 return CPVT_WordRange(m_pVT->GetBeginWordPlace(), m_pVT->GetEndWordPlace()); 1651 return CPVT_WordRange(m_pVT->GetBeginWordPlace(), m_pVT->GetEndWordPlace());
1717 1652
1718 return CPVT_WordRange(); 1653 return CPVT_WordRange();
1719 } 1654 }
1720 1655
1721 CPVT_WordRange CFX_Edit::GetVisibleWordRange() const { 1656 CPVT_WordRange CFX_Edit::GetVisibleWordRange() const {
1722 if (m_bEnableOverflow) 1657 if (m_bEnableOverflow)
1723 return GetWholeWordRange(); 1658 return GetWholeWordRange();
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
2026 } 1961 }
2027 } 1962 }
2028 1963
2029 void CFX_Edit::Refresh(REFRESH_PLAN_E ePlan, 1964 void CFX_Edit::Refresh(REFRESH_PLAN_E ePlan,
2030 const CPVT_WordRange* pRange1, 1965 const CPVT_WordRange* pRange1,
2031 const CPVT_WordRange* pRange2) { 1966 const CPVT_WordRange* pRange2) {
2032 if (m_bEnableRefresh && m_pVT->IsValid()) { 1967 if (m_bEnableRefresh && m_pVT->IsValid()) {
2033 m_Refresh.BeginRefresh(); 1968 m_Refresh.BeginRefresh();
2034 RefreshPushLineRects(GetVisibleWordRange()); 1969 RefreshPushLineRects(GetVisibleWordRange());
2035 1970
2036 // if (!FX_EDIT_IsFloatEqual(m_ptRefreshScrollPos.x,m_ptScrollPos.x) ||
2037 // !FX_EDIT_IsFloatEqual(m_ptRefreshScrollPos.y,m_ptScrollPos.y))
2038 // {
2039 m_Refresh.NoAnalyse(); 1971 m_Refresh.NoAnalyse();
2040 m_ptRefreshScrollPos = m_ptScrollPos; 1972 m_ptRefreshScrollPos = m_ptScrollPos;
2041 // }
2042 // else
2043 // {
2044 // switch (ePlan)
2045 // {
2046 // case RP_ANALYSE:
2047 // m_Refresh.Analyse(m_pVT->GetAlignment());
2048 //
2049 // if (pRange1) RefreshPushRandomRects(*pRange1);
2050 // if (pRange2) RefreshPushRandomRects(*pRange2);
2051 // break;
2052 // case RP_NOANALYSE:
2053 // m_Refresh.NoAnalyse();
2054 // break;
2055 // case RP_OPTIONAL:
2056 // if (pRange1) RefreshPushRandomRects(*pRange1);
2057 // if (pRange2) RefreshPushRandomRects(*pRange2);
2058 // break;
2059 // }
2060 // }
2061 1973
2062 if (m_bNotify && m_pNotify) { 1974 if (m_bNotify && m_pNotify) {
2063 if (!m_bNotifyFlag) { 1975 if (!m_bNotifyFlag) {
2064 m_bNotifyFlag = TRUE; 1976 m_bNotifyFlag = TRUE;
2065 if (const CFX_Edit_RectArray* pRects = m_Refresh.GetRefreshRects()) { 1977 if (const CFX_Edit_RectArray* pRects = m_Refresh.GetRefreshRects()) {
2066 for (int32_t i = 0, sz = pRects->GetSize(); i < sz; i++) 1978 for (int32_t i = 0, sz = pRects->GetSize(); i < sz; i++)
2067 m_pNotify->IOnInvalidateRect(pRects->GetAt(i)); 1979 m_pNotify->IOnInvalidateRect(pRects->GetAt(i));
2068 } 1980 }
2069 m_bNotifyFlag = FALSE; 1981 m_bNotifyFlag = FALSE;
2070 } 1982 }
(...skipping 19 matching lines...) Expand all
2090 if (lineinfo.lineplace.LineCmp(wpEnd) > 0) 2002 if (lineinfo.lineplace.LineCmp(wpEnd) > 0)
2091 break; 2003 break;
2092 2004
2093 CPDF_Rect rcLine(lineinfo.ptLine.x, 2005 CPDF_Rect rcLine(lineinfo.ptLine.x,
2094 lineinfo.ptLine.y + lineinfo.fLineDescent, 2006 lineinfo.ptLine.y + lineinfo.fLineDescent,
2095 lineinfo.ptLine.x + lineinfo.fLineWidth, 2007 lineinfo.ptLine.x + lineinfo.fLineWidth,
2096 lineinfo.ptLine.y + lineinfo.fLineAscent); 2008 lineinfo.ptLine.y + lineinfo.fLineAscent);
2097 2009
2098 m_Refresh.Push(CPVT_WordRange(lineinfo.lineplace, lineinfo.lineEnd), 2010 m_Refresh.Push(CPVT_WordRange(lineinfo.lineplace, lineinfo.lineEnd),
2099 VTToEdit(rcLine)); 2011 VTToEdit(rcLine));
2100
2101 } while (pIterator->NextLine()); 2012 } while (pIterator->NextLine());
2102 } 2013 }
2103 } 2014 }
2104 } 2015 }
2105 2016
2106 void CFX_Edit::RefreshPushRandomRects(const CPVT_WordRange& wr) { 2017 void CFX_Edit::RefreshPushRandomRects(const CPVT_WordRange& wr) {
2107 if (m_pVT->IsValid()) { 2018 if (m_pVT->IsValid()) {
2108 if (IPDF_VariableText_Iterator* pIterator = m_pVT->GetIterator()) { 2019 if (IPDF_VariableText_Iterator* pIterator = m_pVT->GetIterator()) {
2109 CPVT_WordRange wrTemp = wr; 2020 CPVT_WordRange wrTemp = wr;
2110 2021
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after
2542 const CPVT_SecProps* pSecProps, 2453 const CPVT_SecProps* pSecProps,
2543 const CPVT_WordProps* pWordProps, 2454 const CPVT_WordProps* pWordProps,
2544 FX_BOOL bAddUndo, 2455 FX_BOOL bAddUndo,
2545 FX_BOOL bPaint) { 2456 FX_BOOL bPaint) {
2546 Empty(); 2457 Empty();
2547 DoInsertText(CPVT_WordPlace(0, 0, -1), text, charset, pSecProps, pWordProps); 2458 DoInsertText(CPVT_WordPlace(0, 0, -1), text, charset, pSecProps, pWordProps);
2548 if (bPaint) 2459 if (bPaint)
2549 Paint(); 2460 Paint();
2550 if (m_bOprNotify && m_pOprNotify) 2461 if (m_bOprNotify && m_pOprNotify)
2551 m_pOprNotify->OnSetText(m_wpCaret, m_wpOldCaret); 2462 m_pOprNotify->OnSetText(m_wpCaret, m_wpOldCaret);
2552 // if (bAddUndo)
2553 } 2463 }
2554 2464
2555 FX_BOOL CFX_Edit::InsertWord(FX_WORD word, 2465 FX_BOOL CFX_Edit::InsertWord(FX_WORD word,
2556 int32_t charset, 2466 int32_t charset,
2557 const CPVT_WordProps* pWordProps, 2467 const CPVT_WordProps* pWordProps,
2558 FX_BOOL bAddUndo, 2468 FX_BOOL bAddUndo,
2559 FX_BOOL bPaint) { 2469 FX_BOOL bPaint) {
2560 if (IsTextOverflow()) 2470 if (IsTextOverflow())
2561 return FALSE; 2471 return FALSE;
2562 2472
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
3096 3006
3097 void CFX_Edit::EndGroupUndo() { 3007 void CFX_Edit::EndGroupUndo() {
3098 m_pGroupUndoItem->UpdateItems(); 3008 m_pGroupUndoItem->UpdateItems();
3099 m_Undo.AddItem(m_pGroupUndoItem); 3009 m_Undo.AddItem(m_pGroupUndoItem);
3100 if (m_bOprNotify && m_pOprNotify) 3010 if (m_bOprNotify && m_pOprNotify)
3101 m_pOprNotify->OnAddUndo(m_pGroupUndoItem); 3011 m_pOprNotify->OnAddUndo(m_pGroupUndoItem);
3102 m_pGroupUndoItem = NULL; 3012 m_pGroupUndoItem = NULL;
3103 } 3013 }
3104 3014
3105 void CFX_Edit::AddEditUndoItem(CFX_Edit_UndoItem* pEditUndoItem) { 3015 void CFX_Edit::AddEditUndoItem(CFX_Edit_UndoItem* pEditUndoItem) {
3106 if (m_pGroupUndoItem) 3016 if (m_pGroupUndoItem) {
3107 m_pGroupUndoItem->AddUndoItem(pEditUndoItem); 3017 m_pGroupUndoItem->AddUndoItem(pEditUndoItem);
3108 else { 3018 } else {
3109 m_Undo.AddItem(pEditUndoItem); 3019 m_Undo.AddItem(pEditUndoItem);
3110 if (m_bOprNotify && m_pOprNotify) 3020 if (m_bOprNotify && m_pOprNotify)
3111 m_pOprNotify->OnAddUndo(pEditUndoItem); 3021 m_pOprNotify->OnAddUndo(pEditUndoItem);
3112 } 3022 }
3113 } 3023 }
3114 3024
3115 void CFX_Edit::AddUndoItem(IFX_Edit_UndoItem* pUndoItem) { 3025 void CFX_Edit::AddUndoItem(IFX_Edit_UndoItem* pUndoItem) {
3116 m_Undo.AddItem(pUndoItem); 3026 m_Undo.AddItem(pUndoItem);
3117 if (m_bOprNotify && m_pOprNotify) 3027 if (m_bOprNotify && m_pOprNotify)
3118 m_pOprNotify->OnAddUndo(pUndoItem); 3028 m_pOprNotify->OnAddUndo(pUndoItem);
3119 } 3029 }
OLDNEW
« no previous file with comments | « fpdfsdk/src/fxedit/fxet_ap.cpp ('k') | fpdfsdk/src/fxedit/fxet_list.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698