Пример #1
0
        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;
            }
        }
Пример #2
0
        /// <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;
        }