public static Signal loadSignal() { //file dialog Microsoft.Win32.OpenFileDialog dialog = new Microsoft.Win32.OpenFileDialog(); dialog.Filter = dialog.Filter = "csv file (.csv)|*.csv"; //if file was readed if (dialog.ShowDialog() == true) { Signal resultSignal = new Signal(); //read all text string signalString = File.ReadAllText(dialog.FileName); //split csv string[] signalArray = signalString.Split(','); /*content = titleName + "," + chartAreaName + "," + seriesName + "," + title + "," + xTitle + "," + yTitle + "," + regExpMatchString + "," + regExpParseString;*/ //title resultSignal.title.Text = DecodeFrom64(signalArray[3]); resultSignal.title.Name = DecodeFrom64(signalArray[0]); //chartArea resultSignal.chartArea.Name = DecodeFrom64(signalArray[1]); resultSignal.chartArea.AxisX.Title = DecodeFrom64(signalArray[4]); resultSignal.chartArea.AxisY.Title = DecodeFrom64(signalArray[5]); //regExp resultSignal.updateRegExpParse(DecodeFrom64(signalArray[7])); resultSignal.updateRegExpMatch(DecodeFrom64(signalArray[6])); //series resultSignal.series.Name = DecodeFrom64(signalArray[2]); //color resultSignal.lineColor = DecodeFrom64(signalArray[8]); //read values for (int i = 9; i < signalArray.Length; i++) { double valueDouble = double.Parse(signalArray[i], CultureInfo.InvariantCulture); resultSignal.series.Points.AddY(valueDouble); } //return signal return resultSignal; } else { return null; } }
/// <summary> Edit signal button /// </summary> private Signal editSignal(Signal sig) { //start dialog signalWindow signalDialog = new signalWindow(sig); signalDialog.ShowDialog(); if (signalDialog.resultSignal != null) //something was changed { //copy titles from "created" signal sig.title.Text = signalDialog.resultSignal.title.Text; sig.chartArea.AxisX.Title = signalDialog.resultSignal.chartArea.AxisX.Title; sig.chartArea.AxisY.Title = signalDialog.resultSignal.chartArea.AxisY.Title; //series sig.lineColor = signalDialog.resultSignal.lineColor; //update regexps should be ok because they are checked while creating new signal sig.updateRegExpMatch(signalDialog.resultSignal.regExpMatchString); sig.updateRegExpParse(signalDialog.resultSignal.regExpParseString); } return sig; }