示例#1
0
        public static LayoutConfiguration CreateCustom(string name)
        {
            LayoutConfiguration l = new LayoutConfiguration();

            l.name     = name;
            l.fileName = Path.GetRandomFileName() + ".xml";
            File.Copy(Path.Combine(Path.Combine(PropertyService.DataDirectory, DataLayoutSubPath), "Default.xml"),
                      Path.Combine(Path.Combine(PropertyService.ConfigDirectory, "layouts"), l.fileName));
            l.custom = true;
            Layouts.Add(l);
            return(l);
        }
示例#2
0
        public static void InitializeWorkbench(IWorkbench workbench, IWorkbenchLayout layout)
        {
            WorkbenchSingleton.workbench = workbench;

            //DisplayBindingService.InitializeService();
            LayoutConfiguration.LoadLayoutConfiguration();
            //FileService.InitializeService();
            StatusBarService.Initialize();
            //DomHostCallback.Register(); // must be called after StatusBarService.Initialize()
            ParserService.InitializeParserService();
            //Bookmarks.BookmarkManager.Initialize();
            //Project.CustomToolsService.Initialize();
            //Project.BuildModifiedProjectsOnlyService.Initialize();

            workbench.Initialize();
            workbench.SetMemento(PropertyService.Get(workbenchMemento, new Core.Properties()));

            caller = new STAThreadCaller(workbench.MainForm);
            WinFormsMessageService.DialogOwner             = workbench.MainForm;
            WinFormsMessageService.DialogSynchronizeInvoke = workbench.MainForm;

            //RemoveXButton(WorkbenchSingleton.MainForm.Handle.ToInt32());
            PropertyService.PropertyChanged += new PropertyChangedEventHandler(TrackPropertyChanges);
            ResourceService.LanguageChanged += delegate { workbench.RedrawAllComponents(); };

            ApplicationStateInfoService.RegisterStateGetter(activeContentState, delegate { return(WorkbenchSingleton.Workbench.ActiveContent); });

            // attach workbench layout -> load pads
            workbench.WorkbenchLayout = layout;

            OnWorkbenchCreated();

            // initialize workbench-dependent services:
//            Project.ProjectService.InitializeService();
            NavigationService.InitializeService();

            workbench.ActiveContentChanged += delegate
            {
                LoggingService.Debug("ActiveContentChanged to " + workbench.ActiveContent);
            };
            workbench.ActiveViewContentChanged += delegate
            {
                LoggingService.Debug("ActiveViewContentChanged to " + workbench.ActiveViewContent);
            };
            workbench.ActiveWorkbenchWindowChanged += delegate
            {
                LoggingService.Debug("ActiveWorkbenchWindowChanged to " + workbench.ActiveWorkbenchWindow);
            };
        }
示例#3
0
 public void StoreConfiguration()
 {
     try
     {
         if (dockPanel != null)
         {
             LayoutConfiguration current = LayoutConfiguration.CurrentLayout;
             if (current != null && !current.ReadOnly)
             {
                 string configPath = Path.Combine(PropertyService.ConfigDirectory, "layouts");
                 if (!Directory.Exists(configPath))
                 {
                     Directory.CreateDirectory(configPath);
                 }
                 dockPanel.SaveAsXml(Path.Combine(configPath, current.FileName), System.Text.Encoding.UTF8);
             }
         }
     }
     catch (Exception e)
     {
         MessageService.ShowError(e);
     }
 }