Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/28/18 17:17:31 (6 years ago)
Author:
pfleck
Message:

#2906

  • Implemented for classification, clustering, etc.
  • Simplified Transformation interfaces (read-only, ...).
  • Started moving transformation logic out of ProblemData.
Location:
branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4
Files:
2 deleted
5 edited
2 moved

Legend:

Unmodified
Added
Removed
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/DataAnalysisTransformationModelView.Designer.cs

    r15869 r15870  
    2121
    2222namespace HeuristicLab.Problems.DataAnalysis.Views {
    23   partial class TransformedRegressionModelView {
     23  partial class DataAnalysisTransformationModelView {
    2424    /// <summary>
    2525    /// Required designer variable.
     
    4545    /// </summary>
    4646    private void InitializeComponent() {
     47      this.originalModelTabPage = new System.Windows.Forms.TabPage();
     48      this.modelViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    4749      this.tabControl = new System.Windows.Forms.TabControl();
    48       this.tabPageModel = new System.Windows.Forms.TabPage();
    49       this.tabPageTransformations = new System.Windows.Forms.TabPage();
    50       this.modelViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    51       this.transformationsViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     50      this.inputTransformationsTabPage = new System.Windows.Forms.TabPage();
     51      this.inputTransformationsViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     52      this.targetTransformationsTabPage = new System.Windows.Forms.TabPage();
     53      this.targetTransformationsViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     54      this.originalModelTabPage.SuspendLayout();
    5255      this.tabControl.SuspendLayout();
    53       this.tabPageModel.SuspendLayout();
    54       this.tabPageTransformations.SuspendLayout();
     56      this.inputTransformationsTabPage.SuspendLayout();
     57      this.targetTransformationsTabPage.SuspendLayout();
    5558      this.SuspendLayout();
     59      //
     60      // originalModelTabPage
     61      //
     62      this.originalModelTabPage.Controls.Add(this.modelViewHost);
     63      this.originalModelTabPage.Location = new System.Drawing.Point(4, 22);
     64      this.originalModelTabPage.Name = "originalModelTabPage";
     65      this.originalModelTabPage.Padding = new System.Windows.Forms.Padding(3);
     66      this.originalModelTabPage.Size = new System.Drawing.Size(486, 392);
     67      this.originalModelTabPage.TabIndex = 0;
     68      this.originalModelTabPage.Text = "Original Model";
     69      this.originalModelTabPage.UseVisualStyleBackColor = true;
     70      //
     71      // modelViewHost
     72      //
     73      this.modelViewHost.Caption = "View";
     74      this.modelViewHost.Content = null;
     75      this.modelViewHost.Dock = System.Windows.Forms.DockStyle.Fill;
     76      this.modelViewHost.Enabled = false;
     77      this.modelViewHost.Location = new System.Drawing.Point(3, 3);
     78      this.modelViewHost.Name = "modelViewHost";
     79      this.modelViewHost.ReadOnly = false;
     80      this.modelViewHost.Size = new System.Drawing.Size(480, 386);
     81      this.modelViewHost.TabIndex = 0;
     82      this.modelViewHost.ViewsLabelVisible = true;
     83      this.modelViewHost.ViewType = null;
    5684      //
    5785      // tabControl
    5886      //
    59       this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    60             | System.Windows.Forms.AnchorStyles.Left)
     87      this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
     88            | System.Windows.Forms.AnchorStyles.Left) 
    6189            | System.Windows.Forms.AnchorStyles.Right)));
    62       this.tabControl.Controls.Add(this.tabPageModel);
    63       this.tabControl.Controls.Add(this.tabPageTransformations);
     90      this.tabControl.Controls.Add(this.originalModelTabPage);
     91      this.tabControl.Controls.Add(this.inputTransformationsTabPage);
     92      this.tabControl.Controls.Add(this.targetTransformationsTabPage);
    6493      this.tabControl.Location = new System.Drawing.Point(3, 3);
    6594      this.tabControl.Name = "tabControl";
     
    6897      this.tabControl.TabIndex = 0;
    6998      //
    70       // tabPageModel
     99      // inputTransformationsTabPage
    71100      //
    72       this.tabPageModel.Controls.Add(this.modelViewHost);
    73       this.tabPageModel.Location = new System.Drawing.Point(4, 22);
    74       this.tabPageModel.Name = "tabPageModel";
    75       this.tabPageModel.Padding = new System.Windows.Forms.Padding(3);
    76       this.tabPageModel.Size = new System.Drawing.Size(486, 392);
    77       this.tabPageModel.TabIndex = 0;
    78       this.tabPageModel.Text = "Original Model";
    79       this.tabPageModel.UseVisualStyleBackColor = true;
     101      this.inputTransformationsTabPage.Controls.Add(this.inputTransformationsViewHost);
     102      this.inputTransformationsTabPage.Location = new System.Drawing.Point(4, 22);
     103      this.inputTransformationsTabPage.Name = "inputTransformationsTabPage";
     104      this.inputTransformationsTabPage.Padding = new System.Windows.Forms.Padding(3);
     105      this.inputTransformationsTabPage.Size = new System.Drawing.Size(486, 392);
     106      this.inputTransformationsTabPage.TabIndex = 1;
     107      this.inputTransformationsTabPage.Text = "Input Transformations";
     108      this.inputTransformationsTabPage.UseVisualStyleBackColor = true;
    80109      //
    81       // tabPageTransformations
     110      // inputTransformationsViewHost
    82111      //
    83       this.tabPageTransformations.Controls.Add(this.transformationsViewHost);
    84       this.tabPageTransformations.Location = new System.Drawing.Point(4, 22);
    85       this.tabPageTransformations.Name = "tabPageTransformations";
    86       this.tabPageTransformations.Padding = new System.Windows.Forms.Padding(3);
    87       this.tabPageTransformations.Size = new System.Drawing.Size(486, 392);
    88       this.tabPageTransformations.TabIndex = 1;
    89       this.tabPageTransformations.Text = "Transformations";
    90       this.tabPageTransformations.UseVisualStyleBackColor = true;
     112      this.inputTransformationsViewHost.Caption = "View";
     113      this.inputTransformationsViewHost.Content = null;
     114      this.inputTransformationsViewHost.Dock = System.Windows.Forms.DockStyle.Fill;
     115      this.inputTransformationsViewHost.Enabled = false;
     116      this.inputTransformationsViewHost.Location = new System.Drawing.Point(3, 3);
     117      this.inputTransformationsViewHost.Name = "inputTransformationsViewHost";
     118      this.inputTransformationsViewHost.ReadOnly = false;
     119      this.inputTransformationsViewHost.Size = new System.Drawing.Size(480, 386);
     120      this.inputTransformationsViewHost.TabIndex = 1;
     121      this.inputTransformationsViewHost.ViewsLabelVisible = false;
     122      this.inputTransformationsViewHost.ViewType = null;
    91123      //
    92       // modelViewHost
     124      // targetTransformationsTabPage
    93125      //
    94       this.modelViewHost.Dock = System.Windows.Forms.DockStyle.Fill;
    95       this.modelViewHost.Location = new System.Drawing.Point(3, 3);
    96       this.modelViewHost.Name = "modelViewHost";
    97       this.modelViewHost.Size = new System.Drawing.Size(480, 386);
    98       this.modelViewHost.TabIndex = 0;
     126      this.targetTransformationsTabPage.Controls.Add(this.targetTransformationsViewHost);
     127      this.targetTransformationsTabPage.Location = new System.Drawing.Point(4, 22);
     128      this.targetTransformationsTabPage.Name = "targetTransformationsTabPage";
     129      this.targetTransformationsTabPage.Padding = new System.Windows.Forms.Padding(3);
     130      this.targetTransformationsTabPage.Size = new System.Drawing.Size(486, 392);
     131      this.targetTransformationsTabPage.TabIndex = 2;
     132      this.targetTransformationsTabPage.Text = "Target Transformations";
     133      this.targetTransformationsTabPage.UseVisualStyleBackColor = true;
    99134      //
    100       // transformationsViewHost
     135      // targetTransformationsViewHost
    101136      //
    102       this.transformationsViewHost.Dock = System.Windows.Forms.DockStyle.Fill;
    103       this.transformationsViewHost.Location = new System.Drawing.Point(3, 3);
    104       this.transformationsViewHost.Name = "transformationsViewHost";
    105       this.transformationsViewHost.Size = new System.Drawing.Size(480, 386);
    106       this.transformationsViewHost.TabIndex = 0;
     137      this.targetTransformationsViewHost.Caption = "View";
     138      this.targetTransformationsViewHost.Content = null;
     139      this.targetTransformationsViewHost.Dock = System.Windows.Forms.DockStyle.Fill;
     140      this.targetTransformationsViewHost.Enabled = false;
     141      this.targetTransformationsViewHost.Location = new System.Drawing.Point(3, 3);
     142      this.targetTransformationsViewHost.Name = "targetTransformationsViewHost";
     143      this.targetTransformationsViewHost.ReadOnly = false;
     144      this.targetTransformationsViewHost.Size = new System.Drawing.Size(480, 386);
     145      this.targetTransformationsViewHost.TabIndex = 1;
     146      this.targetTransformationsViewHost.ViewsLabelVisible = false;
     147      this.targetTransformationsViewHost.ViewType = null;
    107148      //
    108       // TransformedRegressionModelView
     149      // DataAnalysisTransformationModelView
    109150      //
    110151      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    111152      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    112153      this.Controls.Add(this.tabControl);
    113       this.Name = "TransformedRegressionModelView";
     154      this.Name = "DataAnalysisTransformationModelView";
    114155      this.Size = new System.Drawing.Size(500, 424);
     156      this.originalModelTabPage.ResumeLayout(false);
    115157      this.tabControl.ResumeLayout(false);
    116       this.tabPageModel.ResumeLayout(false);
    117       this.tabPageTransformations.ResumeLayout(false);
     158      this.inputTransformationsTabPage.ResumeLayout(false);
     159      this.targetTransformationsTabPage.ResumeLayout(false);
    118160      this.ResumeLayout(false);
    119161
     
    122164    #endregion
    123165
     166    private System.Windows.Forms.TabPage originalModelTabPage;
     167    private MainForm.WindowsForms.ViewHost modelViewHost;
    124168    private System.Windows.Forms.TabControl tabControl;
    125     private System.Windows.Forms.TabPage tabPageModel;
    126     private System.Windows.Forms.TabPage tabPageTransformations;
    127     private HeuristicLab.MainForm.WindowsForms.ViewHost modelViewHost;
    128     private HeuristicLab.MainForm.WindowsForms.ViewHost transformationsViewHost;
     169    private System.Windows.Forms.TabPage inputTransformationsTabPage;
     170    private System.Windows.Forms.TabPage targetTransformationsTabPage;
     171    private MainForm.WindowsForms.ViewHost inputTransformationsViewHost;
     172    private MainForm.WindowsForms.ViewHost targetTransformationsViewHost;
    129173  }
    130174}
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/DataAnalysisTransformationModelView.cs

    r15869 r15870  
    2424
    2525namespace HeuristicLab.Problems.DataAnalysis.Views {
    26   [View("Transformed regression model")]
    27   [Content(typeof(ITransformedRegressionModel), true)]
    28   public partial class TransformedRegressionModelView : ItemView {
     26  [View("Transformation Model View")]
     27  [Content(typeof(IDataAnalysisTransformationModel), true)]
     28  public partial class DataAnalysisTransformationModelView : ItemView {
    2929
    30     public new ITransformedRegressionModel Content {
    31       get { return (ITransformedRegressionModel)base.Content; }
     30    public new IDataAnalysisTransformationModel Content {
     31      get { return (IDataAnalysisTransformationModel)base.Content; }
    3232      set { base.Content = value; }
    3333    }
    3434
    35     public TransformedRegressionModelView() {
     35    public DataAnalysisTransformationModelView() {
    3636      InitializeComponent();
    3737    }
     
    4040      base.OnContentChanged();
    4141      modelViewHost.Content = Content?.OriginalModel;
    42       transformationsViewHost.Content = Content?.Transformations;
     42      inputTransformationsViewHost.Content = Content?.InputTransformations;
     43      targetTransformationsTabPage.Visible = Content is IRegressionTransformationModel;
     44      targetTransformationsViewHost.Content = Content?.TargetTransformations;
    4345    }
    4446
    4547    protected override void SetEnabledStateOfControls() {
    4648      base.SetEnabledStateOfControls();
    47       tabControl.Enabled = Content != null;
     49      tabControl.Enabled = Content != null && !Locked;
    4850    }
    4951  }
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj

    r15856 r15870  
    432432      <DependentUpon>RegressionSolutionScatterPlotView.cs</DependentUpon>
    433433    </Compile>
    434     <Compile Include="Regression\TransformedRegressionModelView.cs">
    435       <SubType>UserControl</SubType>
    436     </Compile>
    437     <Compile Include="Regression\TransformedRegressionModelView.Designer.cs">
    438       <DependentUpon>TransformedRegressionModelView.cs</DependentUpon>
    439     </Compile>
    440     <Compile Include="Solution Views\TransformedRegressionSolutionView.cs">
    441       <SubType>UserControl</SubType>
    442     </Compile>
    443     <Compile Include="Solution Views\TransformedRegressionSolutionView.Designer.cs">
    444       <DependentUpon>TransformedRegressionSolutionView.cs</DependentUpon>
     434    <Compile Include="DataAnalysisTransformationModelView.cs">
     435      <SubType>UserControl</SubType>
     436    </Compile>
     437    <Compile Include="DataAnalysisTransformationModelView.Designer.cs">
     438      <DependentUpon>DataAnalysisTransformationModelView.cs</DependentUpon>
    445439    </Compile>
    446440    <Compile Include="Solution Views\ClassificationSolutionView.cs">
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.Designer.cs

    r15583 r15870  
    4747      this.flowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();
    4848      this.loadProblemDataButton = new System.Windows.Forms.Button();
     49      this.transformButton = new System.Windows.Forms.Button();
    4950      this.loadProblemDataFileDialog = new System.Windows.Forms.OpenFileDialog();
    5051      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
     
    5455      this.itemsGroupBox.SuspendLayout();
    5556      this.detailsGroupBox.SuspendLayout();
     57      this.flowLayoutPanel.SuspendLayout();
    5658      this.SuspendLayout();
    5759      //
     
    7779      //
    7880      // flowLayoutPanel
    79       //
    80       this.flowLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
    81       this.flowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.LeftToRight;
     81      //
     82      this.flowLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     83            | System.Windows.Forms.AnchorStyles.Right)));
     84      this.flowLayoutPanel.Controls.Add(this.loadProblemDataButton);
     85      this.flowLayoutPanel.Controls.Add(this.transformButton);
    8286      this.flowLayoutPanel.Location = new System.Drawing.Point(0, 0);
     87      this.flowLayoutPanel.Name = "flowLayoutPanel";
    8388      this.flowLayoutPanel.Padding = new System.Windows.Forms.Padding(3, 0, 3, 0);
    8489      this.flowLayoutPanel.Size = new System.Drawing.Size(266, 30);
    85       this.flowLayoutPanel.Controls.Add(this.loadProblemDataButton);
    86       //
     90      this.flowLayoutPanel.TabIndex = 1;
     91      // 
    8792      // loadProblemDataButton
    88       //
     93      // 
    8994      this.loadProblemDataButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)));
    9095      this.loadProblemDataButton.AutoSize = true;
     
    98103      this.loadProblemDataButton.UseVisualStyleBackColor = true;
    99104      this.loadProblemDataButton.Click += new System.EventHandler(this.loadProblemDataButton_Click);
    100       this.toolTip.SetToolTip(this.loadProblemDataButton, "Creates a new data analysis solution with the same model and the loaded problem data.");
    101105      //
    102       // openFileDialog
     106      // transformButton
     107      //
     108      this.transformButton.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
     109      this.transformButton.Location = new System.Drawing.Point(6, 33);
     110      this.transformButton.Name = "transformButton";
     111      this.transformButton.Size = new System.Drawing.Size(152, 23);
     112      this.transformButton.TabIndex = 7;
     113      this.transformButton.Text = "Integrate Transformations";
     114      this.transformButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
     115      this.transformButton.UseVisualStyleBackColor = true;
     116      this.transformButton.Click += new System.EventHandler(this.transformButton_Click);
     117      //
     118      // loadProblemDataFileDialog
    103119      //
    104120      this.loadProblemDataFileDialog.Filter = "HL files|*.hl";
     
    115131      this.itemsGroupBox.ResumeLayout(false);
    116132      this.detailsGroupBox.ResumeLayout(false);
     133      this.flowLayoutPanel.ResumeLayout(false);
     134      this.flowLayoutPanel.PerformLayout();
    117135      this.ResumeLayout(false);
    118136
     
    124142    protected System.Windows.Forms.OpenFileDialog loadProblemDataFileDialog;
    125143    protected System.Windows.Forms.FlowLayoutPanel flowLayoutPanel;
    126 
     144    protected System.Windows.Forms.Button transformButton;
    127145  }
    128146}
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs

    r15583 r15870  
    2525using System.Linq;
    2626using System.Windows.Forms;
     27using HeuristicLab.Common.Resources;
    2728using HeuristicLab.Core;
    2829using HeuristicLab.Core.Views;
     
    3738  [Content(typeof(DataAnalysisSolution), false)]
    3839  public partial class DataAnalysisSolutionView : NamedItemCollectionView<IResult> {
     40
     41    private const string BacktransformButtonText = "Integrate Transformations";
     42    private const string ReapplyTransformationsButtonText = "Restore Original Model";
     43
    3944    public DataAnalysisSolutionView() {
    4045      InitializeComponent();
    4146      viewHost.ViewsLabelVisible = false;
     47      transformButton.Image = VSImageLibrary.Event;
    4248    }
    4349
     
    5258      removeButton.Enabled = false;
    5359      loadProblemDataButton.Enabled = Content != null && !Locked;
     60      transformButton.Enabled = Content != null && !Locked;
     61      transformButton.Visible = Content != null && Content.ProblemData.Transformations.Any();
    5462    }
    5563
     
    8189        }
    8290      }
     91
     92      if (Content == null) return;
     93
     94      transformButton.Text = Content.Model is IDataAnalysisTransformationModel
     95        ? ReapplyTransformationsButtonText : BacktransformButtonText;
    8396    }
    8497
     
    147160          solution.Name += " with loaded problemData";
    148161        MainFormManager.MainForm.ShowContent(solution);
    149       }
    150       catch (InvalidOperationException invalidOperationException) {
     162      } catch (InvalidOperationException invalidOperationException) {
    151163        ErrorHandling.ShowErrorDialog(this, invalidOperationException);
    152       }
    153       catch (ArgumentException argumentException) {
     164      } catch (ArgumentException argumentException) {
    154165        ErrorHandling.ShowErrorDialog(this, argumentException);
    155166      }
     
    238249        Content.Filename = string.Empty;
    239250        MainFormManager.GetMainForm<HeuristicLab.MainForm.WindowsForms.MainForm>().UpdateTitle();
    240       }
    241       catch (InvalidOperationException invalidOperationException) {
     251      } catch (InvalidOperationException invalidOperationException) {
    242252        ErrorHandling.ShowErrorDialog(this, invalidOperationException);
    243       }
    244       catch (ArgumentException argumentException) {
     253      } catch (ArgumentException argumentException) {
    245254        ErrorHandling.ShowErrorDialog(this, argumentException);
    246255      }
     
    248257    #endregion
    249258
     259    private void transformButton_Click(object sender, EventArgs e) {
     260      var transformedSolution = CreateTransformedSolution(Content);
     261      MainFormManager.MainForm.ShowContent(transformedSolution);
     262    }
     263
     264    private static IDataAnalysisSolution CreateTransformedSolution(IDataAnalysisSolution solution) {
     265      if (solution.Model is IRegressionTransformationModel regressionTransformationModel && !(solution.Model is ITimeSeriesPrognosisTransformationModel)) {
     266        var originalData = (IRegressionProblemData)((IRegressionSolution)solution).ProblemData.Transform();
     267        return regressionTransformationModel.OriginalModel.CreateRegressionSolution(originalData);
     268      } else if (solution.Model is IClassificationTransformationModel classificationTransformationModel) {
     269        var originalData = (IClassificationProblemData)((IClassificationSolution)solution).ProblemData.Transform();
     270        return classificationTransformationModel.OriginalModel.CreateClassificationSolution(originalData);
     271      } else if (solution.Model is IRegressionModel regressionModel && !(solution.Model is ITimeSeriesPrognosisModel)) {
     272        var transformationModel = new RegressionTransformationModel(regressionModel, solution.ProblemData.Transformations);
     273        var transformedData = (IRegressionProblemData)((IRegressionSolution)solution).ProblemData.InverseTransform();
     274        return transformationModel.CreateRegressionSolution(transformedData);
     275      } else if (solution.Model is IClassificationModel classificationModel) {
     276        var transformationModel = new ClassificationTransformationModel(classificationModel, solution.ProblemData.Transformations);
     277        var transformedData = (IClassificationProblemData)((IClassificationSolution)solution).ProblemData.InverseTransform();
     278        return transformationModel.CreateClassificationSolution(transformedData);
     279      } else throw new NotSupportedException();
     280    }
     281
     282    /*if (Content.Model is IDataAnalysisTransformationModel transformationModel) {
     283      var originalModel = transformationModel.InverseTransform();
     284      originalModel.CreateSolution();
     285    } else {
     286      var originalModel = Content.Model;
     287      var transformationModel = originalModel.Transform();
     288      transformationModel.CreateSolution();
     289    }*/
     290
     291    ////Content.Model.Transform()
     292
     293    //var transformedModel = new DataAnalysisTransformationModel(Content.Model, Content.ProblemData.Transformations);
     294    //var originalProblemData = (IRegressionProblemData)Content.ProblemData.InverseTransform();
     295    //var transformedSolution = new TransformedRegressionSolution(transformedModel, originalProblemData);
     296    //MainFormManager.MainForm.ShowContent(transformedSolution);
    250297  }
    251298}
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.Designer.cs

    r15864 r15870  
    4848    private void InitializeComponent() {
    4949      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(RegressionSolutionView));
    50       this.TransformButton = new System.Windows.Forms.Button();
    5150      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
    5251      this.splitContainer.Panel1.SuspendLayout();
     
    7271      this.toolTip.SetToolTip(this.removeButton, "Remove");
    7372      //
    74       // TransformButton
    75       //
    76       this.TransformButton.AutoSize = true;
    77       this.TransformButton.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
    78       this.TransformButton.Location = new System.Drawing.Point(117, 3);
    79       this.TransformButton.Name = "TransformButton";
    80       this.TransformButton.Size = new System.Drawing.Size(108, 23);
    81       this.TransformButton.TabIndex = 1;
    82       this.TransformButton.Text = "Transform Back";
    83       this.TransformButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
    84       this.toolTip.SetToolTip(this.TransformButton, "TODO: Backtransform model based on the stored transformations.");
    85       this.TransformButton.UseVisualStyleBackColor = true;
    86       this.TransformButton.Click += new System.EventHandler(this.transformButton_Click);
    87       //
    8873      // RegressionSolutionView
    8974      //
     
    10186
    10287    #endregion
    103 
    104     protected System.Windows.Forms.Button TransformButton;
    10588  }
    10689}
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs

    r15864 r15870  
    2020#endregion
    2121
    22 using System.Linq;
    2322using System.Windows.Forms;
    24 using HeuristicLab.Common.Resources;
    2523using HeuristicLab.Core;
    2624using HeuristicLab.MainForm;
     
    3230    public RegressionSolutionView() {
    3331      InitializeComponent();
    34       TransformButton.Image = VSImageLibrary.Event;
    35       flowLayoutPanel.Controls.Add(TransformButton);
    3632    }
    3733
     
    4339    protected override void SetEnabledStateOfControls() {
    4440      base.SetEnabledStateOfControls();
    45       TransformButton.Enabled = Content != null;
    46       TransformButton.Visible = Content != null && Content.ProblemData.Transformations.Any();
    4741    }
    4842
     
    6155    }
    6256    #endregion
    63 
    64     protected virtual void transformButton_Click(object sender, System.EventArgs e) {
    65       var transformedModel = new TransformedRegressionModel(Content.Model, Content.ProblemData.Transformations);
    66       var originalProblemData = (IRegressionProblemData)Content.ProblemData.InverseTransform();
    67       var transformedSolution = new TransformedRegressionSolution(transformedModel, originalProblemData);
    68       MainFormManager.MainForm.ShowContent(transformedSolution);
    69     }
    7057  }
    7158}
Note: See TracChangeset for help on using the changeset viewer.