Changeset 5900


Ignore:
Timestamp:
03/30/11 23:19:13 (11 years ago)
Author:
swagner
Message:

Worked on OKB (#1174)

Location:
branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/EmptyAlgorithm.cs

    r5640 r5900  
    2525using HeuristicLab.Optimization;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HeuristicLab.PluginInfrastructure;
    2728
    2829namespace HeuristicLab.Clients.OKB.RunCreation {
    2930  [Item("Empty Algorithm", "A dummy algorithm which serves as a placeholder and cannot be executed.")]
    3031  [StorableClass]
     32  [NonDiscoverableType]
    3133  public sealed class EmptyAlgorithm : HeuristicLab.Optimization.Algorithm {
    3234    private string exceptionMessage;
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/EmptyEvaluator.cs

    r5640 r5900  
    2626using HeuristicLab.Optimization;
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HeuristicLab.PluginInfrastructure;
    2829
    2930namespace HeuristicLab.Clients.OKB.RunCreation {
    3031  [Item("EmptyEvaluator", "A dummy evaluator which throws an exception when executed.")]
    3132  [StorableClass]
     33  [NonDiscoverableType]
    3234  public sealed class EmptyEvaluator : Operator, IEvaluator {
    3335    private string exceptionMessage;
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/EmptyMultiObjectiveEvaluator.cs

    r5640 r5900  
    2828using HeuristicLab.Parameters;
    2929using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     30using HeuristicLab.PluginInfrastructure;
    3031
    3132namespace HeuristicLab.Clients.OKB.RunCreation {
    3233  [Item("EmptyMultiObjectiveEvaluator", "A dummy multi-objective evaluator which throws an exception when executed.")]
    3334  [StorableClass]
     35  [NonDiscoverableType]
    3436  public sealed class EmptyMultiObjectiveEvaluator : Operator, IMultiObjectiveEvaluator {
    3537    private string exceptionMessage;
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/EmptyMultiObjectiveProblem.cs

    r5640 r5900  
    2424using HeuristicLab.Optimization;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HeuristicLab.PluginInfrastructure;
    2627
    2728namespace HeuristicLab.Clients.OKB.RunCreation {
    2829  [Item("Empty Multi-Objective Problem", "A dummy multi-objective problem which serves as a placeholder and cannot be solved.")]
    2930  [StorableClass]
    30   public sealed class EmptyMultiObjectiveProblem : MultiObjectiveProblem<EmptyMultiObjectiveEvaluator, EmptySolutionCreator> {
     31  [NonDiscoverableType]
     32  public sealed class EmptyMultiObjectiveProblem : MultiObjectiveHeuristicOptimizationProblem<EmptyMultiObjectiveEvaluator, EmptySolutionCreator> {
    3133    public override bool CanChangeName {
    3234      get { return false; }
     
    3941    private EmptyMultiObjectiveProblem(bool deserializing) : base(deserializing) { }
    4042    private EmptyMultiObjectiveProblem(EmptyMultiObjectiveProblem original, Cloner cloner) : base(original, cloner) { }
    41     public EmptyMultiObjectiveProblem()
    42       : base() {
    43       SolutionCreator = new EmptySolutionCreator();
    44       Evaluator = new EmptyMultiObjectiveEvaluator();
    45     }
    46     public EmptyMultiObjectiveProblem(string exceptionMessage)
    47       : base() {
    48       SolutionCreator = new EmptySolutionCreator(exceptionMessage);
    49       Evaluator = new EmptyMultiObjectiveEvaluator(exceptionMessage);
    50     }
     43    public EmptyMultiObjectiveProblem() : base(new EmptyMultiObjectiveEvaluator(), new EmptySolutionCreator()) { }
     44    public EmptyMultiObjectiveProblem(string exceptionMessage) : base(new EmptyMultiObjectiveEvaluator(exceptionMessage), new EmptySolutionCreator(exceptionMessage)) { }
    5145
    5246    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/EmptyProblem.cs

    r5640 r5900  
    2424using HeuristicLab.Optimization;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HeuristicLab.PluginInfrastructure;
    2627
    2728namespace HeuristicLab.Clients.OKB.RunCreation {
    2829  [Item("Empty Problem", "A dummy problem which serves as a placeholder and cannot be solved.")]
    2930  [StorableClass]
    30   public sealed class EmptyProblem : Problem<EmptyEvaluator, EmptySolutionCreator> {
     31  [NonDiscoverableType]
     32  public sealed class EmptyProblem : HeuristicOptimizationProblem<EmptyEvaluator, EmptySolutionCreator> {
    3133    public override bool CanChangeName {
    3234      get { return false; }
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/EmptySingleObjectiveEvaluator.cs

    r5640 r5900  
    2727using HeuristicLab.Parameters;
    2828using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     29using HeuristicLab.PluginInfrastructure;
    2930
    3031namespace HeuristicLab.Clients.OKB.RunCreation {
    3132  [Item("EmptySingleObjectiveEvaluator", "A dummy single-objective evaluator which throws an exception when executed.")]
    3233  [StorableClass]
     34  [NonDiscoverableType]
    3335  public sealed class EmptySingleObjectiveEvaluator : Operator, ISingleObjectiveEvaluator {
    3436    private string exceptionMessage;
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/EmptySingleObjectiveProblem.cs

    r5640 r5900  
    2424using HeuristicLab.Optimization;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HeuristicLab.PluginInfrastructure;
    2627
    2728namespace HeuristicLab.Clients.OKB.RunCreation {
    2829  [Item("Empty Single-Objective Problem", "A dummy single-objective problem which serves as a placeholder and cannot be solved.")]
    2930  [StorableClass]
    30   public sealed class EmptySingleObjectiveProblem : SingleObjectiveProblem<EmptySingleObjectiveEvaluator, EmptySolutionCreator> {
     31  [NonDiscoverableType]
     32  public sealed class EmptySingleObjectiveProblem : SingleObjectiveHeuristicOptimizationProblem<EmptySingleObjectiveEvaluator, EmptySolutionCreator> {
    3133    public override bool CanChangeName {
    3234      get { return false; }
     
    3941    private EmptySingleObjectiveProblem(bool deserializing) : base(deserializing) { }
    4042    private EmptySingleObjectiveProblem(EmptySingleObjectiveProblem original, Cloner cloner) : base(original, cloner) { }
    41     public EmptySingleObjectiveProblem()
    42       : base() {
    43       SolutionCreator = new EmptySolutionCreator();
    44       Evaluator = new EmptySingleObjectiveEvaluator();
    45     }
    46     public EmptySingleObjectiveProblem(string exceptionMessage)
    47       : base() {
    48       SolutionCreator = new EmptySolutionCreator(exceptionMessage);
    49       Evaluator = new EmptySingleObjectiveEvaluator(exceptionMessage);
    50     }
     43    public EmptySingleObjectiveProblem() : base(new EmptySingleObjectiveEvaluator(), new EmptySolutionCreator()) { }
     44    public EmptySingleObjectiveProblem(string exceptionMessage) : base(new EmptySingleObjectiveEvaluator(exceptionMessage), new EmptySolutionCreator(exceptionMessage)) { }
    5145
    5246    public override IDeepCloneable Clone(Cloner cloner) {
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/EmptySolutionCreator.cs

    r5640 r5900  
    2626using HeuristicLab.Optimization;
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HeuristicLab.PluginInfrastructure;
    2829
    2930namespace HeuristicLab.Clients.OKB.RunCreation {
    3031  [Item("EmptySolutionCreator", "A dummy solution creator which throws an exception when executed.")]
    3132  [StorableClass]
     33  [NonDiscoverableType]
    3234  public sealed class EmptySolutionCreator : Operator, ISolutionCreator {
    3335    private string exceptionMessage;
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/ItemWrapper.cs

    r5640 r5900  
    2525using HeuristicLab.Core;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HeuristicLab.PluginInfrastructure;
    2728
    2829namespace HeuristicLab.Clients.OKB.RunCreation {
    2930  [Item("ItemWrapper", "A wrapper which wraps an IItem.")]
    3031  [StorableClass]
     32  [NonDiscoverableType]
    3133  public class ItemWrapper<T> : IItem where T : class, IItem {
    3234    private T wrappedItem;
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/MultiObjectiveOKBProblem.cs

    r5640 r5900  
    3030  [Creatable("Optimization Knowledge Base (OKB)")]
    3131  [StorableClass]
    32   public sealed class MultiObjectiveOKBProblem : OKBProblem, IMultiObjectiveProblem, IStorableContent {
     32  public sealed class MultiObjectiveOKBProblem : OKBProblem, IMultiObjectiveHeuristicOptimizationProblem, IStorableContent {
    3333    public string Filename { get; set; }
    3434
    3535    public override Type ProblemType {
    36       get { return typeof(IMultiObjectiveProblem); }
     36      get { return typeof(IMultiObjectiveHeuristicOptimizationProblem); }
    3737    }
    38     public new IMultiObjectiveProblem Problem {
    39       get { return base.Problem as IMultiObjectiveProblem; }
     38    public new IMultiObjectiveHeuristicOptimizationProblem Problem {
     39      get { return base.Problem as IMultiObjectiveHeuristicOptimizationProblem; }
    4040    }
    4141    public IParameter MaximizationParameter {
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/NamedItemWrapper.cs

    r5640 r5900  
    2424using HeuristicLab.Core;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HeuristicLab.PluginInfrastructure;
    2627
    2728namespace HeuristicLab.Clients.OKB.RunCreation {
    2829  [Item("NamedItemWrapper", "A wrapper which wraps an INamedItem.")]
    2930  [StorableClass]
     31  [NonDiscoverableType]
    3032  public class NamedItemWrapper<T> : ItemWrapper<T>, INamedItem where T : class, INamedItem {
    3133    protected override T WrappedItem {
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/OKBProblem.cs

    r5667 r5900  
    3333  [Item("OKB Problem", "A base class for problems which are stored in the OKB.")]
    3434  [StorableClass]
    35   public abstract class OKBProblem : Item, IProblem {
     35  public abstract class OKBProblem : Item, IHeuristicOptimizationProblem {
    3636    public virtual Type ProblemType {
    37       get { return typeof(IProblem); }
     37      get { return typeof(IHeuristicOptimizationProblem); }
    3838    }
    3939    private long problemId;
     
    4141      get { return problemId; }
    4242    }
    43     private IProblem problem;
    44     protected IProblem Problem {
     43    private IHeuristicOptimizationProblem problem;
     44    protected IHeuristicOptimizationProblem Problem {
    4545      get { return problem; }
    4646      private set {
     
    114114    }
    115115    [Storable(Name = "Problem")]
    116     private IProblem StorableProblem {
     116    private IHeuristicOptimizationProblem StorableProblem {
    117117      get { return problem; }
    118118      set {
     
    131131      RegisterProblemEvents();
    132132    }
    133     protected OKBProblem(IProblem initialProblem)
     133    protected OKBProblem(IHeuristicOptimizationProblem initialProblem)
    134134      : base() {
    135135      if (initialProblem == null) throw new ArgumentNullException("initialProblem", "Initial problem cannot be null.");
     
    141141    public void Load(long problemId) {
    142142      if (this.problemId != problemId) {
    143         IProblem problem;
     143        IHeuristicOptimizationProblem problem;
    144144        byte[] problemData = RunCreationClient.GetProblemData(problemId);
    145145        using (MemoryStream stream = new MemoryStream(problemData)) {
    146           problem = XmlParser.Deserialize<IProblem>(stream);
     146          problem = XmlParser.Deserialize<IHeuristicOptimizationProblem>(stream);
    147147        }
    148148        if (ProblemType.IsAssignableFrom(problem.GetType())) {
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/SingleObjectiveOKBProblem.cs

    r5640 r5900  
    3030  [Creatable("Optimization Knowledge Base (OKB)")]
    3131  [StorableClass]
    32   public sealed class SingleObjectiveOKBProblem : OKBProblem, ISingleObjectiveProblem, IStorableContent {
     32  public sealed class SingleObjectiveOKBProblem : OKBProblem, ISingleObjectiveHeuristicOptimizationProblem, IStorableContent {
    3333    public string Filename { get; set; }
    3434
    3535    public override Type ProblemType {
    36       get { return typeof(ISingleObjectiveProblem); }
     36      get { return typeof(ISingleObjectiveHeuristicOptimizationProblem); }
    3737    }
    38     public new ISingleObjectiveProblem Problem {
    39       get { return base.Problem as ISingleObjectiveProblem; }
     38    public new ISingleObjectiveHeuristicOptimizationProblem Problem {
     39      get { return base.Problem as ISingleObjectiveHeuristicOptimizationProblem; }
    4040    }
    4141    public IParameter BestKnownQualityParameter {
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBAlgorithmView.Designer.cs

    r5667 r5900  
    7171      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
    7272      this.nameTextBox.Location = new System.Drawing.Point(72, 29);
    73       this.nameTextBox.Size = new System.Drawing.Size(607, 20);
     73      this.nameTextBox.Size = new System.Drawing.Size(577, 20);
    7474      this.nameTextBox.TabIndex = 5;
    7575      //
     
    7979      this.nameLabel.TabIndex = 4;
    8080      //
    81       // descriptionLabel
    82       //
    83       this.descriptionLabel.Location = new System.Drawing.Point(3, 58);
    84       this.descriptionLabel.TabIndex = 6;
    85       //
    86       // descriptionTextBox
    87       //
    88       this.descriptionTextBox.Location = new System.Drawing.Point(72, 55);
    89       this.descriptionTextBox.Size = new System.Drawing.Size(607, 20);
    90       this.descriptionTextBox.TabIndex = 7;
     81      // infoLabel
     82      //
     83      this.infoLabel.Location = new System.Drawing.Point(659, 32);
     84      this.infoLabel.TabIndex = 6;
    9185      //
    9286      // tabControl
     
    10094      this.tabControl.Controls.Add(this.resultsTabPage);
    10195      this.tabControl.Controls.Add(this.runsTabPage);
    102       this.tabControl.Location = new System.Drawing.Point(0, 81);
     96      this.tabControl.Location = new System.Drawing.Point(0, 55);
    10397      this.tabControl.Name = "tabControl";
    10498      this.tabControl.SelectedIndex = 0;
    105       this.tabControl.Size = new System.Drawing.Size(679, 371);
    106       this.tabControl.TabIndex = 8;
     99      this.tabControl.Size = new System.Drawing.Size(679, 397);
     100      this.tabControl.TabIndex = 7;
    107101      //
    108102      // problemTabPage
     
    115109      this.problemTabPage.Name = "problemTabPage";
    116110      this.problemTabPage.Padding = new System.Windows.Forms.Padding(3);
    117       this.problemTabPage.Size = new System.Drawing.Size(671, 345);
     111      this.problemTabPage.Size = new System.Drawing.Size(671, 371);
    118112      this.problemTabPage.TabIndex = 0;
    119113      this.problemTabPage.Text = "Problem";
     
    134128      this.problemViewHost.Name = "problemViewHost";
    135129      this.problemViewHost.ReadOnly = false;
    136       this.problemViewHost.Size = new System.Drawing.Size(659, 303);
     130      this.problemViewHost.Size = new System.Drawing.Size(659, 329);
    137131      this.problemViewHost.TabIndex = 3;
    138132      this.problemViewHost.ViewsLabelVisible = true;
     
    257251      this.startButton.Name = "startButton";
    258252      this.startButton.Size = new System.Drawing.Size(24, 24);
    259       this.startButton.TabIndex = 9;
     253      this.startButton.TabIndex = 8;
    260254      this.toolTip.SetToolTip(this.startButton, "Start/Resume Algorithm");
    261255      this.startButton.UseVisualStyleBackColor = true;
     
    269263      this.pauseButton.Name = "pauseButton";
    270264      this.pauseButton.Size = new System.Drawing.Size(24, 24);
    271       this.pauseButton.TabIndex = 10;
     265      this.pauseButton.TabIndex = 9;
    272266      this.toolTip.SetToolTip(this.pauseButton, "Pause Algorithm");
    273267      this.pauseButton.UseVisualStyleBackColor = true;
     
    281275      this.resetButton.Name = "resetButton";
    282276      this.resetButton.Size = new System.Drawing.Size(24, 24);
    283       this.resetButton.TabIndex = 12;
     277      this.resetButton.TabIndex = 11;
    284278      this.toolTip.SetToolTip(this.resetButton, "Reset Algorithm");
    285279      this.resetButton.UseVisualStyleBackColor = true;
     
    293287      this.executionTimeLabel.Name = "executionTimeLabel";
    294288      this.executionTimeLabel.Size = new System.Drawing.Size(83, 13);
    295       this.executionTimeLabel.TabIndex = 13;
     289      this.executionTimeLabel.TabIndex = 12;
    296290      this.executionTimeLabel.Text = "&Execution Time:";
    297291      //
     
    303297      this.executionTimeTextBox.ReadOnly = true;
    304298      this.executionTimeTextBox.Size = new System.Drawing.Size(137, 20);
    305       this.executionTimeTextBox.TabIndex = 14;
     299      this.executionTimeTextBox.TabIndex = 13;
    306300      //
    307301      // openFileDialog
     
    319313      this.stopButton.Name = "stopButton";
    320314      this.stopButton.Size = new System.Drawing.Size(24, 24);
    321       this.stopButton.TabIndex = 11;
     315      this.stopButton.TabIndex = 10;
    322316      this.toolTip.SetToolTip(this.stopButton, "Stop Algorithm");
    323317      this.stopButton.UseVisualStyleBackColor = true;
     
    386380      this.Name = "OKBAlgorithmView";
    387381      this.Size = new System.Drawing.Size(679, 482);
     382      this.Controls.SetChildIndex(this.infoLabel, 0);
    388383      this.Controls.SetChildIndex(this.resetButton, 0);
    389384      this.Controls.SetChildIndex(this.stopButton, 0);
    390385      this.Controls.SetChildIndex(this.executionTimeLabel, 0);
    391386      this.Controls.SetChildIndex(this.nameLabel, 0);
    392       this.Controls.SetChildIndex(this.descriptionLabel, 0);
    393387      this.Controls.SetChildIndex(this.executionTimeTextBox, 0);
    394       this.Controls.SetChildIndex(this.descriptionTextBox, 0);
    395388      this.Controls.SetChildIndex(this.pauseButton, 0);
    396389      this.Controls.SetChildIndex(this.nameTextBox, 0);
  • branches/OKB (trunk integration)/HeuristicLab.Clients.OKB/3.3/RunCreation/Views/OKBProblemView.Designer.cs

    r5660 r5900  
    5353      this.SuspendLayout();
    5454      //
    55       // parameterCollectionView
    56       //
    57       this.parameterCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    58                   | System.Windows.Forms.AnchorStyles.Left)
    59                   | System.Windows.Forms.AnchorStyles.Right)));
    60       this.parameterCollectionView.Content = null;
    61       this.parameterCollectionView.Location = new System.Drawing.Point(0, 79);
    62       this.parameterCollectionView.Name = "parameterCollectionView";
    63       this.parameterCollectionView.Size = new System.Drawing.Size(706, 314);
    64       this.parameterCollectionView.TabIndex = 8;
    65       //
    6655      // nameTextBox
    6756      //
     
    6958      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
    7059      this.nameTextBox.Location = new System.Drawing.Point(72, 27);
    71       this.nameTextBox.Size = new System.Drawing.Size(634, 20);
     60      this.nameTextBox.Size = new System.Drawing.Size(604, 20);
    7261      this.nameTextBox.TabIndex = 5;
    7362      //
     
    7766      this.nameLabel.TabIndex = 4;
    7867      //
    79       // descriptionLabel
     68      // infoLabel
    8069      //
    81       this.descriptionLabel.Location = new System.Drawing.Point(3, 56);
    82       this.descriptionLabel.TabIndex = 6;
    83       //
    84       // descriptionTextBox
    85       //
    86       this.descriptionTextBox.Location = new System.Drawing.Point(72, 53);
    87       this.descriptionTextBox.Size = new System.Drawing.Size(634, 20);
    88       this.descriptionTextBox.TabIndex = 7;
     70      this.infoLabel.Location = new System.Drawing.Point(687, 30);
     71      this.infoLabel.TabIndex = 6;
    8972      //
    9073      // problemComboBox
     
    133116      this.cloneProblemButton.Click += new System.EventHandler(this.cloneProblemButton_Click);
    134117      //
     118      // parameterCollectionView
     119      //
     120      this.parameterCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     121                  | System.Windows.Forms.AnchorStyles.Left)
     122                  | System.Windows.Forms.AnchorStyles.Right)));
     123      this.parameterCollectionView.Caption = "ParameterCollection View";
     124      this.parameterCollectionView.Content = null;
     125      this.parameterCollectionView.Location = new System.Drawing.Point(0, 53);
     126      this.parameterCollectionView.Name = "parameterCollectionView";
     127      this.parameterCollectionView.ReadOnly = false;
     128      this.parameterCollectionView.Size = new System.Drawing.Size(706, 340);
     129      this.parameterCollectionView.TabIndex = 7;
     130      //
    135131      // OKBProblemView
    136132      //
     
    138134      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    139135      this.Controls.Add(this.problemComboBox);
     136      this.Controls.Add(this.parameterCollectionView);
    140137      this.Controls.Add(this.problemLabel);
    141138      this.Controls.Add(this.cloneProblemButton);
    142139      this.Controls.Add(this.refreshButton);
    143       this.Controls.Add(this.parameterCollectionView);
    144140      this.Name = "OKBProblemView";
    145141      this.Size = new System.Drawing.Size(706, 393);
     
    147143      this.Controls.SetChildIndex(this.cloneProblemButton, 0);
    148144      this.Controls.SetChildIndex(this.problemLabel, 0);
    149       this.Controls.SetChildIndex(this.descriptionLabel, 0);
    150145      this.Controls.SetChildIndex(this.parameterCollectionView, 0);
    151146      this.Controls.SetChildIndex(this.nameTextBox, 0);
    152       this.Controls.SetChildIndex(this.descriptionTextBox, 0);
    153147      this.Controls.SetChildIndex(this.nameLabel, 0);
     148      this.Controls.SetChildIndex(this.infoLabel, 0);
    154149      this.Controls.SetChildIndex(this.problemComboBox, 0);
    155150      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
Note: See TracChangeset for help on using the changeset viewer.