public ExtendedEntry() { TextChanged += (sender, e) => { TextChangedCommand?.Execute(e); }; }
void OnEntryTextChanged(object sender, TextChangedEventArgs args) { if (TextChangedCommand != null) { TextChangedCommand.Execute(new Tuple <object, TextChangedEventArgs>(sender, args)); } }
private void textBox1_TextChanged(object sender, EventArgs e) { ICommand command = new TextChangedCommand(this.textBox1, textBox1.Text, oldStr, textBox1_TextChanged); undoStack.Push(command); oldStr = this.textBox1.Text; }
protected override void OnTemplateApplied(TemplateAppliedEventArgs e) { TextView = e.NameScope.Find <TextView>("textView"); LogicalChildren.Add(TextView); disposables.Add(TextDocumentProperty.Changed.Subscribe(args => { if (args.NewValue != null) { // Todo unsubscribe these events. TextDocument.Changing += (sender, ee) => { TextDocument?.UndoStack.PushOptional(new RestoreCaretAndSelectionUndoAction(this)); if (BeforeTextChangedCommand != null) { BeforeTextChangedCommand.Execute(null); } }; TextDocument.Changed += (sender, ee) => { InvalidateVisual(); LineHeight = TextView.CharSize.Height; if (TextChangedCommand != null && TextChangedCommand.CanExecute(null)) { TextChangedCommand.Execute(null); } }; } })); }
private void BorderlessEntry_Unfocused(object sender, FocusEventArgs e) { IsHeaderVisible = !string.IsNullOrEmpty((sender as Entry)?.Text); InternalPlaceholder = IsHeaderVisible ? string.Empty : Placeholder; InternalBorderColor = BorderColor; if (!IsHeaderVisible) { Device.BeginInvokeOnMainThread(async() => { await FrameHeader.FadeTo(0, length: 100); }); } if (Text != null) { if (Text.Validations?.Any() == true) { Text.Validate(); IsValidationVisible = !Text.IsValid; } } TextChangedCommand?.Execute(Text); }
private void BorderlessEntry_TextChanged(object sender, TextChangedEventArgs e) { TextChangedCommand?.Execute(Text); if (Text != null) { Text.IsValid = true; } }
private void TextChangedDelayTimer_Tick(object sender, EventArgs e) { textChangedDelayTimer.Stop(); if (TextChangedCommand != null && TextChangedCommand.CanExecute(null)) { TextChangedCommand.Execute(null); } }
private void textBox1_TextChanged(object sender, EventArgs e) { if (flag) { TextChangedCommand com = new TextChangedCommand((TextBox)textBox1, ((TextBox)textBox1).Text, oldStr); undoStack.Push(com); oldStr = ((TextBox)textBox1).Text; } flag = true; }
public async void SearchBar_TextChanged(object sender, TextChangedEventArgs e) { if (HasFilterIcon) { var sbar = sender as Xamarin.Forms.SearchBar; if (string.IsNullOrWhiteSpace(sbar?.Text)) { iconFilter.TranslateTo(0, 0); } else { int transX = -25; //Good for Android if (Device.RuntimePlatform == Device.iOS) { transX = -80; //Good for iOS } if (iconFilter.TranslationX != transX) { iconFilter.TranslateTo(transX, 0, 100); } } } if (TextChangedCommand != null) { if (cts != null) { cts.Cancel(); } cts = new CancellationTokenSource(); var ctoken = cts.Token; try { var millisDelay = TextChangedDelay > 0 ? TextChangedDelay : 650; await Task.Delay(millisDelay, ctoken); if (ctoken.IsCancellationRequested) { return; } if (TextChangedCommand.CanExecute(null)) { TextChangedCommand?.Execute(null); } } catch (OperationCanceledException) { // Expected } } }
void OnTextChanged(object sender, TextChangedEventArgs e) { if (TextChangedCommand == null) { return; } var param = AssociatedObject.Text; if (TextChangedCommand.CanExecute(param)) { TextChangedCommand.Execute(param); } }
private void ExtendedSearchBar_TextChanged(object sender, TextChangedEventArgs e) { try { var param = TextChangedCommandParameter ?? e.NewTextValue; if (TextChangedCommand != null && TextChangedCommand.CanExecute(param)) { TextChangedCommand.Execute(param); } } catch (Exception ex) { Debug.WriteLine(ex.Message); } }
public SearchBar() { TextChanged += (e, a) => { if (TextChangedCommand != null && TextChangedCommand.CanExecute(null)) { TextChangedCommand.Execute(null); } }; TextChanged += (e, a) => { if (AutoSearch) { if (SearchCommand != null && SearchCommand.CanExecute(null)) { SearchCommand.Execute(null); } } }; }
private void ExtendedEntry_TextChanged(object sender, TextChangedEventArgs e) { TextChangedCommand?.Execute(e.NewTextValue); }
private void BorderlessEntry_TextChanged(object sender, TextChangedEventArgs e) { IsClearVisible = !string.IsNullOrEmpty(Text); TextChangedCommand?.Execute(Text); }
public EditorViewModel(EditorModel model) : base(model) { disposables = new CompositeDisposable(); highlightingData = new ObservableCollection <OffsetSyntaxHighlightingData>(); BeforeTextChangedCommand = ReactiveCommand.Create(); disposables.Add(BeforeTextChangedCommand.Subscribe(model.OnBeforeTextChanged)); TextChangedCommand = ReactiveCommand.Create(); disposables.Add(TextChangedCommand.Subscribe(model.OnTextChanged)); SaveCommand = ReactiveCommand.Create(); disposables.Add(SaveCommand.Subscribe(param => Save())); CloseCommand = ReactiveCommand.Create(); disposables.Add(CloseCommand.Subscribe(_ => { Model.ProjectFile.FileModifiedExternally -= ProjectFile_FileModifiedExternally; Save(); Model.ShutdownBackgroundWorkers(); Model.UnRegisterLanguageService(); if (ShellViewModel.Instance.DocumentTabs.TemporaryDocument == this) { ShellViewModel.Instance.DocumentTabs.TemporaryDocument = null; } ShellViewModel.Instance.InvalidateErrors(); Model.Dispose(); Intellisense.Dispose(); disposables.Dispose(); Model.TextDocument = null; ShellViewModel.Instance.DocumentTabs.Documents.Remove(this); })); AddWatchCommand = ReactiveCommand.Create(); disposables.Add(AddWatchCommand.Subscribe(_ => { IoC.Get <IWatchList>()?.AddWatch(WordAtCaret); })); tabCharacter = " "; model.DocumentLoaded += (sender, e) => { model.ProjectFile.FileModifiedExternally -= ProjectFile_FileModifiedExternally; foreach (var bgRenderer in languageServiceBackgroundRenderers) { BackgroundRenderers.Remove(bgRenderer); } languageServiceBackgroundRenderers.Clear(); foreach (var transformer in languageServiceDocumentLineTransformers) { DocumentLineTransformers.Remove(transformer); } languageServiceDocumentLineTransformers.Clear(); if (model.LanguageService != null) { languageServiceBackgroundRenderers.AddRange(model.LanguageService.GetBackgroundRenderers(model.ProjectFile)); foreach (var bgRenderer in languageServiceBackgroundRenderers) { BackgroundRenderers.Add(bgRenderer); } languageServiceDocumentLineTransformers.AddRange( model.LanguageService.GetDocumentLineTransformers(model.ProjectFile)); foreach (var textTransformer in languageServiceDocumentLineTransformers) { DocumentLineTransformers.Add(textTransformer); } } model.CodeAnalysisCompleted += (s, ee) => { Diagnostics = model.CodeAnalysisResults.Diagnostics; foreach (var marker in Diagnostics) { if (marker.Length == 0) { var line = TextDocument.GetLineByOffset(marker.StartOffset); var endoffset = TextUtilities.GetNextCaretPosition(TextDocument, marker.StartOffset, TextUtilities.LogicalDirection.Forward, TextUtilities.CaretPositioningMode.WordBorderOrSymbol); if (endoffset == -1) { marker.Length = line.Length; } else { marker.EndOffset = endoffset; } } } HighlightingData = new ObservableCollection <OffsetSyntaxHighlightingData>(model.CodeAnalysisResults.SyntaxHighlightingData); IndexItems = new ObservableCollection <IndexEntry>(model.CodeAnalysisResults.IndexItems); selectedIndexEntry = IndexItems.FirstOrDefault(); this.RaisePropertyChanged(nameof(SelectedIndexEntry)); ShellViewModel.Instance.InvalidateErrors(); }; model.ProjectFile.FileModifiedExternally += ProjectFile_FileModifiedExternally; TextDocument = model.TextDocument; this.RaisePropertyChanged(nameof(Title)); }; model.TextChanged += (sender, e) => { if (ShellViewModel.Instance.DocumentTabs.TemporaryDocument == this) { Dock = Dock.Left; ShellViewModel.Instance.DocumentTabs.TemporaryDocument = null; } this.RaisePropertyChanged(nameof(Title)); }; intellisense = new IntellisenseViewModel(model, this); documentLineTransformers = new ObservableCollection <IDocumentLineTransformer>(); backgroundRenderers = new ObservableCollection <IBackgroundRenderer>(); backgroundRenderers.Add(new SelectedLineBackgroundRenderer()); DebugLineHighlighter = new SelectedDebugLineBackgroundRenderer(); backgroundRenderers.Add(DebugLineHighlighter); backgroundRenderers.Add(new ColumnLimitBackgroundRenderer()); wordAtCaretHighlighter = new SelectedWordBackgroundRenderer(); backgroundRenderers.Add(wordAtCaretHighlighter); backgroundRenderers.Add(new SelectionBackgroundRenderer()); margins = new ObservableCollection <TextViewMargin>(); dock = Dock.Right; }
public CustomAutoSuggest() { TextChanged += (sender, e) => TextChangedCommand?.Execute(null); }
/// <summary> /// Initializes a new instance of the <see cref="AutoCompleteView"/> class. /// </summary> public AutoCompleteView() { _availableSuggestions = new ObservableCollection <object>(); _stkBase = new StackLayout(); var innerLayout = new StackLayout() { Orientation = StackOrientation.Horizontal }; _entText = new Entry { HorizontalOptions = TextHorizontalOptions, VerticalOptions = TextVerticalOptions, TextColor = TextColor, BackgroundColor = TextBackgroundColor }; _btnSearch = new Button { VerticalOptions = SearchVerticalOptions, HorizontalOptions = SearchHorizontalOptions, Text = SearchText }; _lstSuggestions = new ListView { HeightRequest = SuggestionsHeightRequest, HasUnevenRows = true }; innerLayout.Children.Add(_entText); innerLayout.Children.Add(_btnSearch); _stkBase.Children.Add(innerLayout); _stkBase.Children.Add(_lstSuggestions); Content = _stkBase; _entText.TextChanged += (s, e) => { Text = e.NewTextValue; TextChangedCommand.Execute(e.NewTextValue); OnTextChanged(e); }; _btnSearch.Clicked += (s, e) => { if (SearchCommand != null && SearchCommand.CanExecute(Text)) { SearchCommand.Execute(Text); } }; _lstSuggestions.ItemSelected += (s, e) => { _entText.Text = e.SelectedItem.ToString(); _availableSuggestions.Clear(); ShowHideListbox(false); OnSelectedItemChanged(e.SelectedItem); if (ExecuteOnSuggestionClick && SearchCommand != null && SearchCommand.CanExecute(Text)) { SearchCommand.Execute(e); } }; ShowHideListbox(false); _lstSuggestions.ItemsSource = _availableSuggestions; }
public BorderEntry() { TextChanged += (sender, e) => TextChangedCommand?.Execute(e); }
public EditorViewModel(EditorModel model) : base(model) { disposables = new CompositeDisposable(); highlightingData = new ObservableCollection <OffsetSyntaxHighlightingData>(); BeforeTextChangedCommand = ReactiveCommand.Create(); disposables.Add(BeforeTextChangedCommand.Subscribe(model.OnBeforeTextChanged)); TextChangedCommand = ReactiveCommand.Create(); disposables.Add(TextChangedCommand.Subscribe(model.OnTextChanged)); SaveCommand = ReactiveCommand.Create(); disposables.Add(SaveCommand.Subscribe(param => Save())); disposables.Add(CloseCommand.Subscribe(_ => { Model.ProjectFile.FileModifiedExternally -= ProjectFile_FileModifiedExternally; Model.Editor.CaretChangedByPointerClick -= Editor_CaretChangedByPointerClick; Save(); Model.ShutdownBackgroundWorkers(); Model.UnRegisterLanguageService(); intellisenseManager?.Dispose(); intellisenseManager = null; Diagnostics?.Clear(); ShellViewModel.Instance.InvalidateErrors(); Model.Dispose(); Intellisense.Dispose(); disposables.Dispose(); Model.TextDocument = null; })); AddWatchCommand = ReactiveCommand.Create(); disposables.Add(AddWatchCommand.Subscribe(_ => { IoC.Get <IWatchList>()?.AddWatch(WordAtCaret); })); tabCharacter = " "; model.DocumentLoaded += (sender, e) => { model.ProjectFile.FileModifiedExternally -= ProjectFile_FileModifiedExternally; Model.Editor.CaretChangedByPointerClick -= Editor_CaretChangedByPointerClick; foreach (var bgRenderer in languageServiceBackgroundRenderers) { BackgroundRenderers.Remove(bgRenderer); } languageServiceBackgroundRenderers.Clear(); foreach (var transformer in languageServiceDocumentLineTransformers) { DocumentLineTransformers.Remove(transformer); } languageServiceDocumentLineTransformers.Clear(); if (model.LanguageService != null) { languageServiceBackgroundRenderers.AddRange(model.LanguageService.GetBackgroundRenderers(model.ProjectFile)); foreach (var bgRenderer in languageServiceBackgroundRenderers) { BackgroundRenderers.Add(bgRenderer); } languageServiceDocumentLineTransformers.AddRange( model.LanguageService.GetDocumentLineTransformers(model.ProjectFile)); foreach (var textTransformer in languageServiceDocumentLineTransformers) { DocumentLineTransformers.Add(textTransformer); } intellisenseManager = new IntellisenseManager(Model.Editor, Intellisense, Intellisense.CompletionAssistant, model.LanguageService, model.ProjectFile); EventHandler <KeyEventArgs> tunneledKeyUpHandler = (send, ee) => { if (caretIndex > 0) { intellisenseManager.OnKeyUp(ee, CaretIndex, CaretTextLocation.Line, CaretTextLocation.Column); } }; EventHandler <KeyEventArgs> tunneledKeyDownHandler = (send, ee) => { if (caretIndex > 0) { intellisenseManager.OnKeyDown(ee, CaretIndex, CaretTextLocation.Line, CaretTextLocation.Column); } }; EventHandler <TextInputEventArgs> tunneledTextInputHandler = (send, ee) => { if (caretIndex > 0) { intellisenseManager.OnTextInput(ee, CaretIndex, CaretTextLocation.Line, CaretTextLocation.Column); } }; Model.Editor.CaretChangedByPointerClick += Editor_CaretChangedByPointerClick; disposables.Add(Model.Editor.AddHandler(InputElement.KeyDownEvent, tunneledKeyDownHandler, RoutingStrategies.Tunnel)); disposables.Add(Model.Editor.AddHandler(InputElement.KeyUpEvent, tunneledKeyUpHandler, RoutingStrategies.Tunnel)); disposables.Add(Model.Editor.AddHandler(InputElement.TextInputEvent, tunneledTextInputHandler, RoutingStrategies.Bubble)); } model.CodeAnalysisCompleted += (s, ee) => { Diagnostics = model.CodeAnalysisResults.Diagnostics; HighlightingData = new ObservableCollection <OffsetSyntaxHighlightingData>(model.CodeAnalysisResults.SyntaxHighlightingData); IndexItems = new ObservableCollection <IndexEntry>(model.CodeAnalysisResults.IndexItems); selectedIndexEntry = IndexItems.FirstOrDefault(); this.RaisePropertyChanged(nameof(SelectedIndexEntry)); ShellViewModel.Instance.InvalidateErrors(); }; model.ProjectFile.FileModifiedExternally += ProjectFile_FileModifiedExternally; TextDocument = model.TextDocument; Title = Model.ProjectFile.Name; }; model.TextChanged += (sender, e) => { if (ShellViewModel.Instance.DocumentTabs.TemporaryDocument == this) { Dock = Dock.Left; ShellViewModel.Instance.DocumentTabs.TemporaryDocument = null; } IsDirty = model.IsDirty; }; intellisense = new IntellisenseViewModel(model, this); documentLineTransformers = new ObservableCollection <IDocumentLineTransformer>(); backgroundRenderers = new ObservableCollection <IBackgroundRenderer>(); backgroundRenderers.Add(new SelectedLineBackgroundRenderer()); DebugLineHighlighter = new SelectedDebugLineBackgroundRenderer(); backgroundRenderers.Add(DebugLineHighlighter); backgroundRenderers.Add(new ColumnLimitBackgroundRenderer()); wordAtCaretHighlighter = new SelectedWordBackgroundRenderer(); backgroundRenderers.Add(wordAtCaretHighlighter); backgroundRenderers.Add(new SelectionBackgroundRenderer()); margins = new ObservableCollection <TextViewMargin>(); Dock = Dock.Right; }