virtual void StartEditor( const wxDataViewItem & item, unsigned int column );
protected:
- virtual int GetSelections( wxArrayInt & sel ) const;
- virtual void SetSelections( const wxArrayInt & sel );
- virtual void Select( int row );
- virtual void Unselect( int row );
- virtual bool IsSelected( int row ) const;
- virtual void SelectRange( int from, int to );
- virtual void UnselectRange( int from, int to );
-
virtual void EnsureVisible( int row, int column );
virtual wxDataViewItem GetItemByRow( unsigned int row ) const;
return false;
}
-// Selection code with row number as parameter
-int wxDataViewCtrl::GetSelections( wxArrayInt & sel ) const
-{
- sel.Empty();
- wxDataViewSelection selection = m_clientArea->GetSelections();
- int len = selection.GetCount();
- for( int i = 0; i < len; i ++)
- {
- unsigned int row = selection[i];
- sel.Add( row );
- }
- return len;
-}
-
-void wxDataViewCtrl::SetSelections( const wxArrayInt & sel )
-{
- wxDataViewSelection selection(wxDataViewSelectionCmp);
- int len = sel.GetCount();
- for( int i = 0; i < len; i ++ )
- {
- int row = sel[i];
- if( row >= 0 )
- selection.Add( static_cast<unsigned int>(row) );
- }
- m_clientArea->SetSelections( selection );
-}
-
-void wxDataViewCtrl::Select( int row )
-{
- if( row >= 0 )
- {
- if (m_clientArea->IsSingleSel())
- m_clientArea->SelectAllRows(false);
- m_clientArea->SelectRow( row, true );
- }
-}
-
-void wxDataViewCtrl::Unselect( int row )
-{
- if( row >= 0 )
- m_clientArea->SelectRow(row, false);
-}
-
-bool wxDataViewCtrl::IsSelected( int row ) const
-{
- if( row >= 0 )
- return m_clientArea->IsRowSelected(row);
- return false;
-}
-
-void wxDataViewCtrl::SelectRange( int from, int to )
-{
- wxArrayInt sel;
- for( int i = from; i < to; i ++ )
- sel.Add( i );
- m_clientArea->Select(sel);
-}
-
-void wxDataViewCtrl::UnselectRange( int from, int to )
-{
- wxDataViewSelection sel = m_clientArea->GetSelections();
- for( int i = from; i < to; i ++ )
- if( sel.Index( i ) != wxNOT_FOUND )
- sel.Remove( i );
- m_clientArea->SetSelections(sel);
-}
-
void wxDataViewCtrl::SelectAll()
{
m_clientArea->SelectAllRows(true);