using System; using System.ComponentModel; using System.Windows.Forms; using HeuristicLab.Problems.DataAnalysis; using HeuristicLab.Problems.Instances.DataAnalysis; namespace HeuristicLab.ExperimentGeneration.DataAnalysis.ExperimentWizard { public partial class ProblemDataPage : HeuristicLab.ExperimentGeneration.DataAnalysis.Wizard.WizardPage { private RegressionProblem problem; private RegressionCSVInstanceProvider instanceProvider; private DataAnalysisWizardContext context; public DataAnalysisWizardContext Context { get { return context; } } public ProblemDataPage(DataAnalysisWizardContext context) { InitializeComponent(); this.context = context; stringConvertibleMatrixView.ReadOnly = true; problem = new RegressionProblem(); instanceProvider = new RegressionCSVInstanceProvider(); } private void ProblemDataPage_SetActive(object sender, CancelEventArgs e) { SetWizardButton(Wizard.WizardButtons.Next); } private void ProblemDataPage_WizardNext(object sender, Wizard.WizardPageEventArgs e) { context.Problem = problem; } private void btnChooseFile_Click(object sender, System.EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Filter = "csv files (*.csv)|*.csv|All files (*.*)|*.*"; if (fileDialog.ShowDialog() == DialogResult.OK) { try { txtFilePath.Text = fileDialog.FileName; IRegressionProblemData problemData = instanceProvider.LoadData(fileDialog.FileName); problem.Load(problemData); stringConvertibleMatrixView.Content = problem.ProblemData.Dataset; } catch (Exception ex) { MessageBox.Show(String.Format("There was an error parsing the file: {0}", Environment.NewLine + ex.Message), "Error while parsing", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }