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

Side by Side Diff: xfa/include/fwl/lightwidget/listbox.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_LISTBOX_H_
8 #define XFA_INCLUDE_FWL_LIGHTWIDGET_LISTBOX_H_
9
10 #include <memory>
11 #include <vector>
12
13 #include "xfa/fwl/basewidget/ifwl_listbox.h"
14 #include "xfa/fwl/core/fwl_error.h"
15 #include "xfa/fwl/core/ifwl_widget.h"
16 #include "xfa/include/fwl/lightwidget/widget.h"
17
18 class CFWL_ListItem;
19
20 class CFWL_ListBox : public CFWL_Widget {
21 public:
22 static CFWL_ListBox* Create();
23 FWL_ERR Initialize(const CFWL_WidgetProperties* pProperties = NULL);
24 FWL_ERR AddDIBitmap(CFX_DIBitmap* pDIB, FWL_HLISTITEM hItem);
25 FWL_HLISTITEM AddString(const CFX_WideStringC& wsAdd,
26 FX_BOOL bSelect = FALSE);
27 FX_BOOL DeleteString(FWL_HLISTITEM hItem);
28 void DeleteAll();
29 int32_t CountSelItems();
30 FWL_HLISTITEM GetSelItem(int32_t nIndexSel);
31 int32_t GetSelIndex(int32_t nIndex);
32 FWL_ERR SetSelItem(FWL_HLISTITEM hItem, FX_BOOL bSelect = TRUE);
33 FWL_ERR GetItemText(FWL_HLISTITEM hItem, CFX_WideString& wsText);
34 FWL_ERR GetScrollPos(FX_FLOAT& fPos, FX_BOOL bVert = TRUE);
35 FWL_ERR SetItemHeight(FX_FLOAT fItemHeight);
36 FWL_HLISTITEM GetFocusItem();
37 FWL_ERR SetFocusItem(FWL_HLISTITEM hItem);
38 FWL_ERR* Sort(IFWL_ListBoxCompare* pCom);
39 int32_t CountItems();
40 FWL_HLISTITEM GetItem(int32_t nIndex);
41 FWL_ERR SetItemString(FWL_HLISTITEM hItem, const CFX_WideStringC& wsText);
42 FWL_ERR GetItemString(FWL_HLISTITEM hItem, CFX_WideString& wsText);
43 FWL_ERR SetItemData(FWL_HLISTITEM hItem, void* pData);
44 void* GetItemData(FWL_HLISTITEM hItem);
45 FWL_HLISTITEM GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy);
46 uint32_t GetItemStates(FWL_HLISTITEM hItem);
47 CFWL_ListBox();
48 virtual ~CFWL_ListBox();
49
50 protected:
51 class CFWL_ListBoxDP : public IFWL_ListBoxDP {
52 public:
53 CFWL_ListBoxDP();
54 ~CFWL_ListBoxDP();
55
56 // IFWL_DataProvider:
57 FWL_ERR GetCaption(IFWL_Widget* pWidget,
58 CFX_WideString& wsCaption) override;
59
60 // IFWL_ListBoxDP:
61 int32_t CountItems(IFWL_Widget* pWidget) override;
62 FWL_HLISTITEM GetItem(IFWL_Widget* pWidget, int32_t nIndex) override;
63 int32_t GetItemIndex(IFWL_Widget* pWidget, FWL_HLISTITEM hItem) override;
64 FX_BOOL SetItemIndex(IFWL_Widget* pWidget,
65 FWL_HLISTITEM hItem,
66 int32_t nIndex) override;
67 uint32_t GetItemStyles(IFWL_Widget* pWidget, FWL_HLISTITEM hItem) override;
68 FWL_ERR GetItemText(IFWL_Widget* pWidget,
69 FWL_HLISTITEM hItem,
70 CFX_WideString& wsText) override;
71 FWL_ERR GetItemRect(IFWL_Widget* pWidget,
72 FWL_HLISTITEM hItem,
73 CFX_RectF& rtItem) override;
74 void* GetItemData(IFWL_Widget* pWidget, FWL_HLISTITEM hItem) override;
75 FWL_ERR SetItemStyles(IFWL_Widget* pWidget,
76 FWL_HLISTITEM hItem,
77 uint32_t dwStyle) override;
78 FWL_ERR SetItemText(IFWL_Widget* pWidget,
79 FWL_HLISTITEM hItem,
80 const FX_WCHAR* pszText) override;
81 FWL_ERR SetItemRect(IFWL_Widget* pWidget,
82 FWL_HLISTITEM hItem,
83 const CFX_RectF& rtItem) override;
84 FX_FLOAT GetItemHeight(IFWL_Widget* pWidget) override;
85 CFX_DIBitmap* GetItemIcon(IFWL_Widget* pWidget,
86 FWL_HLISTITEM hItem) override;
87 FWL_ERR GetItemCheckRect(IFWL_Widget* pWidget,
88 FWL_HLISTITEM hItem,
89 CFX_RectF& rtCheck) override;
90 FWL_ERR SetItemCheckRect(IFWL_Widget* pWidget,
91 FWL_HLISTITEM hItem,
92 const CFX_RectF& rtCheck) override;
93 uint32_t GetItemCheckState(IFWL_Widget* pWidget,
94 FWL_HLISTITEM hItem) override;
95 FWL_ERR SetItemCheckState(IFWL_Widget* pWidget,
96 FWL_HLISTITEM hItem,
97 uint32_t dwCheckState) override;
98
99 std::vector<std::unique_ptr<CFWL_ListItem>> m_ItemArray;
100 CFX_WideString m_wsData;
101 FX_FLOAT m_fItemHeight;
102 };
103
104 CFWL_ListBoxDP m_ListBoxDP;
105 };
106
107 class CFWL_ListItem {
108 public:
109 CFWL_ListItem() {
110 m_rtItem.Reset();
111 m_dwStates = 0;
112 m_wsText = L"";
113 m_pDIB = NULL;
114 m_pData = NULL;
115 m_dwCheckState = 0;
116 m_rtCheckBox.Reset();
117 }
118 CFX_RectF m_rtItem;
119 uint32_t m_dwStates;
120 CFX_WideString m_wsText;
121 CFX_DIBitmap* m_pDIB;
122 void* m_pData;
123 uint32_t m_dwCheckState;
124 CFX_RectF m_rtCheckBox;
125 };
126
127 #endif // XFA_INCLUDE_FWL_LIGHTWIDGET_LISTBOX_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698