Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Side by Side Diff: xfa/include/fwl/lightwidget/combobox.h

Issue 1834323003: Move xfa/include/fwl/{theme,lightwidget} to xfa/fwl (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 XFA_INCLUDE_FWL_LIGHTWIDGET_COMBOBOX_H_
8 #define XFA_INCLUDE_FWL_LIGHTWIDGET_COMBOBOX_H_
9
10 #include <memory>
11 #include <vector>
12
13 #include "xfa/fwl/basewidget/ifwl_combobox.h"
14 #include "xfa/include/fwl/lightwidget/widget.h"
15
16 class CFWL_WidgetProperties;
17 class IFWL_ComboBoxDP;
18 class CFWL_ComboBoxDP;
19 class CFWL_ComboBoxItem;
20
21 class CFWL_ComboBox : public CFWL_Widget {
22 public:
23 static CFWL_ComboBox* Create();
24 FWL_ERR Initialize(const CFWL_WidgetProperties* pProperties = NULL);
25 int32_t AddString(const CFX_WideStringC& wsText);
26 int32_t AddString(const CFX_WideStringC& wsText, CFX_DIBitmap* pIcon);
27 bool RemoveAt(int32_t iIndex); // Returns false iff |iIndex| out of range.
28 void RemoveAll();
29 int32_t CountItems();
30 FWL_ERR GetTextByIndex(int32_t iIndex, CFX_WideString& wsText);
31 int32_t GetCurSel();
32 FWL_ERR SetCurSel(int32_t iSel);
33 FWL_ERR SetEditText(const CFX_WideStringC& wsText);
34 int32_t GetEditTextLength() const;
35 FWL_ERR GetEditText(CFX_WideString& wsText,
36 int32_t nStart = 0,
37 int32_t nCount = -1) const;
38 FWL_ERR SetEditSelRange(int32_t nStart, int32_t nCount = -1);
39 int32_t GetEditSelRange(int32_t nIndex, int32_t& nStart);
40 int32_t GetEditLimit();
41 FWL_ERR SetEditLimit(int32_t nLimit);
42 FWL_ERR EditDoClipboard(int32_t iCmd);
43 FX_BOOL EditRedo(const CFX_ByteStringC& bsRecord);
44 FX_BOOL EditUndo(const CFX_ByteStringC& bsRecord);
45 FWL_ERR SetMaxListHeight(FX_FLOAT fMaxHeight);
46 FWL_ERR SetItemData(int32_t iIndex, void* pData);
47 void* GetItemData(int32_t iIndex);
48 FWL_ERR SetListTheme(IFWL_ThemeProvider* pTheme);
49 FX_BOOL AfterFocusShowDropList();
50 FWL_ERR OpenDropDownList(FX_BOOL bActivate);
51
52 public:
53 FX_BOOL EditCanUndo();
54 FX_BOOL EditCanRedo();
55 FX_BOOL EditUndo();
56 FX_BOOL EditRedo();
57 FX_BOOL EditCanCopy();
58 FX_BOOL EditCanCut();
59 FX_BOOL EditCanSelectAll();
60 FX_BOOL EditCopy(CFX_WideString& wsCopy);
61 FX_BOOL EditCut(CFX_WideString& wsCut);
62 FX_BOOL EditPaste(const CFX_WideString& wsPaste);
63 FX_BOOL EditSelectAll();
64 FX_BOOL EditDelete();
65 FX_BOOL EditDeSelect();
66 FWL_ERR GetBBox(CFX_RectF& rect);
67 FWL_ERR EditModifyStylesEx(uint32_t dwStylesExAdded,
68 uint32_t dwStylesExRemoved);
69 CFWL_ComboBox();
70 virtual ~CFWL_ComboBox();
71
72 protected:
73 class CFWL_ComboBoxDP : public IFWL_ComboBoxDP {
74 public:
75 CFWL_ComboBoxDP();
76 ~CFWL_ComboBoxDP();
77 virtual FWL_ERR GetCaption(IFWL_Widget* pWidget,
78 CFX_WideString& wsCaption) {
79 return FWL_ERR_Succeeded;
80 }
81
82 virtual int32_t CountItems(IFWL_Widget* pWidget);
83 virtual FWL_HLISTITEM GetItem(IFWL_Widget* pWidget, int32_t nIndex);
84 virtual int32_t GetItemIndex(IFWL_Widget* pWidget, FWL_HLISTITEM hItem);
85 virtual FX_BOOL SetItemIndex(IFWL_Widget* pWidget,
86 FWL_HLISTITEM hItem,
87 int32_t nIndex);
88
89 virtual uint32_t GetItemStyles(IFWL_Widget* pWidget, FWL_HLISTITEM hItem);
90 virtual FWL_ERR GetItemText(IFWL_Widget* pWidget,
91 FWL_HLISTITEM hItem,
92 CFX_WideString& wsText);
93 virtual FWL_ERR GetItemRect(IFWL_Widget* pWidget,
94 FWL_HLISTITEM hItem,
95 CFX_RectF& rtItem);
96 virtual void* GetItemData(IFWL_Widget* pWidget, FWL_HLISTITEM hItem);
97 virtual FWL_ERR SetItemStyles(IFWL_Widget* pWidget,
98 FWL_HLISTITEM hItem,
99 uint32_t dwStyle);
100 virtual FWL_ERR SetItemText(IFWL_Widget* pWidget,
101 FWL_HLISTITEM hItem,
102 const FX_WCHAR* pszText);
103 virtual FWL_ERR SetItemRect(IFWL_Widget* pWidget,
104 FWL_HLISTITEM hItem,
105 const CFX_RectF& rtItem);
106 virtual FX_FLOAT GetItemHeight(IFWL_Widget* pWidget);
107 virtual CFX_DIBitmap* GetItemIcon(IFWL_Widget* pWidget,
108 FWL_HLISTITEM hItem);
109 virtual FWL_ERR GetItemCheckRect(IFWL_Widget* pWidget,
110 FWL_HLISTITEM hItem,
111 CFX_RectF& rtCheck);
112 virtual FWL_ERR SetItemCheckRect(IFWL_Widget* pWidget,
113 FWL_HLISTITEM hItem,
114 const CFX_RectF& rtCheck);
115 virtual uint32_t GetItemCheckState(IFWL_Widget* pWidget,
116 FWL_HLISTITEM hItem);
117 virtual FWL_ERR SetItemCheckState(IFWL_Widget* pWidget,
118 FWL_HLISTITEM hItem,
119 uint32_t dwCheckState);
120 virtual FX_FLOAT GetListHeight(IFWL_Widget* pWidget);
121
122 std::vector<std::unique_ptr<CFWL_ComboBoxItem>> m_ItemArray;
123 FX_FLOAT m_fMaxListHeight;
124 FX_FLOAT m_fItemHeight;
125 };
126 CFWL_ComboBoxDP m_comboBoxData;
127 };
128
129 class CFWL_ComboBoxItem {
130 public:
131 CFWL_ComboBoxItem() {
132 m_pDIB = NULL;
133 m_pData = NULL;
134 }
135 CFX_RectF m_rtItem;
136 uint32_t m_dwStyles;
137 CFX_WideString m_wsText;
138 CFX_DIBitmap* m_pDIB;
139 uint32_t m_dwCheckState;
140 CFX_RectF m_rtCheckBox;
141 void* m_pData;
142 };
143
144 #endif // XFA_INCLUDE_FWL_LIGHTWIDGET_COMBOBOX_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698