Index: xfa/fwl/core/ifwl_listbox.cpp |
diff --git a/xfa/fwl/core/ifwl_listbox.cpp b/xfa/fwl/core/ifwl_listbox.cpp |
index f1ee2f524598734e0a1a4433dfc32819d99a7052..785f5a3f807ddfe0e81b13b2aac34f4623790cab 100644 |
--- a/xfa/fwl/core/ifwl_listbox.cpp |
+++ b/xfa/fwl/core/ifwl_listbox.cpp |
@@ -15,6 +15,7 @@ |
#include "xfa/fwl/core/cfwl_themepart.h" |
#include "xfa/fwl/core/cfwl_themetext.h" |
#include "xfa/fwl/core/ifwl_app.h" |
+#include "xfa/fwl/core/ifwl_listbox.h" |
#include "xfa/fwl/core/ifwl_themeprovider.h" |
namespace { |
@@ -146,8 +147,8 @@ int32_t IFWL_ListBox::CountSelItems() { |
return 0; |
int32_t iRet = 0; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t iCount = pData->CountItems(this); |
for (int32_t i = 0; i < iCount; i++) { |
CFWL_ListItem* pItem = pData->GetItem(this, i); |
@@ -165,8 +166,8 @@ CFWL_ListItem* IFWL_ListBox::GetSelItem(int32_t nIndexSel) { |
int32_t idx = GetSelIndex(nIndexSel); |
if (idx < 0) |
return nullptr; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
return pData->GetItem(this, idx); |
} |
@@ -175,8 +176,8 @@ int32_t IFWL_ListBox::GetSelIndex(int32_t nIndex) { |
return -1; |
int32_t index = 0; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t iCount = pData->CountItems(this); |
for (int32_t i = 0; i < iCount; i++) { |
CFWL_ListItem* pItem = pData->GetItem(this, i); |
@@ -215,8 +216,8 @@ void IFWL_ListBox::GetItemText(CFWL_ListItem* pItem, CFX_WideString& wsText) { |
if (!m_pProperties->m_pDataProvider) |
return; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
if (!pItem) |
return; |
@@ -233,8 +234,9 @@ CFWL_ListItem* IFWL_ListBox::GetItem(CFWL_ListItem* pItem, uint32_t dwKeyCode) { |
const bool bUp = dwKeyCode == FWL_VKEY_Up; |
const bool bDown = dwKeyCode == FWL_VKEY_Down; |
const bool bHome = dwKeyCode == FWL_VKEY_Home; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>( |
+ m_pProperties->m_pDataProvider); |
int32_t iDstItem = -1; |
if (bUp || bDown) { |
int32_t index = pData->GetItemIndex(this, pItem); |
@@ -257,8 +259,8 @@ CFWL_ListItem* IFWL_ListBox::GetItem(CFWL_ListItem* pItem, uint32_t dwKeyCode) { |
void IFWL_ListBox::SetSelection(CFWL_ListItem* hStart, |
CFWL_ListItem* hEnd, |
bool bSelected) { |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t iStart = pData->GetItemIndex(this, hStart); |
int32_t iEnd = pData->GetItemIndex(this, hEnd); |
if (iStart > iEnd) { |
@@ -280,8 +282,8 @@ void IFWL_ListBox::SetSelection(CFWL_ListItem* hStart, |
} |
void IFWL_ListBox::SetSelectionDirect(CFWL_ListItem* pItem, bool bSelect) { |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
uint32_t dwOldStyle = pData->GetItemStyles(this, pItem); |
bSelect ? dwOldStyle |= FWL_ITEMSTATE_LTB_Selected |
: dwOldStyle &= ~FWL_ITEMSTATE_LTB_Selected; |
@@ -289,16 +291,16 @@ void IFWL_ListBox::SetSelectionDirect(CFWL_ListItem* pItem, bool bSelect) { |
} |
bool IFWL_ListBox::IsItemSelected(CFWL_ListItem* pItem) { |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
uint32_t dwState = pData->GetItemStyles(this, pItem); |
return (dwState & FWL_ITEMSTATE_LTB_Selected) != 0; |
} |
void IFWL_ListBox::ClearSelection() { |
bool bMulti = m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_MultiSelection; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t iCount = pData->CountItems(this); |
for (int32_t i = 0; i < iCount; i++) { |
CFWL_ListItem* pItem = pData->GetItem(this, i); |
@@ -315,8 +317,8 @@ void IFWL_ListBox::SelectAll() { |
if (!m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_MultiSelection) |
return; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t iCount = pData->CountItems(this); |
if (iCount <= 0) |
return; |
@@ -327,8 +329,8 @@ void IFWL_ListBox::SelectAll() { |
} |
CFWL_ListItem* IFWL_ListBox::GetFocusedItem() { |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t iCount = pData->CountItems(this); |
for (int32_t i = 0; i < iCount; i++) { |
CFWL_ListItem* pItem = pData->GetItem(this, i); |
@@ -341,8 +343,8 @@ CFWL_ListItem* IFWL_ListBox::GetFocusedItem() { |
} |
void IFWL_ListBox::SetFocusItem(CFWL_ListItem* pItem) { |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
CFWL_ListItem* hFocus = GetFocusedItem(); |
if (pItem == hFocus) |
return; |
@@ -369,8 +371,8 @@ CFWL_ListItem* IFWL_ListBox::GetItemAtPoint(FX_FLOAT fx, FX_FLOAT fy) { |
if (m_pVertScrollBar) |
fPosY = m_pVertScrollBar->GetPos(); |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t nCount = pData->CountItems(this); |
for (int32_t i = 0; i < nCount; i++) { |
CFWL_ListItem* pItem = pData->GetItem(this, i); |
@@ -392,8 +394,8 @@ bool IFWL_ListBox::GetItemCheckRect(CFWL_ListItem* pItem, CFX_RectF& rtCheck) { |
if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_Check)) |
return false; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
pData->GetItemCheckRect(this, pItem, rtCheck); |
return true; |
} |
@@ -404,8 +406,8 @@ bool IFWL_ListBox::GetItemChecked(CFWL_ListItem* pItem) { |
if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_Check)) |
return false; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
return !!(pData->GetItemCheckState(this, pItem) & FWL_ITEMSTATE_LTB_Checked); |
} |
@@ -415,8 +417,8 @@ bool IFWL_ListBox::SetItemChecked(CFWL_ListItem* pItem, bool bChecked) { |
if (!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_Check)) |
return false; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
pData->SetItemCheckState(this, pItem, |
bChecked ? FWL_ITEMSTATE_LTB_Checked : 0); |
return true; |
@@ -427,8 +429,8 @@ bool IFWL_ListBox::ScrollToVisible(CFWL_ListItem* pItem) { |
return false; |
CFX_RectF rtItem; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
pData->GetItemRect(this, pItem, rtItem); |
bool bScroll = false; |
@@ -492,8 +494,8 @@ void IFWL_ListBox::DrawItems(CFX_Graphics* pGraphics, |
bool bMultiCol = |
!!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_LTB_MultiColumn); |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t iCount = pData->CountItems(this); |
for (int32_t i = 0; i < iCount; i++) { |
CFWL_ListItem* pItem = pData->GetItem(this, i); |
@@ -521,8 +523,8 @@ void IFWL_ListBox::DrawItem(CFX_Graphics* pGraphics, |
int32_t Index, |
const CFX_RectF& rtItem, |
const CFX_Matrix* pMatrix) { |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
uint32_t dwItemStyles = pData->GetItemStyles(this, pItem); |
uint32_t dwPartStates = CFWL_PartState_Normal; |
if (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) |
@@ -635,16 +637,18 @@ CFX_SizeF IFWL_ListBox::CalcSize(bool bAutoSize) { |
FX_FLOAT fWidth = 0; |
if (m_pProperties->m_pThemeProvider->IsCustomizedLayout(this)) { |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>( |
+ m_pProperties->m_pDataProvider); |
int32_t iCount = pData->CountItems(this); |
for (int32_t i = 0; i < iCount; i++) { |
CFWL_ListItem* pItem = pData->GetItem(this, i); |
if (!bAutoSize) { |
CFX_RectF rtItem; |
rtItem.Set(m_rtClient.left, m_rtClient.top + fs.y, 0, 0); |
- IFWL_ListBoxDP* pBox = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pBox = |
+ static_cast<IFWL_ListBox::DataProvider*>( |
+ m_pProperties->m_pDataProvider); |
pBox->SetItemRect(this, pItem, rtItem); |
} |
if (fs.x < 0) { |
@@ -661,8 +665,9 @@ CFX_SizeF IFWL_ListBox::CalcSize(bool bAutoSize) { |
fWidth = std::max(fWidth, fActualWidth); |
} |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>( |
+ m_pProperties->m_pDataProvider); |
m_fItemHeight = CalcItemHeight(); |
if ((GetStylesEx() & FWL_STYLEEXT_LTB_Icon)) |
fWidth += m_fItemHeight; |
@@ -775,8 +780,9 @@ void IFWL_ListBox::GetItemSize(CFX_SizeF& size, |
if (!bAutoSize) { |
CFX_RectF rtItem; |
rtItem.Set(0, size.y, fWidth, fItemHeight); |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>( |
+ m_pProperties->m_pDataProvider); |
pData->SetItemRect(this, pItem, rtItem); |
} |
size.x = fWidth; |
@@ -785,8 +791,8 @@ void IFWL_ListBox::GetItemSize(CFX_SizeF& size, |
FX_FLOAT IFWL_ListBox::GetMaxTextWidth() { |
FX_FLOAT fRet = 0.0f; |
- IFWL_ListBoxDP* pData = |
- static_cast<IFWL_ListBoxDP*>(m_pProperties->m_pDataProvider); |
+ IFWL_ListBox::DataProvider* pData = |
+ static_cast<IFWL_ListBox::DataProvider*>(m_pProperties->m_pDataProvider); |
int32_t iCount = pData->CountItems(this); |
for (int32_t i = 0; i < iCount; i++) { |
CFWL_ListItem* pItem = pData->GetItem(this, i); |