Beispiel #1
0
 public void TrySetFocus()
 {
     if (IsActiveTab)
     {
         FileTabManager.SetFocus(this);
     }
 }
Beispiel #2
0
        public IEnumerable <object> Restore(FileTabManager fileTabManager, IFileTabContentFactoryManager fileTabContentFactoryManager, ITabGroupManager mgr)
        {
            mgr.IsHorizontal = IsHorizontal;
            for (int i = 0; i < TabGroups.Count; i++)
            {
                var stg = TabGroups[i];
                var g   = i == 0 ? mgr.ActiveTabGroup ?? mgr.Create() : mgr.Create();
                yield return(null);

                foreach (var o in stg.Restore(fileTabManager, fileTabContentFactoryManager, g))
                {
                    yield return(o);
                }
            }

            if (StackedContentState != null)
            {
                ((TabGroupManager)mgr).StackedContentState = StackedContentState;
            }

            var ary = mgr.TabGroups.ToArray();

            if ((uint)Index < (uint)ary.Length)
            {
                mgr.ActiveTabGroup = ary[Index];
            }
            yield return(null);
        }
Beispiel #3
0
        public void FollowReferenceNewTab(object @ref, Action <ShowTabContentEventArgs> onShown)
        {
            var tab = FileTabManager.OpenEmptyTab();

            tab.FollowReference(@ref, Content, onShown);
            FileTabManager.SetFocus(tab);
        }
Beispiel #4
0
 public ReloadAllHelper(FileTabManager fileTabManager)
 {
     this.fileTabManager = fileTabManager;
     this.originalFiles  = new HashSet <IDnSpyFile>(fileTabManager.FileTreeView.FileManager.GetFiles(), new DnSpyFileComparer());
     this.old_disable_FileCollectionChanged       = fileTabManager.disable_FileCollectionChanged;
     fileTabManager.disable_FileCollectionChanged = true;
 }
Beispiel #5
0
 FileListLoader(IAppWindow appWindow, FileListManager fileListManager, FileTabManager fileTabManager, FileTabSerializer fileTabSerializer, [ImportMany] IEnumerable <Lazy <IFileListListener, IFileListListenerMetadata> > mefListeners)
 {
     this.fileListManager        = fileListManager;
     this.fileTabManager         = fileTabManager;
     this.fileTabSerializer      = fileTabSerializer;
     this.listeners              = mefListeners.OrderBy(a => a.Metadata.Order).ToArray();
     appWindow.MainWindowClosed += AppWindow_MainWindowClosed;
 }
Beispiel #6
0
		public IEnumerable<object> Restore(FileTabManager fileTabManager, IFileTabContentFactoryManager creator, ITabGroup g) {
			foreach (var st in Tabs) {
				foreach (var o in st.TryRestore(fileTabManager, creator, g))
					yield return o;
			}
			var ary = g.TabContents.ToArray();
			if ((uint)Index < (uint)ary.Length)
				g.ActiveTabContent = ary[Index];
			yield return null;
		}
Beispiel #7
0
 public TabContentImpl(FileTabManager fileTabManager, IFileTabUIContextLocator fileTabUIContextLocator, Lazy <IReferenceFileTabContentCreator, IReferenceFileTabContentCreatorMetadata>[] refFactories)
 {
     this.elementScaler = new TabElementScaler();
     this.tabHistory    = new TabHistory();
     this.tabHistory.SetCurrent(new NullFileTabContent(), false);
     this.fileTabManager          = fileTabManager;
     this.fileTabUIContextLocator = fileTabUIContextLocator;
     this.refFactories            = refFactories;
     this.uiContext = new NullFileTabUIContext();
     this.uiObject  = this.uiContext.UIObject;
 }
Beispiel #8
0
 public TabContentImpl(FileTabManager fileTabManager, IFileTabUIContextLocator fileTabUIContextLocator, Lazy <IReferenceFileTabContentProvider, IReferenceFileTabContentProviderMetadata>[] referenceFileTabContentProviders, Lazy <IDefaultFileTabContentProvider, IDefaultFileTabContentProviderMetadata>[] defaultFileTabContentProviders)
 {
     this.elementScaler = new TabElementScaler();
     this.tabHistory    = new TabHistory();
     this.tabHistory.SetCurrent(new NullFileTabContent(), false);
     this.fileTabManager                   = fileTabManager;
     this.fileTabUIContextLocator          = fileTabUIContextLocator;
     this.referenceFileTabContentProviders = referenceFileTabContentProviders;
     this.defaultFileTabContentProviders   = defaultFileTabContentProviders;
     this.uiContext = new NullFileTabUIContext();
     this.uiObject  = this.uiContext.UIObject;
 }
Beispiel #9
0
		public IEnumerable<object> TryRestore(FileTabManager fileTabManager, IFileTabContentFactoryManager creator, ITabGroup g) {
			var guid = Content.Attribute<Guid?>(CONTENT_GUID_ATTR);
			if (guid == null)
				yield break;
			var ctx = new GetNodesContext();
			foreach (var o in GetNodes(ctx, fileTabManager.FileTreeView))
				yield return o;
			if (ctx.Nodes == null)
				yield break;
			var tabContent = creator.Deserialize(guid.Value, Content, ctx.Nodes);
			yield return null;
			if (tabContent == null)
				yield break;
			fileTabManager.Add(g, tabContent, null, a => {
				if (a.Success) {
					var uiContext = tabContent.FileTab.UIContext;
					tabContent.FileTab.DeserializeUI(TabUI);
					var obj = uiContext.CreateSerialized(UI);
					uiContext.Deserialize(obj);
				}
			});
			yield return null;
		}
Beispiel #10
0
        public IEnumerable <object> TryRestore(FileTabManager fileTabManager, IFileTabContentFactoryManager fileTabContentFactoryManager, ITabGroup g)
        {
            var guid = Content.Attribute <Guid?>(CONTENT_GUID_ATTR);

            if (guid == null)
            {
                yield break;
            }
            var ctx = new GetNodesContext();

            foreach (var o in GetNodes(ctx, fileTabManager.FileTreeView))
            {
                yield return(o);
            }
            if (ctx.Nodes == null)
            {
                yield break;
            }
            var tabContent = fileTabContentFactoryManager.Deserialize(guid.Value, Content, ctx.Nodes);

            yield return(null);

            if (tabContent == null)
            {
                yield break;
            }
            fileTabManager.Add(g, tabContent, null, (Action <ShowTabContentEventArgs>)(a => {
                if (a.Success)
                {
                    var uiContext = tabContent.FileTab.UIContext;
                    tabContent.FileTab.DeserializeUI((ISettingsSection)this.TabUI);
                    var obj = uiContext.CreateSerialized(UI);
                    uiContext.Deserialize(obj);
                }
            }));
            yield return(null);
        }
Beispiel #11
0
 public void Close()
 {
     FileTabManager.Close(this);
 }
Beispiel #12
0
 FileTabManagerLoader(FileTabSerializer fileTabSerializer, FileTabManager fileTabManager, IFileListLoader fileListLoader)
 {
     this.fileTabSerializer = fileTabSerializer;
     this.fileTabManager    = fileTabManager;
     this.fileListLoader    = fileListLoader;
 }
Beispiel #13
0
 FileTabSerializer(IFileTabContentFactoryManager fileTabContentFactoryManager, FileTabManager fileTabManager)
 {
     this.fileTabContentFactoryManager = fileTabContentFactoryManager;
     this.fileTabManager = fileTabManager;
 }