namespace PBS.WinFrmUI.Hydro
|
{
|
public partial class QuickModelingPlaceWizardPage : DevExpress.XtraEditors.XtraUserControl, IWizardPageAsync<QuickModelingViewModel>
|
{
|
public QuickModelingPlaceWizardPage()
|
{
|
InitializeComponent();
|
this.layoutControl1.SetupLayoutControl();
|
this.mapSetSimpleMarkerContainer1.LoadCompletedEvent += MapSetSimpleMarkerContainer1_LoadCompletedEvent;
|
this.mapSetSimpleMarkerContainer1.SetMarkerEvent += MapSetSimpleMarkerContainer1_SetMarkerEvent;
|
|
}
|
|
/// <summary>
|
/// 状态改变事件
|
/// </summary>
|
public event Action PageStateChangedEvent;
|
|
private QuickModelingViewModel _vm = null;//操作对象
|
private bool _isCompleted = false;//是否创建完成
|
private bool _createResult = false;//创建结果
|
|
|
|
/// <summary>
|
/// 初始化页面
|
/// </summary>
|
public async void InitialPage(QuickModelingViewModel vm)
|
{
|
if (vm == null)
|
{
|
return;
|
}
|
_vm = vm;
|
_isCompleted = false;
|
_createResult = false;
|
|
//_createResult = await QuickModelingHelper.Create(vm, (msg, color) =>
|
// {
|
// var drawItem = new DrawItemViewModel
|
// {
|
// Text = msg,
|
// Color = color
|
// };
|
// this.listBoxControl1.Items.Add(drawItem);
|
// }, (max, current) =>
|
// {
|
// this.progressBarControl1.Properties.Maximum = max;
|
// this.progressBarControl1.Position = current;
|
// //替代方案
|
// // this.progressBarControl1.Properties.Step = current;
|
// // this.progressBarControl1.PerformStep();
|
// });
|
_isCompleted = true;
|
if (!_createResult)
|
{
|
//this.progressBarControl1.Position = 0;
|
//this.itemForProgress.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
|
}
|
this.PageStateChangedEvent?.Invoke();
|
}
|
|
|
//加载完成事件
|
private async void MapSetSimpleMarkerContainer1_LoadCompletedEvent()
|
{
|
if (_vm.Marker != null)
|
{
|
await this.mapSetSimpleMarkerContainer1.LoadMarker(_vm.Marker);
|
}
|
}
|
|
//设置
|
private void MapSetSimpleMarkerContainer1_SetMarkerEvent(Yw.Model.Map.Marker obj)
|
{
|
_vm.Marker = obj;
|
if (string.IsNullOrEmpty(this.txtAddress.Text.Trim()))
|
{
|
this.txtAddress.EditValue = obj.Address;
|
}
|
}
|
|
|
/// <summary>
|
/// 允许上一步
|
/// </summary>
|
public bool AllowPrev
|
{
|
get
|
{
|
if (!_isCompleted)
|
{
|
return false;
|
}
|
if (!_createResult)
|
{
|
return true;
|
}
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 允许下一步
|
/// </summary>
|
public bool AllowNext
|
{
|
get
|
{
|
if (_createResult)
|
{
|
return true;
|
}
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 允许取消
|
/// </summary>
|
public bool AllowCancel
|
{
|
get
|
{
|
if (!_createResult)
|
{
|
return true;
|
}
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 允许完成
|
/// </summary>
|
public bool AllowComplete
|
{
|
get
|
{
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 能否上一步
|
/// </summary>
|
/// <returns></returns>
|
public Task<bool> CanPrev()
|
{
|
return Task.Run(() => this.AllowPrev);
|
}
|
|
/// <summary>
|
/// 能否下一步
|
/// </summary>
|
public Task<bool> CanNext()
|
{
|
return Task.Run(() => this.AllowNext);
|
}
|
|
/// <summary>
|
/// 能否取消
|
/// </summary>
|
public Task<bool> CanCancel()
|
{
|
return Task.Run(() => this.AllowCancel);
|
}
|
|
/// <summary>
|
/// 能否完成
|
/// </summary>
|
public Task<bool> CanComplete()
|
{
|
return Task.Run(() => this.AllowComplete);
|
}
|
|
|
}
|
}
|