private void OnLimitLineBuildFromSignal_Click(object sender, EventArgs e) { try { bool bMin = sender.ToString().Contains("M&in"); PointPairList listCurrentPointList = null; int nSelectionCounter = SelectSinglePointPairList(ref listCurrentPointList); if (nSelectionCounter == 0) { MessageBox.Show("Condition not met: One active display curve on screen (Avg, Max, Min or Realtime)", "Limit Lines"); return; } else if (nSelectionCounter > 1) { MessageBox.Show("Condition not met: One active display curve on screen ONLY (Avg, Max, Min or Realtime)", "Limit Lines"); return; } using (CreateLimitLine objDialog = new CreateLimitLine()) { if (objDialog.ShowDialog(this) == DialogResult.OK) { double dIncrementAmplitudeDB = Convert.ToDouble(objDialog.m_edOffsetDB.Text); if (bMin) m_LimitLineMin = new LimitLine(listCurrentPointList); else m_LimitLineMax = new LimitLine(listCurrentPointList); //add requested offset to each point - NOTE: This is not the RFE measurement offset so the //function SetNewOffset is not appropriate here! for (int nInd = 0; nInd < listCurrentPointList.Count; nInd++) { if (bMin) m_LimitLineMin[nInd].Y -= dIncrementAmplitudeDB; else m_LimitLineMax[nInd].Y += dIncrementAmplitudeDB; } if (bMin) m_LimitLineMin.AmplitudeUnits = GetCurrentAmplitudeEnum(); else m_LimitLineMax.AmplitudeUnits = GetCurrentAmplitudeEnum(); DisplaySpectrumAnalyzerData(); } } } catch (Exception obEx) { MessageBox.Show(obEx.Message); } }
private void InitializeSpectrumAnalyzerGraph() { #if CALLSTACK Console.WriteLine("CALLSTACK:InitializeSpectrumAnalyzerGraph"); #endif m_tabSpectrumAnalyzer.Controls.Add(m_GraphSpectrumAnalyzer); m_GraphSpectrumAnalyzer.EditButtons = System.Windows.Forms.MouseButtons.Left; m_GraphSpectrumAnalyzer.IsAntiAlias = true; m_GraphSpectrumAnalyzer.IsEnableSelection = true; m_GraphSpectrumAnalyzer.Location = new System.Drawing.Point(8, 257); m_GraphSpectrumAnalyzer.Name = "zedSpectrumAnalyzer"; m_GraphSpectrumAnalyzer.PanModifierKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.None))); m_GraphSpectrumAnalyzer.ScrollGrace = 0D; m_GraphSpectrumAnalyzer.ScrollMaxX = 0D; m_GraphSpectrumAnalyzer.ScrollMaxY = 0D; m_GraphSpectrumAnalyzer.ScrollMaxY2 = 0D; m_GraphSpectrumAnalyzer.ScrollMinX = 0D; m_GraphSpectrumAnalyzer.ScrollMinY = 0D; m_GraphSpectrumAnalyzer.ScrollMinY2 = 0D; m_GraphSpectrumAnalyzer.Size = new System.Drawing.Size(123, 54); m_GraphSpectrumAnalyzer.TabIndex = 49; m_GraphSpectrumAnalyzer.TabStop = false; m_GraphSpectrumAnalyzer.UseExtendedPrintDialog = true; m_GraphSpectrumAnalyzer.Visible = false; m_GraphSpectrumAnalyzer.ContextMenuBuilder += new ZedGraph.ZedGraphControl.ContextMenuBuilderEventHandler(this.objGraph_ContextMenuBuilder); m_GraphSpectrumAnalyzer.ZoomEvent += new ZedGraph.ZedGraphControl.ZoomEventHandler(this.zedSpectrumAnalyzer_ZoomEvent); // Get a reference to the GraphPane instance in the ZedGraphControl GraphPane myPane = m_GraphSpectrumAnalyzer.GraphPane; m_PointList_Realtime = new PointPairList(); m_PointList_Max = new PointPairList(); m_PointList_MaxHold = new PointPairList(); m_PointList_Min = new PointPairList(); m_PointList_Avg = new PointPairList(); m_LimitLineMax = new LimitLine(); m_LimitLineMin = new LimitLine(); m_LimitLineOverload = new LimitLine(); m_GraphLimitLineMax = m_GraphSpectrumAnalyzer.GraphPane.AddCurve("Limit Max", m_LimitLineMax, Color.Magenta, SymbolType.Circle); m_GraphLimitLineMax.Line.Width = 1; m_GraphLimitLineMin = m_GraphSpectrumAnalyzer.GraphPane.AddCurve("Limit Min", m_LimitLineMin, Color.DarkMagenta, SymbolType.Circle); m_GraphLimitLineMin.Line.Width = 1; m_GraphLimitLineOverload = m_GraphSpectrumAnalyzer.GraphPane.AddCurve("Overload", m_LimitLineOverload, Color.DarkRed, SymbolType.None); m_GraphLimitLineOverload.Line.Style=DashStyle.DashDot; m_GraphLimitLineOverload.Line.Width = 1; m_MaxBar = m_GraphSpectrumAnalyzer.GraphPane.AddHiLowBar("Max", m_PointList_Max, Color.Red); m_MaxBar.Bar.Border.Color = Color.DarkRed; m_MaxBar.Bar.Border.Width = 3; m_GraphLine_Realtime = m_GraphSpectrumAnalyzer.GraphPane.AddCurve("Realtime", m_PointList_Realtime, m_Markers.m_arrCurveColors[(int)RFExplorerSignalType.Realtime], SymbolType.None); m_GraphLine_Realtime.Line.Width = 4; m_GraphLine_Realtime.Line.SmoothTension = 0.2F; m_GraphLine_Min = m_GraphSpectrumAnalyzer.GraphPane.AddCurve("Min", m_PointList_Min, m_Markers.m_arrCurveColors[(int)RFExplorerSignalType.Min], SymbolType.None); m_GraphLine_Min.Line.Width = 3; m_GraphLine_Min.Line.SmoothTension = 0.3F; m_GraphLine_Min.Line.Fill = new Fill(Color.DarkGreen, Color.LightGreen, 90); m_GraphLine_Avg = m_GraphSpectrumAnalyzer.GraphPane.AddCurve("Avg", m_PointList_Avg, m_Markers.m_arrCurveColors[(int)RFExplorerSignalType.Average], SymbolType.None); m_GraphLine_Avg.Line.Width = 3; m_GraphLine_Avg.Line.SmoothTension = 0.3F; m_GraphLine_Avg.Line.Fill = new Fill(Color.Brown, Color.Salmon, 90); m_GraphLine_Max = m_GraphSpectrumAnalyzer.GraphPane.AddCurve("Max", m_PointList_Max, m_Markers.m_arrCurveColors[(int)RFExplorerSignalType.MaxPeak], SymbolType.None); m_GraphLine_Max.Line.Width = 3; m_GraphLine_Max.Line.SmoothTension = 0.3F; m_GraphLine_Max.Line.Fill = new Fill(Color.Red, Color.Salmon, 90); m_GraphLine_MaxHold = m_GraphSpectrumAnalyzer.GraphPane.AddCurve("Max Hold", m_PointList_MaxHold, m_Markers.m_arrCurveColors[(int)RFExplorerSignalType.MaxHold], SymbolType.None); m_GraphLine_MaxHold.Line.Width = 6; m_GraphLine_MaxHold.Line.SmoothTension = 0.3F; m_GraphLine_MaxHold.Line.Fill = new Fill(Color.Salmon, Color.LightSalmon, 90); foreach (CurveItem objCurve in m_GraphSpectrumAnalyzer.GraphPane.CurveList) { objCurve.IsVisible = false; objCurve.Label.IsVisible = false; } //Define button bar m_arrAnalyzerButtonList[0] = btnAutoscale; m_arrAnalyzerButtonList[1] = btnTop5plus; m_arrAnalyzerButtonList[2] = btnTop5minus; m_arrAnalyzerButtonList[3] = btnMoveFreqDecLarge; m_arrAnalyzerButtonList[4] = btnMoveFreqDecSmall; m_arrAnalyzerButtonList[5] = btnSpanInc; m_arrAnalyzerButtonList[6] = btnSpanMax; m_arrAnalyzerButtonList[7] = btnSpanDefault; m_arrAnalyzerButtonList[8] = btnCenterMark; m_arrAnalyzerButtonList[9] = btnSpanMin; m_arrAnalyzerButtonList[10] = btnSpanDec; m_arrAnalyzerButtonList[11] = btnMoveFreqIncLarge; m_arrAnalyzerButtonList[12] = btnMoveFreqIncSmall; m_arrAnalyzerButtonList[13] = btnBottom5plus; m_arrAnalyzerButtonList[14] = btnBottom5minus; btnCenterMark.Tag = (string)_OnlyIfConnected; btnSpanMin.Tag = (string)_OnlyIfConnected; btnSpanDefault.Tag = (string)_OnlyIfConnected; btnSpanMax.Tag = (string)_OnlyIfConnected; btnSpanDec.Tag = (string)_OnlyIfConnected; btnSpanInc.Tag = (string)_OnlyIfConnected; btnMoveFreqDecSmall.Tag = (string)_OnlyIfConnected; btnMoveFreqIncSmall.Tag = (string)_OnlyIfConnected; btnMoveFreqDecLarge.Tag = (string)_OnlyIfConnected; btnMoveFreqIncLarge.Tag = (string)_OnlyIfConnected; //Make all buttons same size, required for scaled text configurations for (int nInd = 0; nInd < m_arrAnalyzerButtonList.Length; nInd++) { m_arrAnalyzerButtonList[nInd].Width = btnBottom5plus.Width; //btnBottom5plus is currently the one with larger text m_arrAnalyzerButtonList[nInd].AutoSize = true; m_arrAnalyzerButtonList[nInd].AutoSizeMode = AutoSizeMode.GrowOnly; } CreateMarkerConfigPanel(); //MessageBox.Show(btnSend.Width.ToString()); //Define control bar m_tableLayoutControlArea.SuspendLayout(); m_tableLayoutControlArea.AutoSize = true; m_tableLayoutControlArea.ColumnCount = 10; m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); m_tableLayoutControlArea.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 10F)); m_tableLayoutControlArea.Location = new System.Drawing.Point(6, 3); m_tableLayoutControlArea.Name = "m_tableLayoutControlArea"; m_tableLayoutControlArea.RowCount = 1; m_tableLayoutControlArea.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, m_groupControl_FreqSettings.Height)); m_tableLayoutControlArea.Size = new System.Drawing.Size(10, 122); m_tableLayoutControlArea.MaximumSize = new System.Drawing.Size(Width, 122); m_tableLayoutControlArea.TabIndex = 61; m_tableLayoutControlArea.Visible = false; int nSaveBtnWidth = btnAnalyzerSend.Width; btnAnalyzerSend.AutoSize = false; btnAnalyzerSend.Dock = DockStyle.None; btnAnalyzerFreqSettingsReset.Dock = DockStyle.None; btnAnalyzerFreqSettingsReset.AutoSize = false; m_sAnalyzerCenterFreq.Width = (int)(label_sCenter.Width * 1.4); m_sAnalyzerStartFreq.Width = (int)(label_sCenter.Width * 1.4); m_sAnalyzerEndFreq.Width = (int)(label_sCenter.Width * 1.4); m_sAnalyzerBottomAmplitude.Width = (int)(label_sCenter.Width * 1.4); m_sAnalyzerTopAmplitude.Width = (int)(label_sCenter.Width * 1.4); m_sAnalyzerFreqSpan.Width = (int)(label_sCenter.Width * 1.4); btnAnalyzerSend.Width = nSaveBtnWidth; btnAnalyzerFreqSettingsReset.Width = nSaveBtnWidth; m_groupControl_DataFeed.Height = m_groupControl_FreqSettings.Height; m_groupControl_RemoteScreen.Height = m_groupControl_FreqSettings.Height; m_groupControl_Commands.Height = m_groupControl_FreqSettings.Height; m_groupControl_RFEGen_CW.Height = m_groupControl_FreqSettings.Height; m_groupControl_RFEGen_FrequencySweep.Height = m_groupControl_FreqSettings.Height; m_groupCOMPortAnalyzer.Height = m_groupControl_FreqSettings.Height; m_groupCOMPortGenerator.Height = m_groupControl_FreqSettings.Height; m_groupControl_RFEGen_Tracking.Height = m_groupControl_FreqSettings.Height; m_tableLayoutControlArea.Controls.Clear(); Controls.Remove(m_groupControl_DataFeed); Controls.Remove(m_groupControl_FreqSettings); Controls.Remove(m_groupControl_RemoteScreen); Controls.Remove(m_groupControl_Commands); Controls.Remove(m_groupControl_RFEGen_CW); Controls.Remove(m_groupControl_RFEGen_FrequencySweep); Controls.Remove(m_groupControl_RFEGen_Tracking); m_tableLayoutControlArea.Controls.Add(m_groupCOMPortAnalyzer, 0, 0); m_tableLayoutControlArea.Controls.Add(m_groupCOMPortGenerator, 1, 0); m_tableLayoutControlArea.Controls.Add(m_groupControl_DataFeed, 2, 0); m_tableLayoutControlArea.Controls.Add(m_groupControl_FreqSettings, 3, 0); m_tableLayoutControlArea.Controls.Add(m_groupControl_RemoteScreen, 4, 0); m_tableLayoutControlArea.Controls.Add(m_groupControl_Commands, 5, 0); m_tableLayoutControlArea.Controls.Add(m_groupControl_RFEGen_CW, 6, 0); m_tableLayoutControlArea.Controls.Add(m_groupControl_RFEGen_FrequencySweep, 7, 0); m_tableLayoutControlArea.Controls.Add(m_groupControl_RFEGen_Tracking, 8, 0); m_groupControl_FreqSettings.Dock = DockStyle.Fill; m_groupControl_RemoteScreen.Dock = DockStyle.Fill; //m_tableLayoutControlArea.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single; m_tableLayoutControlArea.ResumeLayout(); // Set the titles and axis labels //myPane.Title.FontSpec.Size = 10; myPane.XAxis.Title.IsVisible = menuShowAxisLabels.Checked; myPane.XAxis.Title.Text = "Frequency (MHZ)"; myPane.XAxis.Scale.MajorStep = 1.0; myPane.XAxis.Scale.MinorStep = 0.2; myPane.Margin.Left = 20; myPane.Margin.Right = -5; // Show the x axis grid myPane.XAxis.MajorGrid.IsVisible = true; myPane.XAxis.Type = AxisType.Linear; myPane.YAxis.Title.IsVisible = menuShowAxisLabels.Checked; // turn off the opposite tics so the Y tics don't show up on the Y2 axis myPane.YAxis.MajorTic.IsOpposite = false; myPane.YAxis.MinorTic.IsOpposite = false; myPane.YAxis.MajorGrid.IsVisible = true; // Don't display the Y zero line myPane.YAxis.MajorGrid.IsZeroLine = false; // Align the Y axis labels so they are flush to the axis myPane.YAxis.Scale.Align = AlignP.Inside; m_GraphSpectrumAnalyzer.IsShowPointValues = true; m_GraphSpectrumAnalyzer.PointValueEvent += new ZedGraphControl.PointValueHandler(GraphPointValueHandler); myPane.BarSettings.Type = BarType.Overlay; myPane.BarSettings.MinBarGap = 0.1f; myPane.BarSettings.MinClusterGap = 0.1f; myPane.BarSettings.ClusterScaleWidthAuto = false; myPane.BarSettings.ClusterScaleWidth = 5.0f; m_StatusGraphText_Analyzer = new TextObj("RF Explorer DISCONNECTED", 0.01, 0.02, CoordType.ChartFraction); m_StatusGraphText_Analyzer.IsClippedToChartRect = true; //m_RFEConfig.ZOrder = 0; m_StatusGraphText_Analyzer.FontSpec.FontColor = Color.DarkGray; m_StatusGraphText_Analyzer.Location.AlignH = AlignH.Left; m_StatusGraphText_Analyzer.Location.AlignV = AlignV.Top; m_StatusGraphText_Analyzer.FontSpec.IsBold = false; m_StatusGraphText_Analyzer.FontSpec.Size = 10f; m_StatusGraphText_Analyzer.FontSpec.Border.IsVisible = false; m_StatusGraphText_Analyzer.FontSpec.Fill.IsVisible = false; m_StatusGraphText_Analyzer.FontSpec.StringAlignment = StringAlignment.Near; m_StatusGraphText_Analyzer.FontSpec.IsDropShadow = true; m_StatusGraphText_Analyzer.FontSpec.DropShadowOffset = 0.1f; m_StatusGraphText_Analyzer.FontSpec.Family = "Tahoma"; myPane.GraphObjList.Add(m_StatusGraphText_Analyzer); m_OverloadText = new TextObj("RF LEVEL OVERLOAD - COMPRESSION", 0.5, 0.05, CoordType.ChartFraction); m_OverloadText.IsClippedToChartRect = true; //m_RFEConfig.ZOrder = 0; m_OverloadText.FontSpec.FontColor = Color.DarkRed; m_OverloadText.Location.AlignH = AlignH.Center; m_OverloadText.Location.AlignV = AlignV.Top; m_OverloadText.FontSpec.IsBold = true; m_OverloadText.FontSpec.Size = 12f; m_OverloadText.FontSpec.Border.IsVisible = false; m_OverloadText.FontSpec.Fill.IsVisible = false; m_OverloadText.FontSpec.StringAlignment = StringAlignment.Center; m_OverloadText.FontSpec.IsDropShadow = false; m_OverloadText.FontSpec.Family = "Tahoma"; m_OverloadText.IsVisible = false; myPane.GraphObjList.Add(m_OverloadText); m_arrWiFiBarText = new TextObj[13]; m_arrWiFiBarText.Initialize(); for (int nInd = 0; nInd < m_arrWiFiBarText.Length; nInd++) { m_arrWiFiBarText[nInd] = new TextObj("", 0, 0, CoordType.AxisXYScale); m_arrWiFiBarText[nInd].IsClippedToChartRect = true; m_arrWiFiBarText[nInd].Location.AlignH = AlignH.Center; m_arrWiFiBarText[nInd].Location.AlignV = AlignV.Bottom; m_arrWiFiBarText[nInd].FontSpec.Size = 7; m_arrWiFiBarText[nInd].FontSpec.Border.IsVisible = false; m_arrWiFiBarText[nInd].FontSpec.FontColor = Color.Red; m_arrWiFiBarText[nInd].FontSpec.StringAlignment = StringAlignment.Center; m_arrWiFiBarText[nInd].FontSpec.Fill.IsVisible = false; myPane.GraphObjList.Add(m_arrWiFiBarText[nInd]); } m_Markers.ConnectToGraph(myPane); DefineGraphColors(); }
private void InitializeTrackingGeneratorGraph() { #if CALLSTACK Console.WriteLine("CALLSTACK:InitializeTrackingGeneratorGraph"); #endif m_GraphTrackingGenerator.IsAutoScrollRange = true; m_GraphTrackingGenerator.EditButtons = System.Windows.Forms.MouseButtons.Left; m_GraphTrackingGenerator.IsAntiAlias = true; m_GraphTrackingGenerator.IsEnableSelection = true; m_GraphTrackingGenerator.Location = new System.Drawing.Point(8, 257); m_GraphTrackingGenerator.Name = "zedTracking"; m_GraphTrackingGenerator.PanModifierKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.None))); m_GraphTrackingGenerator.ScrollGrace = 0D; m_GraphTrackingGenerator.ScrollMaxX = 0D; m_GraphTrackingGenerator.ScrollMaxY = 0D; m_GraphTrackingGenerator.ScrollMaxY2 = 0D; m_GraphTrackingGenerator.ScrollMinX = 0D; m_GraphTrackingGenerator.ScrollMinY = 0D; m_GraphTrackingGenerator.ScrollMinY2 = 0D; m_GraphTrackingGenerator.Size = new System.Drawing.Size(123, 54); m_GraphTrackingGenerator.TabIndex = 49; m_GraphTrackingGenerator.TabStop = false; m_GraphTrackingGenerator.UseExtendedPrintDialog = true; m_GraphTrackingGenerator.Visible = true; m_GraphTrackingGenerator.ContextMenuBuilder += new ZedGraph.ZedGraphControl.ContextMenuBuilderEventHandler(this.objGraph_ContextMenuBuilder); //m_graphTrackingGenerator.ZoomEvent += new ZedGraph.ZedGraphControl.ZoomEventHandler(this.zedSpectrumAnalyzer_ZoomEvent); // Get a reference to the GraphPane instance in the ZedGraphControl GraphPane myPane = m_GraphTrackingGenerator.GraphPane; m_LimitLineGenerator_Max = new LimitLine(); m_LimitLineGenerator_Min = new LimitLine(); m_GraphLimitLineGenerator_Max = myPane.AddCurve("Limit Max", m_LimitLineGenerator_Max, Color.Magenta, SymbolType.Circle); m_GraphLimitLineGenerator_Max.Line.Width = 1; m_GraphLimitLineGenerator_Min = myPane.AddCurve("Limit Min", m_LimitLineGenerator_Min, Color.DarkMagenta, SymbolType.Circle); m_GraphLimitLineGenerator_Min.Line.Width = 1; m_PointList_Tracking_Normal = new PointPairList(); m_GraphLine_Tracking_Normal = myPane.AddCurve("Realtime", m_PointList_Tracking_Normal, Color.Blue, SymbolType.None); m_GraphLine_Tracking_Normal.Line.Width = 1; m_GraphLine_Tracking_Normal.Line.SmoothTension = 0.2F; m_PointList_Tracking_Avg = new PointPairList(); m_GraphLine_Tracking_Avg = myPane.AddCurve("Average", m_PointList_Tracking_Avg, Color.DarkRed, SymbolType.None); m_GraphLine_Tracking_Avg.Line.Width = 4; m_GraphLine_Tracking_Avg.Line.SmoothTension = 0.3F; foreach (CurveItem objCurve in myPane.CurveList) { objCurve.IsVisible = false; objCurve.Label.IsVisible = false; } // Set the titles and axis labels //myPane.Title.FontSpec.Size = 10; myPane.XAxis.Title.IsVisible = true; myPane.XAxis.Title.Text = "Frequency (MHZ)"; myPane.XAxis.Scale.MajorStepAuto = true; myPane.XAxis.Scale.MinorStepAuto = true; myPane.XAxis.Type = AxisType.Linear; myPane.Margin.Left = 20; myPane.Margin.Right = -5; m_GraphTrackingGenerator.IsShowPointValues = true; // Show the x axis grid myPane.XAxis.MajorGrid.IsVisible = true; myPane.XAxis.Type = AxisType.Linear; myPane.YAxis.Title.IsVisible = true; // turn off the opposite tics so the Y tics don't show up on the Y2 axis myPane.YAxis.MajorTic.IsOpposite = false; myPane.YAxis.MinorTic.IsOpposite = false; myPane.YAxis.MajorGrid.IsVisible = true; // Don't display the Y zero line myPane.YAxis.MajorGrid.IsZeroLine = false; // Align the Y axis labels so they are flush to the axis myPane.YAxis.Scale.Align = AlignP.Inside; UpdateTrackingYAxisType(); myPane.Title.Text = _RFEGEN_TRACKING_TITLE; m_GraphTrackingGenerator.IsShowPointValues = true; m_GraphTrackingGenerator.PointValueEvent += new ZedGraphControl.PointValueHandler(GraphPointGeneratorValueHandler); m_StatusGraphText_Tracking = new TextObj("Signal Generator DISCONNECTED", 0.01, 0.02, CoordType.ChartFraction); m_StatusGraphText_Tracking.IsClippedToChartRect = true; m_StatusGraphText_Tracking.FontSpec.FontColor = Color.DarkGray; m_StatusGraphText_Tracking.Location.AlignH = AlignH.Left; m_StatusGraphText_Tracking.Location.AlignV = AlignV.Top; m_StatusGraphText_Tracking.FontSpec.IsBold = false; m_StatusGraphText_Tracking.FontSpec.Size = 10f; m_StatusGraphText_Tracking.FontSpec.Border.IsVisible = false; m_StatusGraphText_Tracking.FontSpec.Fill.IsVisible = false; m_StatusGraphText_Tracking.FontSpec.StringAlignment = StringAlignment.Near; m_StatusGraphText_Tracking.FontSpec.IsDropShadow = true; m_StatusGraphText_Tracking.FontSpec.DropShadowOffset = 0.1f; m_StatusGraphText_Tracking.FontSpec.DropShadowColor = Color.LightBlue; m_StatusGraphText_Tracking.FontSpec.Family = "Tahoma"; myPane.GraphObjList.Add(m_StatusGraphText_Tracking); m_TrackingStatus = new TextObj("Tracking Normalization in Progress, \nplease wait...", 0.5, 0.5, CoordType.ChartFraction); m_TrackingStatus.Location.AlignH = AlignH.Center; m_TrackingStatus.Location.AlignV = AlignV.Center; m_TrackingStatus.FontSpec.Size = 20; m_TrackingStatus.FontSpec.FontColor = Color.DarkRed; m_TrackingStatus.FontSpec.IsDropShadow = true; m_TrackingStatus.FontSpec.DropShadowOffset = 0.05f; m_TrackingStatus.IsVisible = false; myPane.GraphObjList.Add(m_TrackingStatus); m_TrackingProgressText = new TextObj("Tracking step: 0/0 0%", 0.01, 0.08, CoordType.ChartFraction); m_TrackingProgressText.IsClippedToChartRect = true; m_TrackingProgressText.FontSpec.FontColor = Color.DarkBlue; m_TrackingProgressText.Location.AlignH = AlignH.Left; m_TrackingProgressText.Location.AlignV = AlignV.Top; m_TrackingProgressText.FontSpec.IsBold = false; m_TrackingProgressText.FontSpec.Size = 8f; m_TrackingProgressText.FontSpec.Border.IsVisible = false; m_TrackingProgressText.FontSpec.Fill.IsVisible = false; m_TrackingProgressText.FontSpec.StringAlignment = StringAlignment.Near; m_TrackingProgressText.FontSpec.IsDropShadow = true; m_TrackingProgressText.FontSpec.DropShadowColor = Color.LightBlue; m_TrackingProgressText.FontSpec.DropShadowOffset = 0.1f; m_TrackingProgressText.FontSpec.Family = "Tahoma"; m_TrackingProgressText.IsVisible = false; myPane.GraphObjList.Add(m_TrackingProgressText); this.m_tabRFGen.ResumeLayout(false); this.m_tabRFGen.PerformLayout(); m_MarkersSNA.ConnectToGraph(myPane); }