2026-06-05 13:44:39 +09:00

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; } });
}
}
}
}