Replace wxDataViewCtrl::StartEditor() with EditItem().

This is more consistent with other wxDVC methods (taking column pointer
as its argument) and other DVC-like classes where the name EditLabel()
is used for similar purposes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2012-01-17 14:05:17 +00:00
parent 9944f9c6f3
commit 907f09f44b
9 changed files with 35 additions and 27 deletions

View File

@@ -701,9 +701,10 @@ public:
virtual bool SetRowHeight( int WXUNUSED(rowHeight) ) { return false; } virtual bool SetRowHeight( int WXUNUSED(rowHeight) ) { return false; }
virtual void StartEditor( const wxDataViewItem & WXUNUSED(item), virtual void EditItem(const wxDataViewItem& item, const wxDataViewColumn *column) = 0;
unsigned int WXUNUSED(column) )
{ } // Use EditItem() instead
wxDEPRECATED( void StartEditor(const wxDataViewItem& item, unsigned int column) );
#if wxUSE_DRAG_AND_DROP #if wxUSE_DRAG_AND_DROP
virtual bool EnableDragSource(const wxDataFormat& WXUNUSED(format)) virtual bool EnableDragSource(const wxDataFormat& WXUNUSED(format))

View File

@@ -189,7 +189,7 @@ public:
virtual wxBorder GetDefaultBorder() const; virtual wxBorder GetDefaultBorder() const;
virtual void StartEditor( const wxDataViewItem & item, unsigned int column ); virtual void EditItem(const wxDataViewItem& item, const wxDataViewColumn *column);
protected: protected:
virtual void EnsureVisible( int row, int column ); virtual void EnsureVisible( int row, int column );

View File

@@ -160,7 +160,7 @@ public:
virtual bool SetRowHeight( int rowHeight ); virtual bool SetRowHeight( int rowHeight );
virtual void StartEditor( const wxDataViewItem & item, unsigned int column ); virtual void EditItem(const wxDataViewItem& item, const wxDataViewColumn *column);
virtual void Expand( const wxDataViewItem & item ); virtual void Expand( const wxDataViewItem & item );
virtual void Collapse( const wxDataViewItem & item ); virtual void Collapse( const wxDataViewItem & item );

View File

@@ -201,7 +201,7 @@ public:
// finishes editing of custom items; if no custom item is currently edited the method does nothing // finishes editing of custom items; if no custom item is currently edited the method does nothing
void FinishCustomItemEditing(); void FinishCustomItemEditing();
virtual void StartEditor( const wxDataViewItem & item, unsigned int column ); virtual void EditItem(const wxDataViewItem& item, const wxDataViewColumn *column);
// returns the n-th pointer to a column; // returns the n-th pointer to a column;
// this method is different from GetColumn(unsigned int pos) because here 'n' is not a position in the control but the n-th // this method is different from GetColumn(unsigned int pos) because here 'n' is not a position in the control but the n-th

View File

@@ -997,6 +997,17 @@ public:
*/ */
virtual bool DeleteColumn(wxDataViewColumn* column); virtual bool DeleteColumn(wxDataViewColumn* column);
/**
Programmatically starts editing given cell of @a item.
Doesn't do anything if the item or this column is not editable.
@note Currently not implemented in wxOSX/Carbon.
@since 2.9.4
*/
virtual void EditItem(const wxDataViewItem& item, const wxDataViewColumn *column);
/** /**
Enable drag operations using the given @a format. Enable drag operations using the given @a format.
*/ */
@@ -1213,14 +1224,6 @@ public:
*/ */
virtual void SetSelections(const wxDataViewItemArray& sel); virtual void SetSelections(const wxDataViewItemArray& sel);
/**
Programmatically starts editing the given item on the given column.
Currently not implemented on wxOSX Carbon.
@since 2.9.2
*/
virtual void StartEditor(const wxDataViewItem & item, unsigned int column);
/** /**
Unselect the given item. Unselect the given item.
*/ */

View File

