using DevExpress.XtraLayout.Utils;
namespace HStation.WinFrmUI
{
public partial class ImportXhsProjectDlg : DevExpress.XtraEditors.XtraForm
{
public ImportXhsProjectDlg()
{
InitializeComponent();
this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
}
private ImportXhsProjectViewModel _vm = null;
private ImportXhsProjectManager _wizard;
///
///
///
public ImportXhsProjectViewModel ViewModel
{
get { return _vm; }
}
///
/// 绑定数据
///
public void SetBindingData()
{
_vm = new ImportXhsProjectViewModel();
_wizard = new ImportXhsProjectManager(_vm);
_wizard.SelectedPageChangedEvent += _wizard_SelectedPageChangedEvent;
_wizard.SelectedPageStateChangedEvent += _wizard_SelectedPageStateChangedEvent; ;
_wizard.InitialManager(new IWizardPage[] {
this.inputXhsProjectInfoWizardPage,
this.setXhsProjectMapLocationWizardPage,
this.generateXhsProjectWizardPage,
this.projectResultShowPanel1
});
}
///
/// 绑定数据
///
public void SetBindingData(XhsProjectExtensionsVmo project, Yw.Vmo.MapInfoVmo mapInfo, Yw.Vmo.BimfaceFileVmo bimfaceFile)
{
_vm = new ImportXhsProjectViewModel(project, mapInfo, bimfaceFile);
_wizard = new ImportXhsProjectManager(_vm);
_wizard.SelectedPageChangedEvent += _wizard_SelectedPageChangedEvent;
_wizard.SelectedPageStateChangedEvent += _wizard_SelectedPageStateChangedEvent; ;
_wizard.InitialManager(new IWizardPage[] {
this.inputXhsProjectInfoWizardPage,
this.setXhsProjectMapLocationWizardPage,
this.generateXhsProjectWizardPage,
this.projectResultShowPanel1
});
}
//选择页面改变
private void _wizard_SelectedPageChangedEvent(IWizardPage page, int index)
{
this.itemForPrev.Visibility = page.AllowPrev ? LayoutVisibility.Always : LayoutVisibility.Never;
this.itemForNext.Visibility = page.AllowNext ? LayoutVisibility.Always : LayoutVisibility.Never;
this.itemForCancel.Visibility = page.AllowCancel ? LayoutVisibility.Always : LayoutVisibility.Never;
this.itemForComplete.Visibility = page.AllowComplete ? LayoutVisibility.Always : LayoutVisibility.Never;
this.navigationFrame1.SelectedPageIndex = index;
this.stepProgressBar1.SelectedItemIndex = index;
}
//选择页面状态改变
private void _wizard_SelectedPageStateChangedEvent(IWizardPage page, int index)
{
this.itemForPrev.Visibility = page.AllowPrev ? LayoutVisibility.Always : LayoutVisibility.Never;
this.itemForNext.Visibility = page.AllowNext ? LayoutVisibility.Always : LayoutVisibility.Never;
this.itemForCancel.Visibility = page.AllowCancel ? LayoutVisibility.Always : LayoutVisibility.Never;
this.itemForComplete.Visibility = page.AllowComplete ? LayoutVisibility.Always : LayoutVisibility.Never;
}
//上一步
private void btnPrev_Click(object sender, EventArgs e)
{
if (_wizard != null)
{
_wizard.Prev();
}
}
//下一步
private void btnNext_Click(object sender, EventArgs e)
{
if (_wizard != null)
{
_wizard.Next();
}
}
//取消
private void btnCancel_Click(object sender, EventArgs e)
{
if (_wizard != null)
{
var bol = _wizard.Cancel();
if (bol)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
}
}
//完成
private void btnComplete_Click(object sender, EventArgs e)
{
if (_wizard != null)
{
var bol = _wizard.Complete();
if (bol)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
}
}
//正在关闭
private void ImportXhsProjectDlg_FormClosing(object sender, FormClosingEventArgs e)
{
if (_wizard != null)
{
if (this.DialogResult == DialogResult.OK)
{
/* if (!_wizard.Complete())
{
e.Cancel = true;
}*/
}
else if (this.DialogResult == DialogResult.Cancel)
{
if (!_wizard.Cancel())
{
e.Cancel = true;
}
}
else
{
e.Cancel = true;
}
}
}
}
}