public Task <AskResult> Ask(string title, string message, AskButton buttons)
        {
            var b      = (MessageBoxButton)Enum.Parse(typeof(MessageBoxButton), buttons.ToString());
            var result = MessageBox.Show(message, title, b);

            return(Task.FromResult((AskResult)Enum.Parse(typeof(AskResult), result.ToString())));
        }
Exemplo n.º 2
0
 public void ClickOnAskButton()
 {
     if (AskButton.Displayed)
     {
         AskButton.Click();
     }
     else
     {
         throw new Exception("Element is not found or not clickable");
     }
 }
Exemplo n.º 3
0
    public void ShowStringPanel(string key)
    {
        selectedPanel = Panel.StringPanel;
        selectedData  = key;

        StringPanel.SetActive(true);
        NumberPanel.SetActive(false);
        TitlePanel.SetActive(false);

        AskButton.SetActive(true);
        InstructionText.SetActive(false);
    }
Exemplo n.º 4
0
    public void OpenPanel()
    {
        //If the only child is "Title", make sure to instantiate the data fields
        if (DecisionCard.transform.childCount <= 1)
        {
            InitDecisionPanel(FindObjectOfType <GameManager>().ChosenCards[0]);
        }

        StringPanel.SetActive(false);
        NumberPanel.SetActive(false);
        TitlePanel.SetActive(false);

        AskButton.SetActive(false);
        InstructionText.SetActive(true);

        DecisionPanel.SetActive(true);
        DecisionResponse.SetActive(false);
    }
Exemplo n.º 5
0
        public void Bind(ISpotTileViewModel spotTileViewModel, IConcurrencyService concurrencyService)
        {
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            _allSubscriptions.Clear();

            concurrencyService.Dispatcher.Schedule(() =>
            {
                if (spotTileViewModel.State == TileState.Affirmation)
                {
                    spotTileViewModel.DismissAffirmation();
                }

                Reset();
                CurrencyPairLabel.Text = spotTileViewModel.Pricing.Symbol;
                BidButton.SetDataContext(spotTileViewModel.Pricing.Bid);
                AskButton.SetDataContext(spotTileViewModel.Pricing.Ask);
                SetHistoricPrices(spotTileViewModel.Pricing.HistoricalMid);
            });

            _allSubscriptions.Add(spotTileViewModel.Pricing.Bid
                                  .ObserveProperty(vm => vm.IsExecuting, false)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(s => AskButton.SetEnabledOverride(!s)));

            _allSubscriptions.Add(spotTileViewModel.Pricing.Ask
                                  .ObserveProperty(vm => vm.IsExecuting, false)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(s => BidButton.SetEnabledOverride(!s)));

            _allSubscriptions.Add(spotTileViewModel.Pricing.ObserveProperty(vm => vm.Spread, false)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(s => SpreadLabel.Text = s));

            _allSubscriptions.Add(spotTileViewModel.Pricing.ObserveProperty(vm => vm.DealtCurrency, false)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(s => DealtCurrencyLabel.Text = s));

            _allSubscriptions.Add(spotTileViewModel.Pricing.ObserveProperty(vm => vm.SpotDate, false)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(s => SpotDateLabel.Text = s));

            _allSubscriptions.Add(spotTileViewModel.Pricing.ObserveProperty(vm => vm.Mid, false)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(AddPrice));

            _allSubscriptions.Add(spotTileViewModel.Pricing.ObserveProperty(vm => vm.IsStale)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(SetIsStale));

            // two way bind the notional
            _allSubscriptions.Add(spotTileViewModel.Pricing.ObserveProperty(vm => vm.Notional, true)
                                  .Where(n => n != NotionalTextBox.Text)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(s => NotionalTextBox.Text = s));

            _allSubscriptions.Add(NotionalTextBox
                                  .TextChangedStream()
                                  .Where(_ => spotTileViewModel.Pricing.Notional != NotionalTextBox.Text)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(_ =>
            {
                spotTileViewModel.Pricing.Notional = NotionalTextBox.Text;
            }));

            _allSubscriptions.Add(spotTileViewModel.Pricing.ObserveProperty(vm => vm.Movement, true)
                                  .ObserveOn(concurrencyService.Dispatcher)
                                  .Subscribe(m =>
            {
                UpArrow.Visibility   = m == PriceMovement.Up ? ViewStates.Visible : ViewStates.Invisible;
                DownArrow.Visibility = m == PriceMovement.Down ? ViewStates.Visible : ViewStates.Invisible;
            }));

            _allSubscriptions.Add(spotTileViewModel.ObserveProperty(vm => vm.State, true)
                                  .Where(m => m == TileState.Affirmation)
                                  .SubscribeOn(concurrencyService.TaskPool)
                                  .Subscribe(async m =>
            {
                try
                {
                    _cancelAnimationSource = new CancellationTokenSource();
                    ShowAffirmation(spotTileViewModel.Affirmation);
                    await Task.Delay(4000, _cancelAnimationSource.Token);
                }
                catch (TaskCanceledException)
                {
                    /* Animation was cancelled */
                }
                finally
                {
                    spotTileViewModel.DismissAffirmation();
                }
            }));

            _allSubscriptions.Add(spotTileViewModel.ObserveProperty(vm => vm.State, true)
                                  .Where(m => m == TileState.Pricing)
                                  .SubscribeOn(concurrencyService.TaskPool)
                                  .Subscribe(_ => ShowPricing()));
        }