diff --git a/src/Artemis.Core/Models/Profile/Conditions/DisplayConditionPredicate.cs b/src/Artemis.Core/Models/Profile/Conditions/DisplayConditionPredicate.cs index c989d3602..3d54a64fc 100644 --- a/src/Artemis.Core/Models/Profile/Conditions/DisplayConditionPredicate.cs +++ b/src/Artemis.Core/Models/Profile/Conditions/DisplayConditionPredicate.cs @@ -5,10 +5,20 @@ namespace Artemis.Core.Models.Profile.Conditions { public class DisplayConditionPredicate : DisplayConditionPart { - public Guid DataModelGuid { get; set; } - public string PropertyPath { get; set; } - + public PredicateType PredicateType { get; set; } public DisplayConditionOperator Operator { get; set; } - public object Value { get; set; } + + public Guid LeftDataModelGuid { get; set; } + public string LeftPropertyPath { get; set; } + + public Guid RightDataModelGuid { get; set; } + public string RightPropertyPath { get; set; } + public object RightStaticValue { get; set; } + } + + public enum PredicateType + { + Static, + Dynamic } } \ No newline at end of file diff --git a/src/Artemis.UI.Shared/Controls/DraggableFloat.xaml b/src/Artemis.UI.Shared/Controls/DraggableFloat.xaml index 2155218ae..7e3811d08 100644 --- a/src/Artemis.UI.Shared/Controls/DraggableFloat.xaml +++ b/src/Artemis.UI.Shared/Controls/DraggableFloat.xaml @@ -19,7 +19,8 @@ @@ -32,7 +33,6 @@ Margin="0 3 0 0" Text="{Binding Value, StringFormat=N3, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" Cursor="/Resources/Cursors/aero_drag_ew.cur" - Foreground="{DynamicResource SecondaryAccentBrush}" MouseDown="InputMouseDown" MouseUp="InputMouseUp" MouseMove="InputMouseMove" diff --git a/src/Artemis.UI/ResourceDictionaries/DisplayConditions.xaml b/src/Artemis.UI/ResourceDictionaries/DisplayConditions.xaml index 543667e40..1e93f492a 100644 --- a/src/Artemis.UI/ResourceDictionaries/DisplayConditions.xaml +++ b/src/Artemis.UI/ResourceDictionaries/DisplayConditions.xaml @@ -2,24 +2,11 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Artemis.UI.ResourceDictionaries"> - - + + + + + + + + + + + + + + + diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/DisplayConditions/DisplayConditionGroupViewModel.cs b/src/Artemis.UI/Screens/Module/ProfileEditor/DisplayConditions/DisplayConditionGroupViewModel.cs index 1331406f1..3884102fc 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/DisplayConditions/DisplayConditionGroupViewModel.cs +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/DisplayConditions/DisplayConditionGroupViewModel.cs @@ -12,7 +12,8 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions private readonly IDisplayConditionsVmFactory _displayConditionsVmFactory; private bool _isRootGroup; - public DisplayConditionGroupViewModel(DisplayConditionGroup displayConditionGroup, DisplayConditionViewModel parent, IDisplayConditionsVmFactory displayConditionsVmFactory) : base(displayConditionGroup, parent) + public DisplayConditionGroupViewModel(DisplayConditionGroup displayConditionGroup, DisplayConditionViewModel parent, IDisplayConditionsVmFactory displayConditionsVmFactory) : base( + displayConditionGroup, parent) { _displayConditionsVmFactory = displayConditionsVmFactory; } @@ -34,9 +35,12 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions NotifyOfPropertyChange(nameof(SelectedBooleanOperator)); } - public void AddCondition() + public void AddCondition(string type) { - DisplayConditionGroup.AddChild(new DisplayConditionPredicate()); + if (type == "Static") + DisplayConditionGroup.AddChild(new DisplayConditionPredicate {PredicateType = PredicateType.Static}); + else if (type == "Dynamic") + DisplayConditionGroup.AddChild(new DisplayConditionPredicate {PredicateType = PredicateType.Dynamic}); Update(); } diff --git a/src/Artemis.UI/Screens/Module/ProfileEditor/DisplayConditions/DisplayConditionPredicateView.xaml b/src/Artemis.UI/Screens/Module/ProfileEditor/DisplayConditions/DisplayConditionPredicateView.xaml index 8df3ecc18..1a4c0aa16 100644 --- a/src/Artemis.UI/Screens/Module/ProfileEditor/DisplayConditions/DisplayConditionPredicateView.xaml +++ b/src/Artemis.UI/Screens/Module/ProfileEditor/DisplayConditions/DisplayConditionPredicateView.xaml @@ -24,7 +24,7 @@ - + @@ -41,11 +41,14 @@ Command="{s:Action Delete}"> + + + + + + + + +