Changeset 10433 for trunk/sources/HeuristicLab.Problems.Scheduling.Views
- Timestamp:
- 01/31/14 17:34:11 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.Scheduling.Views/3.3/JobShopSchedulingProblemView.cs
r10213 r10433 20 20 #endregion 21 21 22 using System; 22 23 using System.Windows.Forms; 24 using HeuristicLab.Collections; 25 using HeuristicLab.Encodings.ScheduleEncoding; 23 26 using HeuristicLab.MainForm; 24 27 using HeuristicLab.Optimization.Views; … … 43 46 protected override void OnContentChanged() { 44 47 base.OnContentChanged(); 45 if (Content == null) { 46 ganttChart.Reset(); 47 } else { 48 FillGanttChart(Content); 49 } 48 FillGanttChart(); 50 49 } 51 50 52 51 protected override void DeregisterContentEvents() { 53 Content.JobDataParameter.ValueChanged -= JobDataParameter_ValueChanged; 52 Content.JobDataParameter.ValueChanged -= JobDataParameterOnValueChanged; 53 Content.JobData.ItemsAdded -= JobsOnChanged; 54 Content.JobData.ItemsRemoved -= JobsOnChanged; 55 Content.JobData.ItemsReplaced -= JobsOnChanged; 56 Content.JobData.CollectionReset -= JobsOnChanged; 57 foreach (var job in Content.JobData) { 58 job.TasksChanged -= JobOnTasksChanged; 59 } 54 60 base.DeregisterContentEvents(); 55 61 } 56 62 protected override void RegisterContentEvents() { 57 63 base.RegisterContentEvents(); 58 Content.JobDataParameter.ValueChanged += JobDataParameter_ValueChanged; 59 } 60 61 void JobDataParameter_ValueChanged(object sender, System.EventArgs e) { 62 if (Content != null) { 63 FillGanttChart(Content); 64 Content.JobDataParameter.ValueChanged += JobDataParameterOnValueChanged; 65 Content.JobData.ItemsAdded += JobsOnChanged; 66 Content.JobData.ItemsRemoved += JobsOnChanged; 67 Content.JobData.ItemsReplaced += JobsOnChanged; 68 Content.JobData.CollectionReset += JobsOnChanged; 69 foreach (var job in Content.JobData) { 70 job.TasksChanged += JobOnTasksChanged; 64 71 } 65 72 } 66 73 67 private void FillGanttChart(JobShopSchedulingProblem content) { 74 private void JobsOnChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<Job>> e) { 75 foreach (var job in e.OldItems) 76 job.Value.TasksChanged -= JobOnTasksChanged; 77 foreach (var job in e.Items) 78 job.Value.TasksChanged += JobOnTasksChanged; 79 FillGanttChart(); 80 } 81 82 private void JobDataParameterOnValueChanged(object sender, EventArgs e) { 83 Content.JobData.ItemsAdded += JobsOnChanged; 84 Content.JobData.ItemsRemoved += JobsOnChanged; 85 Content.JobData.ItemsReplaced += JobsOnChanged; 86 Content.JobData.CollectionReset += JobsOnChanged; 87 foreach (var job in Content.JobData) { 88 job.TasksChanged += JobOnTasksChanged; 89 } 90 FillGanttChart(); 91 } 92 93 private void JobOnTasksChanged(object sender, EventArgs e) { 94 FillGanttChart(); 95 } 96 97 private void FillGanttChart() { 68 98 ganttChart.Reset(); 99 if (Content == null) return; 69 100 int jobCount = 0; 70 foreach (var j in content.JobData) {101 foreach (var j in Content.JobData) { 71 102 double lastEndTime = 0; 72 foreach (var t in content.JobData[jobCount].Tasks) {103 foreach (var t in Content.JobData[jobCount].Tasks) { 73 104 int categoryNr = t.JobNr; 74 105 string categoryName = "Job" + categoryNr; … … 78 109 lastEndTime + 1, 79 110 lastEndTime + t.Duration, 80 "Job" + t.JobNr + " - " + "Task#" + t.TaskNr .ToString());111 "Job" + t.JobNr + " - " + "Task#" + t.TaskNr); 81 112 lastEndTime += t.Duration; 82 113 }
Note: See TracChangeset
for help on using the changeset viewer.