/// <summary> /// Invoked when the application is launched normally by the end user. Other entry points /// will be used such as when the application is launched to open a specific file. /// </summary> /// <param name="e">Details about the launch request and process.</param> protected override async void OnLaunched([NotNull] LaunchActivatedEventArgs e) { _machine = KaraokeMachine.WithABrain(); var rootFrame = _CreateMainWindow(); _InitializeViewState(e); rootFrame.ChangeToCurrentPageIfNotCurrentlyShowingAnything(e); _ActivateApplication(); await _machine.TurnOn.Execute(); }
private _MachineBrains([NotNull] KaraokeMachine machine, [NotNull] Func <Task <_SlideLibrary> > slideLoader, [NotNull] Clock clock) { _machine = machine; _slideLoader = slideLoader; _clock = clock; _machine.ShowOptions(); _machine.SlideAdvanceSpeed = 10; _slideLibrary = null; }
public static _RootWindow InitializeNewWindow([NotNull] KaraokeMachine machine) { var rootFrame = new Frame { Language = ApplicationLanguages.Languages[0] }; rootFrame.NavigationFailed += _OnNavigationFailed; Window.Current.Content = rootFrame; return(new _RootWindow(rootFrame, machine)); }
private _RootWindow([NotNull] Frame rootFrame, [NotNull] KaraokeMachine machine) { _rootFrame = rootFrame; _machine = machine; _rootFrame.Focus(FocusState.Programmatic); _machine.PropertyChanged += (sender, args) => { if (string.Equals(args.PropertyName, "CurrentPageType")) { ChangeToCurrentPage(); } }; }
private static _MachineBrains _ConnectBrainsToMachine([NotNull] KaraokeMachine machine, [NotNull] Func <Task <_SlideLibrary> > slideLoader, [NotNull] Clock clock) { var brains = new _MachineBrains(machine, slideLoader, clock); machine.Pause.BindTo(brains.Pause); machine.AdvanceSlide.BindTo(brains.AdvanceSlide); machine.Stop.BindTo(brains.Stop); machine.Start.BindTo(brains.Start); machine.StartAutoplay.BindTo(brains.StartAutoplay); machine.TurnOn.BindTo(brains.PrepareDeck); machine._CleanUp = brains.Dispose; return(brains); }
public static _RootWindow WrapExistingFrameIfPresent([NotNull] KaraokeMachine machine) { var rootFrame = Window.Current.Content as Frame; return(rootFrame == null ? null : new _RootWindow(rootFrame, machine)); }
public void SetUp() { _testSubject = KaraokeMachine.Brainless(); }
public static _TypedObjectAssertions <KaraokeMachine> Should([NotNull] this KaraokeMachine subject) { return(new _TypedObjectAssertions <KaraokeMachine>(subject)); }
public static void SupplyBrainFor([NotNull] KaraokeMachine machine) { _ConnectBrainsToMachine(machine, _OpenPresentationFile, new _WallClock()); }
public static _MachineBrains WithTrivialSlidesAndUi(out KaraokeMachine machine, [NotNull] Clock clock) { machine = new KaraokeMachine(ExecuteVia.BackgroundWorkers()); return(_ConnectBrainsToMachine(machine, _TrivialTestSlides.LoadAllSlides, clock)); }