void PerformElementChanged(CompletionPopupViewModel viewModel, KeyEventArgs args)
        {
            if(viewModel.CompletionItems.Count <= 0)
                return;

            if(args.Key == Key.Down)
                viewModel.SelectNextCompletionItem();
            else
                viewModel.SelectPreviousCompletionItem();

            viewModel.ScrollIntoSelectedItem();
        }
Exemple #2
0
 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);
 }