summaryrefslogtreecommitdiff
path: root/fpdfsdk/pdfwindow/PWL_ListBox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/pdfwindow/PWL_ListBox.cpp')
-rw-r--r--fpdfsdk/pdfwindow/PWL_ListBox.cpp28
1 files changed, 11 insertions, 17 deletions
diff --git a/fpdfsdk/pdfwindow/PWL_ListBox.cpp b/fpdfsdk/pdfwindow/PWL_ListBox.cpp
index 84d2614804..e8c1f82bde 100644
--- a/fpdfsdk/pdfwindow/PWL_ListBox.cpp
+++ b/fpdfsdk/pdfwindow/PWL_ListBox.cpp
@@ -6,6 +6,8 @@
#include "fpdfsdk/pdfwindow/PWL_ListBox.h"
+#include "fpdfsdk/fxedit/include/fxet_edit.h"
+#include "fpdfsdk/fxedit/include/fxet_list.h"
#include "fpdfsdk/pdfwindow/PWL_Edit.h"
#include "fpdfsdk/pdfwindow/PWL_EditCtrl.h"
#include "fpdfsdk/pdfwindow/PWL_ScrollBar.h"
@@ -65,18 +67,12 @@ void CPWL_List_Notify::IOnInvalidateRect(CFX_FloatRect* pRect) {
}
CPWL_ListBox::CPWL_ListBox()
- : m_pList(nullptr),
- m_pListNotify(nullptr),
+ : m_pList(new CFX_ListCtrl),
m_bMouseDown(FALSE),
m_bHoverSel(FALSE),
- m_pFillerNotify(nullptr) {
- m_pList = IFX_List::NewList();
-}
+ m_pFillerNotify(nullptr) {}
CPWL_ListBox::~CPWL_ListBox() {
- IFX_List::DelList(m_pList);
- delete m_pListNotify;
- m_pListNotify = nullptr;
}
CFX_ByteString CPWL_ListBox::GetClassName() const {
@@ -85,10 +81,9 @@ CFX_ByteString CPWL_ListBox::GetClassName() const {
void CPWL_ListBox::OnCreated() {
if (m_pList) {
- delete m_pListNotify;
-
m_pList->SetFontMap(GetFontMap());
- m_pList->SetNotify(m_pListNotify = new CPWL_List_Notify(this));
+ m_pListNotify.reset(new CPWL_List_Notify(this));
+ m_pList->SetNotify(m_pListNotify.get());
SetHoverSel(HasFlag(PLBS_HOVERSEL));
m_pList->SetMultipleSel(HasFlag(PLBS_MULTIPLESEL));
@@ -99,8 +94,7 @@ void CPWL_ListBox::OnCreated() {
}
void CPWL_ListBox::OnDestroy() {
- delete m_pListNotify;
- m_pListNotify = nullptr;
+ m_pListNotify.reset();
}
void CPWL_ListBox::GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream) {
@@ -172,7 +166,7 @@ void CPWL_ListBox::DrawThisAppearance(CFX_RenderDevice* pDevice,
continue;
CFX_FloatPoint ptOffset(rcItem.left, (rcItem.top + rcItem.bottom) * 0.5f);
- if (IFX_Edit* pEdit = m_pList->GetItemEdit(i)) {
+ if (CFX_Edit* pEdit = m_pList->GetItemEdit(i)) {
CFX_FloatRect rcContent = pEdit->GetContentRect();
if (rcContent.Width() > rcClient.Width())
rcItem.Intersect(rcList);
@@ -183,7 +177,7 @@ void CPWL_ListBox::DrawThisAppearance(CFX_RenderDevice* pDevice,
if (m_pList->IsItemSelected(i)) {
CFX_SystemHandler* pSysHandler = GetSystemHandler();
if (pSysHandler && pSysHandler->IsSelectionImplemented()) {
- IFX_Edit::DrawEdit(
+ CFX_Edit::DrawEdit(
pDevice, pUser2Device, m_pList->GetItemEdit(i),
CPWL_Utils::PWLColorToFXColor(GetTextColor()),
CPWL_Utils::PWLColorToFXColor(GetTextStrokeColor()), rcList,
@@ -192,13 +186,13 @@ void CPWL_ListBox::DrawThisAppearance(CFX_RenderDevice* pDevice,
} else {
CPWL_Utils::DrawFillRect(pDevice, pUser2Device, rcItem,
ArgbEncode(255, 0, 51, 113));
- IFX_Edit::DrawEdit(pDevice, pUser2Device, m_pList->GetItemEdit(i),
+ CFX_Edit::DrawEdit(pDevice, pUser2Device, m_pList->GetItemEdit(i),
ArgbEncode(255, 255, 255, 255), 0, rcList,
ptOffset, nullptr, pSysHandler, m_pFormFiller);
}
} else {
CFX_SystemHandler* pSysHandler = GetSystemHandler();
- IFX_Edit::DrawEdit(pDevice, pUser2Device, m_pList->GetItemEdit(i),
+ CFX_Edit::DrawEdit(pDevice, pUser2Device, m_pList->GetItemEdit(i),
CPWL_Utils::PWLColorToFXColor(GetTextColor()),
CPWL_Utils::PWLColorToFXColor(GetTextStrokeColor()),
rcList, ptOffset, nullptr, pSysHandler, nullptr);