Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/19/11 18:58:53 (13 years ago)
Author:
cneumuel
Message:

#1233

  • created baseclass for jobs (ItemJob) which derives OperatorJobs and EngineJobs
  • created special view for OptimizerJobs which derives from a more general view
  • removed logic from domain class HiveExperiment and moved it into RefreshableHiveExperiment
  • improved ItemTreeView
  • corrected plugin dependencies
  • fixed bug in database trigger when deleting HiveExperiments
  • added delete cascade for Plugin and PluginData
  • lots of fixes
Location:
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager
Files:
14 added
9 deleted
6 edited

Legend:

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

    r5955 r6033  
    2020#endregion
    2121
     22using System;
    2223using System.Windows.Forms;
    2324using HeuristicLab.Core;
     
    2728namespace HeuristicLab.Clients.Hive.Views {
    2829  [View("HiveExperimentList View")]
    29   [Content(typeof(ItemCollection<HiveExperiment>), false)]
    30   public partial class HiveExperimentListView : ItemCollectionView<HiveExperiment> {
     30  [Content(typeof(ItemCollection<RefreshableHiveExperiment>), false)]
     31  public partial class HiveExperimentListView : ItemCollectionView<RefreshableHiveExperiment> {
    3132
    3233    public HiveExperimentListView() {
     
    3435    }
    3536
    36     protected override HiveExperiment CreateItem() {
    37       return new HiveExperiment();
     37    protected override RefreshableHiveExperiment CreateItem() {
     38      return new RefreshableHiveExperiment();
     39    }
     40
     41    protected override void removeButton_Click(object sender, EventArgs e) {
     42      DialogResult result = MessageBox.Show("This action will permanently delete this experiment (also on the hive server). Continue?", "Delete Experiment", MessageBoxButtons.OKCancel);
     43      if (result == DialogResult.OK) {
     44        base.removeButton_Click(sender, e);
     45      }
    3846    }
    3947  }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveExperimentManagerView.cs

    r5955 r6033  
    2121
    2222using System;
     23using System.Linq;
    2324using System.Windows.Forms;
     25using HeuristicLab.Collections;
    2426using HeuristicLab.MainForm;
    2527using HeuristicLab.MainForm.WindowsForms;
     
    5052      Content.Refreshing += new EventHandler(Content_Refreshing);
    5153      Content.Refreshed += new EventHandler(Content_Refreshed);
     54      Content.HiveExperimentsChanged += new EventHandler(Content_HiveExperimentsChanged);
     55     
    5256    }
    5357
     
    5559      Content.Refreshing -= new EventHandler(Content_Refreshing);
    5660      Content.Refreshed -= new EventHandler(Content_Refreshed);
     61      Content.HiveExperimentsChanged -= new EventHandler(Content_HiveExperimentsChanged);
    5762      base.DeregisterContentEvents();
    5863    }
     
    101106    protected override void OnClosing(FormClosingEventArgs e) {
    102107      base.OnClosing(e);
    103       if (Content != null) {
    104         foreach (var exp in Content.HiveExperiments) {
     108      if (Content != null && Content.HiveExperiments != null) {
     109        foreach (var exp in Content.HiveExperiments.OfType<RefreshableHiveExperiment>()) {
    105110          if (exp.RefreshAutomatically) {
    106111            exp.RefreshAutomatically = false; // stop result polling
     
    109114      }
    110115    }
     116
     117    private void HiveExperiments_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<RefreshableHiveExperiment> e) {
     118      foreach (var item in e.Items) {
     119        ExperimentManagerClient.Delete(item);
     120      }
     121    }
     122
     123    private void Content_HiveExperimentsChanged(object sender, EventArgs e) {
     124      Content.HiveExperiments.ItemsRemoved += new CollectionItemsChangedEventHandler<RefreshableHiveExperiment>(HiveExperiments_ItemsRemoved);
     125    }
    111126  }
    112127}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.cs

    r5793 r6033  
    2929  [View("HiveJob View")]
    3030  [Content(typeof(HiveJob), true)]
     31  [Content(typeof(HiveJob<>), false)]
    3132  public partial class HiveJobView : ItemView {
    3233    public new HiveJob Content {
     
    4546    protected override void RegisterContentEvents() {
    4647      base.RegisterContentEvents();
    47       Content.OptimizerJobChanged += new EventHandler(Content_OptimizerJobChanged);
     48      Content.JobItemChanged += new EventHandler(Content_JobItemChanged);
    4849      Content.JobChanged += new EventHandler(Content_JobChanged);
    4950      Content.JobStateChanged += new EventHandler(Content_JobStateChanged);
     
    5152
    5253    protected override void DeregisterContentEvents() {
    53       Content.OptimizerJobChanged -= new EventHandler(Content_OptimizerJobChanged);
     54      Content.JobItemChanged -= new EventHandler(Content_JobItemChanged);
    5455      Content.JobChanged -= new EventHandler(Content_JobChanged);
    5556      Content.JobStateChanged -= new EventHandler(Content_JobStateChanged);
     
    6061      base.OnContentChanged();
    6162      if (Content != null && Content.Job != null) {
    62         logView.Content = Content.OptimizerJob.Log;
    63         computeInParallelCheckBox.Checked = Content.OptimizerJob.ComputeInParallel;
     63        computeInParallelCheckBox.Checked = Content.JobItem.ComputeInParallel;
    6464      } else {
    65         logView.Content = null;
    6665        computeInParallelCheckBox.Checked = false;
    6766      }
    68       Content_OptimizerJobChanged(this, EventArgs.Empty);
     67      Content_JobItemChanged(this, EventArgs.Empty);
    6968      Content_JobChanged(this, EventArgs.Empty);
    7069      Content_JobStateChanged(this, EventArgs.Empty);
    7170    }
    7271
    73     protected void Content_OptimizerJobChanged(object sender, EventArgs e) {
    74       RegisterJobEvents();
    75       Job_OptimizerChanged(this, e);
    76     }
    77 
    78     protected void Job_OptimizerChanged(object sender, EventArgs e) {
    79       if (Content != null && Content.Job != null && Content.OptimizerJob.Optimizer != null) {
    80         optimizerNamedItemView.Content = Content.OptimizerJob.Optimizer;
    81         runCollectionViewHost.Content = Content.OptimizerJob.Optimizer.Runs;
    82       } else {
    83         optimizerNamedItemView.Content = null;
    84         runCollectionViewHost.Content = null;
     72    protected virtual void RegisterJobEvents() {
     73      if (Content != null && Content.Job != null) {
     74        Content.JobItem.ComputeInParallelChanged += new EventHandler(OptimizerJob_ComputeInParallelChanged);
     75        Content.JobItem.ItemChanged += new EventHandler(Job_ItemChanged);
    8576      }
    8677    }
    8778
    88     private void RegisterJobEvents() {
     79    protected virtual void DeregisterJobEvents() {
    8980      if (Content != null && Content.Job != null) {
    90         Content.OptimizerJob.ComputeInParallelChanged += new EventHandler(OptimizerJob_ComputeInParallelChanged);
    91         Content.OptimizerJob.OptimizerChanged += new EventHandler(Job_OptimizerChanged);
    92       }
    93     }
    94 
    95     private void DeregisterJobEvents() {
    96       if (Content != null && Content.Job != null) {
    97         Content.OptimizerJob.ComputeInParallelChanged -= new EventHandler(OptimizerJob_ComputeInParallelChanged);
    98         Content.OptimizerJob.OptimizerChanged -= new EventHandler(Job_OptimizerChanged);
     81        Content.JobItem.ComputeInParallelChanged -= new EventHandler(OptimizerJob_ComputeInParallelChanged);
     82        Content.JobItem.ItemChanged -= new EventHandler(Job_ItemChanged);
    9983      }
    10084    }
    10185
    10286    #region Content Events
    103     private void Content_JobChanged(object sender, EventArgs e) {
     87    protected virtual void Content_JobChanged(object sender, EventArgs e) {
    10488      if (InvokeRequired) {
    10589        Invoke(new EventHandler(Content_JobChanged), sender, e);
     
    121105    }
    122106
    123     private void Content_JobStateChanged(object sender, EventArgs e) {
     107    protected virtual void Content_JobItemChanged(object sender, EventArgs e) {
     108      RegisterJobEvents();
     109      Job_ItemChanged(this, e);
     110    }
     111
     112    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;
     115      } else {
     116        optimizerItemView.Content = null;
     117      }
     118    }
     119
     120    protected virtual void Content_JobStateChanged(object sender, EventArgs e) {
    124121      if (InvokeRequired) {
    125122        Invoke(new EventHandler(Content_JobStateChanged), sender, e);
     
    131128          this.exceptionTextBox.Text = Content.Job.CurrentStateLog != null ? Content.Job.CurrentStateLog.Exception : string.Empty;
    132129          this.lastUpdatedTextBox.Text = Content.Job.LastJobDataUpdate.ToString();
    133           if (Content.OptimizerJob.ComputeInParallel) {
     130          if (Content.JobItem.ComputeInParallel) {
    134131            this.stateLogViewHost.Content = new StateLogListList(
    135132                this.Content.ChildHiveJobs.Select(child => new StateLogList(child.Job.StateLog)
     
    165162      this.coresNeededTextBox.ReadOnly = this.ReadOnly;
    166163      this.memoryNeededTextBox.ReadOnly = this.ReadOnly;
    167       this.computeInParallelCheckBox.Enabled = !this.ReadOnly && this.Content != null && this.Content.OptimizerJob != null && this.Content.OptimizerJob.IsParallelizable;
     164      this.computeInParallelCheckBox.Enabled = !this.ReadOnly && this.Content != null && this.Content.JobItem != null && this.Content.JobItem.IsParallelizable;
    168165
    169       this.restartButton.Enabled = Content != null && Content.Job.State == JobState.Paused;
    170       this.pauseButton.Enabled = Content != null && Content.Job.State == JobState.Calculating;
    171       this.stopButton.Enabled = Content != null && (Content.Job.State == JobState.Calculating || Content.Job.State == JobState.Waiting || Content.Job.State == JobState.Paused);
    172       this.showOptimizerButton.Enabled = Content != null && Content.Job.State == JobState.Paused && Content.OptimizerJob != null && Content.OptimizerJob.Optimizer != null;
     166      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));
    173167
    174       optimizerNamedItemView.ReadOnly = true;
     168      optimizerItemView.ReadOnly = true;
    175169    }
    176170
    177     void OptimizerJob_ComputeInParallelChanged(object sender, EventArgs e) {
     171    protected virtual void OptimizerJob_ComputeInParallelChanged(object sender, EventArgs e) {
    178172      if (InvokeRequired) {
    179173        Invoke(new EventHandler(OptimizerJob_ComputeInParallelChanged), sender, e);
    180174      } else {
    181         computeInParallelCheckBox.Checked = Content.OptimizerJob.ComputeInParallel;
     175        computeInParallelCheckBox.Checked = Content.JobItem.ComputeInParallel;
    182176      }
    183177    }
    184178    #endregion
    185179
    186     private void computeInParallelCheckBox_CheckedChanged(object sender, EventArgs e) {
    187       if (Content != null && Content.OptimizerJob != null) {
    188         this.Content.OptimizerJob.ComputeInParallel = this.computeInParallelCheckBox.Checked;
     180    #region Child Control Events
     181     protected virtual void computeInParallelCheckBox_CheckedChanged(object sender, EventArgs e) {
     182      if (Content != null && Content.JobItem != null) {
     183        this.Content.JobItem.ComputeInParallel = this.computeInParallelCheckBox.Checked;
    189184      }
    190185    }
    191186
    192     private void exceptionTextBox_DoubleClick(object sender, EventArgs e) {
     187    protected virtual void exceptionTextBox_DoubleClick(object sender, EventArgs e) {
    193188      using (TextDialog dialog = new TextDialog("Exception", exceptionTextBox.Text, ReadOnly || !Content.CanChangeDescription)) {
    194189        if (dialog.ShowDialog(this) == DialogResult.OK)
     
    197192    }
    198193
    199     private void restartButton_Click(object sender, EventArgs e) {
    200       Content.Restart();
     194    protected virtual void modifyItemButton_Click(object sender, EventArgs e) {
     195      MainFormManager.MainForm.ShowContent(Content.JobItem.Item);
    201196    }
    202 
    203     private void pauseButton_Click(object sender, EventArgs e) {
    204       Content.Pause();
    205     }
    206 
    207     private void stopButton_Click(object sender, EventArgs e) {
    208       Content.Stop();
    209     }
    210     private void showOptimizerButton_Click(object sender, EventArgs e) {
    211       MainFormManager.MainForm.ShowContent(Content.OptimizerJob.Optimizer);
    212     }
     197    #endregion
    213198  }
    214199}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.designer.cs

    r5797 r6033  
    2424    /// </summary>
    2525    private void InitializeComponent() {
    26       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HiveJobView));
    27       this.logTabPage = new System.Windows.Forms.TabPage();
    28       this.logView = new HeuristicLab.Core.Views.LogView();
    2926      this.stateLogTabPage = new System.Windows.Forms.TabPage();
    3027      this.stateLogViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    31       this.runsTabPage = new System.Windows.Forms.TabPage();
    32       this.runCollectionViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    3328      this.detailsTabPage = new System.Windows.Forms.TabPage();
    34       this.restartButton = new System.Windows.Forms.Button();
    35       this.pauseButton = new System.Windows.Forms.Button();
    36       this.stopButton = new System.Windows.Forms.Button();
    37       this.optimizerGroupBox = new System.Windows.Forms.GroupBox();
    38       this.showOptimizerButton = new System.Windows.Forms.Button();
    39       this.lastUpdatedTextBox = new System.Windows.Forms.TextBox();
    40       this.lastUpdatedLabel = new System.Windows.Forms.Label();
    41       this.optimizerNamedItemView = new HeuristicLab.Core.Views.NamedItemView();
     29      this.splitContainer1 = new System.Windows.Forms.SplitContainer();
    4230      this.configurationGroupBox = new System.Windows.Forms.GroupBox();
    4331      this.priorityTextBox = new System.Windows.Forms.TextBox();
     
    4937      this.computeInParallelLabel = new System.Windows.Forms.Label();
    5038      this.computeInParallelCheckBox = new System.Windows.Forms.CheckBox();
    51       this.jobIdLabel = new System.Windows.Forms.Label();
    52       this.jobIdTextBox = new System.Windows.Forms.TextBox();
    5339      this.jobStatusGroupBox = new System.Windows.Forms.GroupBox();
    5440      this.stateTextBox = new System.Windows.Forms.TextBox();
     
    6450      this.dateFinishedLabel = new System.Windows.Forms.Label();
    6551      this.exceptionTextBox = new System.Windows.Forms.TextBox();
     52      this.optimizerGroupBox = new System.Windows.Forms.GroupBox();
     53      this.modifyItemButton = new System.Windows.Forms.Button();
     54      this.lastUpdatedTextBox = new System.Windows.Forms.TextBox();
     55      this.lastUpdatedLabel = new System.Windows.Forms.Label();
     56      this.optimizerItemView = new HeuristicLab.Core.Views.ItemView();
     57      this.jobIdLabel = new System.Windows.Forms.Label();
     58      this.jobIdTextBox = new System.Windows.Forms.TextBox();
    6659      this.tabControl = new System.Windows.Forms.TabControl();
    67       this.splitContainer1 = new System.Windows.Forms.SplitContainer();
    68       this.logTabPage.SuspendLayout();
    6960      this.stateLogTabPage.SuspendLayout();
    70       this.runsTabPage.SuspendLayout();
    7161      this.detailsTabPage.SuspendLayout();
    72       this.optimizerGroupBox.SuspendLayout();
    73       this.configurationGroupBox.SuspendLayout();
    74       this.jobStatusGroupBox.SuspendLayout();
    75       this.tabControl.SuspendLayout();
    7662      ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
    7763      this.splitContainer1.Panel1.SuspendLayout();
    7864      this.splitContainer1.Panel2.SuspendLayout();
    7965      this.splitContainer1.SuspendLayout();
     66      this.configurationGroupBox.SuspendLayout();
     67      this.jobStatusGroupBox.SuspendLayout();
     68      this.optimizerGroupBox.SuspendLayout();
     69      this.tabControl.SuspendLayout();
    8070      this.SuspendLayout();
    81       //
    82       // logTabPage
    83       //
    84       this.logTabPage.Controls.Add(this.logView);
    85       this.logTabPage.Location = new System.Drawing.Point(4, 22);
    86       this.logTabPage.Name = "logTabPage";
    87       this.logTabPage.Padding = new System.Windows.Forms.Padding(3);
    88       this.logTabPage.Size = new System.Drawing.Size(611, 492);
    89       this.logTabPage.TabIndex = 1;
    90       this.logTabPage.Text = "Log";
    91       this.logTabPage.UseVisualStyleBackColor = true;
    92       //
    93       // logView
    94       //
    95       this.logView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    96                   | System.Windows.Forms.AnchorStyles.Left)
    97                   | System.Windows.Forms.AnchorStyles.Right)));
    98       this.logView.Caption = "Log View";
    99       this.logView.Content = null;
    100       this.logView.Location = new System.Drawing.Point(3, 3);
    101       this.logView.Name = "logView";
    102       this.logView.ReadOnly = false;
    103       this.logView.Size = new System.Drawing.Size(613, 486);
    104       this.logView.TabIndex = 0;
    10571      //
    10672      // stateLogTabPage
     
    10975      this.stateLogTabPage.Location = new System.Drawing.Point(4, 22);
    11076      this.stateLogTabPage.Name = "stateLogTabPage";
    111       this.stateLogTabPage.Size = new System.Drawing.Size(611, 492);
     77      this.stateLogTabPage.Size = new System.Drawing.Size(563, 375);
    11278      this.stateLogTabPage.TabIndex = 5;
    11379      this.stateLogTabPage.Text = "State";
     
    12389      this.stateLogViewHost.Name = "stateLogViewHost";
    12490      this.stateLogViewHost.ReadOnly = false;
    125       this.stateLogViewHost.Size = new System.Drawing.Size(611, 492);
     91      this.stateLogViewHost.Size = new System.Drawing.Size(563, 375);
    12692      this.stateLogViewHost.TabIndex = 0;
    12793      this.stateLogViewHost.ViewsLabelVisible = true;
    12894      this.stateLogViewHost.ViewType = null;
    12995      //
    130       // runsTabPage
    131       //
    132       this.runsTabPage.Controls.Add(this.runCollectionViewHost);
    133       this.runsTabPage.Location = new System.Drawing.Point(4, 22);
    134       this.runsTabPage.Name = "runsTabPage";
    135       this.runsTabPage.Size = new System.Drawing.Size(611, 492);
    136       this.runsTabPage.TabIndex = 4;
    137       this.runsTabPage.Text = "Runs";
    138       this.runsTabPage.UseVisualStyleBackColor = true;
    139       //
    140       // runCollectionViewHost
    141       //
    142       this.runCollectionViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    143                   | System.Windows.Forms.AnchorStyles.Left)
    144                   | System.Windows.Forms.AnchorStyles.Right)));
    145       this.runCollectionViewHost.Caption = "View";
    146       this.runCollectionViewHost.Content = null;
    147       this.runCollectionViewHost.Enabled = false;
    148       this.runCollectionViewHost.Location = new System.Drawing.Point(3, 3);
    149       this.runCollectionViewHost.Name = "runCollectionViewHost";
    150       this.runCollectionViewHost.ReadOnly = false;
    151       this.runCollectionViewHost.Size = new System.Drawing.Size(613, 486);
    152       this.runCollectionViewHost.TabIndex = 0;
    153       this.runCollectionViewHost.ViewsLabelVisible = true;
    154       this.runCollectionViewHost.ViewType = null;
    155       //
    15696      // detailsTabPage
    15797      //
    15898      this.detailsTabPage.Controls.Add(this.splitContainer1);
    159       this.detailsTabPage.Controls.Add(this.restartButton);
    160       this.detailsTabPage.Controls.Add(this.pauseButton);
    161       this.detailsTabPage.Controls.Add(this.stopButton);
    16299      this.detailsTabPage.Controls.Add(this.optimizerGroupBox);
    163100      this.detailsTabPage.Controls.Add(this.jobIdLabel);
     
    171108      this.detailsTabPage.UseVisualStyleBackColor = true;
    172109      //
    173       // restartButton
    174       //
    175       this.restartButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    176       this.restartButton.Image = ((System.Drawing.Image)(resources.GetObject("restartButton.Image")));
    177       this.restartButton.Location = new System.Drawing.Point(3, 348);
    178       this.restartButton.Name = "restartButton";
    179       this.restartButton.Size = new System.Drawing.Size(24, 24);
    180       this.restartButton.TabIndex = 30;
    181       this.restartButton.UseVisualStyleBackColor = true;
    182       this.restartButton.Click += new System.EventHandler(this.restartButton_Click);
    183       //
    184       // pauseButton
    185       //
    186       this.pauseButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    187       this.pauseButton.Enabled = false;
    188       this.pauseButton.Image = ((System.Drawing.Image)(resources.GetObject("pauseButton.Image")));
    189       this.pauseButton.Location = new System.Drawing.Point(33, 348);
    190       this.pauseButton.Name = "pauseButton";
    191       this.pauseButton.Size = new System.Drawing.Size(24, 24);
    192       this.pauseButton.TabIndex = 31;
    193       this.pauseButton.UseVisualStyleBackColor = true;
    194       this.pauseButton.Click += new System.EventHandler(this.pauseButton_Click);
    195       //
    196       // stopButton
    197       //
    198       this.stopButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
    199       this.stopButton.Image = ((System.Drawing.Image)(resources.GetObject("stopButton.Image")));
    200       this.stopButton.Location = new System.Drawing.Point(63, 348);
    201       this.stopButton.Name = "stopButton";
    202       this.stopButton.Size = new System.Drawing.Size(24, 24);
    203       this.stopButton.TabIndex = 32;
    204       this.stopButton.UseVisualStyleBackColor = true;
    205       this.stopButton.Click += new System.EventHandler(this.stopButton_Click);
    206       //
    207       // optimizerGroupBox
    208       //
    209       this.optimizerGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    210                   | System.Windows.Forms.AnchorStyles.Right)));
    211       this.optimizerGroupBox.Controls.Add(this.showOptimizerButton);
    212       this.optimizerGroupBox.Controls.Add(this.lastUpdatedTextBox);
    213       this.optimizerGroupBox.Controls.Add(this.lastUpdatedLabel);
    214       this.optimizerGroupBox.Controls.Add(this.optimizerNamedItemView);
    215       this.optimizerGroupBox.Location = new System.Drawing.Point(6, 29);
    216       this.optimizerGroupBox.Name = "optimizerGroupBox";
    217       this.optimizerGroupBox.Size = new System.Drawing.Size(551, 129);
    218       this.optimizerGroupBox.TabIndex = 28;
    219       this.optimizerGroupBox.TabStop = false;
    220       this.optimizerGroupBox.Text = "Optimizer";
    221       //
    222       // showOptimizerButton
    223       //
    224       this.showOptimizerButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    225                   | System.Windows.Forms.AnchorStyles.Right)));
    226       this.showOptimizerButton.Location = new System.Drawing.Point(78, 99);
    227       this.showOptimizerButton.Name = "showOptimizerButton";
    228       this.showOptimizerButton.Size = new System.Drawing.Size(467, 23);
    229       this.showOptimizerButton.TabIndex = 3;
    230       this.showOptimizerButton.Text = "Show Optimizer";
    231       this.showOptimizerButton.UseVisualStyleBackColor = true;
    232       this.showOptimizerButton.Click += new System.EventHandler(this.showOptimizerButton_Click);
    233       //
    234       // lastUpdatedTextBox
    235       //
    236       this.lastUpdatedTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    237                   | System.Windows.Forms.AnchorStyles.Right)));
    238       this.lastUpdatedTextBox.Location = new System.Drawing.Point(78, 73);
    239       this.lastUpdatedTextBox.Name = "lastUpdatedTextBox";
    240       this.lastUpdatedTextBox.Size = new System.Drawing.Size(467, 20);
    241       this.lastUpdatedTextBox.TabIndex = 2;
    242       //
    243       // lastUpdatedLabel
    244       //
    245       this.lastUpdatedLabel.AutoSize = true;
    246       this.lastUpdatedLabel.Location = new System.Drawing.Point(9, 76);
    247       this.lastUpdatedLabel.Name = "lastUpdatedLabel";
    248       this.lastUpdatedLabel.Size = new System.Drawing.Size(71, 13);
    249       this.lastUpdatedLabel.TabIndex = 1;
    250       this.lastUpdatedLabel.Text = "LastUpdated:";
    251       //
    252       // optimizerNamedItemView
    253       //
    254       this.optimizerNamedItemView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    255                   | System.Windows.Forms.AnchorStyles.Right)));
    256       this.optimizerNamedItemView.Caption = "NamedItem View";
    257       this.optimizerNamedItemView.Content = null;
    258       this.optimizerNamedItemView.Location = new System.Drawing.Point(6, 20);
    259       this.optimizerNamedItemView.Name = "optimizerNamedItemView";
    260       this.optimizerNamedItemView.ReadOnly = false;
    261       this.optimizerNamedItemView.Size = new System.Drawing.Size(539, 51);
    262       this.optimizerNamedItemView.TabIndex = 0;
     110      // splitContainer1
     111      //
     112      this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     113                  | System.Windows.Forms.AnchorStyles.Right)));
     114      this.splitContainer1.Location = new System.Drawing.Point(6, 110);
     115      this.splitContainer1.Name = "splitContainer1";
     116      //
     117      // splitContainer1.Panel1
     118      //
     119      this.splitContainer1.Panel1.Controls.Add(this.configurationGroupBox);
     120      //
     121      // splitContainer1.Panel2
     122      //
     123      this.splitContainer1.Panel2.Controls.Add(this.jobStatusGroupBox);
     124      this.splitContainer1.Size = new System.Drawing.Size(551, 155);
     125      this.splitContainer1.SplitterDistance = 275;
     126      this.splitContainer1.TabIndex = 33;
    263127      //
    264128      // configurationGroupBox
     
    352216      this.computeInParallelCheckBox.UseVisualStyleBackColor = true;
    353217      this.computeInParallelCheckBox.CheckedChanged += new System.EventHandler(this.computeInParallelCheckBox_CheckedChanged);
    354       //
    355       // jobIdLabel
    356       //
    357       this.jobIdLabel.AutoSize = true;
    358       this.jobIdLabel.Location = new System.Drawing.Point(3, 6);
    359       this.jobIdLabel.Name = "jobIdLabel";
    360       this.jobIdLabel.Size = new System.Drawing.Size(36, 13);
    361       this.jobIdLabel.TabIndex = 25;
    362       this.jobIdLabel.Text = "JobId:";
    363       //
    364       // jobIdTextBox
    365       //
    366       this.jobIdTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    367                   | System.Windows.Forms.AnchorStyles.Right)));
    368       this.jobIdTextBox.Location = new System.Drawing.Point(91, 6);
    369       this.jobIdTextBox.Name = "jobIdTextBox";
    370       this.jobIdTextBox.Size = new System.Drawing.Size(466, 20);
    371       this.jobIdTextBox.TabIndex = 26;
    372218      //
    373219      // jobStatusGroupBox
     
    502348      this.exceptionTextBox.DoubleClick += new System.EventHandler(this.exceptionTextBox_DoubleClick);
    503349      //
     350      // optimizerGroupBox
     351      //
     352      this.optimizerGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     353                  | System.Windows.Forms.AnchorStyles.Right)));
     354      this.optimizerGroupBox.Controls.Add(this.modifyItemButton);
     355      this.optimizerGroupBox.Controls.Add(this.lastUpdatedTextBox);
     356      this.optimizerGroupBox.Controls.Add(this.lastUpdatedLabel);
     357      this.optimizerGroupBox.Controls.Add(this.optimizerItemView);
     358      this.optimizerGroupBox.Location = new System.Drawing.Point(6, 29);
     359      this.optimizerGroupBox.Name = "optimizerGroupBox";
     360      this.optimizerGroupBox.Size = new System.Drawing.Size(551, 75);
     361      this.optimizerGroupBox.TabIndex = 28;
     362      this.optimizerGroupBox.TabStop = false;
     363      this.optimizerGroupBox.Text = "JobItem";
     364      //
     365      // modifyItemButton
     366      //
     367      this.modifyItemButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     368                  | System.Windows.Forms.AnchorStyles.Right)));
     369      this.modifyItemButton.Location = new System.Drawing.Point(78, 45);
     370      this.modifyItemButton.Name = "modifyItemButton";
     371      this.modifyItemButton.Size = new System.Drawing.Size(467, 23);
     372      this.modifyItemButton.TabIndex = 3;
     373      this.modifyItemButton.Text = "Modify Item";
     374      this.modifyItemButton.UseVisualStyleBackColor = true;
     375      this.modifyItemButton.Click += new System.EventHandler(this.modifyItemButton_Click);
     376      //
     377      // lastUpdatedTextBox
     378      //
     379      this.lastUpdatedTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     380                  | System.Windows.Forms.AnchorStyles.Right)));
     381      this.lastUpdatedTextBox.Location = new System.Drawing.Point(78, 19);
     382      this.lastUpdatedTextBox.Name = "lastUpdatedTextBox";
     383      this.lastUpdatedTextBox.Size = new System.Drawing.Size(467, 20);
     384      this.lastUpdatedTextBox.TabIndex = 2;
     385      //
     386      // lastUpdatedLabel
     387      //
     388      this.lastUpdatedLabel.AutoSize = true;
     389      this.lastUpdatedLabel.Location = new System.Drawing.Point(3, 22);
     390      this.lastUpdatedLabel.Name = "lastUpdatedLabel";
     391      this.lastUpdatedLabel.Size = new System.Drawing.Size(71, 13);
     392      this.lastUpdatedLabel.TabIndex = 1;
     393      this.lastUpdatedLabel.Text = "LastUpdated:";
     394      //
     395      // optimizerItemView
     396      //
     397      this.optimizerItemView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     398                  | System.Windows.Forms.AnchorStyles.Right)));
     399      this.optimizerItemView.Caption = "NamedItem View";
     400      this.optimizerItemView.Content = null;
     401      this.optimizerItemView.Location = new System.Drawing.Point(6, 20);
     402      this.optimizerItemView.Name = "optimizerItemView";
     403      this.optimizerItemView.ReadOnly = false;
     404      this.optimizerItemView.Size = new System.Drawing.Size(539, 51);
     405      this.optimizerItemView.TabIndex = 0;
     406      //
     407      // jobIdLabel
     408      //
     409      this.jobIdLabel.AutoSize = true;
     410      this.jobIdLabel.Location = new System.Drawing.Point(3, 6);
     411      this.jobIdLabel.Name = "jobIdLabel";
     412      this.jobIdLabel.Size = new System.Drawing.Size(36, 13);
     413      this.jobIdLabel.TabIndex = 25;
     414      this.jobIdLabel.Text = "JobId:";
     415      //
     416      // jobIdTextBox
     417      //
     418      this.jobIdTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     419                  | System.Windows.Forms.AnchorStyles.Right)));
     420      this.jobIdTextBox.Location = new System.Drawing.Point(91, 6);
     421      this.jobIdTextBox.Name = "jobIdTextBox";
     422      this.jobIdTextBox.Size = new System.Drawing.Size(466, 20);
     423      this.jobIdTextBox.TabIndex = 26;
     424      //
    504425      // tabControl
    505426      //
     
    509430      this.tabControl.Controls.Add(this.detailsTabPage);
    510431      this.tabControl.Controls.Add(this.stateLogTabPage);
    511       this.tabControl.Controls.Add(this.runsTabPage);
    512       this.tabControl.Controls.Add(this.logTabPage);
    513432      this.tabControl.Location = new System.Drawing.Point(3, 3);
    514433      this.tabControl.Name = "tabControl";
     
    517436      this.tabControl.TabIndex = 25;
    518437      //
    519       // splitContainer1
    520       //
    521       this.splitContainer1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    522                   | System.Windows.Forms.AnchorStyles.Right)));
    523       this.splitContainer1.Location = new System.Drawing.Point(6, 164);
    524       this.splitContainer1.Name = "splitContainer1";
    525       //
    526       // splitContainer1.Panel1
    527       //
    528       this.splitContainer1.Panel1.Controls.Add(this.configurationGroupBox);
    529       //
    530       // splitContainer1.Panel2
    531       //
    532       this.splitContainer1.Panel2.Controls.Add(this.jobStatusGroupBox);
    533       this.splitContainer1.Size = new System.Drawing.Size(551, 155);
    534       this.splitContainer1.SplitterDistance = 275;
    535       this.splitContainer1.TabIndex = 33;
    536       //
    537438      // HiveJobView
    538439      //
     
    542443      this.Name = "HiveJobView";
    543444      this.Size = new System.Drawing.Size(577, 407);
    544       this.logTabPage.ResumeLayout(false);
    545445      this.stateLogTabPage.ResumeLayout(false);
    546       this.runsTabPage.ResumeLayout(false);
    547446      this.detailsTabPage.ResumeLayout(false);
    548447      this.detailsTabPage.PerformLayout();
    549       this.optimizerGroupBox.ResumeLayout(false);
    550       this.optimizerGroupBox.PerformLayout();
     448      this.splitContainer1.Panel1.ResumeLayout(false);
     449      this.splitContainer1.Panel2.ResumeLayout(false);
     450      ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
     451      this.splitContainer1.ResumeLayout(false);
    551452      this.configurationGroupBox.ResumeLayout(false);
    552453      this.configurationGroupBox.PerformLayout();
    553454      this.jobStatusGroupBox.ResumeLayout(false);
    554455      this.jobStatusGroupBox.PerformLayout();
     456      this.optimizerGroupBox.ResumeLayout(false);
     457      this.optimizerGroupBox.PerformLayout();
    555458      this.tabControl.ResumeLayout(false);
    556       this.splitContainer1.Panel1.ResumeLayout(false);
    557       this.splitContainer1.Panel2.ResumeLayout(false);
    558       ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
    559       this.splitContainer1.ResumeLayout(false);
    560459      this.ResumeLayout(false);
    561460
     
    564463    #endregion
    565464
    566     private System.Windows.Forms.TabPage logTabPage;
    567     private Core.Views.LogView logView;
    568     private System.Windows.Forms.TabPage stateLogTabPage;
    569     private MainForm.WindowsForms.ViewHost stateLogViewHost;
    570     private System.Windows.Forms.TabPage runsTabPage;
    571     private MainForm.WindowsForms.ViewHost runCollectionViewHost;
    572     private System.Windows.Forms.TabPage detailsTabPage;
    573     private System.Windows.Forms.GroupBox optimizerGroupBox;
    574     private Core.Views.NamedItemView optimizerNamedItemView;
    575     private System.Windows.Forms.GroupBox configurationGroupBox;
    576     private System.Windows.Forms.TextBox priorityTextBox;
    577     private System.Windows.Forms.Label priorityLabel;
    578     private System.Windows.Forms.TextBox coresNeededTextBox;
    579     private System.Windows.Forms.TextBox memoryNeededTextBox;
    580     private System.Windows.Forms.Label memoryNeededLabel;
    581     private System.Windows.Forms.Label coresNeededLabel;
    582     private System.Windows.Forms.Label computeInParallelLabel;
    583     private System.Windows.Forms.CheckBox computeInParallelCheckBox;
    584     private System.Windows.Forms.Label jobIdLabel;
    585     private System.Windows.Forms.TextBox jobIdTextBox;
    586     private System.Windows.Forms.GroupBox jobStatusGroupBox;
    587     private System.Windows.Forms.TextBox stateTextBox;
    588     private System.Windows.Forms.Label stateLabel;
    589     private System.Windows.Forms.TextBox dateFinishedTextBox;
    590     private System.Windows.Forms.TextBox executionTimeTextBox;
    591     private System.Windows.Forms.Label executionTimeLabel;
    592     private System.Windows.Forms.Label exceptionLabel;
    593     private System.Windows.Forms.Label dateFinishedLabel;
    594     private System.Windows.Forms.TextBox exceptionTextBox;
    595     private System.Windows.Forms.TabControl tabControl;
    596     private System.Windows.Forms.Button restartButton;
    597     private System.Windows.Forms.Button pauseButton;
    598     private System.Windows.Forms.Button stopButton;
    599     private System.Windows.Forms.Button showOptimizerButton;
    600     private System.Windows.Forms.TextBox lastUpdatedTextBox;
    601     private System.Windows.Forms.Label lastUpdatedLabel;
    602     private System.Windows.Forms.Label dateCalculatedLabel;
    603     private System.Windows.Forms.TextBox dateCalculatedText;
    604     private System.Windows.Forms.TextBox dateCreatedTextBox;
    605     private System.Windows.Forms.Label dateCreatedLabel;
    606     private System.Windows.Forms.SplitContainer splitContainer1;
     465    protected System.Windows.Forms.TabPage stateLogTabPage;
     466    protected MainForm.WindowsForms.ViewHost stateLogViewHost;
     467    protected System.Windows.Forms.TabPage detailsTabPage;
     468    protected System.Windows.Forms.GroupBox optimizerGroupBox;
     469    protected Core.Views.ItemView optimizerItemView;
     470    protected System.Windows.Forms.GroupBox configurationGroupBox;
     471    protected System.Windows.Forms.TextBox priorityTextBox;
     472    protected System.Windows.Forms.Label priorityLabel;
     473    protected System.Windows.Forms.TextBox coresNeededTextBox;
     474    protected System.Windows.Forms.TextBox memoryNeededTextBox;
     475    protected System.Windows.Forms.Label memoryNeededLabel;
     476    protected System.Windows.Forms.Label coresNeededLabel;
     477    protected System.Windows.Forms.Label computeInParallelLabel;
     478    protected System.Windows.Forms.CheckBox computeInParallelCheckBox;
     479    protected System.Windows.Forms.Label jobIdLabel;
     480    protected System.Windows.Forms.TextBox jobIdTextBox;
     481    protected System.Windows.Forms.GroupBox jobStatusGroupBox;
     482    protected System.Windows.Forms.TextBox stateTextBox;
     483    protected System.Windows.Forms.Label stateLabel;
     484    protected System.Windows.Forms.TextBox dateFinishedTextBox;
     485    protected System.Windows.Forms.TextBox executionTimeTextBox;
     486    protected System.Windows.Forms.Label executionTimeLabel;
     487    protected System.Windows.Forms.Label exceptionLabel;
     488    protected System.Windows.Forms.Label dateFinishedLabel;
     489    protected System.Windows.Forms.TextBox exceptionTextBox;
     490    protected System.Windows.Forms.TabControl tabControl;
     491    protected System.Windows.Forms.Button modifyItemButton;
     492    protected System.Windows.Forms.TextBox lastUpdatedTextBox;
     493    protected System.Windows.Forms.Label lastUpdatedLabel;
     494    protected System.Windows.Forms.Label dateCalculatedLabel;
     495    protected System.Windows.Forms.TextBox dateCalculatedText;
     496    protected System.Windows.Forms.TextBox dateCreatedTextBox;
     497    protected System.Windows.Forms.Label dateCreatedLabel;
     498    protected System.Windows.Forms.SplitContainer splitContainer1;
    607499
    608500  }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.resx

    r5779 r6033  
    118118    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    119119  </resheader>
    120   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    121   <data name="restartButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    122     <value>
    123         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
    124         YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK/wAA
    125         Cv8BNGKaggAAALBJREFUOE9j+P//PwMlGKvmsv3ZbsQaitWAhBkR/4k1BKcBlmX6RBmC1YCoKUH/N9xa
    126         /J8YQ7AaEDzBG2Q7UYZgNcCnyxlsAAhHLQrA6xKsBjg2W/zP2BAL1mzbrP9fp1jhv0QaN4hWQ48drAaY
    127         1+ihaOZPYMGqGWQYVgP0SpXhNuPTjNMAlXwpsLMJacZpgHSGIFGacRogksyJ089EBSK20MaVNyjKiTi9
    128         QGxOBKkDACT9xOni1RbMAAAAAElFTkSuQmCC
    129 </value>
    130   </data>
    131   <data name="pauseButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    132     <value>
    133         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
    134         YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK/wAA
    135         Cv8BNGKaggAAAL5JREFUOE9j+P//PwMlmCLNIIsHoQG9m//+79rw63/e1EefQE5E56OHF4YXQJqvPvzz
    136         Xzd0FVDtfwZ0PkED2tZ++3/r6e//qn6LwAag8wka0Lji8//LD3//l3ObBTYAnU/QgNrF7/+fuP77v5jd
    137         JLAB6HyCBlTMe/V/94Wf//nNusEGoPMJGlAy+/n/9Sd//uc0aAUbgM4naEDB9Mf/F+z5/J9VpxFsADqf
    138         oAGg+GfTbYIbgM4naACpGWvg8wIAkX3yJyVePz4AAAAASUVORK5CYII=
    139 </value>
    140   </data>
    141   <data name="stopButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    142     <value>
    143         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
    144         YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAAK/wAA
    145         Cv8BNGKaggAAAWtJREFUOE/Nkz9IAmEYxl0KGqKtMVpaIiEoipYIgnByCSGhSQiCNBqCMiqwsr8clChF
    146         YmYSSikeWEbZH2qwEhKhwhAXjQwKEbw0zyue7nO7hgtyqOEbf7/ne5+XVwJAUsorCSbB/0xAeT+xSBcw
    147         685B52QwYU9jdOMFw+ZnDK0+YtCUyHzvSzACge/jH7hLcAg8FHB4w8IbZOEKsLD4s5AqdnheWLpAQJKj
    148         TxyCUa4IOi/yWPPlsOJlMGePoU6+JS4g376NczgKsdg+y8PIg3pnBmPWV6ipMGq61sUFZOarCAf3JZ98
    149         8I75XQKnoDEmoRg5RXW7QVxACvOHWdhO8lim36C1ptFvSEI5E4NsYA9VLUviAtK255qFcT+LSXsKahMP
    150         66OQa0Po7HOholEvLiCr2jxmMG2LQEOFoBw/55M96FA50NpjRlmDTlxA9tym8qGpl0Z9twO1Mktx7srm
    151         BZRLp34W/Oao/v4WvgBcI/R+TmAaZAAAAABJRU5ErkJggg==
    152 </value>
    153   </data>
    154120</root>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/StateLogView.cs

    r5636 r6033  
    2727namespace HeuristicLab.Clients.Hive.Views {
    2828  [View("StateLog View")]
    29   [Content(typeof(StateLog), IsDefaultView = false)]
     29  [Content(typeof(StateLog), IsDefaultView = true)]
    3030  public sealed partial class StateLogView : ItemView {
    3131    public new StateLog Content {
Note: See TracChangeset for help on using the changeset viewer.