| Index: xfa/fwl/lightwidget/cfwl_listbox.cpp
|
| diff --git a/xfa/fwl/lightwidget/cfwl_listbox.cpp b/xfa/fwl/lightwidget/cfwl_listbox.cpp
|
| index e85e77381366fbb9e597d8f228f1d6458e82c2f4..d5ea8797bade4c1da9667451ff3e241b95a28920 100644
|
| --- a/xfa/fwl/lightwidget/cfwl_listbox.cpp
|
| +++ b/xfa/fwl/lightwidget/cfwl_listbox.cpp
|
| @@ -10,6 +10,14 @@
|
|
|
| #include "third_party/base/stl_util.h"
|
|
|
| +IFWL_ListBox* CFWL_ListBox::GetWidget() {
|
| + return static_cast<IFWL_ListBox*>(m_pIface.get());
|
| +}
|
| +
|
| +const IFWL_ListBox* CFWL_ListBox::GetWidget() const {
|
| + return static_cast<IFWL_ListBox*>(m_pIface.get());
|
| +}
|
| +
|
| CFWL_ListBox* CFWL_ListBox::Create() {
|
| return new CFWL_ListBox;
|
| }
|
| @@ -26,7 +34,7 @@ FWL_Error CFWL_ListBox::Initialize(const CFWL_WidgetProperties* pProperties) {
|
| if (ret != FWL_Error::Succeeded) {
|
| return ret;
|
| }
|
| - m_pIface = pListBox.release();
|
| + m_pIface = std::move(pListBox);
|
| CFWL_Widget::Initialize();
|
| return FWL_Error::Succeeded;
|
| }
|
| @@ -52,7 +60,7 @@ FX_BOOL CFWL_ListBox::DeleteString(IFWL_ListItem* pItem) {
|
| static_cast<size_t>(nIndex) >= m_ListBoxDP.m_ItemArray.size()) {
|
| return FALSE;
|
| }
|
| - int32_t iCount = m_ListBoxDP.CountItems(m_pIface);
|
| + int32_t iCount = m_ListBoxDP.CountItems(m_pIface.get());
|
| int32_t iSel = nIndex + 1;
|
| if (iSel >= iCount) {
|
| iSel = nIndex - 1;
|
| @@ -62,7 +70,7 @@ FX_BOOL CFWL_ListBox::DeleteString(IFWL_ListItem* pItem) {
|
| }
|
| if (iSel >= 0) {
|
| CFWL_ListItem* pSel =
|
| - static_cast<CFWL_ListItem*>(m_ListBoxDP.GetItem(m_pIface, iSel));
|
| + static_cast<CFWL_ListItem*>(m_ListBoxDP.GetItem(m_pIface.get(), iSel));
|
| pSel->m_dwStates |= FWL_ITEMSTATE_LTB_Selected;
|
| }
|
| m_ListBoxDP.m_ItemArray.erase(m_ListBoxDP.m_ItemArray.begin() + nIndex);
|
| @@ -74,40 +82,40 @@ void CFWL_ListBox::DeleteAll() {
|
| }
|
|
|
| int32_t CFWL_ListBox::CountSelItems() {
|
| - if (!m_pIface)
|
| + if (!GetWidget())
|
| return 0;
|
| - return static_cast<IFWL_ListBox*>(m_pIface)->CountSelItems();
|
| + return GetWidget()->CountSelItems();
|
| }
|
|
|
| IFWL_ListItem* CFWL_ListBox::GetSelItem(int32_t nIndexSel) {
|
| - if (!m_pIface)
|
| + if (!GetWidget())
|
| return nullptr;
|
| - return static_cast<IFWL_ListBox*>(m_pIface)->GetSelItem(nIndexSel);
|
| + return GetWidget()->GetSelItem(nIndexSel);
|
| }
|
|
|
| int32_t CFWL_ListBox::GetSelIndex(int32_t nIndex) {
|
| - if (!m_pIface)
|
| + if (!GetWidget())
|
| return 0;
|
| - return static_cast<IFWL_ListBox*>(m_pIface)->GetSelIndex(nIndex);
|
| + return GetWidget()->GetSelIndex(nIndex);
|
| }
|
|
|
| FWL_Error CFWL_ListBox::SetSelItem(IFWL_ListItem* pItem, FX_BOOL bSelect) {
|
| - if (!m_pIface)
|
| + if (!GetWidget())
|
| return FWL_Error::Indefinite;
|
| - return static_cast<IFWL_ListBox*>(m_pIface)->SetSelItem(pItem, bSelect);
|
| + return GetWidget()->SetSelItem(pItem, bSelect);
|
| }
|
|
|
| FWL_Error CFWL_ListBox::GetItemText(IFWL_ListItem* pItem,
|
| CFX_WideString& wsText) {
|
| - if (!m_pIface)
|
| + if (!GetWidget())
|
| return FWL_Error::Indefinite;
|
| - return static_cast<IFWL_ListBox*>(m_pIface)->GetItemText(pItem, wsText);
|
| + return GetWidget()->GetItemText(pItem, wsText);
|
| }
|
|
|
| FWL_Error CFWL_ListBox::GetScrollPos(FX_FLOAT& fPos, FX_BOOL bVert) {
|
| - if (!m_pIface)
|
| + if (!GetWidget())
|
| return FWL_Error::Indefinite;
|
| - return static_cast<IFWL_ListBox*>(m_pIface)->GetScrollPos(fPos, bVert);
|
| + return GetWidget()->GetScrollPos(fPos, bVert);
|
| }
|
|
|
| FWL_Error CFWL_ListBox::SetItemHeight(FX_FLOAT fItemHeight) {
|
| @@ -169,13 +177,13 @@ void* CFWL_ListBox::GetItemData(IFWL_ListItem* pItem) {
|
|
|
| IFWL_ListItem* CFWL_ListBox::GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy) {
|
| CFX_RectF rtClient;
|
| - m_pIface->GetClientRect(rtClient);
|
| + GetWidget()->GetClientRect(rtClient);
|
| fx -= rtClient.left;
|
| fy -= rtClient.top;
|
| FX_FLOAT fPosX = 0;
|
| FX_FLOAT fPosY = 0;
|
| - static_cast<IFWL_ListBox*>(m_pIface)->GetScrollPos(fx);
|
| - static_cast<IFWL_ListBox*>(m_pIface)->GetScrollPos(fy, FALSE);
|
| + GetWidget()->GetScrollPos(fx);
|
| + GetWidget()->GetScrollPos(fy, FALSE);
|
| int32_t nCount = m_ListBoxDP.CountItems(nullptr);
|
| for (int32_t i = 0; i < nCount; i++) {
|
| IFWL_ListItem* pItem = m_ListBoxDP.GetItem(nullptr, i);
|
|
|