@@ -1418,6 +1418,11 @@ wxDataViewCtrlBase::InsertColumn( unsigned int WXUNUSED(pos), wxDataViewColumn *
return true; return true;
} }
void wxDataViewCtrlBase::StartEditor(const wxDataViewItem& item, unsigned int column)
{
EditItem(item, GetColumn(column));
}
// --------------------------------------------------------- // ---------------------------------------------------------
// wxDataViewEvent // wxDataViewEvent
// --------------------------------------------------------- // ---------------------------------------------------------

View File

@@ -3599,7 +3599,7 @@ void wxDataViewMainWindow::OnChar( wxKeyEvent &event )
wxDataViewColumn *editableCol = FindColumnForEditing(item, wxDATAVIEW_CELL_EDITABLE); wxDataViewColumn *editableCol = FindColumnForEditing(item, wxDATAVIEW_CELL_EDITABLE);
if ( editableCol ) if ( editableCol )
GetOwner()->StartEditor(item, GetOwner()->GetColumnIndex(editableCol)); GetOwner()->EditItem(item, editableCol);
} }
} }
break; break;
@@ -5021,13 +5021,12 @@ bool wxDataViewCtrl::IsExpanded( const wxDataViewItem & item ) const
return false; return false;
} }
void wxDataViewCtrl::StartEditor( const wxDataViewItem & item, unsigned int column ) void wxDataViewCtrl::EditItem(const wxDataViewItem& item, const wxDataViewColumn *column)
{ {
wxDataViewColumn* col = GetColumn( column ); wxCHECK_RET( item.IsOk(), "invalid item" );
if (!col) wxCHECK_RET( column, "no column provided" );
return;
m_clientArea->StartEditing(item, col); m_clientArea->StartEditing(item, column);
} }
#endif // !wxUSE_GENERICDATAVIEWCTRL #endif // !wxUSE_GENERICDATAVIEWCTRL

View File

@@ -4853,18 +4853,18 @@ wxDataViewColumn *wxDataViewCtrl::GetCurrentColumn() const
return FromGTKColumn(col); return FromGTKColumn(col);
} }
void wxDataViewCtrl::StartEditor(const wxDataViewItem& item, unsigned int column) void wxDataViewCtrl::EditItem(const wxDataViewItem& item, const wxDataViewColumn *column)
{ {
wxCHECK_RET( m_treeview, wxCHECK_RET( m_treeview,
"Current item can't be set before creating the control." ); "Current item can't be set before creating the control." );
wxCHECK_RET( item.IsOk(), "invalid item" );
wxCHECK_RET( column, "no column provided" );
// We need to make sure the model knows about this item or the path would // We need to make sure the model knows about this item or the path would
// be invalid and gtk_tree_view_set_cursor() would silently do nothing. // be invalid and gtk_tree_view_set_cursor() would silently do nothing.
ExpandAncestors(item); ExpandAncestors(item);
wxDataViewColumn *dvcolumn = GetColumn(column); GtkTreeViewColumn *gcolumn = GTK_TREE_VIEW_COLUMN(column->GetGtkHandle());
wxASSERT_MSG(dvcolumn, "Could not retrieve column");
GtkTreeViewColumn *gcolumn = GTK_TREE_VIEW_COLUMN(dvcolumn->GetGtkHandle());
// We also need to preserve the existing selection from changing. // We also need to preserve the existing selection from changing.
// Unfortunately the only way to do it seems to use our own selection // Unfortunately the only way to do it seems to use our own selection

View File

@@ -635,9 +635,9 @@ void wxDataViewCtrl::AddChildren(wxDataViewItem const& parentItem)
(void) GetModel()->ItemsAdded(parentItem,items); (void) GetModel()->ItemsAdded(parentItem,items);
} }
void wxDataViewCtrl::StartEditor( const wxDataViewItem & item, unsigned int column ) void wxDataViewCtrl::EditItem(const wxDataViewItem& item, const wxDataViewColumn *column)
{ {
GetDataViewPeer()->StartEditor(item, column); GetDataViewPeer()->StartEditor(item, GetColumnPosition(column));
} }
void wxDataViewCtrl::FinishCustomItemEditing() void wxDataViewCtrl::FinishCustomItemEditing()