Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/02/13 17:18:26 (10 years ago)
Author:
mkommend
Message:

#1758: Added button to load new data into data analysis solutions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs

    r10174 r10175  
    3232using HeuristicLab.Optimization;
    3333using HeuristicLab.Optimization.Views;
     34using HeuristicLab.Persistence.Default.Xml;
    3435using HeuristicLab.PluginInfrastructure;
    3536
     
    5556      if (Content == null) {
    5657        exportButton.Enabled = false;
     58        loadProblemDataButton.Enabled = false;
    5759      } else {
    5860        exportButton.Enabled = !Locked;
     61        loadProblemDataButton.Enabled = !Locked;
    5962      }
    6063    }
     
    128131    }
    129132
     133    protected virtual void loadProblemDataButton_Click(object sender, EventArgs e) {
     134      if (loadProblemDataFileDialog.ShowDialog(this) != DialogResult.OK) return;
     135      object hlFile = XmlParser.Deserialize(loadProblemDataFileDialog.FileName);
     136
     137      IDataAnalysisProblemData problemData = null;
     138      if (hlFile is IDataAnalysisProblemData) {
     139        problemData = (IDataAnalysisProblemData)hlFile;
     140      } else if (hlFile is IDataAnalysisProblem) {
     141        problemData = ((IDataAnalysisProblem)hlFile).ProblemData;
     142      } else if (hlFile is IDataAnalysisSolution) {
     143        problemData = ((IDataAnalysisSolution)hlFile).ProblemData;
     144      }
     145
     146      if (problemData == null) {
     147        ErrorHandling.ShowErrorDialog(this, new NullReferenceException("The problem data is null." + Environment.NewLine
     148                                      + "The .hl-file contains no DataAnalysisProblemData or DataAnylsisProblem."));
     149        return;
     150      }
     151
     152      if (CheckCompatibilityOfProblemData(problemData)) {
     153        var solution = (IDataAnalysisSolution)Content.Clone();
     154        solution.ProblemData = problemData;
     155        solution.Name += " with loaded problem data (" + loadProblemDataFileDialog + ")";
     156        MainFormManager.MainForm.ShowContent(solution);
     157      }
     158    }
    130159
    131160    private void exportButton_Click(object sender, EventArgs e) {
Note: See TracChangeset for help on using the changeset viewer.