| OLD | NEW |
| 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 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 | 10 |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 ASSERT(m_pFontMap); | 93 ASSERT(m_pFontMap); |
| 94 } | 94 } |
| 95 | 95 |
| 96 CFX_Edit_Provider::~CFX_Edit_Provider() {} | 96 CFX_Edit_Provider::~CFX_Edit_Provider() {} |
| 97 | 97 |
| 98 IFX_Edit_FontMap* CFX_Edit_Provider::GetFontMap() { | 98 IFX_Edit_FontMap* CFX_Edit_Provider::GetFontMap() { |
| 99 return m_pFontMap; | 99 return m_pFontMap; |
| 100 } | 100 } |
| 101 | 101 |
| 102 int32_t CFX_Edit_Provider::GetCharWidth(int32_t nFontIndex, | 102 int32_t CFX_Edit_Provider::GetCharWidth(int32_t nFontIndex, |
| 103 FX_WORD word, | 103 uint16_t word, |
| 104 int32_t nWordStyle) { | 104 int32_t nWordStyle) { |
| 105 if (CPDF_Font* pPDFFont = m_pFontMap->GetPDFFont(nFontIndex)) { | 105 if (CPDF_Font* pPDFFont = m_pFontMap->GetPDFFont(nFontIndex)) { |
| 106 FX_DWORD charcode = word; | 106 FX_DWORD charcode = word; |
| 107 | 107 |
| 108 if (pPDFFont->IsUnicodeCompatible()) | 108 if (pPDFFont->IsUnicodeCompatible()) |
| 109 charcode = pPDFFont->CharCodeFromUnicode(word); | 109 charcode = pPDFFont->CharCodeFromUnicode(word); |
| 110 else | 110 else |
| 111 charcode = m_pFontMap->CharCodeFromUnicode(nFontIndex, word); | 111 charcode = m_pFontMap->CharCodeFromUnicode(nFontIndex, word); |
| 112 | 112 |
| 113 if (charcode != -1) | 113 if (charcode != -1) |
| (...skipping 10 matching lines...) Expand all Loading... |
| 124 return 0; | 124 return 0; |
| 125 } | 125 } |
| 126 | 126 |
| 127 int32_t CFX_Edit_Provider::GetTypeDescent(int32_t nFontIndex) { | 127 int32_t CFX_Edit_Provider::GetTypeDescent(int32_t nFontIndex) { |
| 128 if (CPDF_Font* pPDFFont = m_pFontMap->GetPDFFont(nFontIndex)) | 128 if (CPDF_Font* pPDFFont = m_pFontMap->GetPDFFont(nFontIndex)) |
| 129 return pPDFFont->GetTypeDescent(); | 129 return pPDFFont->GetTypeDescent(); |
| 130 | 130 |
| 131 return 0; | 131 return 0; |
| 132 } | 132 } |
| 133 | 133 |
| 134 int32_t CFX_Edit_Provider::GetWordFontIndex(FX_WORD word, | 134 int32_t CFX_Edit_Provider::GetWordFontIndex(uint16_t word, |
| 135 int32_t charset, | 135 int32_t charset, |
| 136 int32_t nFontIndex) { | 136 int32_t nFontIndex) { |
| 137 return m_pFontMap->GetWordFontIndex(word, charset, nFontIndex); | 137 return m_pFontMap->GetWordFontIndex(word, charset, nFontIndex); |
| 138 } | 138 } |
| 139 | 139 |
| 140 int32_t CFX_Edit_Provider::GetDefaultFontIndex() { | 140 int32_t CFX_Edit_Provider::GetDefaultFontIndex() { |
| 141 return 0; | 141 return 0; |
| 142 } | 142 } |
| 143 | 143 |
| 144 FX_BOOL CFX_Edit_Provider::IsLatinWord(FX_WORD word) { | 144 FX_BOOL CFX_Edit_Provider::IsLatinWord(uint16_t word) { |
| 145 return FX_EDIT_ISLATINWORD(word); | 145 return FX_EDIT_ISLATINWORD(word); |
| 146 } | 146 } |
| 147 | 147 |
| 148 CFX_Edit_Refresh::CFX_Edit_Refresh() {} | 148 CFX_Edit_Refresh::CFX_Edit_Refresh() {} |
| 149 | 149 |
| 150 CFX_Edit_Refresh::~CFX_Edit_Refresh() {} | 150 CFX_Edit_Refresh::~CFX_Edit_Refresh() {} |
| 151 | 151 |
| 152 void CFX_Edit_Refresh::BeginRefresh() { | 152 void CFX_Edit_Refresh::BeginRefresh() { |
| 153 m_RefreshRects.Empty(); | 153 m_RefreshRects.Empty(); |
| 154 m_OldLineRects = m_NewLineRects; | 154 m_OldLineRects = m_NewLineRects; |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 402 } | 402 } |
| 403 } | 403 } |
| 404 | 404 |
| 405 CFX_WideString CFX_Edit_GroupUndoItem::GetUndoTitle() { | 405 CFX_WideString CFX_Edit_GroupUndoItem::GetUndoTitle() { |
| 406 return m_sTitle; | 406 return m_sTitle; |
| 407 } | 407 } |
| 408 | 408 |
| 409 CFXEU_InsertWord::CFXEU_InsertWord(CFX_Edit* pEdit, | 409 CFXEU_InsertWord::CFXEU_InsertWord(CFX_Edit* pEdit, |
| 410 const CPVT_WordPlace& wpOldPlace, | 410 const CPVT_WordPlace& wpOldPlace, |
| 411 const CPVT_WordPlace& wpNewPlace, | 411 const CPVT_WordPlace& wpNewPlace, |
| 412 FX_WORD word, | 412 uint16_t word, |
| 413 int32_t charset, | 413 int32_t charset, |
| 414 const CPVT_WordProps* pWordProps) | 414 const CPVT_WordProps* pWordProps) |
| 415 : m_pEdit(pEdit), | 415 : m_pEdit(pEdit), |
| 416 m_wpOld(wpOldPlace), | 416 m_wpOld(wpOldPlace), |
| 417 m_wpNew(wpNewPlace), | 417 m_wpNew(wpNewPlace), |
| 418 m_Word(word), | 418 m_Word(word), |
| 419 m_nCharset(charset), | 419 m_nCharset(charset), |
| 420 m_WordProps() { | 420 m_WordProps() { |
| 421 if (pWordProps) | 421 if (pWordProps) |
| 422 m_WordProps = *pWordProps; | 422 m_WordProps = *pWordProps; |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 if (m_pEdit) { | 470 if (m_pEdit) { |
| 471 m_pEdit->SelectNone(); | 471 m_pEdit->SelectNone(); |
| 472 m_pEdit->SetCaret(m_wpNew); | 472 m_pEdit->SetCaret(m_wpNew); |
| 473 m_pEdit->Backspace(FALSE, TRUE); | 473 m_pEdit->Backspace(FALSE, TRUE); |
| 474 } | 474 } |
| 475 } | 475 } |
| 476 | 476 |
| 477 CFXEU_Backspace::CFXEU_Backspace(CFX_Edit* pEdit, | 477 CFXEU_Backspace::CFXEU_Backspace(CFX_Edit* pEdit, |
| 478 const CPVT_WordPlace& wpOldPlace, | 478 const CPVT_WordPlace& wpOldPlace, |
| 479 const CPVT_WordPlace& wpNewPlace, | 479 const CPVT_WordPlace& wpNewPlace, |
| 480 FX_WORD word, | 480 uint16_t word, |
| 481 int32_t charset, | 481 int32_t charset, |
| 482 const CPVT_SecProps& SecProps, | 482 const CPVT_SecProps& SecProps, |
| 483 const CPVT_WordProps& WordProps) | 483 const CPVT_WordProps& WordProps) |
| 484 : m_pEdit(pEdit), | 484 : m_pEdit(pEdit), |
| 485 m_wpOld(wpOldPlace), | 485 m_wpOld(wpOldPlace), |
| 486 m_wpNew(wpNewPlace), | 486 m_wpNew(wpNewPlace), |
| 487 m_Word(word), | 487 m_Word(word), |
| 488 m_nCharset(charset), | 488 m_nCharset(charset), |
| 489 m_SecProps(SecProps), | 489 m_SecProps(SecProps), |
| 490 m_WordProps(WordProps) {} | 490 m_WordProps(WordProps) {} |
| (...skipping 16 matching lines...) Expand all Loading... |
| 507 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE); | 507 m_pEdit->InsertReturn(&m_SecProps, &m_WordProps, FALSE, TRUE); |
| 508 } else { | 508 } else { |
| 509 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE); | 509 m_pEdit->InsertWord(m_Word, m_nCharset, &m_WordProps, FALSE, TRUE); |
| 510 } | 510 } |
| 511 } | 511 } |
| 512 } | 512 } |
| 513 | 513 |
| 514 CFXEU_Delete::CFXEU_Delete(CFX_Edit* pEdit, | 514 CFXEU_Delete::CFXEU_Delete(CFX_Edit* pEdit, |
| 515 const CPVT_WordPlace& wpOldPlace, | 515 const CPVT_WordPlace& wpOldPlace, |
| 516 const CPVT_WordPlace& wpNewPlace, | 516 const CPVT_WordPlace& wpNewPlace, |
| 517 FX_WORD word, | 517 uint16_t word, |
| 518 int32_t charset, | 518 int32_t charset, |
| 519 const CPVT_SecProps& SecProps, | 519 const CPVT_SecProps& SecProps, |
| 520 const CPVT_WordProps& WordProps, | 520 const CPVT_WordProps& WordProps, |
| 521 FX_BOOL bSecEnd) | 521 FX_BOOL bSecEnd) |
| 522 : m_pEdit(pEdit), | 522 : m_pEdit(pEdit), |
| 523 m_wpOld(wpOldPlace), | 523 m_wpOld(wpOldPlace), |
| 524 m_wpNew(wpNewPlace), | 524 m_wpNew(wpNewPlace), |
| 525 m_Word(word), | 525 m_Word(word), |
| 526 m_nCharset(charset), | 526 m_nCharset(charset), |
| 527 m_SecProps(SecProps), | 527 m_SecProps(SecProps), |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 572 m_pEdit->InsertText(m_swText.c_str(), DEFAULT_CHARSET, NULL, NULL, FALSE, | 572 m_pEdit->InsertText(m_swText.c_str(), DEFAULT_CHARSET, NULL, NULL, FALSE, |
| 573 TRUE); | 573 TRUE); |
| 574 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); | 574 m_pEdit->SetSel(m_wrSel.BeginPos, m_wrSel.EndPos); |
| 575 } | 575 } |
| 576 } | 576 } |
| 577 | 577 |
| 578 CFXEU_ClearRich::CFXEU_ClearRich(CFX_Edit* pEdit, | 578 CFXEU_ClearRich::CFXEU_ClearRich(CFX_Edit* pEdit, |
| 579 const CPVT_WordPlace& wpOldPlace, | 579 const CPVT_WordPlace& wpOldPlace, |
| 580 const CPVT_WordPlace& wpNewPlace, | 580 const CPVT_WordPlace& wpNewPlace, |
| 581 const CPVT_WordRange& wrSel, | 581 const CPVT_WordRange& wrSel, |
| 582 FX_WORD word, | 582 uint16_t word, |
| 583 int32_t charset, | 583 int32_t charset, |
| 584 const CPVT_SecProps& SecProps, | 584 const CPVT_SecProps& SecProps, |
| 585 const CPVT_WordProps& WordProps) | 585 const CPVT_WordProps& WordProps) |
| 586 : m_pEdit(pEdit), | 586 : m_pEdit(pEdit), |
| 587 m_wpOld(wpOldPlace), | 587 m_wpOld(wpOldPlace), |
| 588 m_wpNew(wpNewPlace), | 588 m_wpNew(wpNewPlace), |
| 589 m_wrSel(wrSel), | 589 m_wrSel(wrSel), |
| 590 m_Word(word), | 590 m_Word(word), |
| 591 m_nCharset(charset), | 591 m_nCharset(charset), |
| 592 m_SecProps(SecProps), | 592 m_SecProps(SecProps), |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 826 if (bPaint) | 826 if (bPaint) |
| 827 Paint(); | 827 Paint(); |
| 828 } | 828 } |
| 829 | 829 |
| 830 void CFX_Edit::SetAlignmentV(int32_t nFormat, FX_BOOL bPaint) { | 830 void CFX_Edit::SetAlignmentV(int32_t nFormat, FX_BOOL bPaint) { |
| 831 m_nAlignment = nFormat; | 831 m_nAlignment = nFormat; |
| 832 if (bPaint) | 832 if (bPaint) |
| 833 Paint(); | 833 Paint(); |
| 834 } | 834 } |
| 835 | 835 |
| 836 void CFX_Edit::SetPasswordChar(FX_WORD wSubWord, FX_BOOL bPaint) { | 836 void CFX_Edit::SetPasswordChar(uint16_t wSubWord, FX_BOOL bPaint) { |
| 837 m_pVT->SetPasswordChar(wSubWord); | 837 m_pVT->SetPasswordChar(wSubWord); |
| 838 if (bPaint) | 838 if (bPaint) |
| 839 Paint(); | 839 Paint(); |
| 840 } | 840 } |
| 841 | 841 |
| 842 void CFX_Edit::SetLimitChar(int32_t nLimitChar, FX_BOOL bPaint) { | 842 void CFX_Edit::SetLimitChar(int32_t nLimitChar, FX_BOOL bPaint) { |
| 843 m_pVT->SetLimitChar(nLimitChar); | 843 m_pVT->SetLimitChar(nLimitChar); |
| 844 if (bPaint) | 844 if (bPaint) |
| 845 Paint(); | 845 Paint(); |
| 846 } | 846 } |
| (...skipping 735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1582 return FALSE; | 1582 return FALSE; |
| 1583 } | 1583 } |
| 1584 | 1584 |
| 1585 void CFX_Edit::SetText(const FX_WCHAR* text, | 1585 void CFX_Edit::SetText(const FX_WCHAR* text, |
| 1586 int32_t charset, | 1586 int32_t charset, |
| 1587 const CPVT_SecProps* pSecProps, | 1587 const CPVT_SecProps* pSecProps, |
| 1588 const CPVT_WordProps* pWordProps) { | 1588 const CPVT_WordProps* pWordProps) { |
| 1589 SetText(text, charset, pSecProps, pWordProps, TRUE, TRUE); | 1589 SetText(text, charset, pSecProps, pWordProps, TRUE, TRUE); |
| 1590 } | 1590 } |
| 1591 | 1591 |
| 1592 FX_BOOL CFX_Edit::InsertWord(FX_WORD word, | 1592 FX_BOOL CFX_Edit::InsertWord(uint16_t word, |
| 1593 int32_t charset, | 1593 int32_t charset, |
| 1594 const CPVT_WordProps* pWordProps) { | 1594 const CPVT_WordProps* pWordProps) { |
| 1595 return InsertWord(word, charset, pWordProps, TRUE, TRUE); | 1595 return InsertWord(word, charset, pWordProps, TRUE, TRUE); |
| 1596 } | 1596 } |
| 1597 | 1597 |
| 1598 FX_BOOL CFX_Edit::InsertReturn(const CPVT_SecProps* pSecProps, | 1598 FX_BOOL CFX_Edit::InsertReturn(const CPVT_SecProps* pSecProps, |
| 1599 const CPVT_WordProps* pWordProps) { | 1599 const CPVT_WordProps* pWordProps) { |
| 1600 return InsertReturn(pSecProps, pWordProps, TRUE, TRUE); | 1600 return InsertReturn(pSecProps, pWordProps, TRUE, TRUE); |
| 1601 } | 1601 } |
| 1602 | 1602 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1616 int32_t charset, | 1616 int32_t charset, |
| 1617 const CPVT_SecProps* pSecProps, | 1617 const CPVT_SecProps* pSecProps, |
| 1618 const CPVT_WordProps* pWordProps) { | 1618 const CPVT_WordProps* pWordProps) { |
| 1619 return InsertText(text, charset, pSecProps, pWordProps, TRUE, TRUE); | 1619 return InsertText(text, charset, pSecProps, pWordProps, TRUE, TRUE); |
| 1620 } | 1620 } |
| 1621 | 1621 |
| 1622 FX_FLOAT CFX_Edit::GetFontSize() const { | 1622 FX_FLOAT CFX_Edit::GetFontSize() const { |
| 1623 return m_pVT->GetFontSize(); | 1623 return m_pVT->GetFontSize(); |
| 1624 } | 1624 } |
| 1625 | 1625 |
| 1626 FX_WORD CFX_Edit::GetPasswordChar() const { | 1626 uint16_t CFX_Edit::GetPasswordChar() const { |
| 1627 return m_pVT->GetPasswordChar(); | 1627 return m_pVT->GetPasswordChar(); |
| 1628 } | 1628 } |
| 1629 | 1629 |
| 1630 int32_t CFX_Edit::GetCharArray() const { | 1630 int32_t CFX_Edit::GetCharArray() const { |
| 1631 return m_pVT->GetCharArray(); | 1631 return m_pVT->GetCharArray(); |
| 1632 } | 1632 } |
| 1633 | 1633 |
| 1634 CFX_FloatRect CFX_Edit::GetPlateRect() const { | 1634 CFX_FloatRect CFX_Edit::GetPlateRect() const { |
| 1635 return m_pVT->GetPlateRect(); | 1635 return m_pVT->GetPlateRect(); |
| 1636 } | 1636 } |
| (...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2460 FX_BOOL bAddUndo, | 2460 FX_BOOL bAddUndo, |
| 2461 FX_BOOL bPaint) { | 2461 FX_BOOL bPaint) { |
| 2462 Empty(); | 2462 Empty(); |
| 2463 DoInsertText(CPVT_WordPlace(0, 0, -1), text, charset, pSecProps, pWordProps); | 2463 DoInsertText(CPVT_WordPlace(0, 0, -1), text, charset, pSecProps, pWordProps); |
| 2464 if (bPaint) | 2464 if (bPaint) |
| 2465 Paint(); | 2465 Paint(); |
| 2466 if (m_bOprNotify && m_pOprNotify) | 2466 if (m_bOprNotify && m_pOprNotify) |
| 2467 m_pOprNotify->OnSetText(m_wpCaret, m_wpOldCaret); | 2467 m_pOprNotify->OnSetText(m_wpCaret, m_wpOldCaret); |
| 2468 } | 2468 } |
| 2469 | 2469 |
| 2470 FX_BOOL CFX_Edit::InsertWord(FX_WORD word, | 2470 FX_BOOL CFX_Edit::InsertWord(uint16_t word, |
| 2471 int32_t charset, | 2471 int32_t charset, |
| 2472 const CPVT_WordProps* pWordProps, | 2472 const CPVT_WordProps* pWordProps, |
| 2473 FX_BOOL bAddUndo, | 2473 FX_BOOL bAddUndo, |
| 2474 FX_BOOL bPaint) { | 2474 FX_BOOL bPaint) { |
| 2475 if (IsTextOverflow()) | 2475 if (IsTextOverflow()) |
| 2476 return FALSE; | 2476 return FALSE; |
| 2477 | 2477 |
| 2478 if (m_pVT->IsValid()) { | 2478 if (m_pVT->IsValid()) { |
| 2479 m_pVT->UpdateWordPlace(m_wpCaret); | 2479 m_pVT->UpdateWordPlace(m_wpCaret); |
| 2480 | 2480 |
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2965 const FX_WCHAR* text, | 2965 const FX_WCHAR* text, |
| 2966 int32_t charset, | 2966 int32_t charset, |
| 2967 const CPVT_SecProps* pSecProps, | 2967 const CPVT_SecProps* pSecProps, |
| 2968 const CPVT_WordProps* pWordProps) { | 2968 const CPVT_WordProps* pWordProps) { |
| 2969 CPVT_WordPlace wp = place; | 2969 CPVT_WordPlace wp = place; |
| 2970 | 2970 |
| 2971 if (m_pVT->IsValid()) { | 2971 if (m_pVT->IsValid()) { |
| 2972 CFX_WideString sText = text; | 2972 CFX_WideString sText = text; |
| 2973 | 2973 |
| 2974 for (int32_t i = 0, sz = sText.GetLength(); i < sz; i++) { | 2974 for (int32_t i = 0, sz = sText.GetLength(); i < sz; i++) { |
| 2975 FX_WORD word = sText[i]; | 2975 uint16_t word = sText[i]; |
| 2976 switch (word) { | 2976 switch (word) { |
| 2977 case 0x0D: | 2977 case 0x0D: |
| 2978 wp = m_pVT->InsertSection(wp, pSecProps, pWordProps); | 2978 wp = m_pVT->InsertSection(wp, pSecProps, pWordProps); |
| 2979 if (sText[i + 1] == 0x0A) | 2979 if (sText[i + 1] == 0x0A) |
| 2980 i++; | 2980 i++; |
| 2981 break; | 2981 break; |
| 2982 case 0x0A: | 2982 case 0x0A: |
| 2983 wp = m_pVT->InsertSection(wp, pSecProps, pWordProps); | 2983 wp = m_pVT->InsertSection(wp, pSecProps, pWordProps); |
| 2984 if (sText[i + 1] == 0x0D) | 2984 if (sText[i + 1] == 0x0D) |
| 2985 i++; | 2985 i++; |
| 2986 break; | 2986 break; |
| 2987 case 0x09: | 2987 case 0x09: |
| 2988 word = 0x20; | 2988 word = 0x20; |
| 2989 default: | 2989 default: |
| 2990 wp = m_pVT->InsertWord(wp, word, GetCharSetFromUnicode(word, charset), | 2990 wp = m_pVT->InsertWord(wp, word, GetCharSetFromUnicode(word, charset), |
| 2991 pWordProps); | 2991 pWordProps); |
| 2992 break; | 2992 break; |
| 2993 } | 2993 } |
| 2994 } | 2994 } |
| 2995 } | 2995 } |
| 2996 | 2996 |
| 2997 return wp; | 2997 return wp; |
| 2998 } | 2998 } |
| 2999 | 2999 |
| 3000 int32_t CFX_Edit::GetCharSetFromUnicode(FX_WORD word, int32_t nOldCharset) { | 3000 int32_t CFX_Edit::GetCharSetFromUnicode(uint16_t word, int32_t nOldCharset) { |
| 3001 if (IFX_Edit_FontMap* pFontMap = GetFontMap()) | 3001 if (IFX_Edit_FontMap* pFontMap = GetFontMap()) |
| 3002 return pFontMap->CharSetFromUnicode(word, nOldCharset); | 3002 return pFontMap->CharSetFromUnicode(word, nOldCharset); |
| 3003 return nOldCharset; | 3003 return nOldCharset; |
| 3004 } | 3004 } |
| 3005 | 3005 |
| 3006 void CFX_Edit::BeginGroupUndo(const CFX_WideString& sTitle) { | 3006 void CFX_Edit::BeginGroupUndo(const CFX_WideString& sTitle) { |
| 3007 ASSERT(!m_pGroupUndoItem); | 3007 ASSERT(!m_pGroupUndoItem); |
| 3008 | 3008 |
| 3009 m_pGroupUndoItem = new CFX_Edit_GroupUndoItem(sTitle); | 3009 m_pGroupUndoItem = new CFX_Edit_GroupUndoItem(sTitle); |
| 3010 } | 3010 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 3025 if (m_bOprNotify && m_pOprNotify) | 3025 if (m_bOprNotify && m_pOprNotify) |
| 3026 m_pOprNotify->OnAddUndo(pEditUndoItem); | 3026 m_pOprNotify->OnAddUndo(pEditUndoItem); |
| 3027 } | 3027 } |
| 3028 } | 3028 } |
| 3029 | 3029 |
| 3030 void CFX_Edit::AddUndoItem(IFX_Edit_UndoItem* pUndoItem) { | 3030 void CFX_Edit::AddUndoItem(IFX_Edit_UndoItem* pUndoItem) { |
| 3031 m_Undo.AddItem(pUndoItem); | 3031 m_Undo.AddItem(pUndoItem); |
| 3032 if (m_bOprNotify && m_pOprNotify) | 3032 if (m_bOprNotify && m_pOprNotify) |
| 3033 m_pOprNotify->OnAddUndo(pUndoItem); | 3033 m_pOprNotify->OnAddUndo(pUndoItem); |
| 3034 } | 3034 } |
| OLD | NEW |