public SectionResponseEnum Navigate() { int pos = 0; while (pos < Package.Sections.Items.Count) { SectionItem currentItem = Package.Sections.Items[pos]; if (!string.IsNullOrEmpty(currentItem.ConditionGroup)) { if (!Package.Groups[currentItem.ConditionGroup].Checked) { pos++; continue; } } Response = MpeInstaller.SectionPanels[currentItem.PanelName].Execute(Package, currentItem); switch (Response) { case SectionResponseEnum.Back: pos = stack.Pop(); break; case SectionResponseEnum.Next: stack.Push(pos); pos++; break; case SectionResponseEnum.Cancel: if ( MessageBox.Show( "Are you sure you want to abort setup of " + Package.GeneralInfo.Name + " - " + Package.GeneralInfo.Version + " ? ", "Install extension", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) != DialogResult.Yes) continue; bool sil = Package.Silent; Package.Silent = true; Package.UnInstall(); Package.Silent = sil; return SectionResponseEnum.Cancel; case SectionResponseEnum.Ok: break; case SectionResponseEnum.Error: //if (!Package.Silent) // MessageBox.Show("Error on installation. Installation aborted !"); bool sil_ = Package.Silent; Package.Silent = true; Package.UnInstall(); Package.Silent = sil_; return SectionResponseEnum.Error; } if (Response != SectionResponseEnum.Back && Response != SectionResponseEnum.Next) { break; } } return SectionResponseEnum.Ok; }
public SectionResponseEnum Execute(PackageClass packageClass, SectionItem sectionItem) { Section = sectionItem; _packageClass = packageClass; SetValues(); Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.BeforPanelShow); Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.AfterPanelShow); Mode = ShowModeEnum.Real; if (!packageClass.Silent) ShowDialog(); else resp = SectionResponseEnum.Next; Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.AfterPanelHide); return resp; }
public SectionResponseEnum Execute(PackageClass packageClass, SectionItem sectionItem) { Section = sectionItem; _packageClass = packageClass; SetValues(); Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.BeforPanelShow); Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.AfterPanelShow); Mode = ShowModeEnum.Real; if (!packageClass.Silent) { ShowDialog(); } else { resp = SectionResponseEnum.Next; } Base.ActionExecute(_packageClass, Section, ActionExecuteLocationEnum.AfterPanelHide); return(resp); }
public static SectionResponseEnum ActionExecute(PackageClass packageClass, SectionItem sectionItem, ActionExecuteLocationEnum locationEnum) { SectionResponseEnum responseEnum = SectionResponseEnum.Ok; foreach (ActionItem list in sectionItem.Actions.Items) { if (list.ExecuteLocation != locationEnum) { continue; } if (!string.IsNullOrEmpty(list.ConditionGroup) && !packageClass.Groups[list.ConditionGroup].Checked) { continue; } responseEnum = MpeInstaller.ActionProviders[list.ActionType].Execute(packageClass, list); if (responseEnum != SectionResponseEnum.Ok) { break; } } return(responseEnum); }
private void button_cancel_Click(object sender, EventArgs e) { resp = SectionResponseEnum.Cancel; Close(); }
private void button_next_Click(object sender, EventArgs e) { resp = SectionResponseEnum.Next; this.Close(); }
private void button_back_Click(object sender, EventArgs e) { resp = SectionResponseEnum.Back; this.Close(); }
public SectionResponseEnum Navigate() { int pos = 0; while (pos < Package.Sections.Items.Count) { SectionItem currentItem = Package.Sections.Items[pos]; if (!string.IsNullOrEmpty(currentItem.ConditionGroup)) { if (!Package.Groups[currentItem.ConditionGroup].Checked) { pos++; continue; } } Response = MpeInstaller.SectionPanels[currentItem.PanelName].Execute(Package, currentItem); switch (Response) { case SectionResponseEnum.Back: pos = stack.Pop(); break; case SectionResponseEnum.Next: stack.Push(pos); pos++; break; case SectionResponseEnum.Cancel: if ( MessageBox.Show( "Are you sure you want to abort setup of " + Package.GeneralInfo.Name + " - " + Package.GeneralInfo.Version + " ? ", "Install extension", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) != DialogResult.Yes) { continue; } bool sil = Package.Silent; Package.Silent = true; Package.UnInstall(); Package.Silent = sil; return(SectionResponseEnum.Cancel); case SectionResponseEnum.Ok: break; case SectionResponseEnum.Error: //if (!Package.Silent) // MessageBox.Show("Error on installation. Installation aborted !"); bool sil_ = Package.Silent; Package.Silent = true; Package.UnInstall(); Package.Silent = sil_; return(SectionResponseEnum.Error); } if (Response != SectionResponseEnum.Back && Response != SectionResponseEnum.Next) { break; } } return(SectionResponseEnum.Ok); }
public WizardNavigator(PackageClass pak) { Package = pak; Package.UnInstallInfo.SetInfo(Package); Response = SectionResponseEnum.Error; }