]> git.saurik.com Git - wxWidgets.git/commitdiff
adding special case for Carbon DataBrowser Checkbox
authorStefan Csomor <csomor@advancedconcepts.ch>
Thu, 9 Jul 2009 14:47:51 +0000 (14:47 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Thu, 9 Jul 2009 14:47:51 +0000 (14:47 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/osx/carbon/private.h
include/wx/osx/core/private.h
src/osx/carbon/listbox.cpp
src/osx/checklst_osx.cpp
src/osx/listbox_osx.cpp

index d8dc8223427cbfeb40f9924be904ac968b9868b2..19fafff74fa53c47a956318a01cb548f8df3114c 100644 (file)
@@ -845,9 +845,10 @@ public :
     wxMacDataBrowserCellValue(DataBrowserItemDataRef data) : m_data(data) {}
     virtual ~wxMacDataBrowserCellValue() {}
     
     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 Set( const wxString& value );
     virtual void Set( int value ) ;
+    virtual void Check( bool check );
     
     virtual int GetIntValue() const ;
     virtual wxString GetStringValue() const ;
     
     virtual int GetIntValue() const ;
     virtual wxString GetStringValue() const ;
index 41ffd3cbdb3e1f985efde3de72193b32a1667ced..0c3a9fb3ec9c089747f5d23ff848c05b52c13f9c 100644 (file)
@@ -482,7 +482,9 @@ public :
    virtual void Set( CFStringRef value ) = 0;
     virtual void Set( const wxString& value ) = 0;
     virtual void Set( int value ) = 0;
    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;
 } ;
     virtual int GetIntValue() const = 0;
     virtual wxString GetStringValue() const = 0;
 } ;
index e9d0776b22b48205f39d45360bbfbb634e1a8d20..f688c91dd1a83406c9b472c3307718d4e6a084cc 100644 (file)
@@ -608,9 +608,13 @@ void wxMacDataBrowserCellValue::Set( const wxString& value )
 }
 
 void wxMacDataBrowserCellValue::Set( int value ) 
 }
 
 void wxMacDataBrowserCellValue::Set( int value ) 
-{
+{  
     SetDataBrowserItemDataValue( m_data, 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 
 }
     
 int wxMacDataBrowserCellValue::GetIntValue() const 
index 1c3a1d581513613ab32be4d01e3297bae2240d18..c177a21b724b98ee758a0a3e574e90a93f79d402 100644 (file)
@@ -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 )
 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 );
 }
     else
         wxListBox::GetValueCallback( n, col, value );
 }
@@ -117,7 +117,7 @@ void wxCheckListBox::SetValueCallback( unsigned int n, wxListWidgetColumn* col ,
 {
     if ( col == m_checkColumn )
     {
 {
     if ( col == m_checkColumn )
     {
-        Check( n, value.GetIntValue() != 0 );
+        Check( n, value.IsChecked() );
         
         wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, GetId() );
         event.SetInt( n );
         
         wxCommandEvent event( wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, GetId() );
         event.SetInt( n );
index fc3251897f8def6ab12df4d863e48eb42f1da27f..1c3e28a5bf9be51e832bfd707e0b3a12b9ffdfdd 100644 (file)
@@ -388,4 +388,20 @@ void wxListBox::HandleLineEvent( unsigned int n, bool doubleClick )
     HandleWindowEvent(event);
 }
 
     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
 #endif // wxUSE_LISTBOX