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 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_EDIT_H_ | 7 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_EDIT_H_ |
8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_EDIT_H_ | 8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_EDIT_H_ |
9 | 9 |
10 #include "../../../core/include/fxcrt/fx_basic.h" | 10 #include "../../../core/include/fxcrt/fx_basic.h" |
11 #include "PWL_EditCtrl.h" | 11 #include "PWL_EditCtrl.h" |
12 #include "PWL_Wnd.h" | 12 #include "PWL_Wnd.h" |
13 | 13 |
14 class CPWL_Edit; | 14 class CPWL_Edit; |
15 class IPWL_Filler_Notify; | 15 class IPWL_Filler_Notify; |
16 class IPWL_SpellCheck; | 16 class IPWL_SpellCheck; |
17 | 17 |
18 class IPWL_Filler_Notify | 18 class IPWL_Filler_Notify { |
19 { | 19 public: |
20 public: | 20 virtual ~IPWL_Filler_Notify() {} |
21 virtual ~IPWL_Filler_Notify() { } | 21 virtual void QueryWherePopup( |
22 » virtual void» » » » » QueryWherePopup(void* pP
rivateData, FX_FLOAT fPopupMin,FX_FLOAT fPopupMax, | 22 void* pPrivateData, |
23 » » » » » » » » » »
int32_t & nRet, FX_FLOAT & fPopupRet) = 0; //nRet: (0:bottom 1:top) | 23 FX_FLOAT fPopupMin, |
24 » virtual void» » » » » OnBeforeKeyStroke(FX_BOO
L bEditOrList, void* pPrivateData, int32_t nKeyCode, | 24 FX_FLOAT fPopupMax, |
25 » » » » » » » » » »
CFX_WideString & strChange, const CFX_WideString& strChangeEx, | 25 int32_t& nRet, |
26 » » » » » » » » » »
int nSelStart, int nSelEnd, | 26 FX_FLOAT& fPopupRet) = 0; // nRet: (0:bottom 1:top) |
27 » » » » » » » » » »
FX_BOOL bKeyDown, FX_BOOL & bRC, FX_BOOL & bExit, FX_DWORD nFlag) = 0; | 27 virtual void OnBeforeKeyStroke(FX_BOOL bEditOrList, |
28 » virtual void» » » » » OnAfterKeyStroke(FX_BOOL
bEditOrList, void* pPrivateData, FX_BOOL & bExit, FX_DWORD nFlag) = 0; | 28 void* pPrivateData, |
| 29 int32_t nKeyCode, |
| 30 CFX_WideString& strChange, |
| 31 const CFX_WideString& strChangeEx, |
| 32 int nSelStart, |
| 33 int nSelEnd, |
| 34 FX_BOOL bKeyDown, |
| 35 FX_BOOL& bRC, |
| 36 FX_BOOL& bExit, |
| 37 FX_DWORD nFlag) = 0; |
| 38 virtual void OnAfterKeyStroke(FX_BOOL bEditOrList, |
| 39 void* pPrivateData, |
| 40 FX_BOOL& bExit, |
| 41 FX_DWORD nFlag) = 0; |
29 }; | 42 }; |
30 | 43 |
31 class CPWL_Edit : public CPWL_EditCtrl, public IFX_Edit_OprNotify | 44 class CPWL_Edit : public CPWL_EditCtrl, public IFX_Edit_OprNotify { |
32 { | 45 public: |
33 public: | 46 CPWL_Edit(); |
34 » CPWL_Edit(); | 47 virtual ~CPWL_Edit(); |
35 » virtual ~CPWL_Edit(); | |
36 | 48 |
37 public: | 49 public: |
38 » virtual CFX_ByteString» » » GetClassName() const; | 50 virtual CFX_ByteString GetClassName() const; |
39 » virtual void» » » » » OnDestroy(); | 51 virtual void OnDestroy(); |
40 » virtual void» » » » » OnCreated(); | 52 virtual void OnCreated(); |
41 » virtual void» » » » » RePosChildWnd(); | 53 virtual void RePosChildWnd(); |
42 » virtual CPDF_Rect» » » » GetClientRect() const; | 54 virtual CPDF_Rect GetClientRect() const; |
43 | 55 |
44 » virtual void» » » » » GetThisAppearanceStream(
CFX_ByteTextBuf & sAppStream); | 56 virtual void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream); |
45 » virtual void» » » » » DrawThisAppearance(CFX_R
enderDevice* pDevice, CPDF_Matrix* pUser2Device); | 57 virtual void DrawThisAppearance(CFX_RenderDevice* pDevice, |
| 58 CPDF_Matrix* pUser2Device); |
46 | 59 |
47 » virtual FX_BOOL»» » » » OnLButtonDown(const CPDF
_Point & point, FX_DWORD nFlag); | 60 virtual FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag); |
48 » virtual FX_BOOL»» » » » OnLButtonDblClk(const CP
DF_Point & point, FX_DWORD nFlag); | 61 virtual FX_BOOL OnLButtonDblClk(const CPDF_Point& point, FX_DWORD nFlag); |
49 » virtual FX_BOOL»» » » » OnRButtonUp(const CPDF_P
oint & point, FX_DWORD nFlag); | 62 virtual FX_BOOL OnRButtonUp(const CPDF_Point& point, FX_DWORD nFlag); |
50 » virtual FX_BOOL»» » » » OnMouseWheel(short zDelt
a, const CPDF_Point & point, FX_DWORD nFlag); | 63 virtual FX_BOOL OnMouseWheel(short zDelta, |
| 64 const CPDF_Point& point, |
| 65 FX_DWORD nFlag); |
51 | 66 |
52 » virtual FX_BOOL»» » » » OnKeyDown(FX_WORD nChar,
FX_DWORD nFlag); | 67 virtual FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag); |
53 » virtual FX_BOOL»» » » » OnChar(FX_WORD nChar, FX
_DWORD nFlag); | 68 virtual FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag); |
54 | 69 |
55 » virtual CPDF_Rect» » » » GetFocusRect() const; | 70 virtual CPDF_Rect GetFocusRect() const; |
56 | 71 |
57 public: | 72 public: |
58 » void» » » » » » » SetAlignFormatH(
PWL_EDIT_ALIGNFORMAT_H nFormat = PEAH_LEFT, FX_BOOL bPaint = TRUE);» //0:left
1:right 2:middle | 73 void SetAlignFormatH(PWL_EDIT_ALIGNFORMAT_H nFormat = PEAH_LEFT, |
59 » void» » » » » » » SetAlignFormatV(
PWL_EDIT_ALIGNFORMAT_V nFormat = PEAV_TOP, FX_BOOL bPaint = TRUE);» //0:top
1:bottom 2:center | 74 FX_BOOL bPaint = TRUE); // 0:left 1:right 2:middle |
| 75 void SetAlignFormatV(PWL_EDIT_ALIGNFORMAT_V nFormat = PEAV_TOP, |
| 76 FX_BOOL bPaint = TRUE); // 0:top 1:bottom 2:center |
60 | 77 |
61 » void» » » » » » » SetCharArray(int
32_t nCharArray); | 78 void SetCharArray(int32_t nCharArray); |
62 » void» » » » » » » SetLimitChar(int
32_t nLimitChar); | 79 void SetLimitChar(int32_t nLimitChar); |
63 | 80 |
64 » void» » » » » » » SetHorzScale(int
32_t nHorzScale, FX_BOOL bPaint = TRUE); | 81 void SetHorzScale(int32_t nHorzScale, FX_BOOL bPaint = TRUE); |
65 » void» » » » » » » SetCharSpace(FX_
FLOAT fCharSpace, FX_BOOL bPaint = TRUE); | 82 void SetCharSpace(FX_FLOAT fCharSpace, FX_BOOL bPaint = TRUE); |
66 | 83 |
67 » void» » » » » » » SetLineLeading(F
X_FLOAT fLineLeading, FX_BOOL bPaint = TRUE); | 84 void SetLineLeading(FX_FLOAT fLineLeading, FX_BOOL bPaint = TRUE); |
68 | 85 |
69 » void» » » » » » » EnableSpellCheck
(FX_BOOL bEnabled); | 86 void EnableSpellCheck(FX_BOOL bEnabled); |
70 | 87 |
71 » FX_BOOL»» » » » » » CanSelectAll() c
onst; | 88 FX_BOOL CanSelectAll() const; |
72 » FX_BOOL»» » » » » » CanClear() const
; | 89 FX_BOOL CanClear() const; |
73 » FX_BOOL»» » » » » » CanCopy() const; | 90 FX_BOOL CanCopy() const; |
74 » FX_BOOL»» » » » » » CanCut() const; | 91 FX_BOOL CanCut() const; |
75 » FX_BOOL»» » » » » » CanPaste() const
; | 92 FX_BOOL CanPaste() const; |
76 | 93 |
77 » virtual void» » » » » CopyText(); | 94 virtual void CopyText(); |
78 » virtual void» » » » » PasteText(); | 95 virtual void PasteText(); |
79 » virtual void » » » » » CutText(); | 96 virtual void CutText(); |
80 | 97 |
81 » virtual void» » » » » SetText(const FX_WCHAR*
csText); | 98 virtual void SetText(const FX_WCHAR* csText); |
82 » void» » » » » » » ReplaceSel(const
FX_WCHAR* csText); | 99 void ReplaceSel(const FX_WCHAR* csText); |
83 | 100 |
84 » CFX_ByteString» » » » » GetTextAppearanceStream(
const CPDF_Point & ptOffset) const; | 101 CFX_ByteString GetTextAppearanceStream(const CPDF_Point& ptOffset) const; |
85 » CFX_ByteString» » » » » GetCaretAppearanceStream
(const CPDF_Point & ptOffset) const; | 102 CFX_ByteString GetCaretAppearanceStream(const CPDF_Point& ptOffset) const; |
86 » CFX_ByteString» » » » » GetSelectAppearanceStrea
m(const CPDF_Point & ptOffset) const; | 103 CFX_ByteString GetSelectAppearanceStream(const CPDF_Point& ptOffset) const; |
87 | 104 |
88 » FX_BOOL»» » » » » » IsTextFull() con
st; | 105 FX_BOOL IsTextFull() const; |
89 | 106 |
90 » static FX_FLOAT»» » » » GetCharArrayAutoFontSize
(CPDF_Font* pFont, const CPDF_Rect& rcPlate, int32_t nCharArray); | 107 static FX_FLOAT GetCharArrayAutoFontSize(CPDF_Font* pFont, |
| 108 const CPDF_Rect& rcPlate, |
| 109 int32_t nCharArray); |
91 | 110 |
92 » void» » » » » » » SetFillerNotify(
IPWL_Filler_Notify* pNotify) {m_pFillerNotify = pNotify;} | 111 void SetFillerNotify(IPWL_Filler_Notify* pNotify) { |
| 112 m_pFillerNotify = pNotify; |
| 113 } |
93 | 114 |
94 » void» » » » » » » GeneratePageObje
cts(CPDF_PageObjects* pPageObjects, | 115 void GeneratePageObjects(CPDF_PageObjects* pPageObjects, |
95 » » » » » » » » » »
const CPDF_Point& ptOffset, CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray); | 116 const CPDF_Point& ptOffset, |
96 » void» » » » » » » GeneratePageObje
cts(CPDF_PageObjects* pPageObjects, | 117 CFX_ArrayTemplate<CPDF_TextObject*>& ObjArray); |
97 » » » » » » » » » »
const CPDF_Point& ptOffset); | 118 void GeneratePageObjects(CPDF_PageObjects* pPageObjects, |
| 119 const CPDF_Point& ptOffset); |
98 | 120 |
99 protected: | 121 protected: |
100 » virtual void» » » » » OnSetFocus(); | 122 virtual void OnSetFocus(); |
101 » virtual void» » » » » OnKillFocus(); | 123 virtual void OnKillFocus(); |
102 | 124 |
103 protected: | 125 protected: |
104 » virtual void» » » » » OnInsertWord(const CPVT_
WordPlace& place, const CPVT_WordPlace& oldplace); | 126 virtual void OnInsertWord(const CPVT_WordPlace& place, |
105 » virtual void» » » » » OnInsertReturn(const CPV
T_WordPlace& place, const CPVT_WordPlace& oldplace); | 127 const CPVT_WordPlace& oldplace); |
106 » virtual void» » » » » OnBackSpace(const CPVT_W
ordPlace& place, const CPVT_WordPlace& oldplace); | 128 virtual void OnInsertReturn(const CPVT_WordPlace& place, |
107 » virtual void» » » » » OnDelete(const CPVT_Word
Place& place, const CPVT_WordPlace& oldplace); | 129 const CPVT_WordPlace& oldplace); |
108 » virtual void» » » » » OnClear(const CPVT_WordP
lace& place, const CPVT_WordPlace& oldplace); | 130 virtual void OnBackSpace(const CPVT_WordPlace& place, |
109 » virtual void» » » » » OnSetText(const CPVT_Wor
dPlace& place, const CPVT_WordPlace& oldplace); | 131 const CPVT_WordPlace& oldplace); |
110 » virtual void» » » » » OnInsertText(const CPVT_
WordPlace& place, const CPVT_WordPlace& oldplace); | 132 virtual void OnDelete(const CPVT_WordPlace& place, |
111 » virtual void» » » » » OnAddUndo(IFX_Edit_UndoI
tem* pUndoItem); | 133 const CPVT_WordPlace& oldplace); |
| 134 virtual void OnClear(const CPVT_WordPlace& place, |
| 135 const CPVT_WordPlace& oldplace); |
| 136 virtual void OnSetText(const CPVT_WordPlace& place, |
| 137 const CPVT_WordPlace& oldplace); |
| 138 virtual void OnInsertText(const CPVT_WordPlace& place, |
| 139 const CPVT_WordPlace& oldplace); |
| 140 virtual void OnAddUndo(IFX_Edit_UndoItem* pUndoItem); |
112 | 141 |
113 private: | 142 private: |
114 » CPVT_WordRange» » » » » GetSelectWordRange() con
st; | 143 CPVT_WordRange GetSelectWordRange() const; |
115 » virtual void» » » » » ShowVScrollBar(FX_BOOL b
Show); | 144 virtual void ShowVScrollBar(FX_BOOL bShow); |
116 » FX_BOOL»» » » » » » IsVScrollBarVisi
ble() const; | 145 FX_BOOL IsVScrollBarVisible() const; |
117 » void» » » » » » » SetParamByFlag()
; | 146 void SetParamByFlag(); |
118 | 147 |
119 » FX_FLOAT» » » » » » GetCharArrayAuto
FontSize(int32_t nCharArray); | 148 FX_FLOAT GetCharArrayAutoFontSize(int32_t nCharArray); |
120 » CPDF_Point» » » » » » GetWordRightBott
omPoint(const CPVT_WordPlace& wpWord); | 149 CPDF_Point GetWordRightBottomPoint(const CPVT_WordPlace& wpWord); |
121 | 150 |
122 » CPVT_WordRange» » » » » CombineWordRange(const C
PVT_WordRange& wr1, const CPVT_WordRange& wr2); | 151 CPVT_WordRange CombineWordRange(const CPVT_WordRange& wr1, |
123 » CPVT_WordRange» » » » » GetLatinWordsRange(const
CPDF_Point & point) const; | 152 const CPVT_WordRange& wr2); |
124 » CPVT_WordRange» » » » » GetLatinWordsRange(const
CPVT_WordPlace & place) const; | 153 CPVT_WordRange GetLatinWordsRange(const CPDF_Point& point) const; |
125 » CPVT_WordRange» » » » » GetArabicWordsRange(cons
t CPVT_WordPlace & place) const; | 154 CPVT_WordRange GetLatinWordsRange(const CPVT_WordPlace& place) const; |
126 » CPVT_WordRange» » » » » GetSameWordsRange(const
CPVT_WordPlace & place, FX_BOOL bLatin, FX_BOOL bArabic) const; | 155 CPVT_WordRange GetArabicWordsRange(const CPVT_WordPlace& place) const; |
| 156 CPVT_WordRange GetSameWordsRange(const CPVT_WordPlace& place, |
| 157 FX_BOOL bLatin, |
| 158 FX_BOOL bArabic) const; |
127 | 159 |
128 » void» » » » » » » AjustArabicWords
(const CPVT_WordRange& wr); | 160 void AjustArabicWords(const CPVT_WordRange& wr); |
129 public: | 161 |
130 » FX_BOOL»» » » » » » IsProceedtoOnCha
r(FX_WORD nKeyCode, FX_DWORD nFlag); | 162 public: |
131 private: | 163 FX_BOOL IsProceedtoOnChar(FX_WORD nKeyCode, FX_DWORD nFlag); |
132 » IPWL_Filler_Notify*» » » » m_pFillerNotify; | 164 |
133 » IPWL_SpellCheck*» » » » m_pSpellCheck; | 165 private: |
134 » FX_BOOL»» » » » » » m_bFocus; | 166 IPWL_Filler_Notify* m_pFillerNotify; |
135 » CPDF_Rect» » » » » » m_rcOldWindow; | 167 IPWL_SpellCheck* m_pSpellCheck; |
136 public: | 168 FX_BOOL m_bFocus; |
137 » void» » » » » » » AttachFFLData(vo
id* pData) {m_pFormFiller = pData;} | 169 CPDF_Rect m_rcOldWindow; |
138 private: | 170 |
139 » void*» » » » » » » m_pFormFiller; | 171 public: |
| 172 void AttachFFLData(void* pData) { m_pFormFiller = pData; } |
| 173 |
| 174 private: |
| 175 void* m_pFormFiller; |
140 }; | 176 }; |
141 | 177 |
142 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_EDIT_H_ | 178 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_EDIT_H_ |
OLD | NEW |