Files
PowerToys/src/settings-ui/Settings.UI/ViewModels/PluginAdditionalOptionViewModel.cs

65 lines
2.1 KiB
C#
Raw Normal View History

2021-02-26 13:21:58 +02:00
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Collections.Generic;
2021-02-26 13:21:58 +02:00
using System.ComponentModel;
using System.Runtime.CompilerServices;
2022-10-26 14:02:31 +01:00
using Microsoft.PowerToys.Settings.UI.Library;
2021-02-26 13:21:58 +02:00
2022-10-26 14:02:31 +01:00
namespace Microsoft.PowerToys.Settings.UI.ViewModels
2021-02-26 13:21:58 +02:00
{
public class PluginAdditionalOptionViewModel : INotifyPropertyChanged
{
private PluginAdditionalOption _additionalOption;
internal PluginAdditionalOptionViewModel(PluginAdditionalOption additionalOption)
{
_additionalOption = additionalOption;
}
public string DisplayLabel => _additionalOption.DisplayLabel;
2021-02-26 13:21:58 +02:00
public string DisplayDescription => _additionalOption.DisplayDescription;
2021-02-26 13:21:58 +02:00
public bool Value
{
get => _additionalOption.Value;
set
{
if (value != _additionalOption.Value)
{
_additionalOption.Value = value;
NotifyPropertyChanged();
}
}
}
public List<string> ComboBoxOptions => _additionalOption.ComboBoxOptions;
public int Option
{
get => _additionalOption.Option;
set
{
if (value != _additionalOption.Option)
{
_additionalOption.Option = value;
NotifyPropertyChanged();
}
}
}
public bool ShowComboBox => _additionalOption.SelectionTypeValue == (int)PluginAdditionalOption.SelectionType.Combobox && _additionalOption.ComboBoxOptions != null && _additionalOption.ComboBoxOptions.Count > 0;
public bool ShowCheckBox => _additionalOption.SelectionTypeValue == (int)PluginAdditionalOption.SelectionType.Checkbox;
2021-02-26 13:21:58 +02:00
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}