/// <summary> /// called when a cell was edited ... sets the data for the virtualgridcell and the model in the gtk tree store /// </summary> /// <param name="o"></param> /// <param name="args"></param> void cell_Edited(object o, Gtk.EditedArgs args) { TreeListCellRendererText cell = o as TreeListCellRendererText; if (cell != null) { Gtk.TreeIter iter; Tree.Model.GetIter(out iter, new Gtk.TreePath(args.Path)); VirtualGridRow row = getGridRow(iter); if (row != null) { row.setData(cell.ColumnName, args.NewText, true); Tree.Model.SetValue(iter, cell.ColumnIndex, args.NewText); if (AfterEdit != null) { AfterEdit(this, new RowChangedEventArgs(row, cell.ColumnName)); } } } }
void HandleToggled(object o, Gtk.ToggledArgs args) { int column = columns.IndexOf(o); Gtk.TreeIter iter; if (Tree.Model.GetIterFromString(out iter, args.Path)) { bool val = (bool)Tree.Model.GetValue(iter, column); Tree.Model.SetValue(iter, column, !val); VirtualGridRow row = getGridRow(iter); if (row != null) { String colname = row.getColumnName(column); row.setData(colname, !val, true); if (Toggled != null) { Toggled(this, new RowChangedEventArgs(row, colname)); } } } }