public static Tvision2Setup AddTvControls(this Tvision2Setup setup, Action <ISkinManagerBuilder> skinOptions = null) { var tree = new ControlsTree(); setup.Builder.ConfigureServices(sc => { sc.AddSingleton <ControlsTree>(tree); sc.AddSingleton <IControlsTree>(tree); sc.AddSingleton <ISkinManager>(new SkinManager()); }); setup.AddHook <ChangeFocusEventHook>(); setup.Options.AfterCreateInvoke((engine, sp) => { var skinManager = sp.GetRequiredService <ISkinManager>() as SkinManager; var colorManager = sp.GetRequiredService <IColorManager>(); if (skinOptions != null) { FillSkinManager(skinOptions, skinManager, colorManager); } else { FillDefaultSkinManager(skinManager, colorManager); } var ctree = sp.GetRequiredService <IControlsTree>() as ControlsTree; tree.AttachTo(engine.UI); }); return(setup); }
public static Tvision2Setup AddTvDialogs(this Tvision2Setup setup) { setup.Builder.ConfigureServices(sc => { sc.AddSingleton <IDialogManager, DialogManager>(); }); setup.AddHook <DialogEscapeKeyHook>(); return(setup); }
public static Tvision2Setup UseViewportManager(this Tvision2Setup setup) { setup.AddHook <WindowResizedHook>(); setup.Builder.ConfigureServices(sc => { sc.AddTransient <IViewportFactory, ViewportFactory>(); sc.AddTransient <IDynamicViewportFactory, DynamicViewportFactory>(); sc.AddSingleton <IViewportManager, ViewportManager>(); }); setup.Options.AfterCreateInvoke((engine, sp) => { var viewportManager = sp.GetRequiredService <IViewportManager>() as ViewportManager; viewportManager.AttachTo(engine.UI as ComponentTree); }); return(setup); }