using DeviceCommand.Base;
using DeviceCommand.Devices;
using MainModule.Views;
using Prism.Ioc;
using Prism.Modularity;

namespace MainModule
{
    [Module(OnDemand = true)]
    public class MainModule : IModule
    {
        public void OnInitialized(IContainerProvider containerProvider)
        {
            IRegionManager regionManager = containerProvider.Resolve<IRegionManager>();

            // 1. 加载主界面
            regionManager.RegisterViewWithRegion("ShellViewManager", typeof(MainView));

            // 2. 给 3 个台架分别注入测试视图
            // 当你点击 "台架 1" 的 Tab 时，就会显示这个 ProtocolStartView
            regionManager.RegisterViewWithRegion("TestCell1", typeof(ProtocolStartView));

            // 当你点击 "台架 2" 的 Tab 时，就会显示这个 ProtocolStartView
            regionManager.RegisterViewWithRegion("TestCell2", typeof(ProtocolStartView));

            // 当你点击 "台架 3" 的 Tab 时，就会显示这个 ProtocolStartView
            regionManager.RegisterViewWithRegion("TestCell3", typeof(ProtocolStartView));
        }

        public void RegisterTypes(IContainerRegistry containerRegistry)
        {
            containerRegistry.RegisterForNavigation<MainView>("MainView");
            containerRegistry.RegisterForNavigation<AutomatedTestingView>("AutomatedTestingView");
            containerRegistry.RegisterForNavigation<ProtocolStartView>("ProtocolStartView");
        }
    }
}