void OnRunningQueriesChanged(Object sender, EventArgs e) { if (_awaiting) { _currentExecution = sender as QueryResultViewModel; } else if (_currentExecution == sender) { _currentExecution = null; } }
public MainViewModel(IApplication container) { var provider = container.Get <IApiProvider>(); _container = container; _kernel = container.Get <Kernel>(); _variables = new ObservableCollection <VariableViewModel>(); _functions = new ObservableCollection <HelpViewModel>(); _availableItems = new ObservableCollection <AutocompleteItem>(); _notifications = new NotificationsViewModel(); _kernel.Load(provider); _kernel.Context.LastPlotChanged += PlotCreated; _kernel.Context.VariableChanged += VariableChanged; _kernel.Context.VariableCreated += VariableCreated; _kernel.Context.VariableRemoved += VariableRemoved; _kernel.Context.NotificationReceived += _notifications.Received; _kernel.Context.UserInputRequired += UserInput; FunctionFilter = String.Empty; VariableFilter = String.Empty; FillLists(); _openDialog = new RelayCommand(x => { var dialog = (Dialog)x; Container.Get <IDialogManager>().Open(dialog); }); _runQuery = new RelayCommand(x => { var cqr = x as ConsoleQueryReference; var qrvm = new QueryResultViewModel(cqr, _kernel.Context); var query = cqr.OriginalQuery; var newQuery = Container.Get <ICommandFactory>().TryCommand(query); if (newQuery != null) { query = newQuery; } var task = _kernel.RunAsync(qrvm, query); }); }