diff options
Diffstat (limited to 'fpdfsdk/include/pdfwindow/PWL_EditCtrl.h')
-rw-r--r-- | fpdfsdk/include/pdfwindow/PWL_EditCtrl.h | 342 |
1 files changed, 171 insertions, 171 deletions
diff --git a/fpdfsdk/include/pdfwindow/PWL_EditCtrl.h b/fpdfsdk/include/pdfwindow/PWL_EditCtrl.h index 3df0f4c23f..b13d5e1e79 100644 --- a/fpdfsdk/include/pdfwindow/PWL_EditCtrl.h +++ b/fpdfsdk/include/pdfwindow/PWL_EditCtrl.h @@ -1,171 +1,171 @@ -// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef _PWL_EDITCTRL_H_
-#define _PWL_EDITCTRL_H_
-
-enum PWL_EDIT_ALIGNFORMAT_H
-{
- PEAH_LEFT = 0,
- PEAH_MIDDLE,
- PEAH_RIGHT
-};
-
-enum PWL_EDIT_ALIGNFORMAT_V
-{
- PEAV_TOP = 0,
- PEAV_CENTER,
- PEAV_BOTTOM
-};
-
-class IPWL_Edit_Notify;
-class CPWL_EditCtrl;
-class CPWL_Caret;
-class IFX_Edit;
-class CPWL_Edit;
-
-class IPWL_Edit_Notify
-{
-public:
- //when the position of caret is changed in edit
- virtual void OnCaretMove(FX_INT32 x1, FX_INT32 y1, FX_INT32 x2, FX_INT32 y2) {}
- virtual void OnContentChange(const CPDF_Rect& rcContent){}
- //OprType: 0 InsertWord
- //1 InsertReturn
- //2 BackSpace
- //3 Delete
- //4 Clear
- //5 InsertText
- //6 SetText
- virtual void OnInsertWord(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){}
- virtual void OnInsertReturn(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){}
- virtual void OnBackSpace(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){}
- virtual void OnDelete(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){}
- virtual void OnClear(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){}
- virtual void OnInsertText(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){}
- virtual void OnSetText(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){}
- virtual void OnAddUndo(CPWL_Edit* pEdit) {}
-};
-
-class PWL_CLASS CPWL_EditCtrl : public CPWL_Wnd, public IFX_Edit_Notify
-{
- friend class CPWL_Edit_Notify;
-
-public:
- CPWL_EditCtrl();
- virtual ~CPWL_EditCtrl();
-
-public:
- virtual void OnCreate(PWL_CREATEPARAM & cp);
- virtual void OnCreated();
-
- virtual FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag);
- virtual FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag);
- virtual FX_BOOL OnLButtonDown(const CPDF_Point & point, FX_DWORD nFlag);
- virtual FX_BOOL OnLButtonUp(const CPDF_Point & point, FX_DWORD nFlag);
- virtual FX_BOOL OnMouseMove(const CPDF_Point & point, FX_DWORD nFlag);
- virtual void OnNotify(CPWL_Wnd* pWnd, FX_DWORD msg, FX_INTPTR wParam = 0, FX_INTPTR lParam = 0);
-
- virtual void CreateChildWnd(const PWL_CREATEPARAM & cp);
- virtual void RePosChildWnd();
- virtual void SetFontSize(FX_FLOAT fFontSize);
- virtual FX_FLOAT GetFontSize() const;
-
-public:
- virtual void SetText(FX_LPCWSTR csText);
-
- virtual void CopyText();
- virtual void PasteText();
- virtual void CutText();
-
- CPDF_Rect GetContentRect() const;
- void GetCaretPos(FX_INT32& x, FX_INT32& y) const;
- FX_BOOL IsModified() const;
-
- CFX_WideString GetText() const;
- void SetSel(FX_INT32 nStartChar,FX_INT32 nEndChar);
- void GetSel(FX_INT32 & nStartChar, FX_INT32 & nEndChar ) const;
- void GetTextRange(const CPDF_Rect& rect, FX_INT32 & nStartChar, FX_INT32 & nEndChar) const;
- CFX_WideString GetText(FX_INT32 & nStartChar, FX_INT32 & nEndChar) const;
- void Clear();
- void SelectAll();
-
- FX_INT32 GetCaret() const;
- void SetCaret(FX_INT32 nPos);
- FX_INT32 GetTotalWords() const;
-
- void Paint();
-
- void EnableRefresh(FX_BOOL bRefresh);
- CPDF_Point GetScrollPos() const;
- void SetScrollPos(const CPDF_Point& point);
-
- void SetEditNotify(IPWL_Edit_Notify* pNotify) {m_pEditNotify = pNotify;}
-
- void SetCharSet(FX_BYTE nCharSet){m_nCharSet = nCharSet;}
- FX_INT32 GetCharSet() const;
-
- void SetCodePage(FX_INT32 nCodePage){m_nCodePage = nCodePage;}
- FX_INT32 GetCodePage() const {return m_nCodePage;}
-
- CPDF_Font * GetCaretFont() const;
- FX_FLOAT GetCaretFontSize() const;
-
- FX_BOOL CanUndo() const;
- FX_BOOL CanRedo() const;
- void Redo();
- void Undo();
-
- void SetReadyToInput();
-protected:
- virtual void ShowVScrollBar(FX_BOOL bShow);
-
- virtual void InsertWord(FX_WORD word, FX_INT32 nCharset);
- virtual void InsertReturn();
- virtual void InsertText(FX_LPCWSTR csText);
-
- virtual void SetCursor();
- FX_BOOL IsWndHorV();
-
- void Delete();
- void Backspace();
-
-protected:
- void GetCaretInfo(CPDF_Point & ptHead, CPDF_Point & ptFoot) const;
- void SetCaret(FX_BOOL bVisible, const CPDF_Point & ptHead, const CPDF_Point & ptFoot);
-
- void SetEditCaret(FX_BOOL bVisible);
-
-protected:
- virtual void IOnSetScrollInfoX(FX_FLOAT fPlateMin, FX_FLOAT fPlateMax,
- FX_FLOAT fContentMin, FX_FLOAT fContentMax,
- FX_FLOAT fSmallStep, FX_FLOAT fBigStep){}
- virtual void IOnSetScrollInfoY(FX_FLOAT fPlateMin, FX_FLOAT fPlateMax,
- FX_FLOAT fContentMin, FX_FLOAT fContentMax,
- FX_FLOAT fSmallStep, FX_FLOAT fBigStep);
- virtual void IOnSetScrollPosX(FX_FLOAT fx){}
- virtual void IOnSetScrollPosY(FX_FLOAT fy);
- virtual void IOnSetCaret(FX_BOOL bVisible,const CPDF_Point & ptHead,const CPDF_Point & ptFoot, const CPVT_WordPlace& place);
- virtual void IOnCaretChange(const CPVT_SecProps & secProps, const CPVT_WordProps & wordProps);
- virtual void IOnContentChange(const CPDF_Rect& rcContent);
- virtual void IOnInvalidateRect(CPDF_Rect * pRect);
-
-private:
- void CreateEditCaret(const PWL_CREATEPARAM & cp);
-
-protected:
- IFX_Edit* m_pEdit;
- CPWL_Caret* m_pEditCaret;
- FX_BOOL m_bMouseDown;
- IPWL_Edit_Notify* m_pEditNotify;
-
-private:
- FX_INT32 m_nCharSet;
- FX_INT32 m_nCodePage;
-};
-
-#endif
-
+// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef _PWL_EDITCTRL_H_ +#define _PWL_EDITCTRL_H_ + +enum PWL_EDIT_ALIGNFORMAT_H +{ + PEAH_LEFT = 0, + PEAH_MIDDLE, + PEAH_RIGHT +}; + +enum PWL_EDIT_ALIGNFORMAT_V +{ + PEAV_TOP = 0, + PEAV_CENTER, + PEAV_BOTTOM +}; + +class IPWL_Edit_Notify; +class CPWL_EditCtrl; +class CPWL_Caret; +class IFX_Edit; +class CPWL_Edit; + +class IPWL_Edit_Notify +{ +public: + //when the position of caret is changed in edit + virtual void OnCaretMove(FX_INT32 x1, FX_INT32 y1, FX_INT32 x2, FX_INT32 y2) {} + virtual void OnContentChange(const CPDF_Rect& rcContent){} + //OprType: 0 InsertWord + //1 InsertReturn + //2 BackSpace + //3 Delete + //4 Clear + //5 InsertText + //6 SetText + virtual void OnInsertWord(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){} + virtual void OnInsertReturn(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){} + virtual void OnBackSpace(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){} + virtual void OnDelete(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){} + virtual void OnClear(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){} + virtual void OnInsertText(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){} + virtual void OnSetText(const CPVT_WordPlace& place, const CPVT_WordPlace& oldplace){} + virtual void OnAddUndo(CPWL_Edit* pEdit) {} +}; + +class PWL_CLASS CPWL_EditCtrl : public CPWL_Wnd, public IFX_Edit_Notify +{ + friend class CPWL_Edit_Notify; + +public: + CPWL_EditCtrl(); + virtual ~CPWL_EditCtrl(); + +public: + virtual void OnCreate(PWL_CREATEPARAM & cp); + virtual void OnCreated(); + + virtual FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag); + virtual FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag); + virtual FX_BOOL OnLButtonDown(const CPDF_Point & point, FX_DWORD nFlag); + virtual FX_BOOL OnLButtonUp(const CPDF_Point & point, FX_DWORD nFlag); + virtual FX_BOOL OnMouseMove(const CPDF_Point & point, FX_DWORD nFlag); + virtual void OnNotify(CPWL_Wnd* pWnd, FX_DWORD msg, FX_INTPTR wParam = 0, FX_INTPTR lParam = 0); + + virtual void CreateChildWnd(const PWL_CREATEPARAM & cp); + virtual void RePosChildWnd(); + virtual void SetFontSize(FX_FLOAT fFontSize); + virtual FX_FLOAT GetFontSize() const; + +public: + virtual void SetText(FX_LPCWSTR csText); + + virtual void CopyText(); + virtual void PasteText(); + virtual void CutText(); + + CPDF_Rect GetContentRect() const; + void GetCaretPos(FX_INT32& x, FX_INT32& y) const; + FX_BOOL IsModified() const; + + CFX_WideString GetText() const; + void SetSel(FX_INT32 nStartChar,FX_INT32 nEndChar); + void GetSel(FX_INT32 & nStartChar, FX_INT32 & nEndChar ) const; + void GetTextRange(const CPDF_Rect& rect, FX_INT32 & nStartChar, FX_INT32 & nEndChar) const; + CFX_WideString GetText(FX_INT32 & nStartChar, FX_INT32 & nEndChar) const; + void Clear(); + void SelectAll(); + + FX_INT32 GetCaret() const; + void SetCaret(FX_INT32 nPos); + FX_INT32 GetTotalWords() const; + + void Paint(); + + void EnableRefresh(FX_BOOL bRefresh); + CPDF_Point GetScrollPos() const; + void SetScrollPos(const CPDF_Point& point); + + void SetEditNotify(IPWL_Edit_Notify* pNotify) {m_pEditNotify = pNotify;} + + void SetCharSet(FX_BYTE nCharSet){m_nCharSet = nCharSet;} + FX_INT32 GetCharSet() const; + + void SetCodePage(FX_INT32 nCodePage){m_nCodePage = nCodePage;} + FX_INT32 GetCodePage() const {return m_nCodePage;} + + CPDF_Font * GetCaretFont() const; + FX_FLOAT GetCaretFontSize() const; + + FX_BOOL CanUndo() const; + FX_BOOL CanRedo() const; + void Redo(); + void Undo(); + + void SetReadyToInput(); +protected: + virtual void ShowVScrollBar(FX_BOOL bShow); + + virtual void InsertWord(FX_WORD word, FX_INT32 nCharset); + virtual void InsertReturn(); + virtual void InsertText(FX_LPCWSTR csText); + + virtual void SetCursor(); + FX_BOOL IsWndHorV(); + + void Delete(); + void Backspace(); + +protected: + void GetCaretInfo(CPDF_Point & ptHead, CPDF_Point & ptFoot) const; + void SetCaret(FX_BOOL bVisible, const CPDF_Point & ptHead, const CPDF_Point & ptFoot); + + void SetEditCaret(FX_BOOL bVisible); + +protected: + virtual void IOnSetScrollInfoX(FX_FLOAT fPlateMin, FX_FLOAT fPlateMax, + FX_FLOAT fContentMin, FX_FLOAT fContentMax, + FX_FLOAT fSmallStep, FX_FLOAT fBigStep){} + virtual void IOnSetScrollInfoY(FX_FLOAT fPlateMin, FX_FLOAT fPlateMax, + FX_FLOAT fContentMin, FX_FLOAT fContentMax, + FX_FLOAT fSmallStep, FX_FLOAT fBigStep); + virtual void IOnSetScrollPosX(FX_FLOAT fx){} + virtual void IOnSetScrollPosY(FX_FLOAT fy); + virtual void IOnSetCaret(FX_BOOL bVisible,const CPDF_Point & ptHead,const CPDF_Point & ptFoot, const CPVT_WordPlace& place); + virtual void IOnCaretChange(const CPVT_SecProps & secProps, const CPVT_WordProps & wordProps); + virtual void IOnContentChange(const CPDF_Rect& rcContent); + virtual void IOnInvalidateRect(CPDF_Rect * pRect); + +private: + void CreateEditCaret(const PWL_CREATEPARAM & cp); + +protected: + IFX_Edit* m_pEdit; + CPWL_Caret* m_pEditCaret; + FX_BOOL m_bMouseDown; + IPWL_Edit_Notify* m_pEditNotify; + +private: + FX_INT32 m_nCharSet; + FX_INT32 m_nCodePage; +}; + +#endif + |