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_INCLUDE_FWL_BASEWIDGET_FWL_EDIT_H_ | 7 #ifndef XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ |
8 #define XFA_INCLUDE_FWL_BASEWIDGET_FWL_EDIT_H_ | 8 #define XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "xfa/include/fwl/lightwidget/widget.h" | 12 #include "xfa/include/fwl/lightwidget/widget.h" |
13 | 13 #include "xfa/fwl/core/ifwl_dataprovider.h" |
14 class CFWL_WidgetImpProperties; | |
15 class IFWL_Edit; | |
16 | 14 |
17 #define FWL_CLASS_Edit L"FWL_EDIT" | 15 #define FWL_CLASS_Edit L"FWL_EDIT" |
18 #define FWL_CLASSHASH_Edit 2893987822 | 16 #define FWL_CLASSHASH_Edit 2893987822 |
19 #define FWL_STYLEEXT_EDT_ReadOnly (1L << 0) | 17 #define FWL_STYLEEXT_EDT_ReadOnly (1L << 0) |
20 #define FWL_STYLEEXT_EDT_MultiLine (1L << 1) | 18 #define FWL_STYLEEXT_EDT_MultiLine (1L << 1) |
21 #define FWL_STYLEEXT_EDT_WantReturn (1L << 2) | 19 #define FWL_STYLEEXT_EDT_WantReturn (1L << 2) |
22 #define FWL_STYLEEXT_EDT_NoHideSel (1L << 3) | 20 #define FWL_STYLEEXT_EDT_NoHideSel (1L << 3) |
23 #define FWL_STYLEEXT_EDT_AutoHScroll (1L << 4) | 21 #define FWL_STYLEEXT_EDT_AutoHScroll (1L << 4) |
24 #define FWL_STYLEEXT_EDT_AutoVScroll (1L << 5) | 22 #define FWL_STYLEEXT_EDT_AutoVScroll (1L << 5) |
25 #define FWL_STYLEEXT_EDT_NoRedoUndo (1L << 6) | 23 #define FWL_STYLEEXT_EDT_NoRedoUndo (1L << 6) |
(...skipping 26 matching lines...) Expand all Loading... |
52 #define FWL_STATE_EDT_Editing (1 << FWL_WGTSTATE_MAX) | 50 #define FWL_STATE_EDT_Editing (1 << FWL_WGTSTATE_MAX) |
53 #define FWL_PART_EDT_Border 1 | 51 #define FWL_PART_EDT_Border 1 |
54 #define FWL_PART_EDT_Edge 2 | 52 #define FWL_PART_EDT_Edge 2 |
55 #define FWL_PART_EDT_Background 3 | 53 #define FWL_PART_EDT_Background 3 |
56 #define FWL_PART_EDT_CombTextLine 4 | 54 #define FWL_PART_EDT_CombTextLine 4 |
57 #define FWL_PARTDATA_EDT_Background 0 | 55 #define FWL_PARTDATA_EDT_Background 0 |
58 #define FWL_PARTDATA_EDT_StaticBackground 1 | 56 #define FWL_PARTDATA_EDT_StaticBackground 1 |
59 #define FWL_PARTSTATE_EDT_Normal (0L << 0) | 57 #define FWL_PARTSTATE_EDT_Normal (0L << 0) |
60 #define FWL_PARTSTATE_EDT_ReadOnly (1L << 0) | 58 #define FWL_PARTSTATE_EDT_ReadOnly (1L << 0) |
61 #define FWL_PARTSTATE_EDT_Disable (2L << 0) | 59 #define FWL_PARTSTATE_EDT_Disable (2L << 0) |
62 enum FWL_EDT_TEXTCHANGED { | |
63 FWL_EDT_TEXTCHANGED_Insert = 0, | |
64 FWL_EDT_TEXTCHANGED_Delete, | |
65 FWL_EDT_TEXTCHANGED_Replace, | |
66 }; | |
67 | |
68 #define FWL_EVT_EDT_TextChanged L"FWL_EVENT_EDT_TextChanged" | 60 #define FWL_EVT_EDT_TextChanged L"FWL_EVENT_EDT_TextChanged" |
69 #define FWL_EVTHASH_EDT_TextChanged 1064022132 | 61 #define FWL_EVTHASH_EDT_TextChanged 1064022132 |
70 #define FWL_EVT_EDT_PreSelfAdaption L"FWL_EVENT_PreSelfAdaption" | 62 #define FWL_EVT_EDT_PreSelfAdaption L"FWL_EVENT_PreSelfAdaption" |
71 #define FWL_EVTHASH_EDT_PreSelfAdaption 1001979178 | 63 #define FWL_EVTHASH_EDT_PreSelfAdaption 1001979178 |
72 #define FWL_EVT_EDT_Validate L"FWL_EVTHASH_EDT_Validate" | 64 #define FWL_EVT_EDT_Validate L"FWL_EVTHASH_EDT_Validate" |
73 #define FWL_EVTHASH_EDT_Validate 3373308608 | 65 #define FWL_EVTHASH_EDT_Validate 3373308608 |
74 #define FWL_EVT_EDT_CheckWord L"FWL_EVTHASH_EDT_CheckWord" | 66 #define FWL_EVT_EDT_CheckWord L"FWL_EVTHASH_EDT_CheckWord" |
75 #define FWL_EVTHASH_EDT_CheckWord 2897181520 | 67 #define FWL_EVTHASH_EDT_CheckWord 2897181520 |
76 #define FWL_EVT_EDT_GetSuggestWords L"FWL_EVTHASH_EDT_GetSuggestWords" | 68 #define FWL_EVT_EDT_GetSuggestWords L"FWL_EVTHASH_EDT_GetSuggestWords" |
77 #define FWL_EVTHASH_EDT_GetSuggestWords 315782791 | 69 #define FWL_EVTHASH_EDT_GetSuggestWords 315782791 |
78 #define FWL_EVT_EDT_TextFull L"FWL_EVTHASH_EDT_TextFull" | 70 #define FWL_EVT_EDT_TextFull L"FWL_EVTHASH_EDT_TextFull" |
79 #define FWL_EVTHASH_EDT_TextFull 2158580174 | 71 #define FWL_EVTHASH_EDT_TextFull 2158580174 |
| 72 #define FWL_EDT_FIND_FLAGS_Prev (0L << 0) |
| 73 #define FWL_EDT_FIND_FLAGS_Next (1L << 0) |
| 74 #define FWL_EDT_FIND_FLAGS_WholeWord (1L << 1) |
| 75 #define FWL_EDT_FIND_FLAGS_NoCase (1L << 2) |
| 76 |
| 77 typedef struct FWL_HEDTFIND_ { void* pData; } * FWL_HEDTFIND; |
| 78 |
| 79 enum FWL_EDT_TEXTCHANGED { |
| 80 FWL_EDT_TEXTCHANGED_Insert = 0, |
| 81 FWL_EDT_TEXTCHANGED_Delete, |
| 82 FWL_EDT_TEXTCHANGED_Replace, |
| 83 }; |
80 | 84 |
81 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtTextChanged, FWL_EVTHASH_EDT_TextChanged) | 85 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtTextChanged, FWL_EVTHASH_EDT_TextChanged) |
82 int32_t nChangeType; | 86 int32_t nChangeType; |
83 CFX_WideString wsInsert; | 87 CFX_WideString wsInsert; |
84 CFX_WideString wsDelete; | 88 CFX_WideString wsDelete; |
85 CFX_WideString wsPrevText; | 89 CFX_WideString wsPrevText; |
86 END_FWL_EVENT_DEF | 90 END_FWL_EVENT_DEF |
| 91 |
87 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtTextFull, FWL_EVTHASH_EDT_TextFull) | 92 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtTextFull, FWL_EVTHASH_EDT_TextFull) |
88 END_FWL_EVENT_DEF | 93 END_FWL_EVENT_DEF |
| 94 |
89 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtPreSelfAdaption, FWL_EVTHASH_EDT_PreSelfAdaption) | 95 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtPreSelfAdaption, FWL_EVTHASH_EDT_PreSelfAdaption) |
90 FX_BOOL bHSelfAdaption; | 96 FX_BOOL bHSelfAdaption; |
91 FX_BOOL bVSelfAdaption; | 97 FX_BOOL bVSelfAdaption; |
92 CFX_RectF rtAfterChange; | 98 CFX_RectF rtAfterChange; |
93 END_FWL_EVENT_DEF | 99 END_FWL_EVENT_DEF |
| 100 |
94 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtValidate, FWL_EVTHASH_EDT_Validate) | 101 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtValidate, FWL_EVTHASH_EDT_Validate) |
95 IFWL_Widget* pDstWidget; | 102 IFWL_Widget* pDstWidget; |
96 CFX_WideString wsInsert; | 103 CFX_WideString wsInsert; |
97 FX_BOOL bValidate; | 104 FX_BOOL bValidate; |
98 END_FWL_EVENT_DEF | 105 END_FWL_EVENT_DEF |
| 106 |
99 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtCheckWord, FWL_EVTHASH_EDT_CheckWord) | 107 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtCheckWord, FWL_EVTHASH_EDT_CheckWord) |
100 CFX_ByteString bsWord; | 108 CFX_ByteString bsWord; |
101 FX_BOOL bCheckWord; | 109 FX_BOOL bCheckWord; |
102 END_FWL_EVENT_DEF | 110 END_FWL_EVENT_DEF |
| 111 |
103 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtGetSuggestWords, FWL_EVTHASH_EDT_GetSuggestWords) | 112 BEGIN_FWL_EVENT_DEF(CFWL_EvtEdtGetSuggestWords, FWL_EVTHASH_EDT_GetSuggestWords) |
104 FX_BOOL bSuggestWords; | 113 FX_BOOL bSuggestWords; |
105 CFX_ByteString bsWord; | 114 CFX_ByteString bsWord; |
106 std::vector<CFX_ByteString> bsArraySuggestWords; | 115 std::vector<CFX_ByteString> bsArraySuggestWords; |
107 END_FWL_EVENT_DEF | 116 END_FWL_EVENT_DEF |
| 117 |
| 118 class CFWL_WidgetImpProperties; |
| 119 |
108 class IFWL_EditDP : public IFWL_DataProvider {}; | 120 class IFWL_EditDP : public IFWL_DataProvider {}; |
109 #define FWL_EDT_FIND_FLAGS_Prev (0L << 0) | |
110 #define FWL_EDT_FIND_FLAGS_Next (1L << 0) | |
111 #define FWL_EDT_FIND_FLAGS_WholeWord (1L << 1) | |
112 #define FWL_EDT_FIND_FLAGS_NoCase (1L << 2) | |
113 typedef struct FWL_HEDTFIND_ { void* pData; } * FWL_HEDTFIND; | |
114 | 121 |
115 class IFWL_Edit : public IFWL_Widget { | 122 class IFWL_Edit : public IFWL_Widget { |
116 public: | 123 public: |
117 static IFWL_Edit* Create(const CFWL_WidgetImpProperties& properties, | 124 static IFWL_Edit* Create(const CFWL_WidgetImpProperties& properties, |
118 IFWL_Widget* pOuter); | 125 IFWL_Widget* pOuter); |
119 static IFWL_Edit* CreateComboEdit(const CFWL_WidgetImpProperties& properties, | 126 static IFWL_Edit* CreateComboEdit(const CFWL_WidgetImpProperties& properties, |
120 IFWL_Widget* pOuter); | 127 IFWL_Widget* pOuter); |
121 | 128 |
122 FWL_ERR SetText(const CFX_WideString& wsText); | 129 FWL_ERR SetText(const CFX_WideString& wsText); |
123 int32_t GetTextLength() const; | 130 int32_t GetTextLength() const; |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 void SetScrollOffset(FX_FLOAT fScrollOffset); | 168 void SetScrollOffset(FX_FLOAT fScrollOffset); |
162 FX_BOOL GetSuggestWords(CFX_PointF pointf, | 169 FX_BOOL GetSuggestWords(CFX_PointF pointf, |
163 std::vector<CFX_ByteString>& sSuggest); | 170 std::vector<CFX_ByteString>& sSuggest); |
164 FX_BOOL ReplaceSpellCheckWord(CFX_PointF pointf, | 171 FX_BOOL ReplaceSpellCheckWord(CFX_PointF pointf, |
165 const CFX_ByteStringC& bsReplace); | 172 const CFX_ByteStringC& bsReplace); |
166 | 173 |
167 protected: | 174 protected: |
168 IFWL_Edit(); | 175 IFWL_Edit(); |
169 }; | 176 }; |
170 | 177 |
171 #endif // XFA_INCLUDE_FWL_BASEWIDGET_FWL_EDIT_H_ | 178 #endif // XFA_FWL_BASEWIDGET_IFWL_EDIT_H_ |
OLD | NEW |