| 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 |