summaryrefslogtreecommitdiff
path: root/xfa/include/fwl/lightwidget
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/include/fwl/lightwidget')
-rw-r--r--xfa/include/fwl/lightwidget/combobox.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/xfa/include/fwl/lightwidget/combobox.h b/xfa/include/fwl/lightwidget/combobox.h
index 971c64b1bb..db6db39d2f 100644
--- a/xfa/include/fwl/lightwidget/combobox.h
+++ b/xfa/include/fwl/lightwidget/combobox.h
@@ -4,22 +4,28 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef _FWL_COMBOBOX_LIGHT_H
-#define _FWL_COMBOBOX_LIGHT_H
-class CFWL_Widget;
+#ifndef XFA_INCLUDE_FWL_LIGHTWIDGET_COMBOBOX_H_
+#define XFA_INCLUDE_FWL_LIGHTWIDGET_COMBOBOX_H_
+
+#include <memory>
+#include <vector>
+
+#include "xfa/include/fwl/basewidget/fwl_combobox.h"
+#include "xfa/include/fwl/lightwidget/widget.h"
+
class CFWL_WidgetProperties;
class IFWL_ComboBoxDP;
-class CFWL_ComboBox;
class CFWL_ComboBoxDP;
class CFWL_ComboBoxItem;
+
class CFWL_ComboBox : public CFWL_Widget {
public:
static CFWL_ComboBox* Create();
FWL_ERR Initialize(const CFWL_WidgetProperties* pProperties = NULL);
int32_t AddString(const CFX_WideStringC& wsText);
int32_t AddString(const CFX_WideStringC& wsText, CFX_DIBitmap* pIcon);
- int32_t RemoveAt(int32_t iIndex);
- int32_t RemoveAll();
+ bool RemoveAt(int32_t iIndex); // Returns false iff |iIndex| out of range.
+ void RemoveAll();
int32_t CountItems();
FWL_ERR GetTextByIndex(int32_t iIndex, CFX_WideString& wsText);
int32_t GetCurSel();
@@ -113,12 +119,13 @@ class CFWL_ComboBox : public CFWL_Widget {
FX_DWORD dwCheckState);
virtual FX_FLOAT GetListHeight(IFWL_Widget* pWidget);
- CFX_PtrArray m_arrItem;
+ std::vector<std::unique_ptr<CFWL_ComboBoxItem>> m_ItemArray;
FX_FLOAT m_fMaxListHeight;
FX_FLOAT m_fItemHeight;
};
CFWL_ComboBoxDP m_comboBoxData;
};
+
class CFWL_ComboBoxItem {
public:
CFWL_ComboBoxItem() {
@@ -133,4 +140,5 @@ class CFWL_ComboBoxItem {
CFX_RectF m_rtCheckBox;
void* m_pData;
};
-#endif
+
+#endif // XFA_INCLUDE_FWL_LIGHTWIDGET_COMBOBOX_H_