Exemple #1
0
        public static SerializedTab TryCreate(IFileTabContentFactoryManager fileTabContentFactoryManager, IFileTab tab)
        {
            var contentSect = new SettingsSection(CONTENT_SECTION);
            var guid        = fileTabContentFactoryManager.Serialize(tab.Content, contentSect);

            if (guid == null)
            {
                return(null);
            }
            contentSect.Attribute(CONTENT_GUID_ATTR, guid.Value);

            var uiSect = new SettingsSection(UI_SECTION);

            tab.UIContext.SaveSerialized(uiSect, tab.UIContext.Serialize());

            var tabUISect = new SettingsSection(TAB_UI_SECTION);

            tab.SerializeUI(tabUISect);

            var paths = new List <SerializedPath>();

            foreach (var node in tab.Content.Nodes)
            {
                paths.Add(SerializedPath.Create(node));
            }

            var autoLoadedFiles = new List <DnSpyFileInfo>();

            foreach (var f in GetAutoLoadedFiles(tab.Content.Nodes))
            {
                autoLoadedFiles.Add(f);
            }

            return(new SerializedTab(contentSect, tabUISect, uiSect, paths, autoLoadedFiles));
        }
Exemple #2
0
        public static SerializedTab TryCreate(IDocumentTabContentFactoryService documentTabContentFactoryService, IDocumentTab tab)
        {
            var contentSect = new SettingsSection(CONTENT_SECTION);
            var guid        = documentTabContentFactoryService.Serialize(tab.Content, contentSect);

            if (guid == null)
            {
                return(null);
            }
            contentSect.Attribute(CONTENT_GUID_ATTR, guid.Value);

            var uiSect = new SettingsSection(UI_SECTION);

            tab.UIContext.SerializeUIState(uiSect, tab.UIContext.CreateUIState());

            var tabUISect = new SettingsSection(TAB_UI_SECTION);

            tab.SerializeUI(tabUISect);

            var paths = new List <SerializedPath>();

            foreach (var node in tab.Content.Nodes)
            {
                paths.Add(SerializedPath.Create(node));
            }

            var autoLoadedDocuments = new List <DsDocumentInfo>();

            foreach (var f in GetAutoLoadedDocuments(tab.Content.Nodes))
            {
                autoLoadedDocuments.Add(f);
            }

            return(new SerializedTab(contentSect, tabUISect, uiSect, paths, autoLoadedDocuments));
        }
Exemple #3
0
		public static SerializedTab TryCreate(IDocumentTabContentFactoryService documentTabContentFactoryService, IDocumentTab tab) {
			var contentSect = new SettingsSection(CONTENT_SECTION);
			var guid = documentTabContentFactoryService.Serialize(tab.Content, contentSect);
			if (guid == null)
				return null;
			contentSect.Attribute(CONTENT_GUID_ATTR, guid.Value);

			var uiSect = new SettingsSection(UI_SECTION);
			tab.UIContext.SerializeUIState(uiSect, tab.UIContext.CreateUIState());

			var tabUISect = new SettingsSection(TAB_UI_SECTION);
			tab.SerializeUI(tabUISect);

			var paths = new List<SerializedPath>();
			foreach (var node in tab.Content.Nodes)
				paths.Add(SerializedPath.Create(node));

			var autoLoadedDocuments = new List<DsDocumentInfo>();
			foreach (var f in GetAutoLoadedDocuments(tab.Content.Nodes))
				autoLoadedDocuments.Add(f);

			return new SerializedTab(contentSect, tabUISect, uiSect, paths, autoLoadedDocuments);
		}
Exemple #4
0
        public static SerializedTab TryCreate(IFileTabContentFactoryManager creator, IFileTab tab)
        {
            var contentSect = new SettingsSection(CONTENT_SECTION);
            var guid = creator.Serialize(tab.Content, contentSect);
            if (guid == null)
                return null;
            contentSect.Attribute(CONTENT_GUID_ATTR, guid.Value);

            var uiSect = new SettingsSection(UI_SECTION);
            tab.UIContext.SaveSerialized(uiSect, tab.UIContext.Serialize());

            var tabUISect = new SettingsSection(TAB_UI_SECTION);
            tab.SerializeUI(tabUISect);

            var paths = new List<SerializedPath>();
            foreach (var node in tab.Content.Nodes)
                paths.Add(SerializedPath.Create(node));

            var autoLoadedFiles = new List<DnSpyFileInfo>();
            foreach (var f in GetAutoLoadedFiles(tab.Content.Nodes))
                autoLoadedFiles.Add(f);

            return new SerializedTab(contentSect, tabUISect, uiSect, paths, autoLoadedFiles);
        }