- OSStatus err = errDataBrowserPropertyNotSupported;
-
- if ( ! changeValue )
- {
- switch (property)
- {
-
- case kTextColumnId:
- {
- long ref = GetControlReference( browser ) ;
- if ( ref )
- {
- wxCheckListBox* list = wxDynamicCast( (wxObject*) ref , wxCheckListBox ) ;
- int i = itemID - 1 ;
- if (i >= 0 && i < list->GetCount() )
- {
- wxMacCFStringHolder cf( list->GetString(i) , list->GetFont().GetEncoding() ) ;
- verify_noerr( ::SetDataBrowserItemDataText( itemData , cf ) ) ;
- err = noErr ;
- }
- }
- }
- break;
- case kCheckboxColumnId :
- {
- long ref = GetControlReference( browser ) ;
- if ( ref )
- {
- wxCheckListBox* list = wxDynamicCast( (wxObject*) ref , wxCheckListBox ) ;
- int i = itemID - 1 ;
- if (i >= 0 && i < list->GetCount() )
- {
- verify_noerr( ::SetDataBrowserItemDataButtonValue( itemData , list->IsChecked( i ) ? kThemeButtonOn : kThemeButtonOff ) ) ;
- err = noErr ;
- }
- }
- }
- break ;
- case kDataBrowserItemIsEditableProperty:
- {
- err = ::SetDataBrowserItemDataBooleanValue(itemData, true);
- }
- break;
-
- default:
- break;
- }
- }
- else
- {
- switch( property )
- {
- case kCheckboxColumnId :
- {
- long ref = GetControlReference( browser ) ;
- if ( ref )
- {
- wxCheckListBox* list = wxDynamicCast( (wxObject*) ref , wxCheckListBox ) ;
- int i = itemID - 1 ;
- if (i >= 0 && i < list->GetCount() )
- {
- // we have to change this behind the back, since Check() would be triggering another update round
- bool newVal = !list->IsChecked( i ) ;
- verify_noerr( ::SetDataBrowserItemDataButtonValue( itemData , newVal ? kThemeButtonOn : kThemeButtonOff ) ) ;
- err = noErr ;
- list->m_checks[ i ] = newVal ;
-
- wxCommandEvent event(wxEVT_COMMAND_CHECKLISTBOX_TOGGLED, list->GetId());
- event.SetInt(i);
- event.SetEventObject(list);
- list->GetEventHandler()->ProcessEvent(event);
- }
- }
-
- }
- break ;
-
- default :
- break ;
- }
- }
-
- return err;
-}
-bool wxCheckListBox::Create(wxWindow *parent, wxWindowID id,
- const wxPoint& pos,
- const wxSize& size,
- int n, const wxString choices[],
- long style,
- const wxValidator& validator,
- const wxString& name)
-{
- m_macIsUserPane = false ;