Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/10/11 17:58:59 (13 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
File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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      }
Note: See TracChangeset for help on using the changeset viewer.