Changeset 5829


Ignore:
Timestamp:
03/24/11 23:56:39 (9 years ago)
Author:
mkommend
Message:

#1313: Implemented new views for data analysis solutions.

Location:
trunk/sources
Files:
13 added
24 edited
8 copied

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/HeuristicLab.Algorithms.DataAnalysis.Views-3.4.csproj

    r5809 r5829  
    114114  </ItemGroup>
    115115  <ItemGroup>
     116    <Compile Include="SupportVectorMachineModelSupportVectorsView.cs">
     117      <SubType>UserControl</SubType>
     118    </Compile>
     119    <Compile Include="SupportVectorMachineModelSupportVectorsView.Designer.cs">
     120      <DependentUpon>SupportVectorMachineModelSupportVectorsView.cs</DependentUpon>
     121    </Compile>
    116122    <Compile Include="CrossValidationView.cs">
    117123      <SubType>UserControl</SubType>
     
    127133    <Compile Include="SupportVectorMachineModelView.Designer.cs">
    128134      <DependentUpon>SupportVectorMachineModelView.cs</DependentUpon>
    129     </Compile>
    130     <Compile Include="SupportVectorRegressionSolutionView.cs">
    131       <SubType>UserControl</SubType>
    132     </Compile>
    133     <Compile Include="SupportVectorRegressionSolutionView.Designer.cs">
    134       <DependentUpon>SupportVectorRegressionSolutionView.cs</DependentUpon>
    135135    </Compile>
    136136  </ItemGroup>
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/SupportVectorMachineModelSupportVectorsView.Designer.cs

    r5827 r5829  
    2121
    2222namespace HeuristicLab.Algorithms.DataAnalysis.Views {
    23   partial class SupportVectorMachineModelView {
     23  partial class SupportVectorMachineModelSupportVectorsView {
    2424    /// <summary>
    2525    /// Required designer variable.
     
    4545    /// </summary>
    4646    private void InitializeComponent() {
    47       this.textBox = new System.Windows.Forms.TextBox();
     47      this.stringConvertibleMatrixView = new HeuristicLab.Data.Views.StringConvertibleMatrixView();
    4848      this.SuspendLayout();
    4949      //
    50       // textBox
     50      // stringConvertibleMatrixView
    5151      //
    52       this.textBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    53                   | System.Windows.Forms.AnchorStyles.Left)
    54                   | System.Windows.Forms.AnchorStyles.Right)));
    55       this.textBox.Location = new System.Drawing.Point(3, 3);
    56       this.textBox.Multiline = true;
    57       this.textBox.Name = "textBox";
    58       this.textBox.ReadOnly = true;
    59       this.textBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
    60       this.textBox.Size = new System.Drawing.Size(247, 245);
    61       this.textBox.TabIndex = 0;
     52      this.stringConvertibleMatrixView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     53            | System.Windows.Forms.AnchorStyles.Left)
     54            | System.Windows.Forms.AnchorStyles.Right)));
     55      this.stringConvertibleMatrixView.Caption = "StringConvertibleMatrix View";
     56      this.stringConvertibleMatrixView.Content = null;
     57      this.stringConvertibleMatrixView.Location = new System.Drawing.Point(3, 3);
     58      this.stringConvertibleMatrixView.Name = "stringConvertibleMatrixView";
     59      this.stringConvertibleMatrixView.ReadOnly = false;
     60      this.stringConvertibleMatrixView.ShowRowsAndColumnsTextBox = true;
     61      this.stringConvertibleMatrixView.ShowStatisticalInformation = false;
     62      this.stringConvertibleMatrixView.Size = new System.Drawing.Size(381, 230);
     63      this.stringConvertibleMatrixView.TabIndex = 0;
    6264      //
    63       // SupportVectorMachineModelView
     65      // SupportVectorMachineModelSupportVectorsView
    6466      //
    65       this.AllowDrop = true;
    6667      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    67       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    68       this.Controls.Add(this.textBox);
    69       this.Name = "SupportVectorMachineModelView";
    70       this.Size = new System.Drawing.Size(253, 251);
     68      this.Controls.Add(this.stringConvertibleMatrixView);
     69      this.Name = "SupportVectorMachineModelSupportVectorsView";
     70      this.Size = new System.Drawing.Size(387, 236);
    7171      this.ResumeLayout(false);
    72       this.PerformLayout();
    7372
    7473    }
     
    7675    #endregion
    7776
    78     private System.Windows.Forms.TextBox textBox;
    79 
    80 
     77    private Data.Views.StringConvertibleMatrixView stringConvertibleMatrixView;
    8178  }
    8279}
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/SupportVectorMachineModelSupportVectorsView.cs

    r5827 r5829  
    2020#endregion
    2121using System;
    22 using System.IO;
    2322using System.Windows.Forms;
    2423using HeuristicLab.MainForm;
     
    2625
    2726namespace HeuristicLab.Algorithms.DataAnalysis.Views {
    28   [View("Support vector machine model view")]
    29   [Content(typeof(SupportVectorMachineModel), true)]
    30   public partial class SupportVectorMachineModelView : AsynchronousContentView {
     27  [View("Support vectors view")]
     28  [Content(typeof(SupportVectorMachineModel), false)]
     29  public partial class SupportVectorMachineModelSupportVectorsView : AsynchronousContentView {
    3130
    3231    public new SupportVectorMachineModel Content {
     
    3534    }
    3635
    37     public SupportVectorMachineModelView()
     36    public SupportVectorMachineModelSupportVectorsView()
    3837      : base() {
    3938      InitializeComponent();
     
    4241    protected override void OnContentChanged() {
    4342      base.OnContentChanged();
    44       if (Content == null)
    45         textBox.Text = string.Empty;
     43      if (Content != null)
     44        stringConvertibleMatrixView.Content = Content.SupportVectors;
    4645      else
    47         UpdateTextBox();
     46        stringConvertibleMatrixView.Content = null;
    4847    }
    4948
     
    5756    }
    5857    private void Content_Changed(object sender, EventArgs e) {
    59       UpdateTextBox();
    60     }
    61 
    62     private void UpdateTextBox() {
    63       using (MemoryStream s = new MemoryStream()) {
    64         StreamWriter writer = new StreamWriter(s);
    65         writer.WriteLine("RangeTransform:");
    66         writer.Flush();
    67         using (MemoryStream memStream = new MemoryStream()) {
    68           SVM.RangeTransform.Write(memStream, Content.RangeTransform);
    69           memStream.Seek(0, SeekOrigin.Begin);
    70           memStream.WriteTo(s);
    71         }
    72         writer.WriteLine("Model:");
    73         writer.Flush();
    74         using (MemoryStream memStream = new MemoryStream()) {
    75           SVM.Model.Write(memStream, Content.Model);
    76           memStream.Seek(0, SeekOrigin.Begin);
    77           memStream.WriteTo(s);
    78         }
    79         s.Flush();
    80         s.Seek(0, SeekOrigin.Begin);
    81 
    82         StreamReader reader = new StreamReader(s);
    83         textBox.Text = reader.ReadToEnd();
    84       }
     58      OnContentChanged();
    8559    }
    8660  }
  • trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemCollectionView.cs

    r5744 r5829  
    5151    protected override void OnContentChanged() {
    5252      string selectedName = null;
    53       if ((itemsListView.SelectedItems.Count == 1) && (itemsListView.SelectedItems[0].Tag != null))
     53      if ((itemsListView.SelectedItems.Count == 1) && (itemsListView.SelectedItems[0].Tag != null &&
     54        itemsListView.SelectedItems[0].Tag is T))
    5455        selectedName = ((T)itemsListView.SelectedItems[0].Tag).Name;
    5556      base.OnContentChanged();
  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionView.cs

    r5809 r5829  
    2020#endregion
    2121
     22using System;
    2223using System.Collections.Generic;
    2324using System.Windows.Forms;
     
    2526using HeuristicLab.MainForm.WindowsForms;
    2627using HeuristicLab.PluginInfrastructure;
    27 using System;
    2828
    2929namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views {
     
    3434    List<ISymbolicExpressionTreeStringFormatter> treeFormattersList = new List<ISymbolicExpressionTreeStringFormatter>();
    3535
    36     public new SymbolicExpressionTree Content {
    37       get { return (SymbolicExpressionTree)base.Content; }
     36    public new ISymbolicExpressionTree Content {
     37      get { return (ISymbolicExpressionTree)base.Content; }
    3838      set { base.Content = value; }
    3939    }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification.Views-3.4.csproj

    r5809 r5829  
    235235    </BootstrapperPackage>
    236236  </ItemGroup>
    237   <ItemGroup />
    238237  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    239238  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification.Views/3.4/SymbolicDiscriminantFunctionClassificationSolutionView.Designer.cs

    r5809 r5829  
    4545    /// </summary>
    4646    private void InitializeComponent() {
    47       this.btn_SimplifyModel = new System.Windows.Forms.Button();
    48       this.tabControl.SuspendLayout();
    49       this.dataTabPage.SuspendLayout();
    50       this.modelTabPage.SuspendLayout();
     47      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SymbolicDiscriminantFunctionClassificationSolutionView));
     48      this.btnSimplify = new System.Windows.Forms.Button();
     49      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
     50      this.splitContainer.Panel1.SuspendLayout();
     51      this.splitContainer.Panel2.SuspendLayout();
     52      this.splitContainer.SuspendLayout();
     53      this.itemsGroupBox.SuspendLayout();
     54      this.detailsGroupBox.SuspendLayout();
    5155      this.SuspendLayout();
    5256      //
    53       // tabControl
     57      // splitContainer
    5458      //
    55       this.tabControl.Size = new System.Drawing.Size(380, 233);
    5659      //
    57       // dataTabPage
     60      // splitContainer.Panel1
    5861      //
    59       this.dataTabPage.Size = new System.Drawing.Size(372, 207);
     62      this.splitContainer.Panel1.Controls.Add(this.btnSimplify);
    6063      //
    61       // modelTabPage
     64      // btnSimplify
    6265      //
    63       this.modelTabPage.Size = new System.Drawing.Size(372, 207);
     66      this.btnSimplify.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
     67      this.btnSimplify.Location = new System.Drawing.Point(172, 4);
     68      this.btnSimplify.Name = "btnSimplify";
     69      this.btnSimplify.Size = new System.Drawing.Size(75, 23);
     70      this.btnSimplify.TabIndex = 6;
     71      this.btnSimplify.Text = "Simplify";
     72      this.btnSimplify.UseVisualStyleBackColor = true;
     73      this.btnSimplify.Click += new System.EventHandler(this.btn_SimplifyModel_Click);
    6474      //
    65       // dataViewHost
    66       //
    67       this.dataViewHost.Size = new System.Drawing.Size(360, 195);
    68       //
    69       // modelViewHost
    70       //
    71       this.modelViewHost.Size = new System.Drawing.Size(360, 195);
    72       //
    73       // btn_SimplifyModel
    74       //
    75       this.btn_SimplifyModel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
    76                   | System.Windows.Forms.AnchorStyles.Right)));
    77       this.btn_SimplifyModel.Location = new System.Drawing.Point(3, 238);
    78       this.btn_SimplifyModel.Name = "btn_SimplifyModel";
    79       this.btn_SimplifyModel.Size = new System.Drawing.Size(376, 23);
    80       this.btn_SimplifyModel.TabIndex = 2;
    81       this.btn_SimplifyModel.Text = "Simplify Model";
    82       this.btn_SimplifyModel.UseVisualStyleBackColor = true;
    83       this.btn_SimplifyModel.Click += new System.EventHandler(this.btn_SimplifyModel_Click);
    84       //
    85       // SymbolicRegressionSolutionView
     75      // SymbolicDiscriminantFunctionClassificationSolutionView
    8676      //
    8777      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    88       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    89       this.Controls.Add(this.btn_SimplifyModel);
    90       this.Name = "SymbolicRegressionSolutionView";
    91       this.Controls.SetChildIndex(this.btn_SimplifyModel, 0);
    92       this.Controls.SetChildIndex(this.tabControl, 0);
    93       this.tabControl.ResumeLayout(false);
    94       this.dataTabPage.ResumeLayout(false);
    95       this.modelTabPage.ResumeLayout(false);
     78      this.Name = "SymbolicDiscriminantFunctionClassificationSolutionView";
     79      this.splitContainer.Panel1.ResumeLayout(false);
     80      this.splitContainer.Panel2.ResumeLayout(false);
     81      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit();
     82      this.splitContainer.ResumeLayout(false);
     83      this.itemsGroupBox.ResumeLayout(false);
     84      this.detailsGroupBox.ResumeLayout(false);
    9685      this.ResumeLayout(false);
    9786
    9887    }
    99 
    10088    #endregion
    10189
    102     private System.Windows.Forms.Button btn_SimplifyModel;
     90    protected System.Windows.Forms.Button btnSimplify;
    10391  }
    10492}
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Classification.Views/3.4/SymbolicDiscriminantFunctionClassificationSolutionView.cs

    r5809 r5829  
    2626
    2727namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Classification.Views {
    28   [Content(typeof(SymbolicDiscriminantFunctionClassificationSolution))]
     28  [Content(typeof(SymbolicDiscriminantFunctionClassificationSolution), true)]
    2929  [View("Symbolic Discriminant Function Classification Solution View")]
    30   public partial class SymbolicDiscriminantFunctionClassificationSolutionView : DataAnalysisSolutionView {
     30  public partial class SymbolicDiscriminantFunctionClassificationSolutionView : DiscriminantFunctionClassificationSolutionView {
    3131    public SymbolicDiscriminantFunctionClassificationSolutionView() {
    3232      InitializeComponent();
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views-3.4.csproj

    r5809 r5829  
    239239    </BootstrapperPackage>
    240240  </ItemGroup>
    241   <ItemGroup />
    242241  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    243242  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/SymbolicRegressionSolutionView.cs

    r5809 r5829  
    2626
    2727namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views {
    28   [Content(typeof(SymbolicRegressionSolution))]
     28  [Content(typeof(SymbolicRegressionSolution), true)]
    2929  [View("Symbolic Regression Solution View")]
    30   public partial class SymbolicRegressionSolutionView : DataAnalysisSolutionView {
     30  public partial class SymbolicRegressionSolutionView : RegressionSolutionView {
    3131    public SymbolicRegressionSolutionView() {
    3232      InitializeComponent();
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/GraphicalSymbolicDataAnalysisModelView.cs

    r5818 r5829  
    2525
    2626namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
    27   [View("Symbolic data analysis model view")]
     27  [View("Graphical symbolic data analysis model view")]
    2828  [Content(typeof(ISymbolicDataAnalysisModel), true)]
    29   public partial class SymbolicExpressionModelView : AsynchronousContentView {
    30     public SymbolicExpressionModelView()
     29  public partial class GraphicalSymbolicDataAnalysisModelView : AsynchronousContentView {
     30    public GraphicalSymbolicDataAnalysisModelView()
    3131      : base() {
    3232      InitializeComponent();
     
    4141      base.OnContentChanged();
    4242      if (Content != null)
    43         UpdateTreeChart();
     43        symbolicExpressionTreeView.Content = Content.SymbolicExpressionTree;
    4444      else
    45         viewHost.Content = null;
    46     }
    47 
    48     private void UpdateTreeChart() {
    49       viewHost.Content = Content.SymbolicExpressionTree;
     45        symbolicExpressionTreeView.Content = null;
    5046    }
    5147  }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/GraphicalSymbolicDataAnalysisModelView.designer.cs

    r5818 r5829  
    2121
    2222namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
    23   partial class SymbolicExpressionModelView {
     23  partial class GraphicalSymbolicDataAnalysisModelView {
    2424    /// <summary>
    2525    /// Required designer variable.
     
    4545    /// </summary>
    4646    private void InitializeComponent() {
    47       this.modelGroupBox = new System.Windows.Forms.GroupBox();
    48       this.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    49       this.modelGroupBox.SuspendLayout();
     47      this.symbolicExpressionTreeView = new HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.GraphicalSymbolicExpressionTreeView();
    5048      this.SuspendLayout();
    5149      //
    52       // modelGroupBox
     50      // expressionTreeView
    5351      //
    54       this.modelGroupBox.Controls.Add(this.viewHost);
    55       this.modelGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
    56       this.modelGroupBox.Location = new System.Drawing.Point(0, 0);
    57       this.modelGroupBox.Name = "modelGroupBox";
    58       this.modelGroupBox.Size = new System.Drawing.Size(352, 413);
    59       this.modelGroupBox.TabIndex = 0;
    60       this.modelGroupBox.TabStop = false;
    61       this.modelGroupBox.Text = "Symbolic Expression Model";
    62       //
    63       // viewHost
    64       //
    65       this.viewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    66                   | System.Windows.Forms.AnchorStyles.Left)
    67                   | System.Windows.Forms.AnchorStyles.Right)));
    68       this.viewHost.Content = null;
    69       this.viewHost.Location = new System.Drawing.Point(6, 19);
    70       this.viewHost.Name = "viewHost";
    71       this.viewHost.ReadOnly = false;
    72       this.viewHost.Size = new System.Drawing.Size(340, 388);
    73       this.viewHost.TabIndex = 0;
    74       this.viewHost.ViewType = null;
     52      this.symbolicExpressionTreeView.AllowDrop = true;
     53      this.symbolicExpressionTreeView.Caption = "Graphical SymbolicExpressionTree View";
     54      this.symbolicExpressionTreeView.Content = null;
     55      this.symbolicExpressionTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
     56      this.symbolicExpressionTreeView.Location = new System.Drawing.Point(0, 0);
     57      this.symbolicExpressionTreeView.Name = "expressionTreeView";
     58      this.symbolicExpressionTreeView.ReadOnly = false;
     59      this.symbolicExpressionTreeView.Size = new System.Drawing.Size(352, 413);
     60      this.symbolicExpressionTreeView.TabIndex = 0;
    7561      //
    7662      // SymbolicExpressionModelView
     
    7965      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    8066      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    81       this.Controls.Add(this.modelGroupBox);
     67      this.Controls.Add(this.symbolicExpressionTreeView);
    8268      this.Name = "SymbolicExpressionModelView";
    8369      this.Size = new System.Drawing.Size(352, 413);
    84       this.modelGroupBox.ResumeLayout(false);
    8570      this.ResumeLayout(false);
    8671
     
    8873
    8974    #endregion
    90 
    91     private System.Windows.Forms.GroupBox modelGroupBox;
    92     private HeuristicLab.MainForm.WindowsForms.ViewHost viewHost;
     75    private HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.GraphicalSymbolicExpressionTreeView symbolicExpressionTreeView;
    9376
    9477  }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj

    r5809 r5829  
    9393  </PropertyGroup>
    9494  <ItemGroup>
     95    <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=x86" />
    9596    <Reference Include="System" />
    9697    <Reference Include="System.Core">
     
    110111  </ItemGroup>
    111112  <ItemGroup>
     113    <Compile Include="TextualSymbolicDataAnalysisModelView.cs">
     114      <SubType>UserControl</SubType>
     115    </Compile>
     116    <Compile Include="TextualSymbolicDataAnalysisModelView.designer.cs">
     117      <DependentUpon>TextualSymbolicDataAnalysisModelView.cs</DependentUpon>
     118    </Compile>
    112119    <Compile Include="InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs">
    113120      <SubType>UserControl</SubType>
     
    116123      <DependentUpon>InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs</DependentUpon>
    117124    </Compile>
    118     <Compile Include="SymbolicDataAnalysisModelView.cs">
    119       <SubType>UserControl</SubType>
    120     </Compile>
    121     <Compile Include="SymbolicDataAnalysisModelView.designer.cs">
    122       <DependentUpon>SymbolicDataAnalysisModelView.cs</DependentUpon>
     125    <Compile Include="GraphicalSymbolicDataAnalysisModelView.cs">
     126      <SubType>UserControl</SubType>
     127    </Compile>
     128    <Compile Include="GraphicalSymbolicDataAnalysisModelView.designer.cs">
     129      <DependentUpon>GraphicalSymbolicDataAnalysisModelView.cs</DependentUpon>
    123130    </Compile>
    124131    <Compile Include="Symbols\ConstantView.cs">
     
    216223      <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
    217224      <Name>HeuristicLab.Operators-3.3</Name>
     225    </ProjectReference>
     226    <ProjectReference Include="..\..\HeuristicLab.Optimization.Views\3.3\HeuristicLab.Optimization.Views-3.3.csproj">
     227      <Project>{662B4B15-8F4D-4AE5-B3EB-D91C215F5AF2}</Project>
     228      <Name>HeuristicLab.Optimization.Views-3.3</Name>
    218229    </ProjectReference>
    219230    <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/TextualSymbolicDataAnalysisModelView.cs

    r5818 r5829  
    2525
    2626namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
    27   [View("Symbolic data analysis model view")]
    28   [Content(typeof(ISymbolicDataAnalysisModel), true)]
    29   public partial class SymbolicExpressionModelView : AsynchronousContentView {
    30     public SymbolicExpressionModelView()
     27  [View("Textual symbolic data analysis model view")]
     28  [Content(typeof(ISymbolicDataAnalysisModel), false)]
     29  public partial class TextualSymbolicDataAnalysisModelView : AsynchronousContentView {
     30    public TextualSymbolicDataAnalysisModelView()
    3131      : base() {
    3232      InitializeComponent();
     
    4141      base.OnContentChanged();
    4242      if (Content != null)
    43         UpdateTreeChart();
     43        symbolicExpressionTreeView.Content = Content.SymbolicExpressionTree;
    4444      else
    45         viewHost.Content = null;
    46     }
    47 
    48     private void UpdateTreeChart() {
    49       viewHost.Content = Content.SymbolicExpressionTree;
     45        symbolicExpressionTreeView.Content = null;
    5046    }
    5147  }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/TextualSymbolicDataAnalysisModelView.designer.cs

    r5818 r5829  
    2121
    2222namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views {
    23   partial class SymbolicExpressionModelView {
     23  partial class TextualSymbolicDataAnalysisModelView {
    2424    /// <summary>
    2525    /// Required designer variable.
     
    4545    /// </summary>
    4646    private void InitializeComponent() {
    47       this.modelGroupBox = new System.Windows.Forms.GroupBox();
    48       this.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    49       this.modelGroupBox.SuspendLayout();
     47      this.symbolicExpressionTreeView = new HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.SymbolicExpressionView();
    5048      this.SuspendLayout();
    5149      //
    52       // modelGroupBox
     50      // expressionTreeView
    5351      //
    54       this.modelGroupBox.Controls.Add(this.viewHost);
    55       this.modelGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
    56       this.modelGroupBox.Location = new System.Drawing.Point(0, 0);
    57       this.modelGroupBox.Name = "modelGroupBox";
    58       this.modelGroupBox.Size = new System.Drawing.Size(352, 413);
    59       this.modelGroupBox.TabIndex = 0;
    60       this.modelGroupBox.TabStop = false;
    61       this.modelGroupBox.Text = "Symbolic Expression Model";
    62       //
    63       // viewHost
    64       //
    65       this.viewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    66                   | System.Windows.Forms.AnchorStyles.Left)
    67                   | System.Windows.Forms.AnchorStyles.Right)));
    68       this.viewHost.Content = null;
    69       this.viewHost.Location = new System.Drawing.Point(6, 19);
    70       this.viewHost.Name = "viewHost";
    71       this.viewHost.ReadOnly = false;
    72       this.viewHost.Size = new System.Drawing.Size(340, 388);
    73       this.viewHost.TabIndex = 0;
    74       this.viewHost.ViewType = null;
     52      this.symbolicExpressionTreeView.AllowDrop = true;
     53      this.symbolicExpressionTreeView.Caption = "Graphical SymbolicExpressionTree View";
     54      this.symbolicExpressionTreeView.Content = null;
     55      this.symbolicExpressionTreeView.Dock = System.Windows.Forms.DockStyle.Fill;
     56      this.symbolicExpressionTreeView.Location = new System.Drawing.Point(0, 0);
     57      this.symbolicExpressionTreeView.Name = "expressionTreeView";
     58      this.symbolicExpressionTreeView.ReadOnly = false;
     59      this.symbolicExpressionTreeView.Size = new System.Drawing.Size(352, 413);
     60      this.symbolicExpressionTreeView.TabIndex = 0;
    7561      //
    7662      // SymbolicExpressionModelView
     
    7965      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    8066      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    81       this.Controls.Add(this.modelGroupBox);
     67      this.Controls.Add(this.symbolicExpressionTreeView);
    8268      this.Name = "SymbolicExpressionModelView";
    8369      this.Size = new System.Drawing.Size(352, 413);
    84       this.modelGroupBox.ResumeLayout(false);
    8570      this.ResumeLayout(false);
    8671
     
    8873
    8974    #endregion
    90 
    91     private System.Windows.Forms.GroupBox modelGroupBox;
    92     private HeuristicLab.MainForm.WindowsForms.ViewHost viewHost;
     75    private HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views.SymbolicExpressionView symbolicExpressionTreeView;
    9376
    9477  }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationSolutionConfusionMatrixView.Designer.cs

    r5809 r5829  
    1 namespace HeuristicLab.Problems.DataAnalysis.Classification.Views {
     1namespace HeuristicLab.Problems.DataAnalysis.Views {
    22  partial class ClassificationSolutionConfusionMatrixView {
    33    /// <summary>
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationSolutionConfusionMatrixView.cs

    r5809 r5829  
    2424using System.Linq;
    2525using System.Windows.Forms;
     26using HeuristicLab.Core.Views;
    2627using HeuristicLab.MainForm;
    2728using HeuristicLab.MainForm.WindowsForms;
    2829
    29 namespace HeuristicLab.Problems.DataAnalysis.Classification.Views {
     30namespace HeuristicLab.Problems.DataAnalysis.Views {
    3031  [View("Classification solution confusion matrix view")]
    3132  [Content(typeof(IClassificationSolution))]
    32   public partial class ClassificationSolutionConfusionMatrixView : AsynchronousContentView {
     33  public partial class ClassificationSolutionConfusionMatrixView : ItemView, IClassificationSolutionEvaluationView {
    3334    private const string TrainingSamples = "Training";
    3435    private const string TestSamples = "Test";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationSolutionEstimatedClassValuesView.cs

    r5809 r5829  
    2222using System.Linq;
    2323using System.Windows.Forms;
     24using HeuristicLab.Core.Views;
    2425using HeuristicLab.Data;
    2526using HeuristicLab.Data.Views;
     
    3031  [View("Classification solution estimated class values view")]
    3132  [Content(typeof(IClassificationSolution))]
    32   public partial class ClassificationSolutionEstimatedClassValuesView : AsynchronousContentView {
     33  public partial class ClassificationSolutionEstimatedClassValuesView : ItemView, IClassificationSolutionEvaluationView {
    3334    private const string TARGETVARIABLE_SERIES_NAME = "TargetVariable";
    3435    private const string ESTIMATEDVALUES_SERIES_NAME = "EstimatedClassValues";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/DiscriminantFunctionClassificationRocCurvesView.Designer.cs

    r5809 r5829  
    1 namespace HeuristicLab.Problems.DataAnalysis.Classification.Views {
     1namespace HeuristicLab.Problems.DataAnalysis.Views {
    22  partial class DiscriminantFunctionClassificationRocCurvesView {
    33    /// <summary>
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/DiscriminantFunctionClassificationRocCurvesView.cs

    r5809 r5829  
    2828using System.Windows.Forms.DataVisualization.Charting;
    2929using HeuristicLab.Common;
     30using HeuristicLab.Core.Views;
    3031using HeuristicLab.MainForm;
    3132using HeuristicLab.MainForm.WindowsForms;
    32 namespace HeuristicLab.Problems.DataAnalysis.Classification.Views {
     33namespace HeuristicLab.Problems.DataAnalysis.Views {
    3334  [View("Discriminant function classification solution ROC curves view")]
    3435  [Content(typeof(IDiscriminantFunctionClassificationSolution))]
    35   public partial class DiscriminantFunctionClassificationRocCurvesView : AsynchronousContentView {
     36  public partial class DiscriminantFunctionClassificationRocCurvesView : ItemView, IDiscriminantFunctionClassificationSolutionEvaluationView {
    3637    private const string xAxisTitle = "False Positive Rate";
    3738    private const string yAxisTitle = "True Positive Rate";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/DiscriminantFunctionClassificationSolutionEstimatedClassValuesView.cs

    r5809 r5829  
    2222using System.Linq;
    2323using System.Windows.Forms;
     24using HeuristicLab.Core.Views;
    2425using HeuristicLab.Data;
    2526using HeuristicLab.Data.Views;
     
    3031  [View("Discriminant function classification solution estimated class values view")]
    3132  [Content(typeof(IDiscriminantFunctionClassificationSolution))]
    32   public partial class DiscriminantFunctionClassificationSolutionEstimatedClassValuesView : AsynchronousContentView {
     33  public partial class DiscriminantFunctionClassificationSolutionEstimatedClassValuesView : ItemView, IDiscriminantFunctionClassificationSolutionEvaluationView {
    3334    private const string TargetClassValuesSeriesname = "TargetVariable";
    3435    private const string EstimatedClassValuesSeriesName = "EstimatedClassValues";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/DiscriminantFunctionClassificationSolutionThresholdView.Designer.cs

    r5827 r5829  
    1 namespace HeuristicLab.Problems.DataAnalysis.Classification.Views {
    2   partial class DiscriminantFunctionClassificationSolutionView {
     1namespace HeuristicLab.Problems.DataAnalysis.Views {
     2  partial class DiscriminantFunctionClassificationSolutionThresholdView {
    33    /// <summary>
    44    /// Required designer variable.
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/DiscriminantFunctionClassificationSolutionThresholdView.cs

    r5827 r5829  
    2727using System.Windows.Forms.DataVisualization.Charting;
    2828using HeuristicLab.Common;
     29using HeuristicLab.Core.Views;
    2930using HeuristicLab.MainForm;
    3031using HeuristicLab.MainForm.WindowsForms;
    3132
    32 namespace HeuristicLab.Problems.DataAnalysis.Classification.Views {
    33   [View("Discriminant function classification solution view")]
     33namespace HeuristicLab.Problems.DataAnalysis.Views {
     34  [View("DsicriminantFunctionClassificationSolutino ThresholdView")]
    3435  [Content(typeof(IDiscriminantFunctionClassificationSolution), true)]
    35   public sealed partial class DiscriminantFunctionClassificationSolutionView : AsynchronousContentView {
     36  public sealed partial class DiscriminantFunctionClassificationSolutionThresholdView : ItemView, IDiscriminantFunctionClassificationSolutionEvaluationView {
    3637    private const double TrainingAxisValue = 0.0;
    3738    private const double TestAxisValue = 10.0;
     
    4950    private bool updateInProgress;
    5051
    51     public DiscriminantFunctionClassificationSolutionView()
     52    public DiscriminantFunctionClassificationSolutionThresholdView()
    5253      : base() {
    5354      InitializeComponent();
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/DataAnalysisSolutionView.Designer.cs

    r5809 r5829  
    4444    /// </summary>
    4545    private void InitializeComponent() {
    46       this.dataTabPage = new System.Windows.Forms.TabPage();
    47       this.dataViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    48       this.modelTabPage = new System.Windows.Forms.TabPage();
    49       this.modelViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    50       this.tabControl = new HeuristicLab.MainForm.WindowsForms.DragOverTabControl();
    51       this.dataTabPage.SuspendLayout();
    52       this.modelTabPage.SuspendLayout();
    53       this.tabControl.SuspendLayout();
     46      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
     47      this.splitContainer.Panel1.SuspendLayout();
     48      this.splitContainer.Panel2.SuspendLayout();
     49      this.splitContainer.SuspendLayout();
     50      this.itemsGroupBox.SuspendLayout();
     51      this.detailsGroupBox.SuspendLayout();
    5452      this.SuspendLayout();
    5553      //
    56       // dataTabPage
     54      // splitContainer
    5755      //
    58       this.dataTabPage.Controls.Add(this.dataViewHost);
    59       this.dataTabPage.Location = new System.Drawing.Point(4, 22);
    60       this.dataTabPage.Name = "dataTabPage";
    61       this.dataTabPage.Padding = new System.Windows.Forms.Padding(3);
    62       this.dataTabPage.Size = new System.Drawing.Size(372, 236);
    63       this.dataTabPage.TabIndex = 1;
    64       this.dataTabPage.Text = "Data";
    65       this.dataTabPage.UseVisualStyleBackColor = true;
    6656      //
    67       // dataViewHost
     57      // itemsGroupBox
    6858      //
    69       this.dataViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    70                   | System.Windows.Forms.AnchorStyles.Left)
    71                   | System.Windows.Forms.AnchorStyles.Right)));
    72       this.dataViewHost.Caption = "DataAnalysisSolution Data View";
    73       this.dataViewHost.Content = null;
    74       this.dataViewHost.Enabled = false;
    75       this.dataViewHost.Location = new System.Drawing.Point(6, 6);
    76       this.dataViewHost.Name = "dataViewHost";
    77       this.dataViewHost.ReadOnly = false;
    78       this.dataViewHost.Size = new System.Drawing.Size(360, 224);
    79       this.dataViewHost.TabIndex = 2;
    80       this.dataViewHost.ViewType = null;
     59      this.itemsGroupBox.Text = "Data Analysis Solution";
    8160      //
    82       // modelTabPage
     61      // addButton
    8362      //
    84       this.modelTabPage.Controls.Add(this.modelViewHost);
    85       this.modelTabPage.Location = new System.Drawing.Point(4, 22);
    86       this.modelTabPage.Name = "modelTabPage";
    87       this.modelTabPage.Padding = new System.Windows.Forms.Padding(3);
    88       this.modelTabPage.Size = new System.Drawing.Size(372, 236);
    89       this.modelTabPage.TabIndex = 0;
    90       this.modelTabPage.Text = "Model";
    91       this.modelTabPage.UseVisualStyleBackColor = true;
     63      this.toolTip.SetToolTip(this.addButton, "Add");
    9264      //
    93       // modelViewHost
     65      // removeButton
    9466      //
    95       this.modelViewHost.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.modelViewHost.Caption = "DataAnalysisSolution Model View";
    99       this.modelViewHost.Content = null;
    100       this.modelViewHost.Enabled = false;
    101       this.modelViewHost.Location = new System.Drawing.Point(6, 6);
    102       this.modelViewHost.Name = "modelViewHost";
    103       this.modelViewHost.ReadOnly = false;
    104       this.modelViewHost.Size = new System.Drawing.Size(360, 224);
    105       this.modelViewHost.TabIndex = 1;
    106       this.modelViewHost.ViewType = null;
    107       //
    108       // tabControl
    109       //
    110       this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    111                   | System.Windows.Forms.AnchorStyles.Left)
    112                   | System.Windows.Forms.AnchorStyles.Right)));
    113       this.tabControl.Controls.Add(this.modelTabPage);
    114       this.tabControl.Controls.Add(this.dataTabPage);
    115       this.tabControl.Location = new System.Drawing.Point(3, 3);
    116       this.tabControl.Name = "tabControl";
    117       this.tabControl.SelectedIndex = 0;
    118       this.tabControl.Size = new System.Drawing.Size(380, 262);
    119       this.tabControl.TabIndex = 1;
     67      this.toolTip.SetToolTip(this.removeButton, "Remove");
    12068      //
    12169      // DataAnalysisSolutionView
     
    12371      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    12472      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    125       this.Controls.Add(this.tabControl);
    12673      this.Name = "DataAnalysisSolutionView";
    127       this.Size = new System.Drawing.Size(386, 268);
    128       this.dataTabPage.ResumeLayout(false);
    129       this.modelTabPage.ResumeLayout(false);
    130       this.tabControl.ResumeLayout(false);
     74      this.splitContainer.Panel1.ResumeLayout(false);
     75      this.splitContainer.Panel2.ResumeLayout(false);
     76      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit();
     77      this.splitContainer.ResumeLayout(false);
     78      this.itemsGroupBox.ResumeLayout(false);
     79      this.detailsGroupBox.ResumeLayout(false);
    13180      this.ResumeLayout(false);
    13281
     
    13584    #endregion
    13685
    137     protected HeuristicLab.MainForm.WindowsForms.DragOverTabControl tabControl;
    138     protected System.Windows.Forms.TabPage dataTabPage;
    139     protected System.Windows.Forms.TabPage modelTabPage;
    140     protected HeuristicLab.MainForm.WindowsForms.ViewHost dataViewHost;
    141     protected HeuristicLab.MainForm.WindowsForms.ViewHost modelViewHost;
    14286  }
    14387}
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/DataAnalysisSolutionView.cs

    r5809 r5829  
    1919 */
    2020#endregion
     21
    2122using System;
     23using System.Collections.Generic;
    2224using System.Windows.Forms;
     25using HeuristicLab.Common.Resources;
    2326using HeuristicLab.MainForm;
    24 using HeuristicLab.MainForm.WindowsForms;
     27using HeuristicLab.Optimization.Views;
    2528
    2629namespace HeuristicLab.Problems.DataAnalysis.Views {
    2730  [View("Data analysis solution view")]
    28   [Content(typeof(IDataAnalysisSolution))]
    29   public partial class DataAnalysisSolutionView : AsynchronousContentView {
     31  [Content(typeof(DataAnalysisSolution), true)]
     32  public partial class DataAnalysisSolutionView : ResultCollectionView {
    3033    public DataAnalysisSolutionView() {
    3134      InitializeComponent();
    3235    }
    3336
    34     public new IDataAnalysisSolution Content {
    35       get { return (IDataAnalysisSolution)base.Content; }
     37    public new DataAnalysisSolution Content {
     38      get { return (DataAnalysisSolution)base.Content; }
    3639      set { base.Content = value; }
    3740    }
    3841
    3942    protected override void OnContentChanged() {
     43      string selectedName = null;
     44      if ((itemsListView.SelectedItems.Count == 1) && (itemsListView.SelectedItems[0].Tag != null && itemsListView.SelectedItems[0].Tag is Type))
     45        selectedName = itemsListView.SelectedItems[0].Text;
     46
     47      //cache old viewTypes;
     48      var viewTypes = new List<Type>();
     49      foreach (ListViewItem item in ItemsListView.Items) {
     50        var viewType = item.Tag as Type;
     51        if (viewType != null) viewTypes.Add(viewType);
     52      }
     53
    4054      base.OnContentChanged();
    41       if (Content != null) {
    42         modelViewHost.Content = Content.Model;
    43         dataViewHost.Content = Content.ProblemData;
    44       } else {
    45         modelViewHost.Content = null;
    46         dataViewHost.Content = null;
     55
     56      //readd viewTypes
     57      foreach (Type viewType in viewTypes)
     58        AddViewListViewItem(viewType);
     59
     60      //recover selection
     61      if (selectedName != null) {
     62        foreach (ListViewItem item in itemsListView.Items) {
     63          if (item.Tag != null && item.Tag is Type && item.Text == selectedName)
     64            item.Selected = true;
     65        }
    4766      }
    4867    }
    4968
    50     protected override void RegisterContentEvents() {
    51       base.RegisterContentEvents();
    52       Content.ModelChanged += new EventHandler(Content_ModelChanged);
    53       Content.ProblemDataChanged += new EventHandler(Content_ProblemDataChanged);
     69    protected override void itemsListView_DoubleClick(object sender, EventArgs e) {
     70      if (itemsListView.SelectedItems.Count == 1 && itemsListView.SelectedItems[0].Tag is Type) {
     71        Type viewType = (Type)itemsListView.SelectedItems[0].Tag;
     72        MainFormManager.MainForm.ShowContent(Content, viewType);
     73      } else
     74        base.itemsListView_DoubleClick(sender, e);
    5475    }
    5576
    56     protected override void DeregisterContentEvents() {
    57       base.DeregisterContentEvents();
    58       Content.ModelChanged -= new EventHandler(Content_ModelChanged);
    59       Content.ProblemDataChanged -= new EventHandler(Content_ProblemDataChanged);
     77    protected override void itemsListView_SelectedIndexChanged(object sender, EventArgs e) {
     78      if (itemsListView.SelectedItems.Count == 1 && itemsListView.SelectedItems[0].Tag is Type) {
     79        detailsGroupBox.Enabled = true;
     80        Type viewType = (Type)itemsListView.SelectedItems[0].Tag;
     81        viewHost.ViewType = viewType;
     82        viewHost.Content = Content;
     83      } else
     84        base.itemsListView_SelectedIndexChanged(sender, e);
    6085    }
    6186
    62     private void Content_ModelChanged(object sender, EventArgs e) {
    63       modelViewHost.Content = Content.Model;
     87    protected void AddViewListViewItem(Type viewType) {
     88      if (!typeof(IDataAnalysisSolutionEvaluationView).IsAssignableFrom(viewType))
     89        throw new ArgumentException("Given type " + viewType + " is not a IDataAnalysisSolutionEvaluationView.");
     90
     91      ListViewItem listViewItem = new ListViewItem();
     92      listViewItem.Text = ViewAttribute.GetViewName(viewType);
     93      itemsListView.SmallImageList.Images.Add(VSImageLibrary.Graph);
     94      listViewItem.ImageIndex = itemsListView.SmallImageList.Images.Count - 1;
     95      listViewItem.Tag = viewType;
     96      itemsListView.Items.Add(listViewItem);
     97
     98      AdjustListViewColumnSizes();
    6499    }
    65     private void Content_ProblemDataChanged(object sender, EventArgs e) {
    66       dataViewHost.Content = Content.ProblemData;
     100
     101    protected void RemoveViewListViewItem(Type viewType) {
     102      List<ListViewItem> itemsToRemove = new List<ListViewItem>(); ;
     103      foreach (ListViewItem item in itemsListView.Items)
     104        if (item.Tag as Type == typeof(ClassificationSolutionEstimatedClassValuesView))
     105          itemsToRemove.Add(item);
     106
     107      foreach (ListViewItem item in itemsToRemove)
     108        itemsListView.Items.Remove(item);
    67109    }
    68110  }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj

    r5809 r5829  
    110110  </ItemGroup>
    111111  <ItemGroup>
     112    <Compile Include="ClassificationSolutionView.cs">
     113      <SubType>UserControl</SubType>
     114    </Compile>
     115    <Compile Include="ClassificationSolutionView.Designer.cs">
     116      <DependentUpon>ClassificationSolutionView.cs</DependentUpon>
     117    </Compile>
    112118    <Compile Include="Classification\ClassificationSolutionConfusionMatrixView.cs">
    113119      <SubType>UserControl</SubType>
     
    134140      <DependentUpon>DiscriminantFunctionClassificationRocCurvesView.cs</DependentUpon>
    135141    </Compile>
    136     <Compile Include="Classification\DiscriminantFunctionClassificationSolutionView.cs">
    137       <SubType>UserControl</SubType>
    138     </Compile>
    139     <Compile Include="Classification\DiscriminantFunctionClassificationSolutionView.Designer.cs">
     142    <Compile Include="Classification\DiscriminantFunctionClassificationSolutionThresholdView.cs">
     143      <SubType>UserControl</SubType>
     144    </Compile>
     145    <Compile Include="Classification\DiscriminantFunctionClassificationSolutionThresholdView.Designer.cs">
     146      <DependentUpon>DiscriminantFunctionClassificationSolutionThresholdView.cs</DependentUpon>
     147    </Compile>
     148    <Compile Include="DiscriminantFunctionClassificationSolutionView.cs">
     149      <SubType>UserControl</SubType>
     150    </Compile>
     151    <Compile Include="DiscriminantFunctionClassificationSolutionView.Designer.cs">
    140152      <DependentUpon>DiscriminantFunctionClassificationSolutionView.cs</DependentUpon>
    141153    </Compile>
     154    <Compile Include="Interfaces\IDataAnalysisSolutionEvaluationView.cs" />
     155    <Compile Include="Interfaces\IDiscriminantFunctionClassificationSolutionEvaluationView.cs" />
     156    <Compile Include="Interfaces\IClusteringSolutionEvaluationView.cs" />
     157    <Compile Include="Interfaces\IClassificationSolutionEvaluationView.cs" />
    142158    <Compile Include="DataAnalysisSolutionView.cs">
    143159      <SubType>UserControl</SubType>
     
    151167    <Compile Include="DoubleLimitView.Designer.cs">
    152168      <DependentUpon>DoubleLimitView.cs</DependentUpon>
     169    </Compile>
     170    <Compile Include="Interfaces\IRegressionSolutionEvaluationView.cs" />
     171    <Compile Include="RegressionSolutionView.cs">
     172      <SubType>UserControl</SubType>
     173    </Compile>
     174    <Compile Include="RegressionSolutionView.Designer.cs">
     175      <DependentUpon>RegressionSolutionView.cs</DependentUpon>
    153176    </Compile>
    154177    <Compile Include="Regression\RegressionSolutionEstimatedValuesView.cs">
     
    183206  </ItemGroup>
    184207  <ItemGroup>
     208    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
     209      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
     210      <Name>HeuristicLab.Collections-3.3</Name>
     211    </ProjectReference>
     212    <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
     213      <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
     214      <Name>HeuristicLab.Common.Resources-3.3</Name>
     215    </ProjectReference>
    185216    <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
    186217      <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLabProblemsDataAnalysisViewsPlugin.cs.frame

    r5809 r5829  
    2929  [PluginFile("HeuristicLab.Problems.DataAnalysis.Views-3.4.dll", PluginFileType.Assembly)]
    3030  [PluginDependency("HeuristicLab.ALGLIB","3.1.0.0")]
    31   [PluginDependency("HeuristicLab.Common", "3.3.3.0")]
    32   [PluginDependency("HeuristicLab.Core", "3.3.3.0")]
    33   [PluginDependency("HeuristicLab.Core.Views", "3.3.3.0")]
    34   [PluginDependency("HeuristicLab.Data", "3.3.3.0")]
    35   [PluginDependency("HeuristicLab.Data.Views", "3.3.3.0")]
    36   [PluginDependency("HeuristicLab.MainForm", "3.3.3.0")]
    37   [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3.3.0")]
    38   [PluginDependency("HeuristicLab.Optimization","3.3.3.0")]
    39   [PluginDependency("HeuristicLab.Optimization.Views","3.3.3.0")]
    40   [PluginDependency("HeuristicLab.Problems.DataAnalysis", "3.4.0.0")]
     31  [PluginDependency("HeuristicLab.Collections", "3.3")]
     32  [PluginDependency("HeuristicLab.Common", "3.3")]
     33  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
     34  [PluginDependency("HeuristicLab.Core", "3.3")]
     35  [PluginDependency("HeuristicLab.Core.Views", "3.3")]
     36  [PluginDependency("HeuristicLab.Data", "3.3")]
     37  [PluginDependency("HeuristicLab.Data.Views", "3.3")]
     38  [PluginDependency("HeuristicLab.MainForm", "3.3")]
     39  [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")]
     40  [PluginDependency("HeuristicLab.Optimization","3.3")]
     41  [PluginDependency("HeuristicLab.Optimization.Views","3.3")]
     42  [PluginDependency("HeuristicLab.Problems.DataAnalysis", "3.4")]
    4143  [PluginDependency("HeuristicLab.Visualization.ChartControlsExtensions", "3.3")]
    4244  public class HeuristicLabProblemsDataAnalysisViewsPlugin : PluginBase {
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionEstimatedValuesView.cs

    r5809 r5829  
    2222using System.Linq;
    2323using System.Windows.Forms;
     24using HeuristicLab.Core.Views;
    2425using HeuristicLab.Data;
    2526using HeuristicLab.Data.Views;
     
    3031  [View("Regression solution estimated values view")]
    3132  [Content(typeof(IRegressionSolution))]
    32   public partial class RegressionSolutionEstimatedValuesView : AsynchronousContentView {
     33  public partial class RegressionSolutionEstimatedValuesView : ItemView, IRegressionSolutionEvaluationView {
    3334    private const string TARGETVARIABLE_SERIES_NAME = "TargetVariable";
    3435    private const string ESTIMATEDVALUES_SERIES_NAME = "EstimatedValues";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionLineChartView.cs

    r5809 r5829  
    2424using System.Windows.Forms;
    2525using System.Windows.Forms.DataVisualization.Charting;
     26using HeuristicLab.Core.Views;
    2627using HeuristicLab.MainForm;
    2728using HeuristicLab.MainForm.WindowsForms;
     
    3031  [View("Regression solution line chart")]
    3132  [Content(typeof(IRegressionSolution))]
    32   public partial class RegressionSolutionLineChartView : AsynchronousContentView {
     33  public partial class RegressionSolutionLineChartView : ItemView, IRegressionSolutionEvaluationView {
    3334    private const string TARGETVARIABLE_SERIES_NAME = "TargetVariable";
    3435    private const string ESTIMATEDVALUES_SERIES_NAME = "EstimatedValues";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionScatterPlotView.cs

    r5809 r5829  
    2525using System.Windows.Forms;
    2626using System.Windows.Forms.DataVisualization.Charting;
     27using HeuristicLab.Core.Views;
    2728using HeuristicLab.MainForm;
    2829using HeuristicLab.MainForm.WindowsForms;
     
    3132  [View("Regression solution scatter plot")]
    3233  [Content(typeof(IRegressionSolution))]
    33   public partial class RegressionSolutionScatterPlotView : AsynchronousContentView {
     34  public partial class RegressionSolutionScatterPlotView : ItemView, IRegressionSolutionEvaluationView {
    3435    private const string ALL_SERIES = "All samples";
    3536    private const string TRAINING_SERIES = "Training samples";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisSolution.cs

    r5809 r5829  
    2525
    2626namespace HeuristicLab.Problems.DataAnalysis {
    27   public interface IDataAnalysisSolution : INamedItem {
     27  public interface IDataAnalysisSolution : INamedItem, IKeyedItemCollection<string, IResult> {
    2828    IDataAnalysisModel Model { get; }
    2929    IDataAnalysisProblemData ProblemData { get; }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionSolution.cs

    r5809 r5829  
    3535    double TrainingRSquared { get; }
    3636    double TestRSquared { get; }
     37    double TrainingRelativeError { get; }
     38    double TestRelativeError { get; }
    3739  }
    3840}
Note: See TracChangeset for help on using the changeset viewer.