using Caliburn; using Caliburn.Castle; using Caliburn.Composition; using Caliburn.Configuration; using Caliburn.Modules; using Caliburn.PlatformCapabilities; using Caliburn.Services; using Caliburn.StateManagement; using Caliburn.Views; using Castle.Windsor; namespace Samples.SimpleShell { public class CustomConfiguration : ContainerConfiguration { public CustomConfiguration() : this(new WindsorContainer()) {} private CustomConfiguration(WindsorContainer container) : base(new WindsorContainerAdapter(container)) { container.AddFacility("EventRegistrationFacility", new EventRegistrationFacility()); container.AddComponent("WindowsCapabilities", typeof(IPlatformCapabilities), typeof(WindowsCapabilities)); container.AddComponent("ViewManager", typeof(IViewManager), typeof(ViewManager)); container.AddComponent("PresenterManager", typeof(IPresenterManager), typeof(PresenterManager)); container.AddComponent("CompositeManager", typeof(ICompositeManager), typeof(CompositeManager)); container.AddComponent("ModuleManager", typeof(IModuleManager), typeof(ModuleManager)); container.AddComponent("ShellState", typeof(IShellState), typeof(ShellState)); container.AddComponent("FolderBasedModuleLocator", typeof(IModuleLocator), typeof(FolderBasedModuleLocator)); container.AddComponent("BinaryStateSerializer", typeof(IStateSerializer), typeof(BinaryStateSerializer)); container.AddComponent("ApplicationPresenter", typeof(ApplicationPresenter), typeof(ApplicationPresenter)); } } }