public void Do(DataGridViewUndoRedoCommand command) { lock (this) { this.undo.AddFirst(command); this.CanUndo = this.undo.Count > 0; this.redo.Clear(); this.CanRedo = this.redo.Count > 0; while (MaxTimes > 0 && undo.Count > MaxTimes) { undo.RemoveLast(); } } }
public void DoAddRows(List <DataGridViewRow> rows) { if (rows == null || rows.Count == 0) { return; } var cmd = new DataGridViewUndoRedoCommand() { CommandType = DataGridViewUndoRedoCommandType.AddRow, Rows = rows }; Do(cmd); }
public void DoAddColumns(List <GridOilColumnGroup> columns) { if (columns == null || columns.Count == 0) { return; } var cmd = new DataGridViewUndoRedoCommand() { CommandType = DataGridViewUndoRedoCommandType.AddColumn, NewColumns = columns }; Do(cmd); }
public void DoChangeColumns(List <GridOilColumnGroup> oldColumns, List <GridOilColumnGroup> newColumns, List <DataGridViewUndoRedoValue> values) { if (oldColumns == null || oldColumns.Count == 0 || newColumns == null || newColumns.Count == 0) { return; } var cmd = new DataGridViewUndoRedoCommand() { CommandType = DataGridViewUndoRedoCommandType.ChangeColumn, Values = values, OldColumns = oldColumns, NewColumns = newColumns }; Do(cmd); }
public void DoChangeColumn(GridOilColumnGroup oldColumn, GridOilColumnGroup newColumn, List <DataGridViewUndoRedoValue> values) { if (oldColumn == null || newColumn == null) { return; } var cmd = new DataGridViewUndoRedoCommand() { CommandType = DataGridViewUndoRedoCommandType.ChangeColumn, Values = values, NewColumns = new List <GridOilColumnGroup>(new GridOilColumnGroup[] { newColumn }), OldColumns = new List <GridOilColumnGroup>(new GridOilColumnGroup[] { oldColumn }) }; Do(cmd); }
public void Redo() { lock (this) { if (this.redo.Count >= 1) { DataGridViewUndoRedoCommand command = this.redo.First(); redo.RemoveFirst(); this.CanRedo = this.redo.Count > 0; command.Redo(this); this.undo.AddFirst(command); this.CanUndo = this.undo.Count > 0; while (MaxTimes > 0 && undo.Count > MaxTimes) { undo.RemoveLast(); } } } }
public void DoRemoveRows(List <DataGridViewRow> rows, List <DataGridViewUndoRedoValue> values) { if (rows == null || rows.Count == 0) { return; } if (values != null) { values = values.Where(o => o.IsVaild).ToList(); } var cmd = new DataGridViewUndoRedoCommand() { CommandType = DataGridViewUndoRedoCommandType.RemoveRow, Rows = rows, Values = values }; Do(cmd); }
public void DoRemoveColumns(List <GridOilColumnGroup> columns, List <DataGridViewUndoRedoValue> values) { if (columns == null || columns.Count == 0) { return; } if (values != null) { values = values.Where(o => o.IsVaild).ToList(); } var cmd = new DataGridViewUndoRedoCommand() { CommandType = DataGridViewUndoRedoCommandType.RemoveColumn, OldColumns = columns, Values = values }; Do(cmd); }
public void DoChangeValues(List <DataGridViewUndoRedoValue> values) { if (values == null || values.Count == 0) { return; } values = values.Where(o => o.IsVaild).ToList(); if (values.Count == 0) { return; } var cmd = new DataGridViewUndoRedoCommand() { CommandType = DataGridViewUndoRedoCommandType.ChangeValue, Values = values }; Do(cmd); }