Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/12/11 13:43:05 (13 years ago)
Author:
cneumuel
Message:

#1233

  • changed relationship between Job and HiveExperiment. There is no more HiveExperiment.RootJobId, instead there is Job.HiveExperimentId.
  • One HiveExperiment can now have multiple Experiments.
  • TreeView supports multiple root nodes
  • HiveEngine creates a HiveExperiment for each set of jobs, so jobs cannot be without an parent experiment anymore (no more loose jobs)
  • updated ExperimentManager binaries
Location:
branches/HeuristicLab.Hive-3.4/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources

    • Property svn:ignore
      •  

        old new  
        44PrecompiledWeb
        55CreateEventLogSources
         6WindowsFormsTestProject
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveExperimentView.cs

    r5955 r6006  
    2222using System;
    2323using System.ComponentModel;
     24using System.Linq;
    2425using System.Threading;
    2526using System.Windows.Forms;
     27using HeuristicLab.Collections;
    2628using HeuristicLab.Common;
    2729using HeuristicLab.Core;
     
    3436  /// The base class for visual representations of items.
    3537  /// </summary>
    36   [View("Experiment View")]
     38  [View("Hive Experiment View")]
    3739  [Content(typeof(HiveExperiment), true)]
    3840  public sealed partial class HiveExperimentView : ItemView {
     
    5254
    5355    protected override void DeregisterContentEvents() {
    54       //Content.ExceptionOccurred -= new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred);
    5556      Content.ExecutionStateChanged -= new EventHandler(Content_ExecutionStateChanged);
    5657      Content.ExecutionTimeChanged -= new EventHandler(Content_ExecutionTimeChanged);
    57       //Content.Prepared -= new EventHandler(Content_Prepared);
    58       //Content.Started -= new EventHandler(Content_Started);
    59       //Content.Paused -= new EventHandler(Content_Paused);
    60       //Content.Stopped -= new EventHandler(Content_Stopped);
    6158      Content.RefreshAutomaticallyChanged -= new EventHandler(Content_RefreshAutomaticallyChanged);
    62       Content.HiveJobChanged -= new EventHandler(Content_HiveJobChanged);
     59      Content.HiveJobsChanged -= new EventHandler(Content_HiveJobChanged);
    6360      Content.IsProgressingChanged -= new EventHandler(Content_IsProgressingChanged);
    6461      Content.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler(Content_PropertyChanged);
     
    6865    protected override void RegisterContentEvents() {
    6966      base.RegisterContentEvents();
    70       //Content.ExceptionOccurred += new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred);
    7167      Content.ExecutionStateChanged += new EventHandler(Content_ExecutionStateChanged);
    7268      Content.ExecutionTimeChanged += new EventHandler(Content_ExecutionTimeChanged);
    73       //Content.Prepared += new EventHandler(Content_Prepared);
    74       //Content.Started += new EventHandler(Content_Started);
    75       //Content.Paused += new EventHandler(Content_Paused);
    76       //Content.Stopped += new EventHandler(Content_Stopped);
    7769      Content.RefreshAutomaticallyChanged += new EventHandler(Content_RefreshAutomaticallyChanged);
    78       Content.HiveJobChanged += new EventHandler(Content_HiveJobChanged);
     70      Content.HiveJobsChanged += new EventHandler(Content_HiveJobChanged);
    7971      Content.IsProgressingChanged += new EventHandler(Content_IsProgressingChanged);
    8072      Content.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(Content_PropertyChanged);
     
    119111
    120112      if (Content != null) {
    121         bool alreadyUploaded = Content.RootJobId != null && Content.Id != Guid.Empty;
    122         bool jobsLoaded = Content.HiveJob != null && Content.HiveJob.Job.Id != Guid.Empty;
     113        bool alreadyUploaded = Content.Id != Guid.Empty;
     114        bool jobsLoaded = Content.HiveJobs != null && Content.HiveJobs.All(x => x.Job.Id != Guid.Empty);
    123115
    124116        this.nameTextBox.ReadOnly = Content.ExecutionState != ExecutionState.Prepared || alreadyUploaded;
     
    127119        this.useLocalPluginsCheckBox.Enabled = !(Content.ExecutionState != ExecutionState.Prepared || alreadyUploaded);
    128120        this.refreshAutomaticallyCheckBox.Enabled = alreadyUploaded && jobsLoaded && Content.ExecutionState == ExecutionState.Started;
    129         this.viewExperimentButton.Enabled = Content.GetExperiment() != null;
     121        this.viewExperimentButton.Enabled = Content.GetExperiment(0) != null;
    130122        this.openExperimentButton.Enabled = !alreadyUploaded && Content.ExecutionState == ExecutionState.Prepared;
    131123        this.newExperimentButton.Enabled = !alreadyUploaded && Content.ExecutionState == ExecutionState.Prepared;
     
    146138
    147139    #region Content Events
     140    private void HiveJobs_ItemsAdded_Removed_Reset(object sender, CollectionItemsChangedEventArgs<HiveJob> e) {
     141      if (InvokeRequired)
     142        Invoke(new CollectionItemsChangedEventHandler<HiveJob>(HiveJobs_ItemsAdded_Removed_Reset), sender, e);
     143      else {
     144        SetEnabledStateOfControls();
     145      }
     146    }
    148147    private void Content_ExecutionStateChanged(object sender, EventArgs e) {
    149148      if (InvokeRequired)
     
    192191        executionTimeTextBox.Text = Content.ExecutionTime.ToString();
    193192    }
    194     private void Content_ExceptionOccurred(object sender, EventArgs<Exception> e) {
    195       if (InvokeRequired)
    196         Invoke(new EventHandler<EventArgs<Exception>>(Content_ExceptionOccurred), sender, e);
    197       else
    198         ErrorHandling.ShowErrorDialog(this, e.Value);
    199     }
    200193    private void Content_RefreshAutomaticallyChanged(object sender, EventArgs e) {
    201194      if (InvokeRequired)
     
    210203        Invoke(new EventHandler(Content_HiveJobChanged), sender, e);
    211204      else {
    212         if (Content != null) {
    213           jobsTreeView.Content = Content.HiveJob;
    214           experimentNamedItemView.Content = Content.GetExperiment();
     205        if (Content != null && Content.HiveJobs != null) {
     206          jobsTreeView.Content = Content.HiveJobs;
     207          experimentNamedItemView.Content = Content.GetExperiment(0);
     208          RegisterHiveJobEvents();
    215209        } else {
    216210          jobsTreeView.Content = null;
     
    220214      }
    221215    }
     216
     217    private void RegisterHiveJobEvents() {
     218      Content.HiveJobs.ItemsAdded += new Collections.CollectionItemsChangedEventHandler<HiveJob>(HiveJobs_ItemsAdded_Removed_Reset);
     219      Content.HiveJobs.ItemsRemoved += new Collections.CollectionItemsChangedEventHandler<HiveJob>(HiveJobs_ItemsAdded_Removed_Reset);
     220      Content.HiveJobs.CollectionReset += new Collections.CollectionItemsChangedEventHandler<HiveJob>(HiveJobs_ItemsAdded_Removed_Reset);
     221    }
     222    private void DeregisterHiveJobEvents() {
     223      Content.HiveJobs.ItemsAdded -= new Collections.CollectionItemsChangedEventHandler<HiveJob>(HiveJobs_ItemsAdded_Removed_Reset);
     224      Content.HiveJobs.ItemsRemoved -= new Collections.CollectionItemsChangedEventHandler<HiveJob>(HiveJobs_ItemsAdded_Removed_Reset);
     225      Content.HiveJobs.CollectionReset -= new Collections.CollectionItemsChangedEventHandler<HiveJob>(HiveJobs_ItemsAdded_Removed_Reset);
     226    }
     227
    222228    private void Content_PropertyChanged(object sender, PropertyChangedEventArgs e) {
    223229      if (InvokeRequired)
     
    241247      ExperimentManagerClient.StopExperiment(Content);
    242248    }
    243     private void resetButton_Click(object sender, EventArgs e) {  }
     249    private void resetButton_Click(object sender, EventArgs e) { }
    244250
    245251    private void nameTextBox_Validated(object sender, EventArgs e) {
     
    271277
    272278    private void showExperimentButton_Click(object sender, EventArgs e) {
    273       MainFormManager.MainForm.ShowContent(Content.GetExperiment());
     279      MainFormManager.MainForm.ShowContent(Content.GetExperiment(0));
    274280    }
    275281
    276282    private void viewExperimentButton_Click(object sender, EventArgs e) {
    277       MainFormManager.MainForm.ShowContent(Content.GetExperiment());
     283      MainFormManager.MainForm.ShowContent(Content.GetExperiment(0));
    278284    }
    279285
     
    310316        startButton.Enabled = pauseButton.Enabled = stopButton.Enabled = resetButton.Enabled = false;
    311317      } else {
    312         startButton.Enabled = Content.GetExperiment() != null && Content.ExecutionState == ExecutionState.Prepared;
     318        startButton.Enabled = Content.GetExperiment(0) != null && Content.ExecutionState == ExecutionState.Prepared;
    313319        pauseButton.Enabled = Content.ExecutionState == ExecutionState.Started;
    314320        stopButton.Enabled = Content.ExecutionState == ExecutionState.Started;
     
    346352    }
    347353    #endregion
    348  
     354
    349355  }
    350356}
Note: See TracChangeset for help on using the changeset viewer.