| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright 2014 PDFium Authors. All rights reserved. |  | 
| 2 // Use of this source code is governed by a BSD-style license that can be |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |  | 
| 6 |  | 
| 7 #ifndef FPDFSDK_PDFWINDOW_PWL_NOTE_H_ |  | 
| 8 #define FPDFSDK_PDFWINDOW_PWL_NOTE_H_ |  | 
| 9 |  | 
| 10 #include "fpdfsdk/pdfwindow/PWL_Button.h" |  | 
| 11 #include "fpdfsdk/pdfwindow/PWL_Edit.h" |  | 
| 12 #include "fpdfsdk/pdfwindow/PWL_ListCtrl.h" |  | 
| 13 #include "fpdfsdk/pdfwindow/PWL_ScrollBar.h" |  | 
| 14 #include "fpdfsdk/pdfwindow/PWL_Wnd.h" |  | 
| 15 |  | 
| 16 class CPWL_Label; |  | 
| 17 class CPWL_Note; |  | 
| 18 class CPWL_NoteItem; |  | 
| 19 class CPWL_Note_CloseBox; |  | 
| 20 class CPWL_Note_Contents; |  | 
| 21 class CPWL_Note_Edit; |  | 
| 22 class CPWL_Note_Icon; |  | 
| 23 class CPWL_Note_LBBox; |  | 
| 24 class CPWL_Note_Options; |  | 
| 25 class CPWL_Note_RBBox; |  | 
| 26 class IPWL_NoteHandler; |  | 
| 27 class IPWL_NoteItem; |  | 
| 28 class IPopup_Note; |  | 
| 29 |  | 
| 30 class IPWL_NoteHandler { |  | 
| 31  public: |  | 
| 32   virtual ~IPWL_NoteHandler() {} |  | 
| 33   virtual void OnNoteColorChanged(const CPWL_Color& color) = 0; |  | 
| 34 }; |  | 
| 35 |  | 
| 36 class IPWL_NoteItem { |  | 
| 37  public: |  | 
| 38   virtual ~IPWL_NoteItem() {} |  | 
| 39   virtual void SetPrivateData(void* pData) = 0; |  | 
| 40   virtual void SetBkColor(const CPWL_Color& color) = 0; |  | 
| 41   virtual void SetSubjectName(const CFX_WideString& sName) = 0; |  | 
| 42   virtual void SetDateTime(FX_SYSTEMTIME time) = 0; |  | 
| 43   virtual void SetContents(const CFX_WideString& sContents) = 0; |  | 
| 44 |  | 
| 45   virtual int32_t CountSubItems() const = 0; |  | 
| 46   virtual IPWL_NoteItem* GetSubItems(int32_t index) const = 0; |  | 
| 47   virtual void SetFocus() = 0; |  | 
| 48 |  | 
| 49   virtual IPWL_NoteItem* GetParentItem() const = 0; |  | 
| 50   virtual void* GetPrivateData() const = 0; |  | 
| 51   virtual CFX_WideString GetAuthorName() const = 0; |  | 
| 52   virtual CPWL_Color GetBkColor() const = 0; |  | 
| 53   virtual CFX_WideString GetContents() const = 0; |  | 
| 54   virtual FX_SYSTEMTIME GetDateTime() const = 0; |  | 
| 55   virtual CFX_WideString GetSubjectName() const = 0; |  | 
| 56 |  | 
| 57   virtual CPWL_Edit* GetEdit() const = 0; |  | 
| 58 }; |  | 
| 59 |  | 
| 60 class CPWL_Note_Icon : public CPWL_Wnd { |  | 
| 61  public: |  | 
| 62   CPWL_Note_Icon(); |  | 
| 63   ~CPWL_Note_Icon() override; |  | 
| 64 |  | 
| 65   void SetIconType(int32_t nType); |  | 
| 66 |  | 
| 67  protected: |  | 
| 68   // CPWL_Wnd |  | 
| 69   void DrawThisAppearance(CFX_RenderDevice* pDevice, |  | 
| 70                           CFX_Matrix* pUser2Device) override; |  | 
| 71 |  | 
| 72  private: |  | 
| 73   int32_t m_nType; |  | 
| 74 }; |  | 
| 75 |  | 
| 76 class CPWL_Note_CloseBox : public CPWL_Button { |  | 
| 77  public: |  | 
| 78   CPWL_Note_CloseBox(); |  | 
| 79   ~CPWL_Note_CloseBox() override; |  | 
| 80 |  | 
| 81  protected: |  | 
| 82   // CPWL_Button |  | 
| 83   void DrawThisAppearance(CFX_RenderDevice* pDevice, |  | 
| 84                           CFX_Matrix* pUser2Device) override; |  | 
| 85   FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, uint32_t nFlag) override; |  | 
| 86   FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, uint32_t nFlag) override; |  | 
| 87 |  | 
| 88  private: |  | 
| 89   FX_BOOL m_bMouseDown; |  | 
| 90 }; |  | 
| 91 |  | 
| 92 class CPWL_Note_LBBox : public CPWL_Wnd { |  | 
| 93  public: |  | 
| 94   CPWL_Note_LBBox(); |  | 
| 95   ~CPWL_Note_LBBox() override; |  | 
| 96 |  | 
| 97  protected: |  | 
| 98   // CPWL_Wnd |  | 
| 99   void DrawThisAppearance(CFX_RenderDevice* pDevice, |  | 
| 100                           CFX_Matrix* pUser2Device) override; |  | 
| 101 }; |  | 
| 102 |  | 
| 103 class CPWL_Note_RBBox : public CPWL_Wnd { |  | 
| 104  public: |  | 
| 105   CPWL_Note_RBBox(); |  | 
| 106   ~CPWL_Note_RBBox() override; |  | 
| 107 |  | 
| 108  protected: |  | 
| 109   // CPWL_Wnd |  | 
| 110   void DrawThisAppearance(CFX_RenderDevice* pDevice, |  | 
| 111                           CFX_Matrix* pUser2Device) override; |  | 
| 112 }; |  | 
| 113 |  | 
| 114 class CPWL_Note_Edit : public CPWL_Edit { |  | 
| 115  public: |  | 
| 116   CPWL_Note_Edit(); |  | 
| 117   ~CPWL_Note_Edit() override; |  | 
| 118 |  | 
| 119   void EnableNotify(FX_BOOL bEnable) { m_bEnableNotify = bEnable; } |  | 
| 120 |  | 
| 121   // CPWL_Edit |  | 
| 122   FX_FLOAT GetItemLeftMargin() override; |  | 
| 123   FX_FLOAT GetItemRightMargin() override; |  | 
| 124   FX_FLOAT GetItemHeight(FX_FLOAT fLimitWidth) override; |  | 
| 125   void SetText(const FX_WCHAR* csText) override; |  | 
| 126   void OnNotify(CPWL_Wnd* pWnd, |  | 
| 127                 uint32_t msg, |  | 
| 128                 intptr_t wParam = 0, |  | 
| 129                 intptr_t lParam = 0) override; |  | 
| 130   void RePosChildWnd() override; |  | 
| 131   void OnSetFocus() override; |  | 
| 132   void OnKillFocus() override; |  | 
| 133 |  | 
| 134  private: |  | 
| 135   FX_BOOL m_bEnableNotify; |  | 
| 136   FX_FLOAT m_fOldItemHeight; |  | 
| 137   FX_BOOL m_bSizeChanged; |  | 
| 138   FX_FLOAT m_fOldMin; |  | 
| 139   FX_FLOAT m_fOldMax; |  | 
| 140 }; |  | 
| 141 |  | 
| 142 class CPWL_Note_Options : public CPWL_Wnd { |  | 
| 143  public: |  | 
| 144   CPWL_Note_Options(); |  | 
| 145   ~CPWL_Note_Options() override; |  | 
| 146 |  | 
| 147   CFX_FloatRect GetContentRect() const; |  | 
| 148   void SetText(const CFX_WideString& sText); |  | 
| 149 |  | 
| 150   // CPWL_Wnd |  | 
| 151   void RePosChildWnd() override; |  | 
| 152   void CreateChildWnd(const PWL_CREATEPARAM& cp) override; |  | 
| 153   void DrawThisAppearance(CFX_RenderDevice* pDevice, |  | 
| 154                           CFX_Matrix* pUser2Device) override; |  | 
| 155   void SetTextColor(const CPWL_Color& color) override; |  | 
| 156 |  | 
| 157  private: |  | 
| 158   CPWL_Label* m_pText; |  | 
| 159 }; |  | 
| 160 |  | 
| 161 class CPWL_Note_Contents : public CPWL_ListCtrl { |  | 
| 162  public: |  | 
| 163   CPWL_Note_Contents(); |  | 
| 164   ~CPWL_Note_Contents() override; |  | 
| 165 |  | 
| 166   void SetEditFocus(FX_BOOL bLast); |  | 
| 167   CPWL_Edit* GetEdit() const; |  | 
| 168 |  | 
| 169   void SetText(const CFX_WideString& sText); |  | 
| 170   CFX_WideString GetText() const; |  | 
| 171 |  | 
| 172   int32_t CountSubItems() const; |  | 
| 173   IPWL_NoteItem* GetSubItems(int32_t index) const; |  | 
| 174 |  | 
| 175   virtual IPWL_NoteItem* GetHitNoteItem(const CFX_FloatPoint& point); |  | 
| 176   void EnableRead(FX_BOOL bEnabled); |  | 
| 177   void EnableModify(FX_BOOL bEnabled); |  | 
| 178 |  | 
| 179   // CPWL_ListCtrl |  | 
| 180   CFX_ByteString GetClassName() const override; |  | 
| 181   void OnNotify(CPWL_Wnd* pWnd, |  | 
| 182                 uint32_t msg, |  | 
| 183                 intptr_t wParam = 0, |  | 
| 184                 intptr_t lParam = 0) override; |  | 
| 185   FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, uint32_t nFlag) override; |  | 
| 186   void CreateChildWnd(const PWL_CREATEPARAM& cp) override; |  | 
| 187 |  | 
| 188  private: |  | 
| 189   CPWL_Note_Edit* m_pEdit; |  | 
| 190 }; |  | 
| 191 |  | 
| 192 class CPWL_NoteItem : public CPWL_Wnd, public IPWL_NoteItem { |  | 
| 193  public: |  | 
| 194   CPWL_NoteItem(); |  | 
| 195   ~CPWL_NoteItem() override; |  | 
| 196 |  | 
| 197   virtual IPWL_NoteItem* GetHitNoteItem(const CFX_FloatPoint& point); |  | 
| 198   virtual IPWL_NoteItem* GetFocusedNoteItem() const; |  | 
| 199 |  | 
| 200   virtual FX_BOOL IsTopItem() const { return FALSE; } |  | 
| 201 |  | 
| 202   void EnableRead(FX_BOOL bEnabled); |  | 
| 203   void EnableModify(FX_BOOL bEnabled); |  | 
| 204 |  | 
| 205   // IPWL_NoteItem |  | 
| 206   void SetPrivateData(void* pData) override; |  | 
| 207   void SetBkColor(const CPWL_Color& color) override; |  | 
| 208   void SetSubjectName(const CFX_WideString& sName) override; |  | 
| 209   void SetDateTime(FX_SYSTEMTIME time) override; |  | 
| 210   void SetContents(const CFX_WideString& sContents) override; |  | 
| 211   int32_t CountSubItems() const override; |  | 
| 212   IPWL_NoteItem* GetSubItems(int32_t index) const override; |  | 
| 213   void SetFocus() override { SetNoteFocus(FALSE); } |  | 
| 214   IPWL_NoteItem* GetParentItem() const override; |  | 
| 215   void* GetPrivateData() const override; |  | 
| 216   CFX_WideString GetAuthorName() const override; |  | 
| 217   CPWL_Color GetBkColor() const override; |  | 
| 218   CFX_WideString GetContents() const override; |  | 
| 219   FX_SYSTEMTIME GetDateTime() const override; |  | 
| 220   CFX_WideString GetSubjectName() const override; |  | 
| 221   CPWL_Edit* GetEdit() const override; |  | 
| 222 |  | 
| 223  protected: |  | 
| 224   // CPWL_Wnd |  | 
| 225   FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, uint32_t nFlag) override; |  | 
| 226   FX_BOOL OnRButtonUp(const CFX_FloatPoint& point, uint32_t nFlag) override; |  | 
| 227   CFX_ByteString GetClassName() const override; |  | 
| 228   void RePosChildWnd() override; |  | 
| 229   void CreateChildWnd(const PWL_CREATEPARAM& cp) override; |  | 
| 230   void OnNotify(CPWL_Wnd* pWnd, |  | 
| 231                 uint32_t msg, |  | 
| 232                 intptr_t wParam = 0, |  | 
| 233                 intptr_t lParam = 0) override; |  | 
| 234   FX_FLOAT GetItemHeight(FX_FLOAT fLimitWidth) override; |  | 
| 235   FX_FLOAT GetItemLeftMargin() override; |  | 
| 236   FX_FLOAT GetItemRightMargin() override; |  | 
| 237 |  | 
| 238   CPWL_NoteItem* GetParentNoteItem() const; |  | 
| 239 |  | 
| 240   void SetNoteFocus(FX_BOOL bLast); |  | 
| 241   void PopupNoteItemMenu(const CFX_FloatPoint& point); |  | 
| 242 |  | 
| 243  protected: |  | 
| 244   CPWL_Label* m_pSubject; |  | 
| 245   CPWL_Label* m_pDateTime; |  | 
| 246   CPWL_Note_Contents* m_pContents; |  | 
| 247 |  | 
| 248  private: |  | 
| 249   void* m_pPrivateData; |  | 
| 250   FX_SYSTEMTIME m_dtNote; |  | 
| 251   CFX_WideString m_sAuthor; |  | 
| 252 |  | 
| 253   FX_FLOAT m_fOldItemHeight; |  | 
| 254   FX_BOOL m_bSizeChanged; |  | 
| 255   FX_BOOL m_bAllowModify; |  | 
| 256 }; |  | 
| 257 |  | 
| 258 #endif  // FPDFSDK_PDFWINDOW_PWL_NOTE_H_ |  | 
| OLD | NEW | 
|---|