mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
Display conditions - Implemented lists in the core, UI needs more work
This commit is contained in:
1 parent
ae708fa26a
commit
f2f77da953
13 files changed
+288
-84
No files matched your search
+2
-4
@@ -30,11 +30,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.Abstract
|
||||
|
||||
public abstract void Update();
|
||||
|
||||
public virtual List<DataModelVisualizationViewModel> GetExtraDataModels()
|
||||
public virtual DataModelPropertiesViewModel GetDataModelOverride()
|
||||
{
|
||||
if (Parent != null)
|
||||
return Parent.GetExtraDataModels();
|
||||
return new List<DataModelVisualizationViewModel>();
|
||||
return Parent?.GetDataModelOverride();
|
||||
}
|
||||
|
||||
public virtual void Delete()
|
||||
|
||||
+3
-7
@@ -152,13 +152,12 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
||||
Update();
|
||||
}
|
||||
|
||||
public override List<DataModelVisualizationViewModel> GetExtraDataModels()
|
||||
public override DataModelPropertiesViewModel GetDataModelOverride()
|
||||
{
|
||||
var list = base.GetExtraDataModels();
|
||||
if (SelectedListProperty != null)
|
||||
list.Add(SelectedListProperty.ListTypePropertyViewModel);
|
||||
return (DataModelPropertiesViewModel) SelectedListProperty.GetListTypeViewModel(_dataModelVisualizationService);
|
||||
|
||||
return list;
|
||||
return base.GetDataModelOverride();
|
||||
}
|
||||
|
||||
public override void Update()
|
||||
@@ -210,9 +209,6 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
||||
return;
|
||||
|
||||
SelectedListProperty = dataModelListViewModel;
|
||||
if (SelectedListProperty.ListTypePropertyViewModel == null)
|
||||
SelectedListProperty.Update(_dataModelVisualizationService);
|
||||
|
||||
ApplyList();
|
||||
}
|
||||
}
|
||||
|
||||
+6
@@ -202,6 +202,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
||||
if (LeftSideDataModel == null || DisplayConditionPredicate.PredicateType == PredicateType.Dynamic && RightSideDataModel == null)
|
||||
return;
|
||||
|
||||
if (GetDataModelOverride() != null)
|
||||
LeftSideDataModel = GetDataModelOverride();
|
||||
|
||||
// If static, only allow selecting properties also supported by input
|
||||
if (DisplayConditionPredicate.PredicateType == PredicateType.Static)
|
||||
LeftSideDataModel.ApplyTypeFilter(false, _supportedInputTypes.ToArray());
|
||||
@@ -221,6 +224,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
|
||||
if (DisplayConditionPredicate.PredicateType == PredicateType.Dynamic)
|
||||
{
|
||||
SelectedRightSideProperty = LeftSideDataModel.GetChildForCondition(DisplayConditionPredicate, DisplayConditionSide.Right);
|
||||
if (GetDataModelOverride() != null)
|
||||
RightSideDataModel = GetDataModelOverride();
|
||||
|
||||
RightSideDataModel.ApplyTypeFilter(true, leftSideType);
|
||||
}
|
||||
else
|
||||
|
||||
Reference in new issue
Block a user