mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Sidebar - Redesigned sidebar with customizable categories Profiles - Added the ability to configure custom profile icons Profiles - Added the ability to activate multiple profiles for modules at once Profiles - Added the ability to create profiles for no modules Profiles - Added the ability to suspend a profile or an entire category Profiles - Added profile activation conditions Profiles - Added file-based importing/exporting Profile editor - Condensed UI, removed tabs Profile editor - Disable condition operators until a left-side is picked
53 lines
2.0 KiB
C#
53 lines
2.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Artemis.Core;
|
|
using Artemis.Core.Modules;
|
|
using Artemis.Core.Services;
|
|
using Artemis.UI.Screens.ProfileEditor.Conditions.Abstract;
|
|
using Artemis.UI.Shared;
|
|
using Artemis.UI.Shared.Services;
|
|
|
|
namespace Artemis.UI.Screens.ProfileEditor.Conditions
|
|
{
|
|
public class DataModelConditionGeneralPredicateViewModel : DataModelConditionPredicateViewModel
|
|
{
|
|
private readonly IDataModelUIService _dataModelUIService;
|
|
|
|
public DataModelConditionGeneralPredicateViewModel(DataModelConditionGeneralPredicate dataModelConditionGeneralPredicate,
|
|
List<Module> modules,
|
|
IProfileEditorService profileEditorService,
|
|
IDataModelUIService dataModelUIService,
|
|
IConditionOperatorService conditionOperatorService,
|
|
ISettingsService settingsService)
|
|
: base(dataModelConditionGeneralPredicate, modules, profileEditorService, dataModelUIService, conditionOperatorService, settingsService)
|
|
{
|
|
_dataModelUIService = dataModelUIService;
|
|
}
|
|
|
|
protected override void OnInitialActivate()
|
|
{
|
|
Initialize();
|
|
}
|
|
|
|
protected override List<Type> GetSupportedInputTypes()
|
|
{
|
|
IReadOnlyCollection<DataModelVisualizationRegistration> editors = _dataModelUIService.RegisteredDataModelEditors;
|
|
List<Type> supportedInputTypes = editors.Select(e => e.SupportedType).ToList();
|
|
supportedInputTypes.AddRange(editors.Where(e => e.CompatibleConversionTypes != null).SelectMany(e => e.CompatibleConversionTypes));
|
|
supportedInputTypes.Add(typeof(IEnumerable<>));
|
|
|
|
return supportedInputTypes;
|
|
}
|
|
|
|
protected override Type GetLeftSideType()
|
|
{
|
|
return LeftSideSelectionViewModel.DataModelPath?.GetPropertyType();
|
|
}
|
|
|
|
public override void Evaluate()
|
|
{
|
|
IsConditionMet = DataModelConditionPredicate.Evaluate();
|
|
}
|
|
}
|
|
} |