Free cookie consent management tool by TermsFeed Policy Generator

source: branches/3.0/sources/HeuristicLab.Scheduling.JSSP/OperationView.cs @ 9173

Last change on this file since 9173 was 2, checked in by swagner, 17 years ago

Added HeuristicLab 3.0 sources from former SVN repository at revision 52

File size: 3.8 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System;
23using System.Collections.Generic;
24using System.ComponentModel;
25using System.Drawing;
26using System.Data;
27using System.Text;
28using System.Windows.Forms;
29using HeuristicLab.Core;
30using HeuristicLab.Data;
31
32namespace HeuristicLab.Scheduling.JSSP {
33  public partial class OperationView : ViewBase {
34    public Operation Operation {
35      get { return (Operation)Item; }
36      set { base.Item = value; }
37    }
38
39    public OperationView() {
40      InitializeComponent();
41    }
42    public OperationView(Operation operation)
43      : this() {
44      Operation = operation;
45    }
46
47    protected override void RemoveItemEvents() {
48      Operation.Changed -= new EventHandler(Operation_Changed);
49      base.RemoveItemEvents();
50    }
51    protected override void AddItemEvents() {
52      base.AddItemEvents();
53      Operation.Changed += new EventHandler(Operation_Changed);
54    }
55
56    protected override void UpdateControls() {
57      base.UpdateControls();
58      predTextBox.Enabled = false;
59      if (Operation == null) {
60        jobTextBox.Enabled = false;
61        opTextBox.Enabled = false;
62        startTextBox.Enabled = false;
63        durTextBox.Enabled = false;
64      } else {
65        jobTextBox.Enabled = true;
66        opTextBox.Enabled = true;
67        startTextBox.Enabled = true;
68        durTextBox.Enabled = true;
69        this.jobTextBox.Text = Operation.Job.ToString();
70        this.opTextBox.Text = Operation.OperationIndex.ToString();
71        this.startTextBox.Text = Operation.Start.ToString();
72        this.durTextBox.Text = Operation.Duration.ToString();
73        if (Operation.Predecessors != null) {
74          this.predTextBox.Text = Operation.Predecessors.ToString();
75        }
76      }
77    }
78
79    private void Operation_Changed(object sender, EventArgs e) {
80      Refresh();
81    }
82
83    private void jobTextBox_Validating(object sender, CancelEventArgs e) {
84      e.Cancel = false;
85      try {
86        Operation.Job = int.Parse(jobTextBox.Text);
87      }
88      catch (Exception) {
89        jobTextBox.SelectAll();
90        e.Cancel = true;
91      }
92    }
93
94    private void startTextBox_Validating(object sender, CancelEventArgs e) {
95      e.Cancel = false;
96      try {
97        Operation.Start = int.Parse(startTextBox.Text);
98      }
99      catch (Exception) {
100        startTextBox.SelectAll();
101        e.Cancel = true;
102      }
103    }
104
105    private void opTextBox_Validating(object sender, CancelEventArgs e) {
106      e.Cancel = false;
107      try {
108        Operation.OperationIndex = int.Parse(opTextBox.Text);
109      }
110      catch (Exception) {
111        opTextBox.SelectAll();
112        e.Cancel = true;
113      }
114    }
115
116    private void durTextBox_Validating(object sender, CancelEventArgs e) {
117      e.Cancel = false;
118      try {
119        Operation.Duration = int.Parse(durTextBox.Text);
120      }
121      catch (Exception) {
122        durTextBox.SelectAll();
123        e.Cancel = true;
124      }
125    }
126
127  }
128}
Note: See TracBrowser for help on using the repository browser.