1ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Copyright 2014 PDFium Authors. All rights reserved. 2ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Use of this source code is governed by a BSD-style license that can be 3ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// found in the LICENSE file. 4ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 5ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 7ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#include <memory> 8ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 9ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann#include "xfa/src/foxitlib.h" 10ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann 11ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannCFWL_ComboBox* CFWL_ComboBox::Create() { 12ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return new CFWL_ComboBox; 13ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 14ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::Initialize(const CFWL_WidgetProperties* pProperties) { 15ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (m_pIface) 16ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 17ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (pProperties) { 18ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann *m_pProperties = *pProperties; 19ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann } 20ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann std::unique_ptr<IFWL_ComboBox> pComboBox(IFWL_ComboBox::Create( 21ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_pProperties->MakeWidgetImpProperties(&m_comboBoxData))); 22ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_ERR ret = pComboBox->Initialize(); 23ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (ret != FWL_ERR_Succeeded) { 24ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return ret; 25ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann } 26ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_pIface = pComboBox.release(); 27ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_Widget::Initialize(); 28ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 29ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 30ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText) { 31ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = new CFWL_ComboBoxItem; 32ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_wsText = wsText; 33ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_dwStyles = 0; 34ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_comboBoxData.m_arrItem.Add(pItem); 35ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 36ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::AddString(const CFX_WideStringC& wsText, 37ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_DIBitmap* pIcon) { 38ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = new CFWL_ComboBoxItem; 39ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_wsText = wsText; 40ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_dwStyles = 0; 41ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_pDIB = pIcon; 42ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_comboBoxData.m_arrItem.Add(pItem); 43ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 44ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::RemoveAt(int32_t iIndex) { 45ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_comboBoxData.m_arrItem.RemoveAt(iIndex); 46ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 47ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::RemoveAll() { 48ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_comboBoxData.m_arrItem.RemoveAll(); 49ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return 0; 50ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 51ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::CountItems() { 52ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_comboBoxData.CountItems(GetWidget()); 53ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 54ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::GetTextByIndex(int32_t iIndex, CFX_WideString& wsText) { 55ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>( 56ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_comboBoxData.GetItem(m_pIface, iIndex)); 57ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!pItem) 58ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 59ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann wsText = pItem->m_wsText; 60ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 61ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 62ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::GetCurSel() { 63ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 64ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return -1; 65ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->GetCurSel(); 66ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 67ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::SetCurSel(int32_t iSel) { 68ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 69ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 70ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->SetCurSel(iSel); 71ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 72ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::SetEditText(const CFX_WideStringC& wsText) { 73ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 74ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 75ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditText(wsText); 76ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 77ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::GetEditTextLength() const { 78ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 79ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return 0; 80ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditTextLength(); 81ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 82ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::GetEditText(CFX_WideString& wsText, 83ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t nStart, 84ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t nCount) const { 85ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 86ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 87ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface) 88ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann ->GetEditText(wsText, nStart, nCount); 89ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 90ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::SetEditSelRange(int32_t nStart, int32_t nCount) { 91ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 92ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 93ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditSelRange(nStart, nCount); 94ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 95ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::GetEditSelRange(int32_t nIndex, int32_t& nStart) { 96ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 97ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return 0; 98ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditSelRange(nIndex, nStart); 99ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 100ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::GetEditLimit() { 101ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 102ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return 0; 103ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->GetEditLimit(); 104ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 105ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::SetEditLimit(int32_t nLimit) { 106ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 107ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 108ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->SetEditLimit(nLimit); 109ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 110ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::EditDoClipboard(int32_t iCmd) { 111ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 112ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 113ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditDoClipboard(iCmd); 114ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 115ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditRedo(const CFX_ByteStringC& bsRecord) { 116ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 117ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 118ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditRedo(bsRecord); 119ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 120ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditUndo(const CFX_ByteStringC& bsRecord) { 121ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 122ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 123ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditUndo(bsRecord); 124ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 125ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::SetMaxListHeight(FX_FLOAT fMaxHeight) { 126ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_comboBoxData.m_fMaxListHeight = fMaxHeight; 127ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 128ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 129ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::SetItemData(int32_t iIndex, void* pData) { 130ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>( 131ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_comboBoxData.GetItem(m_pIface, iIndex)); 132ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!pItem) 133ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 134ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_pData = pData; 135ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 136ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 137ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannvoid* CFWL_ComboBox::GetItemData(int32_t iIndex) { 138ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>( 139ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_comboBoxData.GetItem(m_pIface, iIndex)); 140ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!pItem) 141ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return NULL; 142ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return pItem->m_pData; 143ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 144ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::SetListTheme(IFWL_ThemeProvider* pTheme) { 145ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->GetListBoxt()->SetThemeProvider( 146ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pTheme); 147ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 148ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::AfterFocusShowDropList() { 149ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->AfterFocusShowDropList(); 150ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 151ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::OpenDropDownList(FX_BOOL bActivate) { 152ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->OpenDropDownList(bActivate); 153ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 154ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditCanUndo() { 155ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 156ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 157ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanUndo(); 158ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 159ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditCanRedo() { 160ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 161ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 162ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanRedo(); 163ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 164ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditUndo() { 165ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 166ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 167ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditUndo(); 168ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 169ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditRedo() { 170ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 171ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 172ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditRedo(); 173ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 174ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditCanCopy() { 175ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 176ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 177ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanCopy(); 178ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 179ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditCanCut() { 180ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 181ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 182ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanCut(); 183ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 184ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditCanSelectAll() { 185ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 186ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 187ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditCanSelectAll(); 188ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 189ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditCopy(CFX_WideString& wsCopy) { 190ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 191ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 192ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditCopy(wsCopy); 193ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 194ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditCut(CFX_WideString& wsCut) { 195ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 196ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 197ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditCut(wsCut); 198ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 199ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditPaste(const CFX_WideString& wsPaste) { 200ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 201ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 202ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditPaste(wsPaste); 203ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 204ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditSelectAll() { 205ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 206ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 207ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditSelectAll(); 208ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 209ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditDelete() { 210ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 211ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 212ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditDelete(); 213ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 214ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::EditDeSelect() { 215ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 216ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 217ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->EditDeSelect(); 218ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 219ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::GetBBox(CFX_RectF& rect) { 220ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 221ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 222ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface)->GetBBox(rect); 223ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 224ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::EditModifyStylesEx(FX_DWORD dwStylesExAdded, 225ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_DWORD dwStylesExRemoved) { 226ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!m_pIface) 227ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FALSE; 228ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return static_cast<IFWL_ComboBox*>(m_pIface) 229ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann ->EditModifyStylesEx(dwStylesExAdded, dwStylesExRemoved); 230ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 231ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannCFWL_ComboBox::CFWL_ComboBox() {} 232ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannCFWL_ComboBox::~CFWL_ComboBox() {} 233ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannCFWL_ComboBox::CFWL_ComboBoxDP::CFWL_ComboBoxDP() { 234ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_fItemHeight = 0; 235ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_fMaxListHeight = 0; 236ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 237ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannCFWL_ComboBox::CFWL_ComboBoxDP::~CFWL_ComboBoxDP() { 238ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t nCount = m_arrItem.GetSize(); 239ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann for (int32_t i = 0; i < nCount; i++) { 240ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann delete static_cast<CFWL_ComboBoxItem*>(m_arrItem[i]); 241ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann } 242ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann m_arrItem.RemoveAll(); 243ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 244ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::CFWL_ComboBoxDP::CountItems(IFWL_Widget* pWidget) { 245ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_arrItem.GetSize(); 246ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 247ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_HLISTITEM CFWL_ComboBox::CFWL_ComboBoxDP::GetItem(IFWL_Widget* pWidget, 248ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t nIndex) { 249ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t iCount = m_arrItem.GetSize(); 250ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (nIndex >= iCount || nIndex < 0) { 251ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return NULL; 252ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann } 253ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return (FWL_HLISTITEM)m_arrItem[nIndex]; 254ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 255ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannint32_t CFWL_ComboBox::CFWL_ComboBoxDP::GetItemIndex(IFWL_Widget* pWidget, 256ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem) { 257ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_arrItem.Find(hItem); 258ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 259ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_BOOL CFWL_ComboBox::CFWL_ComboBoxDP::SetItemIndex(IFWL_Widget* pWidget, 260ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 261ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann int32_t nIndex) { 262ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_arrItem.SetAt(nIndex, hItem); 263ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 264ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_DWORD CFWL_ComboBox::CFWL_ComboBoxDP::GetItemStyles(IFWL_Widget* pWidget, 265ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem) { 266ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!hItem) 267ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return 0; 268ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_dwStyles; 269ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 270ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemText(IFWL_Widget* pWidget, 271ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 272ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_WideString& wsText) { 273ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!hItem) 274ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 275ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann wsText = reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_wsText; 276ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 277ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 278ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemRect(IFWL_Widget* pWidget, 279ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 280ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_RectF& rtItem) { 281ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!hItem) 282ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 283ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 284ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann rtItem.Set(pItem->m_rtItem.left, pItem->m_rtItem.top, pItem->m_rtItem.width, 285ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_rtItem.height); 286ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 287ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 288ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmannvoid* CFWL_ComboBox::CFWL_ComboBoxDP::GetItemData(IFWL_Widget* pWidget, 289ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem) { 290ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!hItem) 291ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return NULL; 292ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 293ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return pItem->m_pData; 294ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 295ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemStyles(IFWL_Widget* pWidget, 296ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 297ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_DWORD dwStyle) { 298ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!hItem) 299ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 300ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_dwStyles = dwStyle; 301ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 302ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 303ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemText(IFWL_Widget* pWidget, 304ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 305ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const FX_WCHAR* pszText) { 306ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!hItem) 307ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 308ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_wsText = pszText; 309ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 310ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 311ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemRect(IFWL_Widget* pWidget, 312ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 313ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_RectF& rtItem) { 314ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!hItem) 315ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Indefinite; 316ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_rtItem = rtItem; 317ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 318ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 319ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetItemHeight(IFWL_Widget* pWidget) { 320ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_fItemHeight; 321ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 322ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannCFX_DIBitmap* CFWL_ComboBox::CFWL_ComboBoxDP::GetItemIcon(IFWL_Widget* pWidget, 323ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem) { 324ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann if (!hItem) 325ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return NULL; 326ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return reinterpret_cast<CFWL_ComboBoxItem*>(hItem)->m_pDIB; 327ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 328ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::GetItemCheckRect(IFWL_Widget* pWidget, 329ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 330ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFX_RectF& rtCheck) { 331ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 332ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann rtCheck = pItem->m_rtCheckBox; 333ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 334ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 335ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemCheckRect( 336ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann IFWL_Widget* pWidget, 337ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 338ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann const CFX_RectF& rtCheck) { 339ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 340ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_rtCheckBox = rtCheck; 341ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 342ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 343ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_DWORD CFWL_ComboBox::CFWL_ComboBoxDP::GetItemCheckState( 344ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann IFWL_Widget* pWidget, 345ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem) { 346ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 347ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return pItem->m_dwCheckState; 348ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 349ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFWL_ERR CFWL_ComboBox::CFWL_ComboBoxDP::SetItemCheckState( 350ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann IFWL_Widget* pWidget, 351ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FWL_HLISTITEM hItem, 352ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann FX_DWORD dwCheckState) { 353ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann CFWL_ComboBoxItem* pItem = reinterpret_cast<CFWL_ComboBoxItem*>(hItem); 354ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann pItem->m_dwCheckState = dwCheckState; 355ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return FWL_ERR_Succeeded; 356ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 357ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. MoltmannFX_FLOAT CFWL_ComboBox::CFWL_ComboBoxDP::GetListHeight(IFWL_Widget* pWidget) { 358ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann return m_fMaxListHeight; 359ac3d58cff7c80b0ef56bf55130d91da17cbaa3c4Philip P. Moltmann} 360