using DevExpress.XtraEditors;
using DevExpress.XtraLayout.Utils;
using HStation.WinFrmUI.Xhs;
using HStation.WinFrmUI.Xhs.Core.Properties;
namespace HStation.WinFrmUI
{
public partial class ImportXhsProjectDlg : DevExpress.XtraEditors.XtraForm
{
public ImportXhsProjectDlg()
{
InitializeComponent();
}
private readonly ImportXhsProjectViewModel _vm = new();
private ImportXhsProjectManager _wizard;
private static bool IsAddItem = true;
///
///
///
public ImportXhsProjectViewModel ViewModel
{
get { return _vm; }
}
///
///
///
public void SetBindingData()
{
_wizard = new ImportXhsProjectManager(_vm);
_wizard.SelectedPageChangedEvent += _wizard_SelectedPageChangedEvent;
_wizard.SelectedPageStateChangedEvent += _wizard_SelectedPageStateChangedEvent; ;
// InputXhsProjectInfoWizardPage.AutoAddItem += AutoAddItem;
// InputXhsProjectInfoWizardPage.DeleteItem += DeleteItem;
_wizard.InitialManager(new IWizardPage[] {
this.inputXhsProjectInfoWizardPage,
this.setXhsProjectMapLocationWizardPage,
this.generateXhsProjectWizardPage,
this.importXhsProjectCompletedCtrl1
});
AutoAddItem();
}
//增加导航条item
private void AutoAddItem()
{
if (stepProgressBar1.Items.Count >= 5)
{
for (int i = 0; i < 3; i++)
{
stepProgressBar1.Items.RemoveAt(2);
}
}
StepProgressBarItem stepPbInputProjectInfo = new StepProgressBarItem();
stepPbInputProjectInfo.ContentBlock1.ActiveStateImageOptions.SvgImage = DevExpress.Images.ImageResourceCache.Default.GetSvgImageById("productquickshippments");
stepPbInputProjectInfo.ContentBlock1.InactiveStateImageOptions.SvgImage = DevExpress.Images.ImageResourceCache.Default.GetSvgImageById("productquickshippments");
stepPbInputProjectInfo.ContentBlock2.Caption = "自动生成项目";
/* StepProgressBarItem stepPbImportComleted = new StepProgressBarItem();
stepPbImportComleted.ContentBlock2.Caption = "项目导入完成";
stepPbImportComleted.ContentBlock1.ActiveStateImageOptions.SvgImage = DevExpress.Images.ImageResourceCache.Default.GetSvgImageById("check");
stepPbImportComleted.ContentBlock1.InactiveStateImageOptions.SvgImage = DevExpress.Images.ImageResourceCache.Default.GetSvgImageById("check");
*/
StepProgressBarItem stepGenerateProject = new StepProgressBarItem();
stepGenerateProject.ContentBlock1.ActiveStateImageOptions.SvgImage = DevExpress.Images.ImageResourceCache.Default.GetSvgImageById("showallfieldresults");
stepGenerateProject.ContentBlock1.InactiveStateImageOptions.SvgImage = DevExpress.Images.ImageResourceCache.Default.GetSvgImageById("showallfieldresults");
stepGenerateProject.ContentBlock2.Caption = "项目展示结果";
this.stepProgressBar1.Items.Add(stepPbInputProjectInfo);
this.stepProgressBar1.Items.Add(stepGenerateProject);
}
//删除导航条item
private void DeleteItem()
{
if (stepProgressBar1.Items.Count >= 5)
{
for (int i = 0; i < 3; i++)
{
stepProgressBar1.Items.RemoveAt(2);
}
}
}
//选择页面改变
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;
}
}
}
}
}