Free cookie consent management tool by TermsFeed Policy Generator

Changeset 3865


Ignore:
Timestamp:
05/27/10 20:27:41 (14 years ago)
Author:
abeham
Message:

#866

  • Worked on view for ExternalEvaluationProcessDriver

#1019

  • Added missing events in SingleObjectiveTestFunctionProblem
Location:
trunk/sources
Files:
1 added
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab 3.3.sln

    r3864 r3865  
    3636    {489CFE09-FDF7-4C89-BAB5-BD09CADD61AD} = {489CFE09-FDF7-4C89-BAB5-BD09CADD61AD}
    3737    {72104A0B-90E7-42F3-9ABE-9BBBADD4B943} = {72104A0B-90E7-42F3-9ABE-9BBBADD4B943}
     38    {3081630C-9521-47D7-8075-1777C12F212C} = {3081630C-9521-47D7-8075-1777C12F212C}
    3839    {25087811-F74C-4128-BC86-8324271DA13E} = {25087811-F74C-4128-BC86-8324271DA13E}
    3940    {662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2} = {662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2}
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3/ExternalEvaluationProcessDriverView.Designer.cs

    r3864 r3865  
    2424    /// </summary>
    2525    private void InitializeComponent() {
    26       components = new System.ComponentModel.Container();
     26      this.executableTextBox = new System.Windows.Forms.TextBox();
     27      this.browseExecutableButton = new System.Windows.Forms.Button();
     28      this.argumentsTextBox = new System.Windows.Forms.TextBox();
     29      this.executableLabel = new System.Windows.Forms.Label();
     30      this.argumentsLabel = new System.Windows.Forms.Label();
     31      this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
     32      this.startButton = new System.Windows.Forms.Button();
     33      this.terminateButton = new System.Windows.Forms.Button();
     34      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
     35      this.SuspendLayout();
     36      //
     37      // nameTextBox
     38      //
     39      this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
     40      this.errorProvider.SetIconPadding(this.nameTextBox, 2);
     41      this.nameTextBox.Size = new System.Drawing.Size(319, 20);
     42      //
     43      // descriptionTextBox
     44      //
     45      this.descriptionTextBox.Size = new System.Drawing.Size(319, 20);
     46      //
     47      // executableTextBox
     48      //
     49      this.executableTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     50                  | System.Windows.Forms.AnchorStyles.Right)));
     51      this.executableTextBox.Location = new System.Drawing.Point(72, 59);
     52      this.executableTextBox.Name = "executableTextBox";
     53      this.executableTextBox.ReadOnly = true;
     54      this.executableTextBox.Size = new System.Drawing.Size(243, 20);
     55      this.executableTextBox.TabIndex = 4;
     56      //
     57      // browseExecutableButton
     58      //
     59      this.browseExecutableButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
     60      this.browseExecutableButton.Location = new System.Drawing.Point(321, 57);
     61      this.browseExecutableButton.Name = "browseExecutableButton";
     62      this.browseExecutableButton.Size = new System.Drawing.Size(67, 23);
     63      this.browseExecutableButton.TabIndex = 5;
     64      this.browseExecutableButton.Text = "Browse...";
     65      this.browseExecutableButton.UseVisualStyleBackColor = true;
     66      this.browseExecutableButton.Click += new System.EventHandler(this.browseExecutableButton_Click);
     67      //
     68      // argumentsTextBox
     69      //
     70      this.argumentsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     71                  | System.Windows.Forms.AnchorStyles.Right)));
     72      this.argumentsTextBox.Location = new System.Drawing.Point(72, 85);
     73      this.argumentsTextBox.Name = "argumentsTextBox";
     74      this.argumentsTextBox.Size = new System.Drawing.Size(243, 20);
     75      this.argumentsTextBox.TabIndex = 6;
     76      this.argumentsTextBox.Validated += new System.EventHandler(this.argumentsTextBox_Validated);
     77      //
     78      // executableLabel
     79      //
     80      this.executableLabel.AutoSize = true;
     81      this.executableLabel.Location = new System.Drawing.Point(3, 62);
     82      this.executableLabel.Name = "executableLabel";
     83      this.executableLabel.Size = new System.Drawing.Size(63, 13);
     84      this.executableLabel.TabIndex = 7;
     85      this.executableLabel.Text = "Executable:";
     86      //
     87      // argumentsLabel
     88      //
     89      this.argumentsLabel.AutoSize = true;
     90      this.argumentsLabel.Location = new System.Drawing.Point(3, 88);
     91      this.argumentsLabel.Name = "argumentsLabel";
     92      this.argumentsLabel.Size = new System.Drawing.Size(60, 13);
     93      this.argumentsLabel.TabIndex = 7;
     94      this.argumentsLabel.Text = "Arguments:";
     95      //
     96      // openFileDialog
     97      //
     98      this.openFileDialog.Filter = "Executables|*.exe|All files|*.*";
     99      this.openFileDialog.Title = "Select the executable of the external process";
     100      //
     101      // startButton
     102      //
     103      this.startButton.Location = new System.Drawing.Point(72, 111);
     104      this.startButton.Name = "startButton";
     105      this.startButton.Size = new System.Drawing.Size(75, 23);
     106      this.startButton.TabIndex = 8;
     107      this.startButton.Text = "Launch";
     108      this.startButton.UseVisualStyleBackColor = true;
     109      this.startButton.Click += new System.EventHandler(this.startButton_Click);
     110      //
     111      // terminateButton
     112      //
     113      this.terminateButton.Enabled = false;
     114      this.terminateButton.Location = new System.Drawing.Point(153, 111);
     115      this.terminateButton.Name = "terminateButton";
     116      this.terminateButton.Size = new System.Drawing.Size(75, 23);
     117      this.terminateButton.TabIndex = 8;
     118      this.terminateButton.Text = "Terminate";
     119      this.terminateButton.UseVisualStyleBackColor = true;
     120      this.terminateButton.Click += new System.EventHandler(this.terminateButton_Click);
     121      //
     122      // ExternalEvaluationProcessDriverView
     123      //
     124      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    27125      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     126      this.Controls.Add(this.executableTextBox);
     127      this.Controls.Add(this.argumentsLabel);
     128      this.Controls.Add(this.argumentsTextBox);
     129      this.Controls.Add(this.browseExecutableButton);
     130      this.Controls.Add(this.startButton);
     131      this.Controls.Add(this.executableLabel);
     132      this.Controls.Add(this.terminateButton);
     133      this.Name = "ExternalEvaluationProcessDriverView";
     134      this.Size = new System.Drawing.Size(391, 139);
     135      this.Controls.SetChildIndex(this.terminateButton, 0);
     136      this.Controls.SetChildIndex(this.executableLabel, 0);
     137      this.Controls.SetChildIndex(this.startButton, 0);
     138      this.Controls.SetChildIndex(this.browseExecutableButton, 0);
     139      this.Controls.SetChildIndex(this.argumentsTextBox, 0);
     140      this.Controls.SetChildIndex(this.argumentsLabel, 0);
     141      this.Controls.SetChildIndex(this.executableTextBox, 0);
     142      this.Controls.SetChildIndex(this.nameLabel, 0);
     143      this.Controls.SetChildIndex(this.descriptionLabel, 0);
     144      this.Controls.SetChildIndex(this.nameTextBox, 0);
     145      this.Controls.SetChildIndex(this.descriptionTextBox, 0);
     146      ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
     147      this.ResumeLayout(false);
     148      this.PerformLayout();
     149
    28150    }
    29151
    30152    #endregion
     153
     154    private System.Windows.Forms.TextBox executableTextBox;
     155    private System.Windows.Forms.Button browseExecutableButton;
     156    private System.Windows.Forms.TextBox argumentsTextBox;
     157    private System.Windows.Forms.Label executableLabel;
     158    private System.Windows.Forms.Label argumentsLabel;
     159    private System.Windows.Forms.OpenFileDialog openFileDialog;
     160    private System.Windows.Forms.Button startButton;
     161    private System.Windows.Forms.Button terminateButton;
    31162  }
    32163}
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3/ExternalEvaluationProcessDriverView.cs

    r3864 r3865  
    4545
    4646    protected override void DeregisterContentEvents() {
    47       // TODO: Deregister your event handlers here
     47      Content.ExecutableChanged -= new EventHandler(Content_ExecutableChanged);
     48      Content.ArgumentsChanged -= new EventHandler(Content_ArgumentsChanged);
     49      Content.ProcessStarted -= new EventHandler(Content_ProcessStarted);
     50      Content.ProcessExited -= new EventHandler(Content_ProcessExited);
    4851      base.DeregisterContentEvents();
    4952    }
     
    5154    protected override void RegisterContentEvents() {
    5255      base.RegisterContentEvents();
    53       // TODO: Register your event handlers here
     56      Content.ExecutableChanged += new EventHandler(Content_ExecutableChanged);
     57      Content.ArgumentsChanged += new EventHandler(Content_ArgumentsChanged);
     58      Content.ProcessStarted += new EventHandler(Content_ProcessStarted);
     59      Content.ProcessExited += new EventHandler(Content_ProcessExited);
    5460    }
    5561
    5662    #region Event Handlers (Content)
    57     // TODO: Put event handlers of the content here
     63    private void Content_ExecutableChanged(object sender, EventArgs e) {
     64      executableTextBox.Text = Content.Executable;
     65    }
     66    private void Content_ArgumentsChanged(object sender, EventArgs e) {
     67      argumentsTextBox.Text = Content.Arguments;
     68    }
     69    private void Content_ProcessStarted(object sender, EventArgs e) {
     70      if (InvokeRequired) Invoke(new Action<object, EventArgs>(Content_ProcessStarted), sender, e);
     71      else SetEnabledStateOfControls();
     72    }
     73    private void Content_ProcessExited(object sender, EventArgs e) {
     74      if (InvokeRequired) Invoke(new Action<object, EventArgs>(Content_ProcessExited), sender, e);
     75      else SetEnabledStateOfControls();
     76    }
    5877    #endregion
    5978
     
    6180      base.OnContentChanged();
    6281      if (Content == null) {
    63         // TODO: Add code when content has been changed and is null
     82        executableTextBox.Text = String.Empty;
     83        argumentsTextBox.Text = String.Empty;
    6484      } else {
    65         // TODO: Add code when content has been changed and is not null
     85        executableTextBox.Text = Content.Executable;
     86        argumentsTextBox.Text = Content.Arguments;
    6687      }
    6788      SetEnabledStateOfControls();
     
    7495
    7596    private void SetEnabledStateOfControls() {
    76       // TODO: Enable or disable controls based on whether the content is null or the view is set readonly
     97      bool readOnlyDriverNullOrStarted = ReadOnly || Content == null || Content.IsInitialized;
     98      browseExecutableButton.Enabled = !readOnlyDriverNullOrStarted;
     99      startButton.Enabled = !readOnlyDriverNullOrStarted;
     100      terminateButton.Enabled = !ReadOnly && Content != null && Content.IsInitialized;
     101      executableTextBox.Enabled = !readOnlyDriverNullOrStarted;
     102      argumentsTextBox.Enabled = !readOnlyDriverNullOrStarted;
    77103    }
    78104
    79105    #region Event Handlers (child controls)
    80     // TODO: Put event handlers of child controls here.
     106    private void browseExecutableButton_Click(object sender, EventArgs e) {
     107      if (openFileDialog.ShowDialog() == DialogResult.OK) {
     108        try {
     109          Content.Executable = openFileDialog.FileName;
     110        } catch (InvalidOperationException ex) {
     111          MessageBox.Show(ex.Message);
     112        }
     113      }
     114    }
     115    private void argumentsTextBox_Validated(object sender, EventArgs e) {
     116      if (Content != null) {
     117        Content.Arguments = argumentsTextBox.Text;
     118      }
     119    }
    81120    #endregion
     121
     122    private void startButton_Click(object sender, EventArgs e) {
     123      try {
     124        Content.Start();
     125      } catch (InvalidOperationException ex) {
     126        MessageBox.Show(ex.Message);
     127      }
     128    }
     129
     130    private void terminateButton_Click(object sender, EventArgs e) {
     131      try {
     132        Content.Stop();
     133      } catch (InvalidOperationException ex) {
     134        MessageBox.Show(ex.Message);
     135      }
     136    }
    82137  }
    83138}
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3/HeuristicLab.Problems.ExternalEvaluation.Views-3.3.csproj

    r3864 r3865  
    125125    <None Include="HeuristicLab.snk" />
    126126  </ItemGroup>
     127  <ItemGroup>
     128    <EmbeddedResource Include="ExternalEvaluationProcessDriverView.resx">
     129      <DependentUpon>ExternalEvaluationProcessDriverView.cs</DependentUpon>
     130    </EmbeddedResource>
     131  </ItemGroup>
    127132  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    128133  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3/HeuristicLabProblemsExternalEvaluationViewsPlugin.cs

    r3864 r3865  
    2929  [Plugin("HeuristicLab.Problems.ExternalEvaluation.Views", "3.3.0.0")]
    3030  [PluginFile("HeuristicLab.Problems.ExternalEvaluation.Views-3.3.dll", PluginFileType.Assembly)]
    31   /*[PluginDependency("HeuristicLab.Collections", "3.3")]
     31  //[PluginDependency("HeuristicLab.Collections", "3.3")]
    3232  [PluginDependency("HeuristicLab.Common", "3.3")]
    33   [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
     33  //[PluginDependency("HeuristicLab.Common.Resources", "3.3")]
    3434  [PluginDependency("HeuristicLab.Core", "3.3")]
    3535  [PluginDependency("HeuristicLab.Core.Views", "3.3")]
    36   [PluginDependency("HeuristicLab.Data", "3.3")]
     36  //[PluginDependency("HeuristicLab.Data", "3.3")]
    3737  [PluginDependency("HeuristicLab.MainForm", "3.3")]
    3838  [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")]
    39   [PluginDependency("HeuristicLab.Optimization", "3.3")]
    40   [PluginDependency("HeuristicLab.Optimization.Views", "3.3")]
    41   [PluginDependency("HeuristicLab.Parameters", "3.3")]*/
     39  //[PluginDependency("HeuristicLab.Optimization", "3.3")]
     40  //[PluginDependency("HeuristicLab.Optimization.Views", "3.3")]
     41  //[PluginDependency("HeuristicLab.Parameters", "3.3")]
    4242  [PluginDependency("HeuristicLab.Problems.ExternalEvaluation", "3.3")]
    4343  public class HeuristicLabProblemsExternalEvaluationViewsPlugin : PluginBase {
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation.Views/3.3/Properties/AssemblyInfo.cs

    r3864 r3865  
    66// set of attributes. Change these attribute values to modify the information
    77// associated with an assembly.
    8 [assembly: AssemblyTitle("HeuristicLab.Problems.ExternalEvaluation.Views-3.3")]
    9 [assembly: AssemblyDescription("")]
     8[assembly: AssemblyTitle("HeuristicLab.Problems.ExternalEvaluation.Views")]
     9[assembly: AssemblyDescription("View-Plugin for Problems that are evaluated outside of HeuristicLab.")]
    1010[assembly: AssemblyConfiguration("")]
    11 [assembly: AssemblyCompany("Microsoft")]
    12 [assembly: AssemblyProduct("HeuristicLab.Problems.ExternalEvaluation.Views-3.3")]
    13 [assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
     11[assembly: AssemblyCompany("")]
     12[assembly: AssemblyProduct("HeuristicLab")]
     13[assembly: AssemblyCopyright("(c) 2002-2010 HEAL")]
    1414[assembly: AssemblyTrademark("")]
    1515[assembly: AssemblyCulture("")]
     
    3333// by using the '*' as shown below:
    3434// [assembly: AssemblyVersion("1.0.*")]
    35 [assembly: AssemblyVersion("1.0.0.0")]
    36 [assembly: AssemblyFileVersion("1.0.0.0")]
     35[assembly: AssemblyVersion("3.3.0.0")]
     36[assembly: AssemblyFileVersion("3.3.0.0")]
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/ExternalEvaluationDriver.cs

    r3864 r3865  
    3131    public bool IsInitialized { get; protected set; }
    3232
     33    protected ExternalEvaluationDriver()
     34      : base() {
     35      name = ItemName;
     36      description = ItemDescription;
     37    }
     38
    3339    #region IExternalEvaluationDriver Members
    3440
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/ExternalEvaluationProcessDriver.cs

    r3864 r3865  
    2323using System.Diagnostics;
    2424using System.IO;
     25using HeuristicLab.Common;
    2526using HeuristicLab.Core;
    2627using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3031  [StorableClass]
    3132  public class ExternalEvaluationProcessDriver : ExternalEvaluationDriver {
     33    public override bool CanChangeName { get { return false; } }
     34    public override bool CanChangeDescription { get { return false; } }
     35
    3236    private Process process;
    3337    [Storable]
    3438    private string executable;
     39    public string Executable {
     40      get { return executable; }
     41      set {
     42        if (IsInitialized) throw new InvalidOperationException("ExternalEvaluationProcessDriver cannot change the executable path as it has already been started.");
     43        string oldExecutable = executable;
     44        executable = value;
     45        if (!oldExecutable.Equals(executable)) OnExecutableChanged();
     46      }
     47    }
    3548    [Storable]
    3649    private string arguments;
     50    public string Arguments {
     51      get { return arguments; }
     52      set {
     53        if (IsInitialized) throw new InvalidOperationException("ExternalEvaluationProcessDriver cannot change the arguments as it has already been started.");
     54        string oldArguments = arguments;
     55        arguments = value;
     56        if (!oldArguments.Equals(arguments)) OnArgumentsChanged();
     57      }
     58    }
    3759    private ExternalEvaluationStreamDriver driver;
    3860
     
    4466    }
    4567
     68    public override IDeepCloneable Clone(Cloner cloner) {
     69      ExternalEvaluationProcessDriver clone = (ExternalEvaluationProcessDriver)base.Clone(cloner);
     70      clone.executable = executable;
     71      clone.arguments = arguments;
     72      return clone;
     73    }
     74
    4675    #region IExternalDriver Members
    4776
    4877    public override void Start() {
    49       base.Start();
    50       process = new Process();
    51       process.StartInfo = new ProcessStartInfo(executable, arguments);
    52       process.StartInfo.UseShellExecute = false;
    53       process.StartInfo.RedirectStandardInput = true;
    54       process.StartInfo.RedirectStandardOutput = true;
    55       process.Start();
    56       Stream processStdOut = process.StandardOutput.BaseStream;
    57       Stream processStdIn = process.StandardInput.BaseStream;
    58       driver = new ExternalEvaluationStreamDriver(processStdOut, processStdIn);
    59       driver.Start();
     78      if (!String.IsNullOrEmpty(executable.Trim())) {
     79        base.Start();
     80        process = new Process();
     81        process.StartInfo = new ProcessStartInfo(executable, arguments);
     82        process.StartInfo.UseShellExecute = false;
     83        process.StartInfo.RedirectStandardInput = true;
     84        process.StartInfo.RedirectStandardOutput = true;
     85        process.EnableRaisingEvents = true; // required to be notified of exit
     86        process.Start();
     87        Stream processStdOut = process.StandardOutput.BaseStream;
     88        Stream processStdIn = process.StandardInput.BaseStream;
     89        OnProcessStarted();
     90        process.Exited += new EventHandler(process_Exited);
     91        driver = new ExternalEvaluationStreamDriver(processStdOut, processStdIn);
     92        driver.Start();
     93      } else throw new InvalidOperationException("Cannot start ExternalEvaluationProcessDriver because executable is not defined.");
    6094    }
    6195
     
    70104    public override void Stop() {
    71105      base.Stop();
    72       if (!process.HasExited) {
    73         driver.Stop();
     106      if (process != null) {
    74107        if (!process.HasExited) {
    75           process.CloseMainWindow();
    76           process.WaitForExit(1000);
    77           process.Close();
     108          driver.Stop();
     109          if (!process.HasExited) {
     110            process.CloseMainWindow();
     111            process.WaitForExit(1000);
     112            process.Close();
     113            // for some reasons the event process_Exited does not fire
     114            OnProcessExited();
     115          }
    78116        }
     117        process = null;
    79118      }
    80       process = null;
    81119    }
    82120
    83121    #endregion
     122
     123    #region Event handlers (process)
     124    private void process_Exited(object sender, EventArgs e) {
     125      if (IsInitialized) {
     126        if (driver.IsInitialized) driver.Stop();
     127        IsInitialized = false;
     128        process = null;
     129      }
     130      OnProcessExited();
     131    }
     132    #endregion
     133
     134    #region Events
     135    public event EventHandler ExecutableChanged;
     136    protected void OnExecutableChanged() {
     137      EventHandler handler = ExecutableChanged;
     138      if (handler != null) handler(this, EventArgs.Empty);
     139    }
     140
     141    public event EventHandler ArgumentsChanged;
     142    protected void OnArgumentsChanged() {
     143      EventHandler handler = ArgumentsChanged;
     144      if (handler != null) handler(this, EventArgs.Empty);
     145    }
     146
     147    public event EventHandler ProcessStarted;
     148    private void OnProcessStarted() {
     149      EventHandler handler = ProcessStarted;
     150      if (handler != null) handler(this, EventArgs.Empty);
     151    }
     152
     153    public event EventHandler ProcessExited;
     154    private void OnProcessExited() {
     155      EventHandler handler = ProcessExited;
     156      if (handler != null) handler(this, EventArgs.Empty);
     157    }
     158    #endregion
    84159  }
    85160}
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/Drivers/ExternalEvaluationStreamDriver.cs

    r3862 r3865  
    3030  [StorableClass]
    3131  public class ExternalEvaluationStreamDriver : ExternalEvaluationDriver {
     32    public override bool CanChangeName { get { return false; } }
     33    public override bool CanChangeDescription { get { return false; } }
     34
    3235    private CodedInputStream inputStream;
    3336    private Stream input;
  • trunk/sources/HeuristicLab.Problems.ExternalEvaluation/3.3/Properties/AssemblyInfo.frame

    r3862 r3865  
    77// associated with an assembly.
    88[assembly: AssemblyTitle("HeuristicLab.Problems.ExternalEvaluation")]
    9 [assembly: AssemblyDescription("Plugins for Problems that are evaluated outside of HeuristicLab.")]
     9[assembly: AssemblyDescription("Plugin for Problems that are evaluated outside of HeuristicLab.")]
    1010[assembly: AssemblyConfiguration("")]
    1111[assembly: AssemblyCompany("")]
  • trunk/sources/HeuristicLab.Problems.TestFunctions/3.3/SingleObjectiveTestFunctionProblem.cs

    r3797 r3865  
    206206      ParameterizeAnalyzers();
    207207      SolutionCreator_RealVectorParameter_ActualNameChanged(null, EventArgs.Empty);
     208      OnSolutionCreatorChanged();
    208209    }
    209210    private void SolutionCreator_RealVectorParameter_ActualNameChanged(object sender, EventArgs e) {
     
    224225      BestKnownQuality = new DoubleValue(Evaluator.BestKnownQuality);
    225226      Evaluator_QualityParameter_ActualNameChanged(null, EventArgs.Empty);
     227      OnEvaluatorChanged();
    226228      OnReset();
    227229    }
  • trunk/sources/HeuristicLab/3.3/Files.txt

    r3862 r3865  
    4848HeuristicLab.Problems.DataAnalysis.Views\3.3:HeuristicLab.Problems.DataAnalysis.Views-3.3.dll
    4949HeuristicLab.Problems.ExternalEvaluation\3.3:HeuristicLab.Problems.ExternalEvaluation-3.3.dll
     50HeuristicLab.Problems.ExternalEvaluation.Views\3.3:HeuristicLab.Problems.ExternalEvaluation.Views-3.3.dll
    5051HeuristicLab.Problems.Knapsack\3.3:HeuristicLab.Problems.Knapsack-3.3.dll
    5152HeuristicLab.Problems.Knapsack.Views\3.3:HeuristicLab.Problems.Knapsack.Views-3.3.dll
Note: See TracChangeset for help on using the changeset viewer.