+void \r
+PlotFileView::OnScaleAuto (wxCommandEvent& event)\r
+{\r
+ const PlotFile& rPlotFile = GetDocument()->getPlotFile();\r
+ double min, max, mean, mode, median, stddev;\r
+ rPlotFile.statistics (1, min, max, mean, mode, median, stddev);\r
+ DialogAutoScaleParameters dialogAutoScale (m_frame, mean, mode, median, stddev, m_dAutoScaleFactor);\r
+ int iRetVal = dialogAutoScale.ShowModal();\r
+ if (iRetVal == wxID_OK) {\r
+ m_bMinSpecified = true;\r
+ m_bMaxSpecified = true;\r
+ double dMin, dMax;\r
+ if (dialogAutoScale.getMinMax (&dMin, &dMax)) {\r
+ m_dMinPixel = dMin;\r
+ m_dMaxPixel = dMax;\r
+ m_dAutoScaleFactor = dialogAutoScale.getAutoScaleFactor();\r
+ OnUpdate (this, NULL);\r
+ }\r
+ }\r
+}\r
+\r
+void \r
+PlotFileView::OnScaleMinMax (wxCommandEvent& event)\r
+{\r
+ const PlotFile& rPlotFile = GetDocument()->getPlotFile();\r
+ double min, max;\r
+\r
+ if (! m_bMinSpecified && ! m_bMaxSpecified) {\r
+ if (! rPlotFile.getMinMax (1, min, max)) {\r
+ *theApp->getLog() << "Error: unable to find Min/Max\n";\r
+ return;\r
+ }\r
+ }\r
+ \r
+ if (m_bMinSpecified)\r
+ min = m_dMinPixel;\r
+ if (m_bMaxSpecified)\r
+ max = m_dMaxPixel;\r
+ \r
+ DialogGetMinMax dialogMinMax (m_frame, "Set Y-axis Minimum & Maximum", min, max);\r
+ int retVal = dialogMinMax.ShowModal();\r
+ if (retVal == wxID_OK) {\r
+ m_bMinSpecified = true;\r
+ m_bMaxSpecified = true;\r
+ m_dMinPixel = dialogMinMax.getMinimum();\r
+ m_dMaxPixel = dialogMinMax.getMaximum();\r
+ OnUpdate (this, NULL);\r
+ }\r
+}\r
+\r
+\r