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; }
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; }
FileTabManagerLoader(FileTabSerializer fileTabSerializer, FileTabManager fileTabManager, IFileListLoader fileListLoader) { this.fileTabSerializer = fileTabSerializer; this.fileTabManager = fileTabManager; this.fileListLoader = fileListLoader; }
FileTabSerializer(IFileTabContentFactoryManager fileTabContentFactoryManager, FileTabManager fileTabManager) { this.fileTabContentFactoryManager = fileTabContentFactoryManager; this.fileTabManager = fileTabManager; }
public IEnumerable<object> Restore(FileTabManager fileTabManager, IFileTabContentFactoryManager creator, 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, creator, 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; }
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; }
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; }