public bool TryGetTextViewUndoManager(IDsWpfTextView textView, out ITextViewUndoManager manager) { if (textView == null) { throw new ArgumentNullException(nameof(textView)); } return(textView.Properties.TryGetProperty(textViewUndoManagerKey, out manager)); }
public UndoRedoCommandTargetFilter(ITextViewUndoManager textViewUndoManager) { if (textViewUndoManager == null) { throw new ArgumentNullException(nameof(textViewUndoManager)); } this.textViewUndoManager = textViewUndoManager; }
public UndoRedoCommandTargetFilter(ITextViewUndoManager textViewUndoManager) { if (textViewUndoManager == null) throw new ArgumentNullException(nameof(textViewUndoManager)); this.textViewUndoManager = textViewUndoManager; }
public ReplEditor(ReplEditorOptions options, IDsTextEditorFactoryService dsTextEditorFactoryService, IContentTypeRegistryService contentTypeRegistryService, ITextBufferFactoryService textBufferFactoryService, IEditorOperationsFactoryService editorOperationsFactoryService, IEditorOptionsFactoryService editorOptionsFactoryService, IClassificationTypeRegistryService classificationTypeRegistryService, IThemeClassificationTypeService themeClassificationTypeService, IPickSaveFilename pickSaveFilename, ITextViewUndoManagerProvider textViewUndoManagerProvider) { dispatcher = Dispatcher.CurrentDispatcher; this.pickSaveFilename = pickSaveFilename; options = options?.Clone() ?? new ReplEditorOptions(); options.CreateGuidObjects = CommonGuidObjectsProvider.Create(options.CreateGuidObjects, new GuidObjectsProvider(this)); PrimaryPrompt = options.PrimaryPrompt; SecondaryPrompt = options.SecondaryPrompt; subBuffers = new List<ReplSubBuffer>(); cachedColorsList = new CachedColorsList(); TextClassificationType = classificationTypeRegistryService.GetClassificationType(ThemeClassificationTypeNames.Text); ReplPrompt1ClassificationType = classificationTypeRegistryService.GetClassificationType(ThemeClassificationTypeNames.ReplPrompt1); ReplPrompt2ClassificationType = classificationTypeRegistryService.GetClassificationType(ThemeClassificationTypeNames.ReplPrompt2); var contentType = contentTypeRegistryService.GetContentType(options.ContentType, options.ContentTypeString) ?? textBufferFactoryService.TextContentType; var textBuffer = textBufferFactoryService.CreateTextBuffer(contentType); CachedColorsListTaggerProvider.AddColorizer(textBuffer, cachedColorsList); var roles = dsTextEditorFactoryService.CreateTextViewRoleSet(options.Roles); var textView = dsTextEditorFactoryService.CreateTextView(textBuffer, roles, editorOptionsFactoryService.GlobalOptions, options); var wpfTextViewHost = dsTextEditorFactoryService.CreateTextViewHost(textView, false); this.wpfTextViewHost = wpfTextViewHost; wpfTextView = wpfTextViewHost.TextView; textViewUndoManager = textViewUndoManagerProvider.GetTextViewUndoManager(wpfTextView); ReplEditorUtils.AddInstance(this, wpfTextView); wpfTextView.Options.SetOptionValue(DefaultWpfViewOptions.AppearanceCategory, AppearanceCategoryConstants.TextEditor); wpfTextView.Options.SetOptionValue(DefaultTextViewOptions.DragDropEditingId, false); //TODO: ReplEditorOperations doesn't support virtual space wpfTextView.Options.SetOptionValue(DefaultTextViewOptions.UseVirtualSpaceId, false); //TODO: Support box selection wpfTextView.Options.SetOptionValue(DefaultDsTextViewOptions.AllowBoxSelectionId, false); wpfTextView.Options.OptionChanged += Options_OptionChanged; wpfTextView.TextBuffer.ChangedLowPriority += TextBuffer_ChangedLowPriority; wpfTextView.Closed += WpfTextView_Closed; wpfTextView.TextBuffer.Changed += TextBuffer_Changed; AddNewDocument(); WriteOffsetOfPrompt(null, true); ReplEditorOperations = new ReplEditorOperations(this, wpfTextView, editorOperationsFactoryService); wpfTextView.VisualElement.Loaded += WpfTextView_Loaded; UpdateRefreshScreenOnChange(); CustomLineNumberMargin.SetOwner(wpfTextView, new ReplCustomLineNumberMarginOwner(this, themeClassificationTypeService)); }
public bool TryGetTextViewUndoManager(IDsWpfTextView textView, out ITextViewUndoManager manager) { if (textView == null) throw new ArgumentNullException(nameof(textView)); return textView.Properties.TryGetProperty(textViewUndoManagerKey, out manager); }