DotNet 4.8.1 build of DotNetBar
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Design;
|
||||
using System.Windows.Forms.Design;
|
||||
using DevComponents.DotNetBar.Charts;
|
||||
|
||||
namespace DevComponents.Charts.Design
|
||||
{
|
||||
public class PivotPointEditor : UITypeEditor
|
||||
{
|
||||
#region GetEditStyle
|
||||
|
||||
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
|
||||
{
|
||||
return (UITypeEditorEditStyle.DropDown);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region GetPaintValueSupported
|
||||
|
||||
public override bool GetPaintValueSupported(ITypeDescriptorContext context)
|
||||
{
|
||||
return (false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region EditValue
|
||||
|
||||
public override object EditValue(
|
||||
ITypeDescriptorContext context, IServiceProvider provider, object value)
|
||||
{
|
||||
if (provider != null)
|
||||
{
|
||||
IWindowsFormsEditorService editorService =
|
||||
provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService;
|
||||
|
||||
if (editorService != null)
|
||||
{
|
||||
PieChart pieChart = context.Instance as PieChart;
|
||||
|
||||
if (pieChart != null)
|
||||
{
|
||||
double scale = pieChart.OuterRadius;
|
||||
|
||||
if (scale >= 1)
|
||||
{
|
||||
int n = Math.Min(pieChart.ContentBounds.Width, pieChart.ContentBounds.Height);
|
||||
scale = (n > 0) ? pieChart.ActualOuterRadius / n : 0;
|
||||
}
|
||||
|
||||
scale /= 2;
|
||||
|
||||
PivotPointDropDown pv = new PivotPointDropDown((PointF) value,
|
||||
scale, pieChart.SubSliceVisualLayout.StartAngle,
|
||||
pieChart.SubSliceVisualLayout.SweepAngle, editorService, context);
|
||||
|
||||
pv.EscapePressed = false;
|
||||
|
||||
editorService.DropDownControl(pv);
|
||||
|
||||
if (pv.EscapePressed == true)
|
||||
context.PropertyDescriptor.SetValue(context.Instance, value);
|
||||
else
|
||||
return (pv.PivotPoint);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (base.EditValue(context, provider, value));
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user