public DocumentPage AddNewDocumentPage(WorkDocument workDocument = null) { var newDocumentPage = new DocumentPage(workDocument); _editorAdapters.Add(newDocumentPage.EditorAdapter); AddDocumentTabItemContextMenuCommandBindings(newDocumentPage); DocumentTabControl.Items.Insert(DocumentTabControl.Items.Count - 1, newDocumentPage.TabItem); DocumentTabControl.SelectedItem = newDocumentPage.TabItem; _findReplaceManager.CurrentEditor = newDocumentPage.EditorAdapter; return(newDocumentPage); }
internal bool CloseDocument(DocumentPage document) { DocumentTabControl.SelectedItem = document.TabItem; if (document.IsDirty && !ConfirmDocumentSave(document)) { return(false); } document.SaveWorkingDocument(); SelectNewTabItem(); DocumentTabControl.RemoveTabItemWithoutBindingError(document.TabItem); WorkDocumentCollection.CloseDocument(document.WorkDocument); document.Dispose(); return(true); }
private static bool ConfirmDocumentSave(DocumentPage document) { var message = document.WorkDocument.File == null ? "Do you want to save the document?" : $"Do you want to save changes in '{document.WorkDocument.File.FullName}'?"; var dialogResult = MessageBox.Show(message, "Confirmation", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Yes); switch (dialogResult) { case MessageBoxResult.Yes: return(document.Save()); case MessageBoxResult.No: return(true); case MessageBoxResult.Cancel: return(false); default: throw new NotSupportedException($"'{dialogResult}' result is not supported. "); } }
private static bool ConfirmDocumentSave(DocumentPage document) { var message = document.WorkDocument.File == null ? "Do you want to save the document?" : $"Do you want to save changes in '{document.WorkDocument.File.FullName}'?"; var dialogResult = MessageBox.Show(message, "Confirmation", MessageBoxButton.YesNoCancel, MessageBoxImage.Question, MessageBoxResult.Yes); switch (dialogResult) { case MessageBoxResult.Yes: return document.Save(); case MessageBoxResult.No: return true; case MessageBoxResult.Cancel: return false; default: throw new NotSupportedException($"'{dialogResult}' result is not supported. "); } }
internal bool CloseDocument(DocumentPage document) { DocumentTabControl.SelectedItem = document.TabItem; if (document.IsDirty && !ConfirmDocumentSave(document)) { return false; } document.SaveWorkingDocument(); SelectNewTabItem(); DocumentTabControl.RemoveTabItemWithoutBindingError(document.TabItem); WorkDocumentCollection.CloseDocument(document.WorkDocument); document.Dispose(); return true; }
private void AddDocumentTabItemContextMenuCommandBindings(DocumentPage documentPage) { var closeDocumentCommandBinding = new CommandBinding(GenericCommands.CloseDocument, CloseTabExecutedHandler, (sender, args) => args.CanExecute = true); documentPage.TabItemContextMenu.CommandBindings.Add(closeDocumentCommandBinding); documentPage.CommandBindings.Add(closeDocumentCommandBinding); documentPage.TabItemContextMenu.CommandBindings.Add(new CommandBinding(GenericCommands.CloseAllDocumentsButThis, CloseAllButThisTabExecutedHandler, (sender, args) => args.CanExecute = DocumentTabControl.Items.Count > 2)); }
public DocumentPage AddNewDocumentPage(WorkDocument workDocument = null) { var newDocumentPage = new DocumentPage(workDocument); _editorAdapters.Add(newDocumentPage.EditorAdapter); AddDocumentTabItemContextMenuCommandBindings(newDocumentPage); DocumentTabControl.Items.Insert(DocumentTabControl.Items.Count - 1, newDocumentPage.TabItem); DocumentTabControl.SelectedItem = newDocumentPage.TabItem; _findReplaceManager.CurrentEditor = newDocumentPage.EditorAdapter; return newDocumentPage; }
public OutputViewer(DocumentPage documentPage) { DocumentPage = documentPage; FileResultViewer = new FileResultViewer(this); InitializeComponent(); _timerExecutionMonitor = new DispatcherTimer(DispatcherPriority.Normal, Dispatcher) { Interval = TimeSpan.FromMilliseconds(100) }; _timerExecutionMonitor.Tick += TimerExecutionMonitorTickHandler; Application.Current.Deactivated += ApplicationDeactivatedHandler; Initialize(); _providerConfiguration = WorkDocumentCollection.GetProviderConfiguration(DocumentPage.CurrentConnection.ProviderName); ConnectionAdapter = DocumentPage.DatabaseModel.CreateConnectionAdapter(); StatementValidator = DocumentPage.InfrastructureFactory.CreateStatementValidator(); ExecutionPlanViewer = DocumentPage.InfrastructureFactory.CreateExecutionPlanViewer(this); TabExecutionPlan.Content = ExecutionPlanViewer.Control; TraceViewer = DocumentPage.InfrastructureFactory.CreateTraceViewer(ConnectionAdapter); TabTrace.Content = TraceViewer.Control; BreakOnExceptions = DocumentPage.WorkDocument.BreakOnExceptions; }