void nChartControl1_MouseMove(object sender, MouseEventArgs e) { NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); if (result.ChartElement == ChartElement.StockGroup) { NStockGroup stockGroup = result.StockGroup; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("Open Value: " + stockGroup.OpenValue.ToString()); stringBuilder.AppendLine("Open X Value: " + DateTime.FromOADate(stockGroup.OpenXValue).ToString("d")); stringBuilder.AppendLine("Close Value: " + stockGroup.CloseValue.ToString()); stringBuilder.AppendLine("Close X Value: " + DateTime.FromOADate(stockGroup.CloseXValue).ToString("d")); stringBuilder.AppendLine("High Value: " + stockGroup.HighValue.ToString()); stringBuilder.AppendLine("Low Value: " + stockGroup.LowValue.ToString()); GroupInformationTextBox.Text = stringBuilder.ToString(); } else { GroupInformationTextBox.Text = string.Empty; } }
private void ChartControl_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { NHitTestResult hitTestResult = nChartControl1.HitTest(e.X, e.Y); switch (hitTestResult.ChartElement) { case ChartElement.GaugeAxis: NGaugeAxis gaugeAxis = hitTestResult.GaugeAxis; CurrentElementTextBox.Text = "Gauge Axis Range: [" + gaugeAxis.Range.Begin.ToString() + ", " + gaugeAxis.Range.End.ToString() + "]"; break; case ChartElement.GaugeMarker: NMarkerValueIndicator markerValueIndicator = hitTestResult.MarkerValueIndicator; CurrentElementTextBox.Text = "Gauge Marker Value: " + markerValueIndicator.Value.ToString(); break; case ChartElement.GaugeNeedle: NNeedleValueIndicator needleIndicator = hitTestResult.NeedleValueIndicator; CurrentElementTextBox.Text = "Gauge Needle Value: " + needleIndicator.Value.ToString(); break; case ChartElement.GaugeRange: NRangeIndicator rangeIndicator = hitTestResult.RangeIndicator; CurrentElementTextBox.Text = "Gauge range: [" + rangeIndicator.Range.Begin.ToString() + ", " + rangeIndicator.Range.End.ToString() + "]"; break; default: CurrentElementTextBox.Text = ""; break; } }
protected void nChartControl1_AsyncCustomCommand(object sender, EventArgs e) { NCallbackCustomCommandArgs args = e as NCallbackCustomCommandArgs; NCallbackCommand command = args.Command; NPieSeries pieSeries; switch (command.Name) { case "changeColor": string idText = command.Arguments["id"] as string; if (idText == null) { break; } NElementAtomIdentifier id = new NElementAtomIdentifier(idText); NChartNode node = id.FindInDocument(nChartControl1.Document) as NChartNode; if (node == null) { break; } NHitTestResult hitTestResult = new NHitTestResult(node); if (hitTestResult.ChartElement != ChartElement.DataPoint) { break; } pieSeries = hitTestResult.Series as NPieSeries; if (pieSeries == null) { break; } Color c = Color.Red; if (command.Arguments["color"].ToString() == "blue") { c = Color.Blue; } NColorFillStyle fs = pieSeries.FillStyles[hitTestResult.DataPointIndex] as NColorFillStyle; if (fs == null) { break; } pieSeries.FillStyles[hitTestResult.DataPointIndex] = new NColorFillStyle(c); clientSideRedrawRequired = (fs.Color != c); break; case "rotate10Degrees": NRootPanel rootPanel = nChartControl1.Document.RootPanel; NPieChart pieChart = nChartControl1.Charts[0] as NPieChart; pieChart.BeginAngle += 10; if (pieChart.BeginAngle >= 360) { pieChart.BeginAngle = pieChart.BeginAngle - 360; } break; } }
private void ChartControl_OnMouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { if (nChartControl1.Controller.ActiveTool != null) { return; } NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); NWatermark watermark = result.Object as NWatermark; if (watermark == null || watermark.Tag == null) { if (SetWatermarkTransparency((byte)(TransparencyScrollBar.Value * 255 / 100))) { nChartControl1.Refresh(); } } else { NImageFillStyle imageFillStyle = (NImageFillStyle)watermark.FillStyle; if (imageFillStyle.Alpha != 255) { SetWatermarkTransparency((byte)(TransparencyScrollBar.Value * 255 / 100)); imageFillStyle.Alpha = 255; nChartControl1.Refresh(); } } }
private void ExplodePieSegment(NStateObject state, EventArgs e, int offset) { // this method is called when the web control operates in the Nevron Instant Callback mode NCallbackMouseEventArgs args = e as NCallbackMouseEventArgs; NChartSessionStateObject chartState = state as NChartSessionStateObject; NHitTestResult result = chartState.HitTest(args); NRootPanel rootPanel = chartState.Document.RootPanel; if (result.ChartElement == ChartElement.DataPoint) { NPieSeries pieSeries = result.Series as NPieSeries; pieSeries.Detachments.Clear(); for (int i = 0; i < pieSeries.Values.Count; i++) { if (i == result.DataPointIndex) { pieSeries.Detachments.Add(offset); } else { pieSeries.Detachments.Add(0); } } } }
private void ProcessMouseEvent(object sender, EventArgs e, Color c) { NHitTestResult result = nChartControl1.HitTest(e as NCallbackMouseEventArgs); if (result.ChartElement == ChartElement.DataPoint) { switch (result.Chart.Tag.ToString()) { case "BarChart": NChartPalette palette = new NChartPalette(ChartPredefinedPalette.Nevron); Color highlightColor = palette.SeriesColors[5]; NBarSeries barSeries = result.Series as NBarSeries; foreach (NBarSeries series in nChartControl1.Charts[0].Series) { series.FillStyles.Clear(); series.BorderStyles.Clear(); } barSeries.FillStyles[result.DataPointIndex] = new NColorFillStyle(c); barSeries.BorderStyles[result.DataPointIndex] = new NStrokeStyle(1, c); int nCount = nChartControl1.Panels.Count; for (int i = 0; i < nCount; i++) { if (nChartControl1.Panels[i] is NRoundedRectangularCallout) { nChartControl1.Panels.RemoveAt(i); } } NRoundedRectangularCallout m_RoundedRectangularCallout = new NRoundedRectangularCallout(); m_RoundedRectangularCallout.ArrowLength = new NLength(10, NRelativeUnit.ParentPercentage); m_RoundedRectangularCallout.FillStyle = new NGradientFillStyle(Color.FromArgb(255, Color.White), Color.FromArgb(125, highlightColor)); m_RoundedRectangularCallout.UseAutomaticSize = true; m_RoundedRectangularCallout.Orientation = 45; m_RoundedRectangularCallout.Anchor = new NDataPointAnchor(barSeries, result.DataPointIndex, ContentAlignment.TopRight, StringAlignment.Center); m_RoundedRectangularCallout.Text = ((NDataPoint)result.Object)[DataPointValue.Y].ToString(); nChartControl1.Panels.Add(m_RoundedRectangularCallout); break; case "PieChart": NPieSeries pieSeries = result.Series as NPieSeries; pieSeries.Detachments.Clear(); for (int i = 0; i < pieSeries.Values.Count; i++) { if (i == result.DataPointIndex) { pieSeries.Detachments.Add(15); } else { pieSeries.Detachments.Add(0); } } break; } } }
protected void nChartControl1_AsyncClick(object sender, EventArgs e) { NHitTestResult result = nChartControl1.HitTest(e as NCallbackMouseEventArgs); if (result.ChartElement == ChartElement.DataPoint) { NBarSeries barSeries = result.Series as NBarSeries; barSeries.FillStyles.Clear(); NChartPalette palette = new NChartPalette(ChartPredefinedPalette.Nevron); barSeries.FillStyles[result.DataPointIndex] = new NColorFillStyle(palette.SeriesColors[1]); SelectedDataPointIndex = result.DataPointIndex; DateTime date = startDate; barSeries.InteractivityStyles.Clear(); int lengthDays = hitsPerDayPerRegion.Length; for (int i = 0; i < lengthDays; i++) { int totalHits = 0; int lengthRegions = hitsPerDayPerRegion[i].Length; for (int j = 0; j < lengthRegions; j++) { totalHits += hitsPerDayPerRegion[i][j]; } if (SelectedDataPointIndex != i) { barSeries.InteractivityStyles.Add(i, new NInteractivityStyle(true, i.ToString(), string.Format("{0}: {1}", date.ToString("dd/MMM/yyyy"), totalHits), CursorType.Hand)); } date = date.AddDays(1); } } }
public void OnMouseEvent(NAspNetThinWebControl control, NBrowserMouseEventArgs e) { NThinChartControl chartControl = (NThinChartControl)control; NPieChart pieChart = (NPieChart)chartControl.Charts[0]; NHitTestResult hitTestResult = chartControl.HitTest(e.X, e.Y); int dataPointIndex = hitTestResult.DataPointIndex; // collapse all pie slices NPieSeries pieSeries = (NPieSeries)pieChart.Series[0]; for (int i = 0; i < pieSeries.Values.Count; i++) { pieSeries.Detachments[i] = 0; } // expand the one that's hit if (dataPointIndex != -1) { pieSeries.Detachments[dataPointIndex] = 5.0f; } chartControl.UpdateView(); }
void nChartControl1_PreviewMouseMove(object sender, MouseEventArgs e) { System.Windows.Point p = e.GetPosition(nChartControl1); NHitTestResult hitTestResult = (NHitTestResult)nChartControl1.HitTest((int)p.X, (int)p.Y); switch (hitTestResult.ChartElement) { case ChartElement.GaugeAxis: NGaugeAxis gaugeAxis = hitTestResult.GaugeAxis; CurrentElementTextBox.Text = "Gauge Axis Range: [" + gaugeAxis.Range.Begin.ToString() + ", " + gaugeAxis.Range.End.ToString() + "]"; break; case ChartElement.GaugeMarker: NMarkerValueIndicator markerValueIndicator = hitTestResult.MarkerValueIndicator; CurrentElementTextBox.Text = "Gauge Marker Value: " + markerValueIndicator.Value.ToString(); break; case ChartElement.GaugeNeedle: NNeedleValueIndicator needleIndicator = hitTestResult.NeedleValueIndicator; CurrentElementTextBox.Text = "Gauge Needle Value: " + needleIndicator.Value.ToString(); break; case ChartElement.GaugeRange: NRangeIndicator rangeIndicator = hitTestResult.RangeIndicator; CurrentElementTextBox.Text = "Gauge range: [" + rangeIndicator.Range.Begin.ToString() + ", " + rangeIndicator.Range.End.ToString() + "]"; break; default: CurrentElementTextBox.Text = ""; break; } }
private void ColorPieSegment(NStateObject state, EventArgs e, Color c) { NCallbackMouseEventArgs args = e as NCallbackMouseEventArgs; NChartSessionStateObject chartState = state as NChartSessionStateObject; NHitTestResult result = chartState.HitTest(args); NRootPanel rootPanel = chartState.Document.RootPanel; if (result.ChartElement == ChartElement.DataPoint) { NPieSeries pieSeries = result.Series as NPieSeries; for (int i = 0; i < pieSeries.Values.Count; i++) { if (i == result.DataPointIndex) { pieSeries.FillStyles[i] = new NColorFillStyle(c); pieSeries.BorderStyles[i] = new NStrokeStyle(1, Color.White); } else { int colorIndex = i % NExampleUC.arrCustomColors2.Length; Color color = NExampleUC.arrCustomColors2[colorIndex]; pieSeries.FillStyles[i] = new NColorFillStyle(color); pieSeries.BorderStyles[i] = new NStrokeStyle(1, color); } } } }
private void ChartControl_OnMouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); NWatermark watermark = result.Object as NWatermark; if (watermark == null) { return; } CarData car = watermark.Tag as CarData; if (car == null) { return; } m_ReviewLabel.Text = "Concept car from " + car.AuthorName; NSeries series = (NSeries)nChartControl1.Charts[0].Series[0]; series.Values.Clear(); series.Values.AddRange(car.Values); nChartControl1.Refresh(); }
void nChartControl1_MouseMove(object sender, MouseEventArgs e) { NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); if (result.Axis == null) { AxisElementTextBox.Text = "The mouse is not over an axis."; } else { string text = "The mouse is over "; switch (result.AxisScalePartId) { case 1: text += "an inner major tick."; break; case 2: text += "an outer major tick."; break; case 3: text += "an inner minor tick."; break; case 4: text += "an outer minor tick."; break; case 5: text += "a ruler."; break; case 6: text += "an auto label."; break; case 7: text += "a title."; break; } AxisElementTextBox.Text = text; } }
void NThinChartControl1_Postback(object sender, ThinWeb.NPostbackEventArgs e) { NHitTestResult hitTestResult = NThinChartControl1.HitTest(e.MousePosition.X, e.MousePosition.Y); int dataPointIndex = hitTestResult.DataPointIndex; if (dataPointIndex != -1) { NBarSeries barSeries = (NBarSeries)hitTestResult.Series; // apply style sheet NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor); styleSheet.Apply(barSeries); barSeries.FillStyles[dataPointIndex] = new NColorFillStyle(Color.Red); } else { NStyleSheet styleSheet = NStyleSheet.CreatePredefinedStyleSheet(PredefinedStyleSheet.FreshMultiColor); styleSheet.Apply(NThinChartControl1.Charts[0]); } }
void nChartControl1_MouseMove(object sender, MouseEventArgs e) { NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); if (result.ChartElement == ChartElement.LineBreakData) { NLineBreakData lineBreakData = result.LineBreakData; StringBuilder builder = new StringBuilder(); builder.AppendLine("HighY:" + lineBreakData.HighY.ToString()); builder.AppendLine("LowY:" + lineBreakData.LowY.ToString()); builder.AppendLine("Direction:" + lineBreakData.Direction.ToString()); builder.AppendLine("DirectionChanged:" + lineBreakData.DirectionChanged.ToString()); textBox1.Text = builder.ToString(); } else { textBox1.Text = string.Empty; } }
private void ChartControl_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { NHitTestResult hitTestResult = nChartControl1.HitTest(e.X, e.Y); if (hitTestResult.ChartElement == ChartElement.DataPoint) { if ((double)m_Pie.Detachments[hitTestResult.DataPointIndex] > 0) { return; } SetPieDefaultFillStyles(); m_Pie.FillStyles[hitTestResult.DataPointIndex] = new NColorFillStyle(Color.Orange); } else { SetPieDefaultFillStyles(); } nChartControl1.Refresh(); }
void nChartControl1_MouseMove(object sender, MouseEventArgs e) { NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); if (result.ChartElement == ChartElement.PointAndFigureData) { NPointAndFigureData pointAndFigureData = result.PointAndFigureData; StringBuilder builder = new StringBuilder(); builder.AppendLine("DataIndex:" + pointAndFigureData.DataIndex.ToString()); builder.AppendLine("ColumnIndex:" + pointAndFigureData.ColumnIndex.ToString()); builder.AppendLine("ColumnDirection:" + pointAndFigureData.ColumnDirection.ToString()); builder.AppendLine("HiValueIndex:" + pointAndFigureData.HiValueIndex.ToString()); builder.AppendLine("LowValueIndexv:" + pointAndFigureData.LowValueIndex.ToString()); textBox1.Text = builder.ToString(); } else { textBox1.Text = string.Empty; } }
void nChartControl1_MouseMove(object sender, MouseEventArgs e) { NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); if (result.ChartElement == ChartElement.RenkoData) { NRenkoData renkoData = result.RenkoData; StringBuilder builder = new StringBuilder(); builder.AppendLine("BeginY:" + renkoData.BeginY.ToString()); builder.AppendLine("EndY:" + renkoData.EndY.ToString()); builder.AppendLine("BoxCount:" + renkoData.BoxCount.ToString()); builder.AppendLine("Direction:" + renkoData.Direction.ToString()); builder.AppendLine("DirectionChanged:" + renkoData.DirectionChanged.ToString()); textBox1.Text = builder.ToString(); } else { textBox1.Text = string.Empty; } }
private void ExplodePieSegment(NStateObject state, EventArgs e, int offset) { NCallbackMouseEventArgs args = e as NCallbackMouseEventArgs; NChartSessionStateObject chartState = state as NChartSessionStateObject; NHitTestResult result = chartState.HitTest(args); if (result.ChartElement == ChartElement.DataPoint) { NPieSeries pieSeries = result.Series as NPieSeries; pieSeries.Detachments.Clear(); for (int i = 0; i < pieSeries.Values.Count; i++) { if (i == result.DataPointIndex) { pieSeries.Detachments.Add(offset); } else { pieSeries.Detachments.Add(0); } } } }
void nChartControl1_MouseClick(object sender, MouseEventArgs e) { NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); if (result.ChartElement == ChartElement.TreeMapNode) { NGroupTreeMapNode groupNode = result.GroupTreeMapNode; if (groupNode != null && groupNode.ParentNode != null) { m_TreeMap.RootTreeMapNode = (NGroupTreeMapNode)groupNode.Clone(); // assign palette to this node NPalette palette = new NPalette(); palette.Mode = PaletteMode.AutoMinMaxColor; palette.SmoothPalette = true; m_TreeMap.RootTreeMapNode.Palette = palette; nChartControl1.Refresh(); } } }
private void ExplodePieSegment(EventArgs e, int offset) { // this method is called when the web control operates in the standard Microsoft AJAX mode NCallbackMouseEventArgs args = e as NCallbackMouseEventArgs; NHitTestResult result = nChartControl1.HitTest(args); NRootPanel rootPanel = nChartControl1.Document.RootPanel; if (result.ChartElement == ChartElement.DataPoint) { NPieSeries pieSeries = result.Series as NPieSeries; pieSeries.Detachments.Clear(); for (int i = 0; i < pieSeries.Values.Count; i++) { if (i == result.DataPointIndex) { pieSeries.Detachments.Add(offset); } else { pieSeries.Detachments.Add(0); } } } }
private void ChartControl_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button != MouseButtons.Left) { return; } NHitTestResult hitTestResult = nChartControl1.HitTest(e.X, e.Y); if (hitTestResult.ChartElement == ChartElement.DataPoint) { for (int i = 0; i < m_Pie.Detachments.Count; i++) { m_Pie.Detachments[i] = 0.0f; } SetPieDefaultFillStyles(); m_Pie.FillStyles[hitTestResult.DataPointIndex] = new NColorFillStyle(Color.Red); m_Pie.Detachments[hitTestResult.DataPointIndex] = 5.0f; nChartControl1.Refresh(); } }
void nChartControl1_MouseMove(object sender, MouseEventArgs e) { NHitTestResult result = nChartControl1.HitTest(e.X, e.Y); if (result.ChartElement == ChartElement.KagiData) { NKagiData kagiData = result.KagiData; StringBuilder builder = new StringBuilder(); builder.AppendLine("DataIndex:" + kagiData.DataIndex.ToString()); builder.AppendLine("TrendDirection:" + kagiData.TrendDirection.ToString()); builder.AppendLine("PriorHigh:" + kagiData.PriorHigh.ToString()); builder.AppendLine("PriorLow:" + kagiData.PriorLow.ToString()); builder.AppendLine("X:" + kagiData.X.ToString()); builder.AppendLine("Y:" + kagiData.Y.ToString()); textBox1.Text = builder.ToString(); } else { textBox1.Text = string.Empty; } }
private string GetResultDescription(NHitTestResult hitTestResult) { int nChartElement = (int)hitTestResult.ChartElement; string sInfo = ""; ChartElementTextBox.Text = hitTestResult.ChartElement.ToString(); switch (hitTestResult.ChartElement) { case ChartElement.Nothing: sInfo = "Nothing"; break; case ChartElement.ControlBackground: sInfo = "Control background"; break; case ChartElement.DataPoint: sInfo = "Data point [" + hitTestResult.DataPointIndex.ToString() + "] from series [" + ((NSeriesBase)hitTestResult.Object.ParentNode).Name + "]"; break; case ChartElement.SurfaceDataPoint: sInfo = "Surface data point [" + hitTestResult.SurfaceDataPointX.ToString() + ", " + hitTestResult.SurfaceDataPointZ.ToString(); break; case ChartElement.Axis: sInfo = "Axis [" + hitTestResult.ObjectIndex + "]"; break; case ChartElement.ChartWall: sInfo = "Wall [" + hitTestResult.ObjectIndex + "]"; break; case ChartElement.Legend: sInfo = "Legend"; break; case ChartElement.LegendDataItem: sInfo = "Legend data item [" + hitTestResult.ObjectIndex.ToString() + "]"; break; case ChartElement.LegendHeader: sInfo = "Legend header"; break; case ChartElement.LegendFooter: sInfo = "Legend footer"; break; case ChartElement.AxisStripe: sInfo = "Axis stripe"; break; case ChartElement.Label: sInfo = "Label"; break; case ChartElement.Watermark: sInfo = "Watermark"; break; case ChartElement.Annotation: sInfo = "Annotation"; break; case ChartElement.Chart: sInfo = "Chart"; break; default: Debug.Assert(false); // new chart element? break; } return(sInfo); }
public void FillParamsList(NHitTestResult hitTestResult) { }