using DevExpress.Utils.Extensions;
|
using Hydro;
|
using System.Data;
|
|
namespace PBS.WinFrmUI.Hydro
|
{
|
public partial class TemplateChoice : DevExpress.XtraEditors.XtraForm
|
{
|
public TemplateChoice()
|
{
|
InitializeComponent();
|
}
|
|
|
private List<Vmo.ModelTemplateVmo> modelTemplates = new List<Vmo.ModelTemplateVmo>();
|
|
public Vmo.ModelTemplateVmo modelTemplate;
|
private MapViewer map;
|
|
private async void InitTreeList()
|
{
|
var data =await BLLFactory<BLL.ModelTemplate>.Instance.GetAll();
|
|
modelTemplates = data;
|
var ds = new List<Vmo.ModelTemplateVmo>();
|
|
//TemplateType selectedType = (TemplateType)combobox_type.SelectedItem;
|
ds = modelTemplates?.ToList();
|
|
this.treeList1.DataSource = ds;
|
//this.modelTemplates = data;
|
//this.treeList1.DataSource = modelTemplates;
|
|
this.treeList1.RefreshDataSource();
|
}
|
|
private async void InitProGrid()
|
{
|
var id = long.Parse(this.treeList1.FocusedNode.GetValue("ID").ToString());
|
if (id > 0)
|
{
|
var model = await BLLFactory<BLL.ModelTemplate>.Instance.GetByID(id);
|
modelTemplate = model;
|
var selectedTemplate = JsonHelper.Json2Object<Template>(model.ModelInfo);
|
propertyGrid1.SelectedObject = string.IsNullOrEmpty(model.ModelInfo) ? ModelConvertToTemplate(model) : selectedTemplate;
|
|
}
|
}
|
|
private Template ModelConvertToTemplate(Vmo.ModelTemplateVmo model)
|
{
|
return Yw.JsonHelper.Json2Object<Template>(model.ModelInfo);
|
}
|
|
private Template _selectTemp { get; set; }
|
private void TemplateChoice_Load(object sender, EventArgs e)
|
{
|
map = new MapViewer();
|
map.Lock2DView = true;
|
map.Location = new System.Drawing.Point(0, 0);
|
map.Dock = DockStyle.Fill;
|
|
panelControl1.AddControl(map);
|
|
this.treeList1.Columns.Add(new DevExpress.XtraTreeList.Columns.TreeListColumn { FieldName = "Name", Caption = "所有模板", Width = 170, VisibleIndex = 0 });
|
InitTreeList();
|
}
|
private void SetMapData()
|
{
|
// 获取当前选中的模板
|
_selectTemp = propertyGrid1.SelectedObject as Template;
|
|
if (_selectTemp != null)
|
{
|
var temp = _selectTemp;
|
string filePath = getTempInpPath(temp);
|
temp.network = new MapViewNetWork();
|
temp.network.BuildFromInp(Path.Combine(Directory.GetCurrentDirectory(), filePath));
|
map.SetData(temp);
|
}
|
}
|
|
private string getTempInpPath(Template temp)
|
{
|
return temp.FullPath;
|
}
|
private void treeList1_AfterFocusNode(object sender, DevExpress.XtraTreeList.NodeEventArgs e)
|
{
|
InitProGrid();
|
SetMapData();
|
}
|
|
private void combobox_type_SelectedIndexChanged_1(object sender, EventArgs e)
|
{
|
InitTreeList();
|
}
|
|
private void simpleBtnok_Click(object sender, EventArgs e)
|
{
|
DialogResult = DialogResult.OK;
|
this.Hide();
|
}
|
|
private void simpleButton2_Click(object sender, EventArgs e)
|
{
|
this.Hide();
|
}
|
}
|
}
|