示例#1
0
        private void WindowLoadedHandler(object sender, RoutedEventArgs args)
        {
            _windowDatabaseMonitor.Owner = WindowTraceLog.Instance.Owner = this;

            CommandBindings.Add(new CommandBinding(GenericCommands.SaveAll, SaveAllCommandExecutedHandler));

            WorkDocumentCollection.RestoreWindowProperties(this);
            _windowDatabaseMonitor.RestoreAppearance();

            if (WorkDocumentCollection.WorkingDocuments.Count > 0)
            {
                foreach (var workingDocument in WorkDocumentCollection.WorkingDocuments.OrderBy(d => d.TabIndex))
                {
                    AddNewDocumentPage(workingDocument);
                }
            }
            else
            {
                AddNewDocumentPage();
            }

            DocumentTabControl.SelectionChanged += TabControlSelectionChangedHandler;

            DocumentTabControl.SelectedIndex = WorkDocumentCollection.ActiveDocumentIndex;

            ClipboardManager.RegisterWindow(this);
            ClipboardManager.ClipboardChanged += ClipboardChangedHandler;

            EditorNavigationService.Initialize(ActiveDocument.WorkDocument);
        }
        public void RestoreAppearance()
        {
            _customProperties = WorkDocumentCollection.RestoreWindowProperties(this);

            double sessionDataGridHeight = 0;

            if (_customProperties?.TryGetValue(SessionDataGridHeightProperty, out sessionDataGridHeight) == true)
            {
                RowDefinitionSessionDataGrid.Height = new GridLength(sessionDataGridHeight);
            }
        }
示例#3
0
        public static void Initialize()
        {
            if (Instance != null)
            {
                throw new InvalidOperationException("Trace log window has been already initialized. ");
            }

            var contentBuilder = new StringBuilder();

            foreach (var message in _messages.OrderBy(m => m))
            {
                contentBuilder.AppendLine(message);
            }

            Instance = new WindowTraceLog {
                TraceLog = contentBuilder.ToString()
            };
            _messages = new ConcurrentBag <string>();
            WorkDocumentCollection.RestoreWindowProperties(Instance);
        }