public DeviceDialogViewModel(ArtemisDevice device,
                                     ICoreService coreService,
                                     IDeviceService deviceService,
                                     IRgbService rgbService,
                                     IDialogService dialogService,
                                     IDeviceDebugVmFactory factory)
        {
            _coreService   = coreService;
            _deviceService = deviceService;
            _rgbService    = rgbService;
            _dialogService = dialogService;

            Device           = device;
            PanZoomViewModel = new PanZoomViewModel();
            SelectedLeds     = new BindableCollection <ArtemisLed>();

            Items.Add(factory.DevicePropertiesTabViewModel(device));
            if (device.RgbDevice.DeviceInfo.DeviceType == RGBDeviceType.Keyboard)
            {
                Items.Add(factory.InputMappingsTabViewModel(device));
            }
            Items.Add(factory.DeviceInfoTabViewModel(device));
            Items.Add(factory.DeviceLedsTabViewModel(device));

            ActiveItem  = Items.First();
            DisplayName = $"{device.RgbDevice.DeviceInfo.Model} | Artemis";
        }
        public DeviceDialogViewModel(ArtemisDevice device, IDeviceService deviceService, IRgbService rgbService, IDialogService dialogService, IDeviceDebugVmFactory factory)
        {
            _deviceService = deviceService;
            _rgbService    = rgbService;
            _dialogService = dialogService;

            Device           = device;
            PanZoomViewModel = new PanZoomViewModel();

            Items.Add(factory.DevicePropertiesTabViewModel(device));
            Items.Add(factory.DeviceInfoTabViewModel(device));
            Items.Add(factory.DeviceLedsTabViewModel(device));
            ActiveItem  = Items.First();
            DisplayName = $"{device.RgbDevice.DeviceInfo.Model} | Artemis";
        }