public ViewContentContainer(LiteViewContent viewContent) { base.HideOnClose = viewContent is LiteToolWindow; _extensionHost = LiteDevelopApplication.Current.ExtensionHost; ViewContent = viewContent; ViewContent.ControlChanged += ViewContent_ControlChanged; ViewContent.TextChanged += ViewContent_TextChanged; ViewContent.IconChanged += ViewContent_IconChanged; ViewContent.Closing += ViewContent_Closing; ViewContent.Closed += ViewContent_Closed; if (DocumentContent != null) { _currentFile = DocumentContent.AssociatedFile; DocumentContent.AssociatedFileChanged += DocumentContent_AssociatedFileChanged; DocumentContent_AssociatedFileChanged(null, null); } else if (ToolWindow != null) { ToolWindow.DockStateChanged += ToolWindow_DockStateChanged; } UpdateText(); UpdateControl(); UpdateIcon(); }
internal ViewContentContainer AddContainer(LiteViewContent viewContent) { var container = new ViewContentContainer(viewContent); var dockState = DockState.Document; if (container.ToolWindow != null) { dockState = container.ToolWindow.DockState.ToDockPanelSuite(); if (dockState == DockState.Hidden || dockState == DockState.Unknown) { dockState = DockState.DockBottomAutoHide; } } container.Show(DockPanel, dockState); return container; }
public void ShowAndActivate(LiteViewContent viewContent) { var dockContent = DockPanel.GetContainer(viewContent); if (dockContent == null) { if (viewContent is LiteToolWindow) _toolWindows.Add(viewContent as LiteToolWindow); else _documentContents.Add(viewContent as LiteDocumentContent); } else dockContent.ShowAndActivate(DockPanel); }
private void SetDockContentText(LiteViewContent content) { var dockContent = FindDockContent(content); if (dockContent != null) { string text = content.Text; if (content is LiteDocumentContent) { var documentContent = content as LiteDocumentContent; text += (documentContent.AssociatedFile != null ? (documentContent.AssociatedFile.HasUnsavedData ? "*" : "") : ""); } dockContent.Text = text; } }
private DockContent FindDockContent(LiteViewContent documentContent) { foreach (DockContent document in DockPanel.DocumentsToArray()) { if (document.Tag == documentContent) return document; } return null; }