X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e510b1e2d0270caf227c3fc0cf34ae2e7dd6794..593177c566d3471189571641fb9db8efa27ed551:/samples/dataview/dataview.cpp diff --git a/samples/dataview/dataview.cpp b/samples/dataview/dataview.cpp index 788508256b..0d488672aa 100644 --- a/samples/dataview/dataview.cpp +++ b/samples/dataview/dataview.cpp @@ -118,7 +118,7 @@ public: variant = tmp; } } - virtual bool SetValue( wxVariant &value, unsigned int col, unsigned int row ) + virtual bool SetValue( const wxVariant &value, unsigned int col, unsigned int row ) { if (col == 6) { @@ -134,6 +134,12 @@ public: } return true; } + + virtual void GetAttr( wxListItemAttr &attr, unsigned int col, unsigned int row ) + { + if (row == 4) + attr.SetBackgroundColour( *wxGREEN ); + } wxArrayString m_list; wxArrayInt m_bools; @@ -343,7 +349,7 @@ public: variant = tmp; } - virtual bool SetValue( wxVariant &variant, unsigned int col, unsigned int row ) + virtual bool SetValue( const wxVariant &variant, unsigned int col, unsigned int row ) { if (col == 0) { @@ -682,10 +688,12 @@ void MyFrame::CreateDataViewControls() style |= wxDV_MULTIPLE; if (GetMenuBar()->FindItem(ID_NO_HEADER_MODE)->IsChecked()) style |= wxDV_NO_HEADER; +#if 0 if (GetMenuBar()->FindItem(ID_HORIZ_RULES_MODE)->IsChecked()) style |= wxDV_HORIZ_RULES; if (GetMenuBar()->FindItem(ID_VERT_RULES_MODE)->IsChecked()) style |= wxDV_VERT_RULES; +#endif // Left wxDataViewCtrl @@ -693,6 +701,9 @@ void MyFrame::CreateDataViewControls() wxDefaultSize, style ); + wxDataViewTextRenderer *text_renderer; + wxDataViewColumn *column; + wxObjectDataPtr model(new MyTextModel); dataview_left->AssociateModel( model.get() ); @@ -701,10 +712,8 @@ void MyFrame::CreateDataViewControls() dataview_left->AppendTextColumn( wxT("Second"), 1, wxDATAVIEW_CELL_INERT, -1, DEFAULT_ALIGN ); - wxDataViewTextRenderer *text_renderer = - new wxDataViewTextRenderer( wxT("string"), wxDATAVIEW_CELL_EDITABLE ); - wxDataViewColumn *column = new wxDataViewColumn( wxT("editable"), text_renderer, 2, - -1, DEFAULT_ALIGN ); + text_renderer = new wxDataViewTextRenderer( wxT("string"), wxDATAVIEW_CELL_EDITABLE ); + column = new wxDataViewColumn( wxT("editable"), text_renderer, 2, -1, DEFAULT_ALIGN ); dataview_left->AppendColumn( column ); dataview_left->AppendToggleColumn( wxT("fourth"), 3, wxDATAVIEW_CELL_INERT, -1, @@ -719,7 +728,6 @@ void MyFrame::CreateDataViewControls() dataview_left->AppendDateColumn( wxT("date"), 6, wxDATAVIEW_CELL_INERT, -1, DEFAULT_ALIGN ); - // Right wxDataViewCtrl using the same model dataview_right = new wxDataViewCtrl( m_panelRight, wxID_ANY ); dataview_right->AssociateModel( model.get() ); @@ -1003,7 +1011,7 @@ MySortingFrame::MySortingFrame(wxFrame *frame, wxChar *title, int x, int y, int dataview_left = new wxDataViewCtrl( main, ID_UNSORTED, wxDefaultPosition, wxDefaultSize, wxDV_MULTIPLE ); - m_unsorted_model.reset(new MyUnsortedTextModel); + m_unsorted_model = new MyUnsortedTextModel; dataview_left->AssociateModel( m_unsorted_model.get() ); wxDataViewTextRenderer *text_renderer = @@ -1019,7 +1027,7 @@ MySortingFrame::MySortingFrame(wxFrame *frame, wxChar *title, int x, int y, int // Right wxDataViewCtrl using the sorting model dataview_right = new wxDataViewCtrl( main, ID_SORTED ); - m_sorted_model.reset(new wxDataViewSortedListModel( m_unsorted_model.get() )); + m_sorted_model = new wxDataViewSortedListModel( m_unsorted_model.get() ); dataview_right->AssociateModel( m_sorted_model.get() ); text_renderer = new wxDataViewTextRenderer( wxT("string"), wxDATAVIEW_CELL_EDITABLE );