From ed84b3b0ab772ab8f063ea7b49da97da38a9ff77 Mon Sep 17 00:00:00 2001 From: Stefan Csomor Date: Thu, 9 Jul 2009 16:21:13 +0000 Subject: [PATCH] backport of r61356 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_9_0_BRANCH@61359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/osx/carbon/private.h | 3 ++- include/wx/osx/core/private.h | 2 ++ src/osx/carbon/listbox.cpp | 8 ++++++-- src/osx/checklst_osx.cpp | 4 ++-- src/osx/listbox_osx.cpp | 16 ++++++++++++++++ 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/include/wx/osx/carbon/private.h b/include/wx/osx/carbon/private.h index 7a10d3bf29..8aaaa77aa2 100644 --- a/include/wx/osx/carbon/private.h +++ b/include/wx/osx/carbon/private.h @@ -859,9 +859,10 @@ public : wxMacDataBrowserCellValue(DataBrowserItemDataRef data) : m_data(data) {} virtual ~wxMacDataBrowserCellValue() {} - virtual void Set( CFStringRef value ); + virtual void Set( CFStringRef value ); virtual void Set( const wxString& value ); virtual void Set( int value ) ; + virtual void Check( bool check ); virtual int GetIntValue() const ; virtual wxString GetStringValue() const ; diff --git a/include/wx/osx/core/private.h b/include/wx/osx/core/private.h index cc2193377b..65de2b71e2 100644 --- a/include/wx/osx/core/private.h +++ b/include/wx/osx/core/private.h @@ -480,7 +480,9 @@ public : virtual void Set( CFStringRef value ) = 0; virtual void Set( const wxString& value ) = 0; virtual void Set( int value ) = 0; + virtual void Check( bool check ); + virtual bool IsChecked() const; virtual int GetIntValue() const = 0; virtual wxString GetStringValue() const = 0; } ; diff --git a/src/osx/carbon/listbox.cpp b/src/osx/carbon/listbox.cpp index 704a65e0e8..ede6096559 100644 --- a/src/osx/carbon/listbox.cpp +++ b/src/osx/carbon/listbox.cpp @@ -608,9 +608,13 @@ void wxMacDataBrowserCellValue::Set( const wxString& value ) } void wxMacDataBrowserCellValue::Set( int value ) -{ +{ SetDataBrowserItemDataValue( m_data, value ); - // SetDataBrowserItemDataButtonValue( m_data, value ? kThemeButtonOn : kThemeButtonOff); +} + +void wxMacDataBrowserCellValue::Check( bool check ) +{ + SetDataBrowserItemDataButtonValue( m_data, check ? kThemeButtonOn : kThemeButtonOff); } int wxMacDataBrowserCellValue::GetIntValue() const diff --git a/src/osx/checklst_osx.cpp b/src/osx/checklst_osx.cpp index 1c3a1d5815..c177a21b72 100644 --- a/src/osx/checklst_osx.cpp +++ b/src/osx/checklst_osx.cpp @@ -108,7 +108,7 @@ void wxCheckListBox::Check(unsigned int n, bool check) void wxCheckListBox::GetValueCallback( unsigned int n, wxListWidgetColumn* col , wxListWidgetCellValue& value ) { if ( col == m_checkColumn ) - value.Set( IsChecked( n ) ); + value.Check( IsChecked( n ) ); else wxListBox::GetValueCallback( n, col, value ); } @@ -117,7 +117,7 @@ void wxCheckListBox::SetValueCallback( unsigned int n, wxListWidgetColumn* col , { if ( col == m_checkColumn ) { - Check( n, value.GetIntValue() != 0 ); + Check( n, value.IsChecked() ); wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, GetId() ); event.SetInt( n ); diff --git a/src/osx/listbox_osx.cpp b/src/osx/listbox_osx.cpp index fc3251897f..1c3e28a5bf 100644 --- a/src/osx/listbox_osx.cpp +++ b/src/osx/listbox_osx.cpp @@ -388,4 +388,20 @@ void wxListBox::HandleLineEvent( unsigned int n, bool doubleClick ) HandleWindowEvent(event); } +// +// common list cell value operations +// + +void wxListWidgetCellValue::Check( bool check ) +{ + Set( check ? 1 : 0 ); +} + +bool wxListWidgetCellValue::IsChecked() const +{ + return GetIntValue() != 0; +} + + + #endif // wxUSE_LISTBOX