mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Display conditions - Fixed event argument conditions
Display conditions - Fixed event inner-condition selection
This commit is contained in:
parent
f179980ac4
commit
13df88ca40
@ -62,7 +62,8 @@ namespace Artemis.Core
|
||||
|
||||
// If there is a child (root group), it must evaluate to true whenever the event triggered
|
||||
if (Children.Any())
|
||||
return Children[0].Evaluate();
|
||||
return Children[0].EvaluateObject(_event.LastEventArgumentsUntyped);
|
||||
|
||||
// If there are no children, we always evaluate to true whenever the event triggered
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -44,6 +44,10 @@ namespace Artemis.Core
|
||||
[DataModelIgnore]
|
||||
public Type ArgumentsType => typeof(T);
|
||||
|
||||
/// <inheritdoc />
|
||||
[DataModelIgnore]
|
||||
public DataModelEventArgs? LastEventArgumentsUntyped => LastEventArguments;
|
||||
|
||||
/// <inheritdoc />
|
||||
public event EventHandler? EventTriggered;
|
||||
}
|
||||
@ -87,6 +91,10 @@ namespace Artemis.Core
|
||||
[DataModelIgnore]
|
||||
public Type ArgumentsType => typeof(DataModelEventArgs);
|
||||
|
||||
/// <inheritdoc />
|
||||
[DataModelIgnore]
|
||||
public DataModelEventArgs? LastEventArgumentsUntyped => LastEventArguments;
|
||||
|
||||
/// <inheritdoc />
|
||||
public event EventHandler? EventTriggered;
|
||||
}
|
||||
|
||||
@ -19,6 +19,11 @@ namespace Artemis.Core
|
||||
/// </summary>
|
||||
Type ArgumentsType { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the event arguments of the last time the event was triggered by its base type
|
||||
/// </summary>
|
||||
public DataModelEventArgs? LastEventArgumentsUntyped { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Fires when the event is triggered
|
||||
/// </summary>
|
||||
|
||||
@ -97,7 +97,11 @@ namespace Artemis.UI.Shared.Input
|
||||
public bool IsDataModelViewModelOpen
|
||||
{
|
||||
get => _isDataModelViewModelOpen;
|
||||
set => SetAndNotify(ref _isDataModelViewModelOpen, value);
|
||||
set
|
||||
{
|
||||
if (!SetAndNotify(ref _isDataModelViewModelOpen, value)) return;
|
||||
if (value) UpdateDataModelVisualization();
|
||||
}
|
||||
}
|
||||
|
||||
public DataModelPath DataModelPath
|
||||
@ -195,9 +199,14 @@ namespace Artemis.UI.Shared.Input
|
||||
|
||||
private void OnUpdateTimerOnElapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
if (!IsDataModelViewModelOpen)
|
||||
return;
|
||||
// if (!IsDataModelViewModelOpen)
|
||||
// return;
|
||||
//
|
||||
// UpdateDataModelVisualization();
|
||||
}
|
||||
|
||||
private void UpdateDataModelVisualization()
|
||||
{
|
||||
DataModelViewModel.Update(_dataModelUIService);
|
||||
foreach (DataModelPropertiesViewModel extraDataModelViewModel in ExtraDataModelViewModels)
|
||||
extraDataModelViewModel.Update(_dataModelUIService);
|
||||
|
||||
@ -184,13 +184,10 @@ namespace Artemis.UI.Shared
|
||||
|
||||
internal void PopulateProperties(IDataModelUIService dataModelUIService)
|
||||
{
|
||||
// if (IsRootViewModel)
|
||||
// return;
|
||||
|
||||
if (Parent == null && DataModel == null)
|
||||
if (IsRootViewModel && DataModel == null)
|
||||
return;
|
||||
|
||||
Type modelType = Parent == null || Parent.IsRootViewModel ? DataModel.GetType() : DataModelPath.GetPropertyType();
|
||||
Type modelType = IsRootViewModel ? DataModel.GetType() : DataModelPath?.GetPropertyType() ?? DataModel.GetType();
|
||||
|
||||
// Add missing static children
|
||||
foreach (PropertyInfo propertyInfo in modelType.GetProperties(BindingFlags.Public | BindingFlags.Instance).OrderBy(t => t.MetadataToken))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user