You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

142 lines
4.1 KiB
C#

1 month ago
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GeoSigmaViewer
{
public partial class ProportionDialog : Form, SigmaDrawerStyle.IProportionPropertyChange
{
private Drawer drawer;
private SigmaDrawerStyle.ProportionProperty property;
public ProportionDialog(ref Drawer drawer)
{
InitializeComponent();
this.drawer = drawer;
property = new SigmaDrawerStyle.ProportionProperty(this);
ProportionData data = new ProportionData();
drawer.Geo.Proportion_GetData(ref data);
property.SetXY(data.x, data.y);
}
public void ChangeScaleLength(int scaleLength)
{
drawer.Geo.Proportion_ChangeScaleLength(scaleLength);
int scale = drawer.Geo.Proportion_GetScale();
property.Scale = scale;
propertyGrid.SelectedObject = property;
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeNumber(int number)
{
drawer.Geo.Proportion_ChangeNumber(number);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeShowMode(int mode)
{
drawer.Geo.Proportion_ChangeShowMode(mode);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
private void ProportionDialog_Load(object sender, EventArgs e)
{
propertyGrid.SelectedObject = property;
}
public void ChangeUnit(int unit)
{
drawer.Geo.Proportion_ChangeUnit(unit);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeColor(int r, int g, int b)
{
drawer.Geo.Proportion_ChangeColor(r, g, b);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeTextScale(int scale)
{
drawer.Geo.Proportion_ChangeTextScale(scale);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeAlign(int align)
{
drawer.Geo.Proportion_ChangeAlign(align);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeTextHeight(int height)
{
drawer.Geo.Proportion_ChangeTextHeight(height);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeTextWidth(int width)
{
drawer.Geo.Proportion_ChangeTextWidth(width);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeTextHeightAlone(int alone)
{
drawer.Geo.Proportion_ChangeTextHeightAlone(alone);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void ChangeCoordinate(double x, double y)
{
drawer.Geo.Proportion_ChangeCoordinate(x, y);
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
}
public void SetXY(double x, double y)
{
property.SetXY(x, y);
propertyGrid.SelectedObject = property;
}
private void okButton_Click(object sender, EventArgs e)
{
//drawer.Geo.Proportion_ChangeCoordinate(x, y);
drawer.Geo.Proportion_Create();
drawer.ActiveTool = DrawToolType.Select;
Close();
}
private void cancelButton_Click(object sender, EventArgs e)
{
drawer.ActiveTool = DrawToolType.Select;
drawer.Geo.EnableRedraw(true);
drawer.ReDraw();
Close();
}
private void ProportionDialog_FormClosed(object sender, FormClosedEventArgs e)
{
drawer.ActiveTool = DrawToolType.Select;
//drawer.Geo.EnableRedraw(true);
//drawer.ReDraw();
}
}
}