1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00
This commit is contained in:
SpoinkyNL 2020-08-03 22:41:32 +02:00
parent 10c839f8c9
commit 8ca671fa84
4 changed files with 18 additions and 17 deletions

View File

@ -38,8 +38,7 @@
Command="{s:Action Delete}"> Command="{s:Action Delete}">
<materialDesign:PackIcon Kind="Close" Width="18" Height="18" /> <materialDesign:PackIcon Kind="Close" Width="18" Height="18" />
</Button> </Button>
<Button x:Name="BooleanOperatorButton" <Button Grid.Row="0"
Grid.Row="0"
Grid.Column="1" Grid.Column="1"
Style="{StaticResource DisplayConditionButtonLeftClickMenu}" Style="{StaticResource DisplayConditionButtonLeftClickMenu}"
Background="#E74C4C" Background="#E74C4C"
@ -55,7 +54,8 @@
</ContextMenu> </ContextMenu>
</Button.ContextMenu> </Button.ContextMenu>
</Button> </Button>
<Button Grid.Row="0" <Button x:Name="AddChildButton"
Grid.Row="0"
Grid.Column="2" Grid.Column="2"
HorizontalAlignment="Left" HorizontalAlignment="Left"
Foreground="#4CE758" Foreground="#4CE758"

View File

@ -1,6 +1,7 @@
using System; using System;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows;
using Artemis.Core.Models.Profile.Conditions; using Artemis.Core.Models.Profile.Conditions;
using Artemis.UI.Ninject.Factories; using Artemis.UI.Ninject.Factories;
using Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.Abstract; using Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions.Abstract;
@ -10,15 +11,14 @@ using Stylet;
namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
{ {
public class DisplayConditionGroupViewModel : DisplayConditionViewModel public class DisplayConditionGroupViewModel : DisplayConditionViewModel, IViewAware
{ {
private readonly IProfileEditorService _profileEditorService;
private readonly IDisplayConditionsVmFactory _displayConditionsVmFactory; private readonly IDisplayConditionsVmFactory _displayConditionsVmFactory;
private bool _isRootGroup; private readonly IProfileEditorService _profileEditorService;
private bool _isInitialized; private bool _isInitialized;
private bool _isSelectedBooleanOperatorOpen; private bool _isRootGroup;
public DisplayConditionGroupViewModel(DisplayConditionGroup displayConditionGroup, DisplayConditionViewModel parent, public DisplayConditionGroupViewModel(DisplayConditionGroup displayConditionGroup, DisplayConditionViewModel parent,
IProfileEditorService profileEditorService, IDisplayConditionsVmFactory displayConditionsVmFactory) : base(displayConditionGroup, parent) IProfileEditorService profileEditorService, IDisplayConditionsVmFactory displayConditionsVmFactory) : base(displayConditionGroup, parent)
{ {
_profileEditorService = profileEditorService; _profileEditorService = profileEditorService;
@ -44,13 +44,14 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
set => SetAndNotify(ref _isInitialized, value); set => SetAndNotify(ref _isInitialized, value);
} }
public bool IsSelectedBooleanOperatorOpen public string SelectedBooleanOperator => DisplayConditionGroup.BooleanOperator.Humanize();
public void AttachView(UIElement view)
{ {
get => _isSelectedBooleanOperatorOpen; View = view;
set => SetAndNotify(ref _isSelectedBooleanOperatorOpen, value);
} }
public string SelectedBooleanOperator => DisplayConditionGroup.BooleanOperator.Humanize(); public UIElement View { get; set; }
public void SelectBooleanOperator(string type) public void SelectBooleanOperator(string type)
{ {
@ -65,7 +66,7 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
DisplayConditionGroup.AddChild(new DisplayConditionPredicate(DisplayConditionGroup, PredicateType.Static)); DisplayConditionGroup.AddChild(new DisplayConditionPredicate(DisplayConditionGroup, PredicateType.Static));
else if (type == "Dynamic") else if (type == "Dynamic")
DisplayConditionGroup.AddChild(new DisplayConditionPredicate(DisplayConditionGroup, PredicateType.Dynamic)); DisplayConditionGroup.AddChild(new DisplayConditionPredicate(DisplayConditionGroup, PredicateType.Dynamic));
Update(); Update();
_profileEditorService.UpdateSelectedProfileElement(); _profileEditorService.UpdateSelectedProfileElement();
} }
@ -73,7 +74,7 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
public void AddGroup() public void AddGroup()
{ {
DisplayConditionGroup.AddChild(new DisplayConditionGroup(DisplayConditionGroup)); DisplayConditionGroup.AddChild(new DisplayConditionGroup(DisplayConditionGroup));
Update(); Update();
_profileEditorService.UpdateSelectedProfileElement(); _profileEditorService.UpdateSelectedProfileElement();
} }

View File

@ -150,7 +150,7 @@
Command="{s:Action ActivateRightSideInputViewModel}" Command="{s:Action ActivateRightSideInputViewModel}"
HorizontalAlignment="Left"> HorizontalAlignment="Left">
<Grid> <Grid>
<StackPanel x:Name="StaticValueDisplay" Visibility="{Binding RightStaticValue, Converter={StaticResource NullToVisibilityConverter}}" Orientation="Horizontal" > <StackPanel Visibility="{Binding RightStaticValue, Converter={StaticResource NullToVisibilityConverter}}" Orientation="Horizontal" >
<TextBlock FontWeight="Light" <TextBlock FontWeight="Light"
Text="{Binding SelectedLeftSideProperty.PropertyDescription.Prefix}" Text="{Binding SelectedLeftSideProperty.PropertyDescription.Prefix}"
Visibility="{Binding SelectedLeftSideProperty.PropertyDescription.Prefix, Converter={StaticResource NullToVisibilityConverter}}" /> Visibility="{Binding SelectedLeftSideProperty.PropertyDescription.Prefix, Converter={StaticResource NullToVisibilityConverter}}" />
@ -168,7 +168,7 @@
<Border BorderBrush="{DynamicResource PrimaryHueMidBrush}" <Border BorderBrush="{DynamicResource PrimaryHueMidBrush}"
Background="{DynamicResource MaterialDesignPaper}" Background="{DynamicResource MaterialDesignPaper}"
CornerRadius="3" CornerRadius="3"
Padding="3" Padding="3"
HorizontalAlignment="Left"> HorizontalAlignment="Left">
<ContentControl s:View.Model="{Binding RightSideInputViewModel}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" /> <ContentControl s:View.Model="{Binding RightSideInputViewModel}" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />
</Border> </Border>

View File

@ -21,7 +21,7 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.DisplayConditions
public DisplayConditionsViewModel(IProfileEditorService profileEditorService, IDisplayConditionsVmFactory displayConditionsVmFactory) public DisplayConditionsViewModel(IProfileEditorService profileEditorService, IDisplayConditionsVmFactory displayConditionsVmFactory)
{ {
_profileEditorService = profileEditorService; _profileEditorService = profileEditorService;
_displayConditionsVmFactory = displayConditionsVmFactory; _displayConditionsVmFactory = displayConditionsVmFactory;
} }
public int TransitionerIndex public int TransitionerIndex