Exemple #1
0
        public static SavedTabGroupState FromXml(XElement child)
        {
            var savedState = new SavedTabGroupState();

            savedState.Index = (int)child.Attribute("index");

            foreach (var tab in child.Elements("Tab"))
            {
                savedState.Tabs.Add(SavedTabState.FromXml(tab));
            }

            return(savedState);
        }
Exemple #2
0
        public static SavedTabState FromXml(XElement child)
        {
            var savedState = new SavedTabState();

            savedState.Language = SessionSettings.Unescape((string)child.Attribute("language")) ?? "C#";

            foreach (var path in child.Elements("Path"))
            {
                savedState.Paths.Add(FullNodePathName.FromXml(path));
            }

            savedState.ActiveAutoLoadedAssemblies = new List <string>();
            var autoAsms = child.Element("ActiveAutoLoadedAssemblies");

            if (autoAsms != null)
            {
                savedState.ActiveAutoLoadedAssemblies.AddRange(autoAsms.Elements().Select(e => SessionSettings.Unescape((string)e)));
            }

            savedState.EditorPositionState = EditorPositionState.FromXml(child.Element("EditorPositionState"));

            return(savedState);
        }
Exemple #3
0
        public static SavedTabState FromXml(XElement child)
        {
            var savedState = new SavedTabState();

            savedState.Language = SessionSettings.Unescape((string)child.Attribute("language")) ?? "C#";

            foreach (var path in child.Elements("Path"))
                savedState.Paths.Add(FullNodePathName.FromXml(path));

            savedState.ActiveAutoLoadedAssemblies = new List<string>();
            var autoAsms = child.Element("ActiveAutoLoadedAssemblies");
            if (autoAsms != null)
                savedState.ActiveAutoLoadedAssemblies.AddRange(autoAsms.Elements().Select(e => SessionSettings.Unescape((string)e)));

            savedState.EditorPositionState = EditorPositionState.FromXml(child.Element("EditorPositionState"));

            return savedState;
        }
Exemple #4
0
		bool decompilerTextView_OnShowOutput(bool success, bool hasMovedCaret, DecompilerTextView textView, SavedTabState savedState)
		{
			if (!success)
				return false;

			if (IsValid(textView, savedState.EditorPositionState)) {
				textView.EditorPositionState = savedState.EditorPositionState;
				return true;
			}

			return false;
		}
Exemple #5
0
		TabStateDecompile CreateTabState(TabStateDecompile tabState, SavedTabState savedState, IList<ILSpyTreeNode> newNodes = null, bool decompile = true)
		{
			var nodes = new List<ILSpyTreeNode>(savedState.Paths.Count);
			if (newNodes != null)
				nodes.AddRange(newNodes);
			else {
				foreach (var asm in savedState.ActiveAutoLoadedAssemblies)
					this.assemblyList.OpenAssembly(asm, true);
				foreach (var path in savedState.Paths) {
					var node = assemblyListTreeNode.FindNodeByPath(path);
					if (node == null) {
						nodes = null;
						break;
					}
					nodes.Add(node);
				}
			}
			if (decompile) {
				if (nodes != null) {
					var tmpNodes = nodes.ToArray();
					var helper = new OnShowOutputHelper(tabState.TextView, (success, hasMovedCaret) => decompilerTextView_OnShowOutput(success, hasMovedCaret, tabState.TextView, savedState), tmpNodes);
					DecompileNodes(tabState, null, false, tabState.Language, tmpNodes);
				}
				else
					AboutPage.Display(tabState.TextView);
			}

			return tabState;
		}
Exemple #6
0
		TabStateDecompile CreateTabState(SavedTabState savedState, IList<ILSpyTreeNode> newNodes = null, bool decompile = true)
		{
			var tabState = CreateNewTabState(Languages.GetLanguage(savedState.Language));
			return CreateTabState(tabState, savedState, newNodes, decompile);
		}
Exemple #7
0
		static SavedTabState CreateSavedTabState(TabStateDecompile tabState)
		{
			var savedState = new SavedTabState();
			savedState.Language = tabState.Language.Name;
			savedState.Paths = new List<FullNodePathName>();
			savedState.ActiveAutoLoadedAssemblies = new List<string>();
			foreach (var node in tabState.DecompiledNodes) {
				savedState.Paths.Add(node.CreateFullNodePathName());
				var autoAsm = GetAutoLoadedAssemblyNode(node);
				if (!string.IsNullOrEmpty(autoAsm))
					savedState.ActiveAutoLoadedAssemblies.Add(autoAsm);
			}
			savedState.EditorPositionState = tabState.TextView.EditorPositionState;
			return savedState;
		}