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();
        }
Example #2
0
        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;
        }
Example #3
0
        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);
        }
Example #4
0
        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;
            }
        }
Example #5
0
 private DockContent FindDockContent(LiteViewContent documentContent)
 {
     foreach (DockContent document in DockPanel.DocumentsToArray())
     {
         if (document.Tag == documentContent)
             return document;
     }
     return null;
 }