Ejemplo n.º 1
0
        static private OptionsPaneWizardAdapter CreatePane(string fullHeader)
        {
            Pair pair  = (Pair)_registeredPanes[fullHeader];
            int  order = (int)pair.First;
            OptionsPaneCreator creator      = (OptionsPaneCreator)pair.Second;
            string             parentHeader = string.Empty;
            string             header       = fullHeader;
            int index = fullHeader.LastIndexOf('/');

            if (index > 0)
            {
                parentHeader = fullHeader.Substring(0, index);
                header       = fullHeader.Substring(index + 1);
            }
            OptionsPaneWizardAdapter pane = new OptionsPaneWizardAdapter(header, creator);

            pane.IsStartupPane = true;
            if (parentHeader.Length == 0)
            {
                _activeWizard.RegisterPane(order, pane);
            }
            else
            {
                OptionsPaneWizardAdapter parentPane = (OptionsPaneWizardAdapter)_activePanes[parentHeader];
                if (parentPane == null)
                {
                    parentPane = CreatePane(parentHeader);
                }
                parentPane.RegisterPane(order, pane);
            }
            _activePanes[fullHeader] = pane;
            return(pane);
        }
Ejemplo n.º 2
0
        private void _importFrom_itemChecked(object sender, ItemCheckEventArgs e)
        {
            string        name     = _importersNames[e.Index];
            IFeedImporter importer = (IFeedImporter)_manager.Importers[name];

            _manager.SelectImporter(_importersNames[e.Index], e.NewValue == CheckState.Checked);
            if (importer.HasSettings)
            {
                string paneName = ImportManager.ImportPaneName + "/" + name;
                if (e.CurrentValue != CheckState.Checked && e.NewValue == CheckState.Checked)
                {
                    if (_manager.Wizard != null)
                    {
                        _subPanes[name] = new OptionsPaneWizardAdapter(name, importer.GetSettingsPaneCreator());
                        _manager.Wizard.CurrentPane.RegisterPane(e.Index + 1, (AbstractWizardPane)_subPanes[name]);
                    }
                    else
                    {
                        Core.UIManager.RegisterWizardPane(paneName, importer.GetSettingsPaneCreator(), e.Index);
                    }
                }
                else if (e.CurrentValue == CheckState.Checked && e.NewValue != CheckState.Checked)
                {
                    if (_manager.Wizard != null)
                    {
                        _manager.Wizard.CurrentPane.DeregisterPane((AbstractWizardPane)_subPanes[name]);
                    }
                    else
                    {
                        Core.UIManager.DeRegisterWizardPane(paneName);
                    }
                }
            }
            if (_manager.ImportPossible != _chkPreview.Enabled)
            {
                _chkPreview.Enabled = _manager.ImportPossible;
                AddPreviewPane(_chkPreview.Enabled && _chkPreview.Checked);
            }
        }
Ejemplo n.º 3
0
 static public void DeRegisterWizardPane(string header)
 {
     if (!_registeredPanes.Contains(header))
     {
         throw new InvalidOperationException(
                   "Startup Wizard Pane '" + header + "' was not registered.");
     }
     if (_activeWizard != null)
     {
         OptionsPaneWizardAdapter pane = (OptionsPaneWizardAdapter)_activePanes[header];
         if (pane.Parent != null)
         {
             pane.Parent.DeregisterPane(pane);
         }
         else
         {
             _activeWizard.DeregisterPane(pane);
         }
         _activePanes.Remove(header);
     }
     _registeredPanes.Remove(header);
 }