Пример #1
0
        internal PluginManager(
            ToolStripMenuItem toolmenu,
            ToolStrip tootoolbar,
            TD.SandDock.TabControl dc,
            LoadedPackage lp,
            SteepValley.Windows.Forms.ThemedControls.XPTaskBox defaultactiontaskbox,
            ContextMenuStrip defaultactionmenu,
            SteepValley.Windows.Forms.ThemedControls.XPTaskBox toolactiontaskbox,
            SteepValley.Windows.Forms.ThemedControls.XPTaskBox extactiontaskbox,
            ToolStrip actiontoolbar,
            Ambertation.Windows.Forms.DockContainer docktooldc,
            ToolStripMenuItem helpmenu,
            SimPe.Windows.Forms.ResourceListViewExt lv
            ) : base(true)
        {
            Splash.Screen.SetMessage("Loading Type Registry");
            SimPe.PackedFiles.TypeRegistry tr = new SimPe.PackedFiles.TypeRegistry();

            FileTable.ProviderRegistry    = tr;
            FileTable.ToolRegistry        = tr;
            FileTable.WrapperRegistry     = tr;
            FileTable.CommandLineRegistry = tr;
            FileTable.HelpTopicRegistry   = tr;
            FileTable.SettingsRegistry    = tr;

            wloader = new LoadFileWrappersExt();

            this.LoadDynamicWrappers();
            this.LoadStaticWrappers();
            this.LoadMenuItems(toolmenu, tootoolbar);

            Splash.Screen.SetMessage("Loading Listeners");
            wloader.AddListeners(ref ChangedGuiResourceEvent);
            //dc.ActiveDocumentChanged += new TD.SandDock.ActiveDocumentEventHandler(wloader.ActiveDocumentChanged);
            //lp.AfterFileLoad += new SimPe.Events.PackageFileLoadedEvent(wloader.ChangedPackage);


            Splash.Screen.SetMessage("Loading Default Actions");
            LoadActionTools(defaultactiontaskbox, actiontoolbar, defaultactionmenu, GetDefaultActions(lv));
            Splash.Screen.SetMessage("Loading External Tools");
            LoadActionTools(toolactiontaskbox, actiontoolbar, defaultactionmenu, LoadExternalTools());
            Splash.Screen.SetMessage("Loading Default Tools");
            LoadActionTools(extactiontaskbox, actiontoolbar, null, null);

            Splash.Screen.SetMessage("Loading Docks");
            LoadDocks(docktooldc, lp);
            Splash.Screen.SetMessage("Loading Help Topics");
            lht = new LoadHelpTopics(helpmenu);

            Splash.Screen.SetMessage("Loaded Help Topics");
        }
Пример #2
0
        void LoadDocks(Ambertation.Windows.Forms.DockContainer dc, LoadedPackage lp)
        {
            foreach (SimPe.Interfaces.IDockableTool idt in FileTable.ToolRegistry.Docks)
            {
                Ambertation.Windows.Forms.DockPanel dctrl = idt.GetDockableControl();


                if (dctrl != null)
                {
                    dctrl.Name    = "dc." + idt.GetType().Namespace + "." + idt.GetType().Name;
                    dctrl.Manager = dc.Manager;
                    dc.Controls.Add(dctrl);
                    //dctrl.DockNextTo(dc);

                    ChangedGuiResourceEvent += new SimPe.Events.ChangedResourceEvent(idt.RefreshDock);
                    dctrl.Tag = idt.Shortcut;
                    idt.RefreshDock(this, new SimPe.Events.ResourceEventArgs(lp));
                }
            }
        }