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 XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ | 7 #ifndef XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ |
8 #define XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ | 8 #define XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
| 12 #include "xfa/fwl/core/cfwl_event.h" |
12 #include "xfa/fwl/core/ifwl_dataprovider.h" | 13 #include "xfa/fwl/core/ifwl_dataprovider.h" |
13 #include "xfa/fwl/lightwidget/cfwl_widget.h" | 14 #include "xfa/fwl/lightwidget/cfwl_widget.h" |
14 | 15 |
15 #define FWL_CLASS_Edit L"FWL_EDIT" | 16 #define FWL_CLASS_Edit L"FWL_EDIT" |
16 #define FWL_CLASSHASH_Edit 2893987822 | 17 #define FWL_CLASSHASH_Edit 2893987822 |
17 #define FWL_STYLEEXT_EDT_ReadOnly (1L << 0) | 18 #define FWL_STYLEEXT_EDT_ReadOnly (1L << 0) |
18 #define FWL_STYLEEXT_EDT_MultiLine (1L << 1) | 19 #define FWL_STYLEEXT_EDT_MultiLine (1L << 1) |
19 #define FWL_STYLEEXT_EDT_WantReturn (1L << 2) | 20 #define FWL_STYLEEXT_EDT_WantReturn (1L << 2) |
20 #define FWL_STYLEEXT_EDT_NoHideSel (1L << 3) | 21 #define FWL_STYLEEXT_EDT_NoHideSel (1L << 3) |
21 #define FWL_STYLEEXT_EDT_AutoHScroll (1L << 4) | 22 #define FWL_STYLEEXT_EDT_AutoHScroll (1L << 4) |
(...skipping 21 matching lines...) Expand all Loading... |
43 #define FWL_STYLEEXT_EDT_HAlignMask (3L << 18) | 44 #define FWL_STYLEEXT_EDT_HAlignMask (3L << 18) |
44 #define FWL_STYLEEXT_EDT_VAlignMask (3L << 20) | 45 #define FWL_STYLEEXT_EDT_VAlignMask (3L << 20) |
45 #define FWL_STYLEEXT_EDT_HAlignModeMask (3L << 22) | 46 #define FWL_STYLEEXT_EDT_HAlignModeMask (3L << 22) |
46 #define FWL_STYLEEXT_EDT_InnerCaret (1L << 24) | 47 #define FWL_STYLEEXT_EDT_InnerCaret (1L << 24) |
47 #define FWL_STYLEEXT_EDT_ShowScrollbarFocus (1L << 25) | 48 #define FWL_STYLEEXT_EDT_ShowScrollbarFocus (1L << 25) |
48 #define FWL_STYLEEXT_EDT_OuterScrollbar (1L << 26) | 49 #define FWL_STYLEEXT_EDT_OuterScrollbar (1L << 26) |
49 #define FWL_STYLEEXT_EDT_LastLineHeight (1L << 27) | 50 #define FWL_STYLEEXT_EDT_LastLineHeight (1L << 27) |
50 #define FWL_STATE_EDT_Editing (1 << FWL_WGTSTATE_MAX) | 51 #define FWL_STATE_EDT_Editing (1 << FWL_WGTSTATE_MAX) |
51 #define FWL_PARTDATA_EDT_Background 0 | 52 #define FWL_PARTDATA_EDT_Background 0 |
52 #define FWL_PARTDATA_EDT_StaticBackground 1 | 53 #define FWL_PARTDATA_EDT_StaticBackground 1 |
53 // TODO(dsinclair): Event hash is hash of string, cleanup. pdfium:474 | |
54 #define FWL_EVTHASH_EDT_TextChanged 1064022132 | |
55 #define FWL_EVTHASH_EDT_PreSelfAdaption 1001979178 | |
56 #define FWL_EVTHASH_EDT_Validate 3373308608 | |
57 #define FWL_EVTHASH_EDT_CheckWord 2897181520 | |
58 #define FWL_EVTHASH_EDT_GetSuggestWords 315782791 | |
59 #define FWL_EVTHASH_EDT_TextFull 2158580174 | |
60 #define FWL_EDT_FIND_FLAGS_Prev (0L << 0) | 54 #define FWL_EDT_FIND_FLAGS_Prev (0L << 0) |
61 #define FWL_EDT_FIND_FLAGS_Next (1L << 0) | 55 #define FWL_EDT_FIND_FLAGS_Next (1L << 0) |
62 #define FWL_EDT_FIND_FLAGS_WholeWord (1L << 1) | 56 #define FWL_EDT_FIND_FLAGS_WholeWord (1L << 1) |
63 #define FWL_EDT_FIND_FLAGS_NoCase (1L << 2) | 57 #define FWL_EDT_FIND_FLAGS_NoCase (1L << 2) |
64 | 58 |
65 typedef struct FWL_HEDTFIND_ { void* pData; } * FWL_HEDTFIND; | 59 typedef struct FWL_HEDTFIND_ { void* pData; } * FWL_HEDTFIND; |
66 | 60 |
67 enum FWL_EDT_TEXTCHANGED { | 61 enum FWL_EDT_TEXTCHANGED { |
68 FWL_EDT_TEXTCHANGED_Insert = 0, | 62 FWL_EDT_TEXTCHANGED_Insert = 0, |
69 FWL_EDT_TEXTCHANGED_Delete, | 63 FWL_EDT_TEXTCHANGED_Delete, |
70 FWL_EDT_TEXTCHANGED_Replace, | 64 FWL_EDT_TEXTCHANGED_Replace, |
71 }; | 65 }; |
72 | 66 |
73 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtTextChanged, FWL_EVTHASH_EDT_TextChanged) | 67 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtTextChanged, CFWL_EventType::TextChanged) |
74 int32_t nChangeType; | 68 int32_t nChangeType; |
75 CFX_WideString wsInsert; | 69 CFX_WideString wsInsert; |
76 CFX_WideString wsDelete; | 70 CFX_WideString wsDelete; |
77 CFX_WideString wsPrevText; | 71 CFX_WideString wsPrevText; |
78 END_FWL_EVENT_DEF | 72 END_FWL_EVENT_DEF |
79 | 73 |
80 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtTextFull, FWL_EVTHASH_EDT_TextFull) | 74 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtTextFull, CFWL_EventType::TextFull) |
81 END_FWL_EVENT_DEF | 75 END_FWL_EVENT_DEF |
82 | 76 |
83 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtPreSelfAdaption, FWL_EVTHASH_EDT_PreSelfAdaption) | 77 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtPreSelfAdaption, CFWL_EventType::PreSelfAdaption) |
84 FX_BOOL bHSelfAdaption; | 78 FX_BOOL bHSelfAdaption; |
85 FX_BOOL bVSelfAdaption; | 79 FX_BOOL bVSelfAdaption; |
86 CFX_RectF rtAfterChange; | 80 CFX_RectF rtAfterChange; |
87 END_FWL_EVENT_DEF | 81 END_FWL_EVENT_DEF |
88 | 82 |
89 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtValidate, FWL_EVTHASH_EDT_Validate) | 83 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtValidate, CFWL_EventType::Validate) |
90 IFWL_Widget* pDstWidget; | 84 IFWL_Widget* pDstWidget; |
91 CFX_WideString wsInsert; | 85 CFX_WideString wsInsert; |
92 FX_BOOL bValidate; | 86 FX_BOOL bValidate; |
93 END_FWL_EVENT_DEF | 87 END_FWL_EVENT_DEF |
94 | 88 |
95 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtCheckWord, FWL_EVTHASH_EDT_CheckWord) | 89 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtCheckWord, CFWL_EventType::CheckWord) |
96 CFX_ByteString bsWord; | 90 CFX_ByteString bsWord; |
97 FX_BOOL bCheckWord; | 91 FX_BOOL bCheckWord; |
98 END_FWL_EVENT_DEF | 92 END_FWL_EVENT_DEF |
99 | 93 |
100 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtGetSuggestWords, FWL_EVTHASH_EDT_GetSuggestWords) | 94 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtGetSuggestWords, |
| 95 CFWL_EventType::GetSuggestedWords) |
101 FX_BOOL bSuggestWords; | 96 FX_BOOL bSuggestWords; |
102 CFX_ByteString bsWord; | 97 CFX_ByteString bsWord; |
103 std::vector<CFX_ByteString> bsArraySuggestWords; | 98 std::vector<CFX_ByteString> bsArraySuggestWords; |
104 END_FWL_EVENT_DEF | 99 END_FWL_EVENT_DEF |
105 | 100 |
106 class CFWL_WidgetImpProperties; | 101 class CFWL_WidgetImpProperties; |
107 | 102 |
108 class IFWL_EditDP : public IFWL_DataProvider {}; | 103 class IFWL_EditDP : public IFWL_DataProvider {}; |
109 | 104 |
110 class IFWL_Edit : public IFWL_Widget { | 105 class IFWL_Edit : public IFWL_Widget { |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 FX_BOOL GetSuggestWords(CFX_PointF pointf, | 152 FX_BOOL GetSuggestWords(CFX_PointF pointf, |
158 std::vector<CFX_ByteString>& sSuggest); | 153 std::vector<CFX_ByteString>& sSuggest); |
159 FX_BOOL ReplaceSpellCheckWord(CFX_PointF pointf, | 154 FX_BOOL ReplaceSpellCheckWord(CFX_PointF pointf, |
160 const CFX_ByteStringC& bsReplace); | 155 const CFX_ByteStringC& bsReplace); |
161 | 156 |
162 protected: | 157 protected: |
163 IFWL_Edit(); | 158 IFWL_Edit(); |
164 }; | 159 }; |
165 | 160 |
166 #endif // XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ | 161 #endif // XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ |
OLD | NEW |