public void EvaluateInput() { Expression res; TextIter insertIter = Buffer.StartIter; if (InputView.Buffer.Text.Length == 0) { Buffer.InsertWithTagsByName(ref insertIter, "No input\n", "error"); return; } Eval.Parse(InputView.Buffer.Text); res = Eval.Evaluate(); if (res is Error) { Eval.SideEffects.Add(new ErrorData(res as Error)); } else if (!(res is Null)) { Buffer.Insert(ref insertIter, "ret: " + res.ToString() + "\n"); } foreach (var data in Eval.SideEffects) { if (data is PrintData) { Buffer.Insert(ref insertIter, data.ToString() + "\n"); } else if (data is ErrorData) { Buffer.InsertWithTagsByName(ref insertIter, data.ToString() + "\n", "error"); } else if (data is DebugData && Eval.GetBool("debug")) { Buffer.InsertWithTagsByName(ref insertIter, data.ToString() + "\n", "debug"); } else if (data is PlotData) { DrawView.Plot(data as PlotData); DrawView.Show(); } else if (data is WidgetData) { WidgetView.AddWidget(data as WidgetData); WidgetView.Show(); } } }
private static void LoadView(this WidgetId id, bool systemStartup = false) { WidgetView widgetView = null; try { foreach (var view in App.WidgetViews.Where(view => view.Id == id).ToList()) { view.Close(); } widgetView = new WidgetView(id, id.GetNewViewModel(), id.GetNewControlView(), systemStartup); App.WidgetViews.Add(widgetView); widgetView.Show(); } catch (Exception ex) { widgetView?.Close(); var name = id.GetName(); Popup.ShowAsync($"{name} failed to load.\n\n{ex.Message}", image: MessageBoxImage.Error); } }
public override void Start(object[] args = null) { base.Start(args); ApplyScreenSettings(); WidgetView.Show(); if (!SavePrefsManager.GetBool(SavePrefsManager.DMARKET_USER_AGREEMENTS)) { ApplyState <UserAgreementsState>(); return; } if (Controller.IsLogged) { ApplyState <BasicWidgetLoggedFormState>(); } else { ApplyState <BasicWidgetLoginFormState>(); } }
public void Show(bool animate = true, bool activate = false) { if (_view.AnimationRunning || _view.IsVisible || ((App.IsMuted || _settings.IsMuted()) && !_settings.IgnoreMute) || _settings.ForceHide) { return; } if (animate && _settings.Style.AnimationTime != 0) { _view.Animate(AnimationMode.Show, activate); } else { _view.Show(); } if (activate && _settings.ActivateOnShow) { _view.Activate(); } _view.ViewModel.OnShow(); }
public static void Animate(this WidgetView view, AnimationMode animationMode, bool focus = false, Action astartAction = null, Action aendAction = null, bool?isDocked = null, HorizontalAlignment?dockHorizontalAlignment = null, VerticalAlignment?dockVerticalAlignment = null) { var settings = view.Id.GetSettings(); var horizontalAlignment = dockHorizontalAlignment ?? settings.HorizontalAlignment; var verticalAlignment = dockVerticalAlignment ?? settings.VerticalAlignment; var docked = isDocked ?? settings.IsDocked; view.RenderTransformOrigin = new Point(0.5, 0.5); if (docked) { switch (horizontalAlignment) { case HorizontalAlignment.Left: view.RenderTransformOrigin = new Point(0, view.RenderTransformOrigin.Y); break; case HorizontalAlignment.Right: view.RenderTransformOrigin = new Point(1, view.RenderTransformOrigin.Y); break; } switch (verticalAlignment) { case VerticalAlignment.Top: view.RenderTransformOrigin = new Point(view.RenderTransformOrigin.X, 0); break; case VerticalAlignment.Bottom: view.RenderTransformOrigin = new Point(view.RenderTransformOrigin.X, 1); break; } } Action startAction = delegate { if (animationMode == AnimationMode.Show) { view.Show(); } astartAction?.Invoke(); view.AnimationRunning = true; }; Action finishAction = delegate { if (animationMode == AnimationMode.Hide) { view.Hide(); } else { if (focus && view.Settings.RefocusMainElementOnShow) { view.FocusMainElement(); } } aendAction?.Invoke(); view.AnimationRunning = false; }; if (settings.Style.AnimationType == AnimationType.None) { startAction(); finishAction(); return; } var doubleAnimation = new DoubleAnimation { Duration = new Duration(TimeSpan.FromMilliseconds(settings.Style.AnimationTime)), From = animationMode == AnimationMode.Show ? 0 : 1, To = animationMode == AnimationMode.Show ? 1 : 0, FillBehavior = FillBehavior.Stop, EasingFunction = settings.Style.AnimationEase ? new SineEase { EasingMode = animationMode == AnimationMode.Show ? EasingMode.EaseIn : EasingMode.EaseOut } : null }; // Start animation. startAction(); switch (settings.Style.AnimationType) { case AnimationType.Fade: var storyBoard = new Storyboard(); storyBoard.Completed += (sender, args) => finishAction(); storyBoard.Children.Add(doubleAnimation); Storyboard.SetTarget(doubleAnimation, view); Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath(UIElement.OpacityProperty)); storyBoard.Begin(); break; case AnimationType.Slide: var counter = 0; doubleAnimation.Completed += delegate { counter++; if (counter == 2) { finishAction(); } }; var trans = new ScaleTransform(); view.RenderTransform = trans; trans.BeginAnimation(ScaleTransform.ScaleXProperty, doubleAnimation); trans.BeginAnimation(ScaleTransform.ScaleYProperty, doubleAnimation); break; default: finishAction(); break; } }