From 54a6176249a54ac8d6467e9cf60da1ab6ba518eb Mon Sep 17 00:00:00 2001 From: =?utf8?q?W=C5=82odzimierz=20Skiba?= Date: Wed, 14 Jun 2006 19:32:32 +0000 Subject: [PATCH] [ 1495131 ] wxODComboBox const methods to work prior to SetPopupControl. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/odcombo.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/generic/odcombo.cpp b/src/generic/odcombo.cpp index a568dd5784..75fcd5f271 100644 --- a/src/generic/odcombo.cpp +++ b/src/generic/odcombo.cpp @@ -710,25 +710,36 @@ void wxOwnerDrawnComboBox::Delete(unsigned int n) unsigned int wxOwnerDrawnComboBox::GetCount() const { - wxASSERT_MSG( m_popupInterface, wxT("no popup interface") ); + if ( !m_popupInterface ) + return m_initChs.GetCount(); + return m_popupInterface->GetCount(); } wxString wxOwnerDrawnComboBox::GetString(unsigned int n) const { wxCHECK_MSG( IsValid(n), wxEmptyString, _T("invalid index in wxOwnerDrawnComboBox::GetString") ); + + if ( !m_popupInterface ) + return m_initChs.Item(n); + return m_popupInterface->GetString(n); } void wxOwnerDrawnComboBox::SetString(unsigned int n, const wxString& s) { + EnsurePopupControl(); + wxCHECK_RET( IsValid(n), _T("invalid index in wxOwnerDrawnComboBox::SetString") ); + m_popupInterface->SetString(n,s); } int wxOwnerDrawnComboBox::FindString(const wxString& s, bool bCase) const { - wxASSERT_MSG( m_popupInterface, wxT("no popup interface") ); + if ( !m_popupInterface ) + return m_initChs.Index(s, bCase); + return m_popupInterface->FindString(s, bCase); } @@ -755,7 +766,9 @@ void wxOwnerDrawnComboBox::Select(int n) int wxOwnerDrawnComboBox::GetSelection() const { - wxASSERT_MSG( m_popupInterface, wxT("no popup interface") ); + if ( !m_popupInterface ) + return m_initChs.Index(m_valueString); + return m_popupInterface->GetSelection(); } @@ -786,7 +799,9 @@ void wxOwnerDrawnComboBox::DoSetItemClientData(unsigned int n, void* clientData) void* wxOwnerDrawnComboBox::DoGetItemClientData(unsigned int n) const { - wxASSERT_MSG( m_popupInterface, wxT("no popup interface") ); + if ( !m_popupInterface ) + return NULL; + return m_popupInterface->GetItemClientData(n); } -- 2.45.2