void PerformElementChanged(CompletionPopupViewModel viewModel, KeyEventArgs args) { if(viewModel.CompletionItems.Count <= 0) return; if(args.Key == Key.Down) viewModel.SelectNextCompletionItem(); else viewModel.SelectPreviousCompletionItem(); viewModel.ScrollIntoSelectedItem(); }
public ScriptEditorViewModel(IEventAggregator eventAggregator, ICodeCompletionProvider provider, CompletionPopupViewModel completionModel) { this.eventAggregator = eventAggregator; this.provider = provider; Replacer = new Replacer(); CompletionWindow = completionModel; Enabled = true; UpdateCompletionItems(); eventAggregator.Subscribe(this); completionModel.Observers.Add(new OpenOnWriteAction(IsBeginningOfExpression)); completionModel.Observers.Add(new CloseOnSteppingIntoEndOfExpression(() => provider.IsBeginningOfExpression(Script, CaretPosition))); completionModel.Observers.Add(new CloseOnWritingEndOfExpression(IsEndOfExpression)); }
protected override bool ShouldSwallow(CompletionPopupViewModel viewModel, KeyEventArgs args) { return ShouldSwallowKeyPress; }
protected override void DoAct(CompletionPopupViewModel viewModel, KeyEventArgs args) { Action(viewModel); }
protected override bool ShouldSwallow(CompletionPopupViewModel viewModel, KeyEventArgs args) { return viewModel.CompletionItems.Count > 0; }
protected override bool IsTriggeredAddon(IPopupEvent @event, CompletionPopupViewModel viewModel) { return viewModel.IsOpen; }
protected override void DoAct(CompletionPopupViewModel viewModel, KeyEventArgs args) { PerformElementChanged(viewModel, args); }