Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/10/11 17:58:59 (14 years ago)
Author:
cneumuel
Message:

#1233

  • added semaphores to ensure an appdomain is never unloaded when the start method has not finished
  • HiveEngine uploading and downloading of jobs works and is displayed in the view
Location:
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.cs

    r6168 r6178  
    6161      base.OnContentChanged();
    6262      if (Content != null && Content.Job != null) {
    63         computeInParallelCheckBox.Checked = Content.JobItem.ComputeInParallel;
     63        computeInParallelCheckBox.Checked = Content.ItemJob.ComputeInParallel;
    6464      } else {
    6565        computeInParallelCheckBox.Checked = false;
     
    7272    protected virtual void RegisterJobEvents() {
    7373      if (Content != null && Content.Job != null) {
    74         Content.JobItem.ComputeInParallelChanged += new EventHandler(OptimizerJob_ComputeInParallelChanged);
    75         Content.JobItem.ItemChanged += new EventHandler(Job_ItemChanged);
     74        Content.ItemJob.ComputeInParallelChanged += new EventHandler(OptimizerJob_ComputeInParallelChanged);
     75        Content.ItemJob.ItemChanged += new EventHandler(Job_ItemChanged);
    7676      }
    7777    }
     
    7979    protected virtual void DeregisterJobEvents() {
    8080      if (Content != null && Content.Job != null) {
    81         Content.JobItem.ComputeInParallelChanged -= new EventHandler(OptimizerJob_ComputeInParallelChanged);
    82         Content.JobItem.ItemChanged -= new EventHandler(Job_ItemChanged);
     81        Content.ItemJob.ComputeInParallelChanged -= new EventHandler(OptimizerJob_ComputeInParallelChanged);
     82        Content.ItemJob.ItemChanged -= new EventHandler(Job_ItemChanged);
    8383      }
    8484    }
     
    111111
    112112    protected virtual void Job_ItemChanged(object sender, EventArgs e) {
    113       if (Content != null && Content.Job != null && Content.JobItem.Item != null) {
    114         optimizerItemView.Content = Content.JobItem.Item;
     113      if (Content != null && Content.Job != null && Content.ItemJob.Item != null) {
     114        optimizerItemView.Content = Content.ItemJob.Item;
    115115      } else {
    116116        optimizerItemView.Content = null;
     
    129129          this.exceptionTextBox.Text = Content.Job.CurrentStateLog != null ? Content.Job.CurrentStateLog.Exception : string.Empty;
    130130          this.lastUpdatedTextBox.Text = Content.Job.LastJobDataUpdate.ToString();
    131           if (Content.JobItem.ComputeInParallel) {
     131          if (Content.ItemJob.ComputeInParallel) {
    132132            this.stateLogViewHost.Content = new StateLogListList(
    133133                this.Content.ChildHiveJobs.Select(child => new StateLogList(child.Job.StateLog)
     
    165165      this.coresNeededTextBox.ReadOnly = this.ReadOnly;
    166166      this.memoryNeededTextBox.ReadOnly = this.ReadOnly;
    167       this.computeInParallelCheckBox.Enabled = !this.ReadOnly && this.Content != null && this.Content.JobItem != null && this.Content.JobItem.IsParallelizable;
    168 
    169       this.modifyItemButton.Enabled = (Content != null && Content.JobItem.Item != null && (Content.Job.State == JobState.Paused || Content.Job.State == JobState.Offline || Content.Job.State == JobState.Finished || Content.Job.State == JobState.Failed || Content.Job.State == JobState.Aborted));
     167      this.computeInParallelCheckBox.Enabled = !this.ReadOnly && this.Content != null && this.Content.ItemJob != null && this.Content.ItemJob.IsParallelizable;
     168
     169      this.modifyItemButton.Enabled = (Content != null && Content.ItemJob.Item != null && (Content.Job.State == JobState.Paused || Content.Job.State == JobState.Offline || Content.Job.State == JobState.Finished || Content.Job.State == JobState.Failed || Content.Job.State == JobState.Aborted));
    170170
    171171      optimizerItemView.ReadOnly = true;
     
    176176        Invoke(new EventHandler(OptimizerJob_ComputeInParallelChanged), sender, e);
    177177      } else {
    178         computeInParallelCheckBox.Checked = Content.JobItem.ComputeInParallel;
     178        computeInParallelCheckBox.Checked = Content.ItemJob.ComputeInParallel;
    179179      }
    180180    }
     
    183183    #region Child Control Events
    184184     protected virtual void computeInParallelCheckBox_CheckedChanged(object sender, EventArgs e) {
    185       if (Content != null && Content.JobItem != null) {
    186         this.Content.JobItem.ComputeInParallel = this.computeInParallelCheckBox.Checked;
     185      if (Content != null && Content.ItemJob != null) {
     186        this.Content.ItemJob.ComputeInParallel = this.computeInParallelCheckBox.Checked;
    187187      }
    188188    }
     
    196196
    197197    protected virtual void modifyItemButton_Click(object sender, EventArgs e) {
    198       MainFormManager.MainForm.ShowContent(Content.JobItem.Item);
     198      MainFormManager.MainForm.ShowContent(Content.ItemJob.Item);
    199199    }
    200200    #endregion
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/OptimizerHiveJobView.cs

    r6168 r6178  
    4343
    4444    protected override void Job_ItemChanged(object sender, EventArgs e) {
    45       if (Content != null && Content.Job != null && Content.JobItem.Item != null) {
    46         runCollectionViewHost.Content = Content.JobItem.Item.Runs;
     45      if (Content != null && Content.Job != null && Content.ItemJob.Item != null) {
     46        runCollectionViewHost.Content = Content.ItemJob.Item.Runs;
    4747      } else {
    4848        runCollectionViewHost.Content = null;
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/RefreshableHiveExperimentView.cs

    r6033 r6178  
    5555    }
    5656
    57     protected override void DeregisterContentEvents() {
    58       Content.RefreshAutomaticallyChanged -= new EventHandler(Content_RefreshAutomaticallyChanged);
    59       Content.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler(Content_PropertyChanged);
    60       Content.HiveExperimentChanged -= new EventHandler(Content_HiveExperimentChanged);     
    61       base.DeregisterContentEvents();
    62     }
    63 
    6457    protected override void RegisterContentEvents() {
    6558      base.RegisterContentEvents();
     
    6760      Content.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(Content_PropertyChanged);
    6861      Content.HiveExperimentChanged += new EventHandler(Content_HiveExperimentChanged);
     62      Content.IsControllableChanged += new EventHandler(Content_IsControllableChanged);
     63    }
     64    protected override void DeregisterContentEvents() {
     65      Content.RefreshAutomaticallyChanged -= new EventHandler(Content_RefreshAutomaticallyChanged);
     66      Content.PropertyChanged -= new System.ComponentModel.PropertyChangedEventHandler(Content_PropertyChanged);
     67      Content.HiveExperimentChanged -= new EventHandler(Content_HiveExperimentChanged);
     68      Content.IsControllableChanged -= new EventHandler(Content_IsControllableChanged);
     69      base.DeregisterContentEvents();
    6970    }
    7071
     
    134135        bool jobsLoaded = Content.HiveExperiment.HiveJobs != null && Content.HiveExperiment.HiveJobs.All(x => x.Job.Id != Guid.Empty);
    135136
    136         this.nameTextBox.ReadOnly = Content.HiveExperiment.ExecutionState != ExecutionState.Prepared || alreadyUploaded;
    137         this.resourceNamesTextBox.ReadOnly = Content.HiveExperiment.ExecutionState != ExecutionState.Prepared || alreadyUploaded;
    138         this.jobsTreeView.ReadOnly = Content.HiveExperiment.ExecutionState != ExecutionState.Prepared || alreadyUploaded;
    139         this.useLocalPluginsCheckBox.Enabled = !(Content.HiveExperiment.ExecutionState != ExecutionState.Prepared || alreadyUploaded);
    140         this.refreshAutomaticallyCheckBox.Enabled = alreadyUploaded && jobsLoaded && Content.HiveExperiment.ExecutionState == ExecutionState.Started;
    141         this.refreshButton.Enabled = alreadyUploaded;
    142 
    143         this.Locked = Content.HiveExperiment.ExecutionState == ExecutionState.Started;
     137        this.nameTextBox.ReadOnly =                 !Content.IsControllable || Content.HiveExperiment.ExecutionState != ExecutionState.Prepared || alreadyUploaded;
     138        this.resourceNamesTextBox.ReadOnly =        !Content.IsControllable || Content.HiveExperiment.ExecutionState != ExecutionState.Prepared || alreadyUploaded;
     139        this.jobsTreeView.ReadOnly =                !Content.IsControllable || Content.HiveExperiment.ExecutionState != ExecutionState.Prepared || alreadyUploaded;
     140
     141        this.useLocalPluginsCheckBox.Enabled =      Content.IsControllable && !(Content.HiveExperiment.ExecutionState != ExecutionState.Prepared || alreadyUploaded);
     142        this.refreshAutomaticallyCheckBox.Enabled = Content.IsControllable && alreadyUploaded && jobsLoaded && Content.HiveExperiment.ExecutionState == ExecutionState.Started;
     143        this.refreshButton.Enabled =                Content.IsControllable && alreadyUploaded;
     144        this.Locked =                               !Content.IsControllable || Content.HiveExperiment.ExecutionState == ExecutionState.Started;
    144145      }
    145146      SetEnabledStateOfExecutableButtons();
     
    246247      }
    247248    }
     249    private void Content_IsControllableChanged(object sender, EventArgs e) {
     250      SetEnabledStateOfControls();
     251    }
    248252    #endregion
    249253
     
    302306        startButton.Enabled = pauseButton.Enabled = stopButton.Enabled = resetButton.Enabled = false;
    303307      } else {
    304         startButton.Enabled = Content.HiveExperiment.HiveJobs != null && Content.HiveExperiment.HiveJobs.Count > 0 && Content.HiveExperiment.ExecutionState == ExecutionState.Prepared;
    305         pauseButton.Enabled = Content.HiveExperiment.ExecutionState == ExecutionState.Started;
    306         stopButton.Enabled = Content.HiveExperiment.ExecutionState == ExecutionState.Started;
     308        startButton.Enabled = Content.IsControllable && Content.HiveExperiment.HiveJobs != null && Content.HiveExperiment.HiveJobs.Count > 0 && Content.HiveExperiment.ExecutionState == ExecutionState.Prepared;
     309        pauseButton.Enabled = Content.IsControllable && Content.HiveExperiment.ExecutionState == ExecutionState.Started;
     310        stopButton.Enabled = Content.IsControllable && Content.HiveExperiment.ExecutionState == ExecutionState.Started;
    307311        resetButton.Enabled = false;
    308312      }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/TreeView/DeleteJobTreeNodeAction.cs

    r6033 r6178  
    2424        hiveJobs.Remove(item);
    2525      } else {
    26         var experiment = parentItem.JobItem.Item as Experiment;
     26        var experiment = parentItem.ItemJob.Item as Experiment;
    2727        if (experiment != null) {
    28           experiment.Optimizers.Remove(((OptimizerJob)item.JobItem).Item);
     28          experiment.Optimizers.Remove(((OptimizerJob)item.ItemJob).Item);
    2929        }
    3030      }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/TreeView/HiveJobItemTreeView.cs

    r6033 r6178  
    8181          Content.Add(new OptimizerHiveJob(optimizer));
    8282        } else {
    83           var experiment = ((HiveJob)treeView.SelectedNode.Tag).JobItem.Item as Experiment;
     83          var experiment = ((HiveJob)treeView.SelectedNode.Tag).ItemJob.Item as Experiment;
    8484          if (experiment != null) {
    8585            experiment.Optimizers.Add(optimizer);
     
    9696          Content.Remove((HiveJob)treeView.SelectedNode.Tag);
    9797        } else {
    98           var experiment = parentItem.JobItem.Item as Experiment;
     98          var experiment = parentItem.ItemJob.Item as Experiment;
    9999          if (experiment != null) {
    100             experiment.Optimizers.Remove(((OptimizerJob)selectedItem.JobItem).Item);
     100            experiment.Optimizers.Remove(((OptimizerJob)selectedItem.ItemJob).Item);
    101101          }
    102102        }       
     
    108108      var actions = base.GetTreeNodeItemActions(selectedItem);
    109109      if (selectedItem != null) {
    110         if (selectedItem.JobItem.Item is Experiment) {
     110        if (selectedItem.ItemJob.Item is Experiment) {
    111111
    112112        }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/TreeView/NewExperimentTreeNodeAction.cs

    r6033 r6178  
    4343    public void Execute(HiveJob item, HiveJob parentItem) {
    4444      if (item != null) {
    45         var experiment = item.JobItem.Item as Experiment;
     45        var experiment = item.ItemJob.Item as Experiment;
    4646        experiment.Optimizers.Add(new Experiment());
    4747      } else {
Note: See TracChangeset for help on using the changeset viewer.