Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.DataImporter/HeuristicLab.DataImporter.Command/ChangeDataset/MoveColumnGroupRightCommand.cs @ 6133

Last change on this file since 6133 was 6133, checked in by gkronber, 13 years ago

#1471: imported generic parts of DataImporter from private code base

File size: 1.8 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Xml;
6using HeuristicLab.DataImporter.Data;
7using HeuristicLab.DataImporter.Data.CommandBase;
8using HeuristicLab.DataImporter.Data.Model;
9using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
10
11
12namespace HeuristicLab.DataImporter.Command {
13  [StorableClass]
14  [ViewableCommandInfoAttribute("Move ColumnGroup right", 1, ColumnGroupState.Active, "ColumnGroup Commands", Position = 3)]
15  public class MoveColumnGroupRightCommand : DataSetCommandWithAffectedColumnGroupsBase {
16    private MoveColumnGroupRightCommand()
17      : base(null, null) {
18    }
19
20    public MoveColumnGroupRightCommand(DataSet dataSet, List<string> affectedColumnGroups)
21      : base(dataSet, affectedColumnGroups) {
22    }
23
24    public override string Description {
25      get { return "Move column group right"; }
26    }
27
28    public override void Execute() {
29      base.Execute();
30      ColumnGroup cg = this.DataSet.GetColumnGroup(AffectedColumnGroupNames[0]);
31      int columnGroupIndex = DataSet.IndexOfColumnGroup(cg);
32      if (columnGroupIndex != DataSet.ColumnGroups.Count() - 1) {
33        DataSet.RemoveColumnGroup(cg);
34        DataSet.InsertColumnGroup(columnGroupIndex + 1, cg);
35        DataSet.FireChanged();
36      }
37    }
38
39    public override void UndoExecute() {
40      base.UndoExecute();
41      ColumnGroup cg = this.DataSet.GetColumnGroup(AffectedColumnGroupNames[0]);
42      int columnGroupIndex = DataSet.IndexOfColumnGroup(cg);
43      if (columnGroupIndex == 0) {
44        DataSet.RemoveColumnGroup(cg);
45        DataSet.InsertColumnGroup(columnGroupIndex - 1, cg);
46        DataSet.FireChanged();
47      }
48      this.DataSet.FireChanged();
49    }
50  }
51}
Note: See TracBrowser for help on using the repository browser.