95 lines
3.0 KiB
C#
95 lines
3.0 KiB
C#
/*
|
|
* Copyright (c) 2022 LG Electronics Inc.
|
|
* SPDX-License-Identifier: LicenseRef-LGE-Proprietary
|
|
*/
|
|
using Aurora.View;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Input;
|
|
|
|
namespace AuroraUIComponent.Sequence
|
|
{
|
|
class UCScreenShotSelectViewModel : NotifyPropertyChangedBase
|
|
{
|
|
|
|
|
|
private List<ScreenShotSequence.ScreenShotWorkItem> _MenuList;
|
|
public List<ScreenShotSequence.ScreenShotWorkItem> MenuList { get => _MenuList; set => SetProperty(ref _MenuList, value); }
|
|
|
|
public bool IsExtMenuExist { get => MenuList?.Any(x => !string.IsNullOrEmpty(x.ExtMenu)) ?? false; }
|
|
|
|
public ICommand CMD_AllOn { get; }
|
|
public ICommand CMD_AllOff { get; }
|
|
public ICommand CMD_MainOn { get; }
|
|
public ICommand CMD_MainOff { get; }
|
|
public ICommand CMD_SubOn { get; }
|
|
public ICommand CMD_SubOff { get; }
|
|
|
|
public UCScreenShotSelectViewModel(List<ScreenShotSequence.ScreenShotWorkItem> list)
|
|
{
|
|
MenuList = list;
|
|
NotifyPropertyChanged(nameof(IsExtMenuExist));
|
|
|
|
CMD_AllOn = new DelegateCommand(DoAllOn);
|
|
CMD_AllOff = new DelegateCommand(DoAllOff);
|
|
CMD_MainOn = new DelegateCommand(DoMainOn);
|
|
CMD_MainOff = new DelegateCommand(DoMainOff);
|
|
CMD_SubOn = new DelegateCommand(DoSubOn);
|
|
CMD_SubOff = new DelegateCommand(DoSubOff);
|
|
}
|
|
|
|
private void DoAllOff(object obj)
|
|
{
|
|
if (MenuList == null) return;
|
|
|
|
MenuList.ForEach(x => { x.IsSelected = false; });
|
|
}
|
|
|
|
private void DoAllOn(object obj)
|
|
{
|
|
if (MenuList == null) return;
|
|
|
|
MenuList.ForEach(x => { x.IsSelected = true; });
|
|
}
|
|
|
|
private void DoSubOff(object obj)
|
|
{
|
|
if (MenuList == null) return;
|
|
|
|
if (obj is ScreenShotSequence.ScreenShotWorkItem item) {
|
|
MenuList.ForEach(x => { if (x.MainMenu == item.MainMenu && x.SubMenu == item.SubMenu) { x.IsSelected = false; } });
|
|
}
|
|
}
|
|
|
|
private void DoSubOn(object obj)
|
|
{
|
|
if (MenuList == null) return;
|
|
|
|
if (obj is ScreenShotSequence.ScreenShotWorkItem item) {
|
|
MenuList.ForEach(x => { if (x.MainMenu == item.MainMenu && x.SubMenu == item.SubMenu) { x.IsSelected = true; } });
|
|
}
|
|
}
|
|
|
|
private void DoMainOff(object obj)
|
|
{
|
|
if (MenuList == null) return;
|
|
|
|
if (obj is ScreenShotSequence.ScreenShotWorkItem item) {
|
|
MenuList.ForEach(x => { if (x.MainMenu == item.MainMenu) { x.IsSelected = false; } });
|
|
}
|
|
}
|
|
|
|
private void DoMainOn(object obj)
|
|
{
|
|
if (MenuList == null) return;
|
|
|
|
if (obj is ScreenShotSequence.ScreenShotWorkItem item) {
|
|
MenuList.ForEach(x => { if (x.MainMenu == item.MainMenu) { x.IsSelected = true; } });
|
|
}
|
|
}
|
|
}
|
|
}
|