using System.Data;
|
|
namespace HydroUI
|
{
|
public partial class Form_Magnifier : XtraForm
|
{
|
Template _template = null;
|
float xMin = 9999999999999, yMin = 9999999999999;
|
public Form_Magnifier(List<IBaseViewModel> list)
|
{
|
InitializeComponent();
|
_template = new Template();
|
_template.network = new MapViewNetWork();
|
_template.network.Nodes.AddRange(list.FindAll(o => o is NodeViewModel).Select(o => o as NodeViewModel).ToList());
|
_template.network.Links.AddRange(list.FindAll(o => o is LinkViewModel).Select(o => o as LinkViewModel).ToList());
|
_template.network.Links.ForEach(l =>
|
{
|
if (!_template.network.Nodes.Contains(l.StartNode))
|
{
|
_template.network.Nodes.Add(l.StartNode);
|
}
|
if (!_template.network.Nodes.Contains(l.EndNode))
|
{
|
_template.network.Nodes.Add(l.EndNode);
|
}
|
});
|
_template.network.Nodes.ForEach(n =>
|
{
|
if (xMin > n.X) xMin = n.X;
|
if (yMin > n.Y) yMin = n.Y;
|
});
|
//_template.network.MapObjects.ForEach(o => o.Selected = false);
|
转换器();
|
|
|
|
|
}
|
private void Form_Magnifier_Load(object sender, EventArgs e)
|
{
|
MapViewer map = new MapViewer();
|
map.Dock = DockStyle.Fill;
|
this.Controls.Add(map);
|
old_map = GlobalObject.map;
|
GlobalObject.map = map;
|
old_fr = GlobalObject.PropertyForm.GetWindow();
|
GlobalObject.PropertyForm.SetWindows(this);
|
|
|
map.SetData(_template);
|
map.SetMapInvalidate();
|
}
|
private void 转换器()
|
{
|
_template.network.Nodes.ForEach(n =>
|
{
|
n.X -= xMin;
|
n.X *= 10;
|
n.Y -= yMin;
|
n.Y *= 10;
|
});
|
}
|
private void 还原器()
|
{
|
_template.network.Nodes.ForEach(n =>
|
{
|
n.X /= 10;
|
n.X += xMin;
|
n.Y /= 10;
|
n.Y += yMin;
|
|
});
|
}
|
|
private void Form_Magnifier_FormClosing(object sender, FormClosingEventArgs e)
|
{
|
还原器();
|
//_template.network.MapObjects.ForEach(o => o.Selected = true);
|
GlobalObject.map = old_map;
|
|
//GlobalObject.PropertyForm.SetWindows(old_fr);
|
}
|
MapViewer old_map;
|
Form old_fr;
|
|
}
|
}
|