예제 #1
0
        public void RefreshPage()
        {
            if (Activities == null)
            {
                // Nothing to do.  Exit.
                return;
            }

            // Update display
            bnrReport.Text = MeanMax.Resources.Strings.Label_MeanMax + ": " + Common.GetText(GlobalSettings.Instance.ReportChart);

            // Track list: One track per selected line.
            Dictionary <CriticalLineDefinition, INumericTimeDataSeries> trackList = new Dictionary <CriticalLineDefinition, INumericTimeDataSeries>();
            List <Color> colors = Utilities.Rainbow(GlobalSettings.Instance.SelectedCriticalLines.Count, 255);

            progressLine = 0;

            foreach (CriticalLineDefinition line in GlobalSettings.Instance.CriticalPowerLines)
            {
                if (line.Selected)
                {
                    // Assign rainbowed line color
                    line.LineColor = colors[progressLine++];

                    // Get critical track described by this line from all Activities
                    INumericTimeDataSeries criticalTrack = MeanMaxCache.GetCriticalTrack(Activities,
                                                                                         GlobalSettings.Instance.ReportChart,
                                                                                         line.Seconds);
                    // Add track to list
                    trackList.Add(line, criticalTrack);
                }
            }

            // Display tracks on graph
            updateZedGraph(trackList, zedChart, GlobalSettings.Instance.ReportChart);

            ZoomChartButton_Click(null, null);
        }
예제 #2
0
        private void ExportButton_Click(object sender, EventArgs e)
        {
            // Nothing to export if activity is empty
            if (Activities == null)
            {
                return;
            }

            // Open File Save dialog to create new CSV Document
            SaveFileDialog saveFile = new SaveFileDialog();

            saveFile.FileName        = MeanMaxReport.Instance.Title + ".csv";
            saveFile.Filter          = "All Files (*.*)|*.*|Comma Separated Values (*.csv)|*.csv";
            saveFile.FilterIndex     = 2;
            saveFile.DefaultExt      = "csv";
            saveFile.OverwritePrompt = true;

            string comma = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator;

            // Cancel if user doesn't select a file
            if (saveFile.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            Dictionary <INumericTimeDataSeries, string> lines = new Dictionary <INumericTimeDataSeries, string>();

            foreach (CriticalLineDefinition line in GlobalSettings.Instance.CriticalPowerLines)
            {
                if (line.Selected)
                {
                    lines.Add(MeanMaxCache.GetCriticalTrack(Activities, GlobalSettings.Instance.ReportChart, line.Seconds), line.Name);
                }
            }

            Utilities.ExportTrack(lines, saveFile.FileName);
        }