示例#1
0
    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;
    }
示例#2
0
 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;
 }
示例#3
0
 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);
 }
示例#4
0
        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);
        }
示例#5
0
 private void button_cancel_Click(object sender, EventArgs e)
 {
     resp = SectionResponseEnum.Cancel;
     Close();
 }
示例#6
0
 private void button_next_Click(object sender, EventArgs e)
 {
     resp = SectionResponseEnum.Next;
     this.Close();
 }
示例#7
0
 private void button_back_Click(object sender, EventArgs e)
 {
     resp = SectionResponseEnum.Back;
     this.Close();
 }
示例#8
0
 private void button_cancel_Click(object sender, EventArgs e)
 {
   resp = SectionResponseEnum.Cancel;
   Close();
 }
示例#9
0
 private void button_next_Click(object sender, EventArgs e)
 {
   resp = SectionResponseEnum.Next;
   this.Close();
 }
示例#10
0
 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;
 }
示例#13
0
 public WizardNavigator(PackageClass pak)
 {
   Package = pak;
   Package.UnInstallInfo.SetInfo(Package);
   Response = SectionResponseEnum.Error;
 }