Chromium Code Reviews| Index: xfa/fwl/core/ifwl_edit.h |
| diff --git a/xfa/fwl/core/ifwl_edit.h b/xfa/fwl/core/ifwl_edit.h |
| index d436a4f55046a27e7a9231f6d0d47acc89ad510f..65c660332d83d36a676210ebf9eb6b088d1a746b 100644 |
| --- a/xfa/fwl/core/ifwl_edit.h |
| +++ b/xfa/fwl/core/ifwl_edit.h |
| @@ -8,11 +8,10 @@ |
| #define XFA_FWL_CORE_IFWL_EDIT_H_ |
| #include <deque> |
| -#include <memory> |
| #include <vector> |
| +#include "xfa/fde/cfde_txtedtengine.h" |
| #include "xfa/fde/ifde_txtedtdorecord.h" |
| -#include "xfa/fde/ifde_txtedtengine.h" |
| #include "xfa/fwl/core/cfwl_event.h" |
| #include "xfa/fwl/core/cfwl_widget.h" |
| #include "xfa/fwl/core/ifwl_dataprovider.h" |
| @@ -85,12 +84,6 @@ FWL_EVENT_DEF(CFWL_EvtEdtCheckWord, |
| CFX_ByteString bsWord; |
| bool bCheckWord;) |
| -FWL_EVENT_DEF(CFWL_EvtEdtGetSuggestWords, |
| - CFWL_EventType::GetSuggestedWords, |
| - bool bSuggestWords; |
| - CFX_ByteString bsWord; |
| - std::vector<CFX_ByteString> bsArraySuggestWords;) |
| - |
| class IFDE_TxtEdtDoRecord; |
| class IFWL_Edit; |
| class CFWL_MsgActivate; |
| @@ -99,8 +92,6 @@ class CFWL_MsgMouse; |
| class CFWL_WidgetProperties; |
| class IFWL_Caret; |
| -class IFWL_EditDP : public IFWL_DataProvider {}; |
| - |
| class IFWL_Edit : public IFWL_Widget { |
| public: |
| IFWL_Edit(const IFWL_App* app, |
| @@ -122,45 +113,30 @@ class IFWL_Edit : public IFWL_Widget { |
| void OnDrawWidget(CFX_Graphics* pGraphics, |
| const CFX_Matrix* pMatrix) override; |
| - virtual FWL_Error SetText(const CFX_WideString& wsText); |
| - virtual int32_t GetTextLength() const; |
| - virtual FWL_Error GetText(CFX_WideString& wsText, |
| - int32_t nStart = 0, |
| - int32_t nCount = -1) const; |
| - virtual FWL_Error ClearText(); |
| - virtual int32_t GetCaretPos() const; |
| - virtual int32_t SetCaretPos(int32_t nIndex, bool bBefore = true); |
| - virtual FWL_Error AddSelRange(int32_t nStart, int32_t nCount = -1); |
| - virtual int32_t CountSelRanges(); |
| - virtual int32_t GetSelRange(int32_t nIndex, int32_t& nStart); |
| - virtual FWL_Error ClearSelections(); |
| - virtual int32_t GetLimit(); |
| - virtual FWL_Error SetLimit(int32_t nLimit); |
| - virtual FWL_Error SetAliasChar(FX_WCHAR wAlias); |
| - virtual FWL_Error Insert(int32_t nStart, |
| - const FX_WCHAR* lpText, |
| - int32_t nLen); |
| - virtual FWL_Error DeleteSelections(); |
| - virtual FWL_Error DeleteRange(int32_t nStart, int32_t nCount = -1); |
| - virtual FWL_Error Replace(int32_t nStart, |
| - int32_t nLen, |
| - const CFX_WideStringC& wsReplace); |
| - virtual FWL_Error DoClipboard(int32_t iCmd); |
| - virtual bool Copy(CFX_WideString& wsCopy); |
| - virtual bool Cut(CFX_WideString& wsCut); |
| - virtual bool Paste(const CFX_WideString& wsPaste); |
| - virtual bool Delete(); |
| - virtual bool Redo(const IFDE_TxtEdtDoRecord* pRecord); |
| - virtual bool Undo(const IFDE_TxtEdtDoRecord* pRecord); |
| - virtual bool Undo(); |
| - virtual bool Redo(); |
| - virtual bool CanUndo(); |
| - virtual bool CanRedo(); |
| - virtual FWL_Error SetTabWidth(FX_FLOAT fTabWidth, bool bEquidistant); |
| - virtual FWL_Error SetOuter(IFWL_Widget* pOuter); |
| - virtual FWL_Error SetNumberRange(int32_t iMin, int32_t iMax); |
| - virtual FWL_Error SetBackgroundColor(uint32_t color); |
| - virtual FWL_Error SetFont(const CFX_WideString& wsFont, FX_FLOAT fSize); |
| + virtual void SetText(const CFX_WideString& wsText); |
| + |
| + int32_t GetTextLength() const; |
| + void GetText(CFX_WideString& wsText, int32_t nStart = 0, int32_t nCount = -1); |
|
Tom Sepez
2016/11/10 17:00:26
ditto.
dsinclair
2016/11/10 17:22:39
Acknowledged.
|
| + void ClearText(); |
| + |
| + void AddSelRange(int32_t nStart, int32_t nCount = -1); |
| + int32_t CountSelRanges(); |
| + int32_t GetSelRange(int32_t nIndex, int32_t& nStart); |
| + void ClearSelections(); |
| + int32_t GetLimit(); |
| + void SetLimit(int32_t nLimit); |
| + void SetAliasChar(FX_WCHAR wAlias); |
| + bool Copy(CFX_WideString& wsCopy); |
| + bool Cut(CFX_WideString& wsCut); |
| + bool Paste(const CFX_WideString& wsPaste); |
| + bool Redo(const IFDE_TxtEdtDoRecord* pRecord); |
| + bool Undo(const IFDE_TxtEdtDoRecord* pRecord); |
| + bool Undo(); |
| + bool Redo(); |
| + bool CanUndo(); |
| + bool CanRedo(); |
| + |
| + void SetOuter(IFWL_Widget* pOuter); |
| void On_CaretChanged(CFDE_TxtEdtEngine* pEdit, |
| int32_t nPage, |
| @@ -177,14 +153,13 @@ class IFWL_Edit : public IFWL_Widget { |
| void On_AddDoRecord(CFDE_TxtEdtEngine* pEdit, IFDE_TxtEdtDoRecord* pRecord); |
| bool On_Validate(CFDE_TxtEdtEngine* pEdit, CFX_WideString& wsText); |
| void SetScrollOffset(FX_FLOAT fScrollOffset); |
| - bool GetSuggestWords(CFX_PointF pointf, |
| - std::vector<CFX_ByteString>& sSuggest); |
| - bool ReplaceSpellCheckWord(CFX_PointF pointf, |
| - const CFX_ByteStringC& bsReplace); |
| protected: |
| - friend class CFWL_TxtEdtEventSink; |
| + void ShowCaret(bool bVisible, CFX_RectF* pRect = nullptr); |
| + const CFX_RectF& GetRTClient() const { return m_rtClient; } |
| + CFDE_TxtEdtEngine* GetTxtEdtEngine() { return &m_EdtEngine; } |
| + private: |
| void DrawTextBk(CFX_Graphics* pGraphics, |
| IFWL_ThemeProvider* pTheme, |
| const CFX_Matrix* pMatrix = nullptr); |
| @@ -204,7 +179,6 @@ class IFWL_Edit : public IFWL_Widget { |
| void DeviceToEngine(CFX_PointF& pt); |
| void InitScrollBar(bool bVert = true); |
| void InitEngine(); |
| - virtual void ShowCaret(bool bVisible, CFX_RectF* pRect = nullptr); |
| bool ValidateNumberChar(FX_WCHAR cNum); |
| void InitCaret(); |
| void ClearRecord(); |
| @@ -220,7 +194,17 @@ class IFWL_Edit : public IFWL_Widget { |
| int32_t nCount, |
| FX_FLOAT fOffSetX, |
| FX_FLOAT fOffSetY); |
| - int32_t GetWordAtPoint(CFX_PointF pointf, int32_t& nCount); |
| + void DoActivate(CFWL_MsgActivate* pMsg); |
| + void DoDeactivate(CFWL_MsgDeactivate* pMsg); |
| + void DoButtonDown(CFWL_MsgMouse* pMsg); |
| + void OnFocusChanged(CFWL_Message* pMsg, bool bSet); |
| + void OnLButtonDown(CFWL_MsgMouse* pMsg); |
| + void OnLButtonUp(CFWL_MsgMouse* pMsg); |
| + void OnButtonDblClk(CFWL_MsgMouse* pMsg); |
| + void OnMouseMove(CFWL_MsgMouse* pMsg); |
| + void OnKeyDown(CFWL_MsgKey* pMsg); |
| + void OnChar(CFWL_MsgKey* pMsg); |
| + bool OnScroll(IFWL_ScrollBar* pScrollBar, FWL_SCBCODE dwCode, FX_FLOAT fPos); |
| CFX_RectF m_rtClient; |
| CFX_RectF m_rtEngine; |
| @@ -228,40 +212,21 @@ class IFWL_Edit : public IFWL_Widget { |
| FX_FLOAT m_fVAlignOffset; |
| FX_FLOAT m_fScrollOffsetX; |
| FX_FLOAT m_fScrollOffsetY; |
| - std::unique_ptr<CFDE_TxtEdtEngine> m_pEdtEngine; |
| + CFDE_TxtEdtEngine m_EdtEngine; |
|
dsinclair
2016/11/09 22:17:57
This was being created in the constructor and was
|
| bool m_bLButtonDown; |
| int32_t m_nSelStart; |
| int32_t m_nLimit; |
| - FX_FLOAT m_fSpaceAbove; |
| - FX_FLOAT m_fSpaceBelow; |
| FX_FLOAT m_fFontSize; |
| - FX_ARGB m_argbSel; |
| bool m_bSetRange; |
| - int32_t m_iMin; |
| int32_t m_iMax; |
| std::unique_ptr<IFWL_ScrollBar> m_pVertScrollBar; |
| std::unique_ptr<IFWL_ScrollBar> m_pHorzScrollBar; |
| std::unique_ptr<IFWL_Caret> m_pCaret; |
| CFX_WideString m_wsCache; |
| - uint32_t m_backColor; |
| - bool m_updateBackColor; |
| CFX_WideString m_wsFont; |
| std::deque<std::unique_ptr<IFDE_TxtEdtDoRecord>> m_DoRecords; |
| int32_t m_iCurRecord; |
| int32_t m_iMaxRecord; |
| - |
| - private: |
| - void DoActivate(CFWL_MsgActivate* pMsg); |
| - void DoDeactivate(CFWL_MsgDeactivate* pMsg); |
| - void DoButtonDown(CFWL_MsgMouse* pMsg); |
| - void OnFocusChanged(CFWL_Message* pMsg, bool bSet); |
| - void OnLButtonDown(CFWL_MsgMouse* pMsg); |
| - void OnLButtonUp(CFWL_MsgMouse* pMsg); |
| - void OnButtonDblClk(CFWL_MsgMouse* pMsg); |
| - void OnMouseMove(CFWL_MsgMouse* pMsg); |
| - void OnKeyDown(CFWL_MsgKey* pMsg); |
| - void OnChar(CFWL_MsgKey* pMsg); |
| - bool OnScroll(IFWL_ScrollBar* pScrollBar, FWL_SCBCODE dwCode, FX_FLOAT fPos); |
| }; |
| #endif // XFA_FWL_CORE_IFWL_EDIT_H_ |