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 there is a child (root group), it must evaluate to true whenever the event triggered
|
||||||
if (Children.Any())
|
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
|
// If there are no children, we always evaluate to true whenever the event triggered
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,6 +44,10 @@ namespace Artemis.Core
|
|||||||
[DataModelIgnore]
|
[DataModelIgnore]
|
||||||
public Type ArgumentsType => typeof(T);
|
public Type ArgumentsType => typeof(T);
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
[DataModelIgnore]
|
||||||
|
public DataModelEventArgs? LastEventArgumentsUntyped => LastEventArguments;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public event EventHandler? EventTriggered;
|
public event EventHandler? EventTriggered;
|
||||||
}
|
}
|
||||||
@ -87,6 +91,10 @@ namespace Artemis.Core
|
|||||||
[DataModelIgnore]
|
[DataModelIgnore]
|
||||||
public Type ArgumentsType => typeof(DataModelEventArgs);
|
public Type ArgumentsType => typeof(DataModelEventArgs);
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
[DataModelIgnore]
|
||||||
|
public DataModelEventArgs? LastEventArgumentsUntyped => LastEventArguments;
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public event EventHandler? EventTriggered;
|
public event EventHandler? EventTriggered;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,6 +19,11 @@ namespace Artemis.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
Type ArgumentsType { get; }
|
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>
|
/// <summary>
|
||||||
/// Fires when the event is triggered
|
/// Fires when the event is triggered
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -97,7 +97,11 @@ namespace Artemis.UI.Shared.Input
|
|||||||
public bool IsDataModelViewModelOpen
|
public bool IsDataModelViewModelOpen
|
||||||
{
|
{
|
||||||
get => _isDataModelViewModelOpen;
|
get => _isDataModelViewModelOpen;
|
||||||
set => SetAndNotify(ref _isDataModelViewModelOpen, value);
|
set
|
||||||
|
{
|
||||||
|
if (!SetAndNotify(ref _isDataModelViewModelOpen, value)) return;
|
||||||
|
if (value) UpdateDataModelVisualization();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public DataModelPath DataModelPath
|
public DataModelPath DataModelPath
|
||||||
@ -195,9 +199,14 @@ namespace Artemis.UI.Shared.Input
|
|||||||
|
|
||||||
private void OnUpdateTimerOnElapsed(object sender, ElapsedEventArgs e)
|
private void OnUpdateTimerOnElapsed(object sender, ElapsedEventArgs e)
|
||||||
{
|
{
|
||||||
if (!IsDataModelViewModelOpen)
|
// if (!IsDataModelViewModelOpen)
|
||||||
return;
|
// return;
|
||||||
|
//
|
||||||
|
// UpdateDataModelVisualization();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateDataModelVisualization()
|
||||||
|
{
|
||||||
DataModelViewModel.Update(_dataModelUIService);
|
DataModelViewModel.Update(_dataModelUIService);
|
||||||
foreach (DataModelPropertiesViewModel extraDataModelViewModel in ExtraDataModelViewModels)
|
foreach (DataModelPropertiesViewModel extraDataModelViewModel in ExtraDataModelViewModels)
|
||||||
extraDataModelViewModel.Update(_dataModelUIService);
|
extraDataModelViewModel.Update(_dataModelUIService);
|
||||||
|
|||||||
@ -184,13 +184,10 @@ namespace Artemis.UI.Shared
|
|||||||
|
|
||||||
internal void PopulateProperties(IDataModelUIService dataModelUIService)
|
internal void PopulateProperties(IDataModelUIService dataModelUIService)
|
||||||
{
|
{
|
||||||
// if (IsRootViewModel)
|
if (IsRootViewModel && DataModel == null)
|
||||||
// return;
|
|
||||||
|
|
||||||
if (Parent == null && DataModel == null)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Type modelType = Parent == null || Parent.IsRootViewModel ? DataModel.GetType() : DataModelPath.GetPropertyType();
|
Type modelType = IsRootViewModel ? DataModel.GetType() : DataModelPath?.GetPropertyType() ?? DataModel.GetType();
|
||||||
|
|
||||||
// Add missing static children
|
// Add missing static children
|
||||||
foreach (PropertyInfo propertyInfo in modelType.GetProperties(BindingFlags.Public | BindingFlags.Instance).OrderBy(t => t.MetadataToken))
|
foreach (PropertyInfo propertyInfo in modelType.GetProperties(BindingFlags.Public | BindingFlags.Instance).OrderBy(t => t.MetadataToken))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user