Clean up CPDF_AnnotList.
[pdfium.git] / fpdfsdk / include / pdfwindow / PWL_ComboBox.h
index f64b636..e297523 100644 (file)
-// Copyright 2014 PDFium Authors. All rights reserved.\r
-// Use of this source code is governed by a BSD-style license that can be\r
-// found in the LICENSE file.\r
\r
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
-\r
-#ifndef _PWL_COMBOBOX_H_\r
-#define _PWL_COMBOBOX_H_\r
-\r
-class CPWL_CBEdit : public CPWL_Edit\r
-{\r
-public:\r
-       CPWL_CBEdit(){};\r
-       virtual ~CPWL_CBEdit(){};\r
-};\r
-\r
-class PWL_CLASS CPWL_CBListBox : public CPWL_ListBox\r
-{\r
-public:\r
-       CPWL_CBListBox(){};\r
-       virtual ~CPWL_CBListBox(){};\r
-\r
-public:\r
-       virtual FX_BOOL                         OnLButtonUp(const CPDF_Point & point, FX_DWORD nFlag);\r
-\r
-       virtual FX_BOOL                         OnKeyDown(FX_WORD nChar, FX_BOOL & bExit, FX_DWORD nFlag);\r
-       virtual FX_BOOL                         OnChar(FX_WORD nChar, FX_BOOL & bExit, FX_DWORD nFlag);\r
-};\r
-\r
-#define PWL_COMBOBOX_BUTTON_WIDTH              13\r
-\r
-class CPWL_CBButton : public CPWL_Wnd\r
-{\r
-public:\r
-       CPWL_CBButton(){};\r
-       virtual ~CPWL_CBButton(){};\r
-\r
-public:\r
-       virtual void                            GetThisAppearanceStream(CFX_ByteTextBuf & sAppStream);\r
-       virtual void                            DrawThisAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device);\r
-\r
-       virtual FX_BOOL                         OnLButtonDown(const CPDF_Point & point, FX_DWORD nFlag);\r
-       virtual FX_BOOL                         OnLButtonUp(const CPDF_Point & point, FX_DWORD nFlag);\r
-\r
-};\r
-\r
-class PWL_CLASS CPWL_ComboBox : public CPWL_Wnd  \r
-{\r
-public:\r
-       CPWL_ComboBox();\r
-       operator CPWL_Edit* ()          {return m_pEdit;}\r
-\r
-public:\r
-       virtual CFX_ByteString          GetClassName() const;\r
-       virtual void                            OnCreate(PWL_CREATEPARAM & cp);\r
-\r
-       virtual FX_BOOL                         OnKeyDown(FX_WORD nChar, FX_DWORD nFlag);       \r
-       virtual FX_BOOL                         OnChar(FX_WORD nChar, FX_DWORD nFlag);\r
-\r
-       virtual void                            OnNotify(CPWL_Wnd* pWnd, FX_DWORD msg, FX_INTPTR wParam = 0, FX_INTPTR lParam = 0);\r
-\r
-       virtual void                            CreateChildWnd(const PWL_CREATEPARAM & cp);\r
-       virtual void                            RePosChildWnd();\r
-\r
-       virtual CPDF_Rect                       GetFocusRect() const;\r
-       \r
-       virtual void                            SetFocus();\r
-       virtual void                            KillFocus();\r
-\r
-       FX_BOOL                                         IsModified() const;\r
-\r
-public:        \r
-       void                                            SetFillerNotify(IPWL_Filler_Notify* pNotify);\r
-\r
-       CFX_WideString                          GetText() const;\r
-       void                                            SetText(FX_LPCWSTR text);\r
-\r
-       void                                            AddString(FX_LPCWSTR string);\r
-       FX_INT32                                        GetSelect() const;\r
-       void                                            SetSelect(FX_INT32 nItemIndex);\r
-\r
-       void                                            SetEditSel(FX_INT32 nStartChar,FX_INT32 nEndChar);\r
-       void                                            GetEditSel(FX_INT32 & nStartChar, FX_INT32 & nEndChar ) const;\r
-       void                                            Clear();\r
-       void                                            SelectAll();\r
-       FX_BOOL                                         IsPopup() const;\r
-\r
-       void                                            SetSelectText();\r
-\r
-private:       \r
-       void                                            CreateEdit(const PWL_CREATEPARAM & cp);\r
-       void                                            CreateButton(const PWL_CREATEPARAM & cp);\r
-       void                                            CreateListBox(const PWL_CREATEPARAM & cp);\r
-\r
-       void                                            SetPopup(FX_BOOL bPopup);\r
-       \r
-private:\r
-       CPWL_CBEdit*                            m_pEdit;\r
-       CPWL_CBButton*                          m_pButton;\r
-       CPWL_CBListBox*                         m_pList;\r
-\r
-       FX_BOOL                                         m_bPopup;\r
-       CPDF_Rect                                       m_rcOldWindow;\r
-       FX_INT32                                        m_nPopupWhere;\r
-       FX_INT32                                        m_nSelectItem;\r
-       IPWL_Filler_Notify*                     m_pFillerNotify;\r
-\r
-public:\r
-       void                                                    AttachFFLData(void* pData) {m_pFormFiller = pData;}\r
-private:\r
-       void*                                                   m_pFormFiller;\r
-};\r
-\r
-#endif // !defined(AFX_PWL_COMBOBOX_H__9D6645F8_64AA_4806_94E8_95FDEDD39C17__INCLUDED_)\r
-\r
+// 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 FPDFSDK_INCLUDE_PDFWINDOW_PWL_COMBOBOX_H_
+#define FPDFSDK_INCLUDE_PDFWINDOW_PWL_COMBOBOX_H_
+
+#include "PWL_Edit.h"
+#include "PWL_ListBox.h"
+#include "PWL_Wnd.h"
+
+class CPWL_CBEdit : public CPWL_Edit {
+ public:
+  CPWL_CBEdit() {}
+  ~CPWL_CBEdit() override {}
+};
+
+class CPWL_CBListBox : public CPWL_ListBox {
+ public:
+  CPWL_CBListBox() {}
+  ~CPWL_CBListBox() override {}
+
+  // CPWL_ListBox
+  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+
+  FX_BOOL OnKeyDownWithExit(FX_WORD nChar, FX_BOOL& bExit, FX_DWORD nFlag);
+  FX_BOOL OnCharWithExit(FX_WORD nChar, FX_BOOL& bExit, FX_DWORD nFlag);
+};
+
+#define PWL_COMBOBOX_BUTTON_WIDTH 13
+
+class CPWL_CBButton : public CPWL_Wnd {
+ public:
+  CPWL_CBButton() {}
+  ~CPWL_CBButton() override {}
+
+  // CPWL_Wnd
+  void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) override;
+  void DrawThisAppearance(CFX_RenderDevice* pDevice,
+                          CPDF_Matrix* pUser2Device) override;
+  FX_BOOL OnLButtonDown(const CPDF_Point& point, FX_DWORD nFlag) override;
+  FX_BOOL OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) override;
+};
+
+class CPWL_ComboBox : public CPWL_Wnd {
+ public:
+  CPWL_ComboBox();
+  ~CPWL_ComboBox() {}
+
+  operator CPWL_Edit*() { return m_pEdit; }
+
+  // CPWL_Wnd
+  CFX_ByteString GetClassName() const override;
+  void OnCreate(PWL_CREATEPARAM& cp) override;
+  FX_BOOL OnKeyDown(FX_WORD nChar, FX_DWORD nFlag) override;
+  FX_BOOL OnChar(FX_WORD nChar, FX_DWORD nFlag) override;
+  void OnNotify(CPWL_Wnd* pWnd,
+                FX_DWORD msg,
+                intptr_t wParam = 0,
+                intptr_t lParam = 0) override;
+  void CreateChildWnd(const PWL_CREATEPARAM& cp) override;
+  void RePosChildWnd() override;
+  CPDF_Rect GetFocusRect() const override;
+  void SetFocus() override;
+  void KillFocus() override;
+  FX_BOOL IsModified() const override;
+
+  void SetFillerNotify(IPWL_Filler_Notify* pNotify);
+
+  CFX_WideString GetText() const;
+  void SetText(const FX_WCHAR* text);
+
+  void AddString(const FX_WCHAR* string);
+  int32_t GetSelect() const;
+  void SetSelect(int32_t nItemIndex);
+
+  void SetEditSel(int32_t nStartChar, int32_t nEndChar);
+  void GetEditSel(int32_t& nStartChar, int32_t& nEndChar) const;
+  void Clear();
+  void SelectAll();
+  FX_BOOL IsPopup() const;
+
+  void SetSelectText();
+
+  void AttachFFLData(void* pData) { m_pFormFiller = pData; }
+
+ private:
+  void CreateEdit(const PWL_CREATEPARAM& cp);
+  void CreateButton(const PWL_CREATEPARAM& cp);
+  void CreateListBox(const PWL_CREATEPARAM& cp);
+  void SetPopup(FX_BOOL bPopup);
+
+  CPWL_CBEdit* m_pEdit;
+  CPWL_CBButton* m_pButton;
+  CPWL_CBListBox* m_pList;
+  FX_BOOL m_bPopup;
+  CPDF_Rect m_rcOldWindow;
+  int32_t m_nPopupWhere;
+  int32_t m_nSelectItem;
+  IPWL_Filler_Notify* m_pFillerNotify;
+
+  void* m_pFormFiller;
+};
+
+#endif  // FPDFSDK_INCLUDE_PDFWINDOW_PWL_COMBOBOX_H_