mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Dynamic datamodels - Added some required models
This commit is contained in:
parent
882fe44c20
commit
a19e754f7c
@ -32,6 +32,7 @@
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cprofile_005Cdatabindings_005Cmodes/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cprofile_005Cdatabindings_005Cmodifiers/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cprofile_005Cdatabindings_005Cmodifiers_005Cabstract/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cprofile_005Cdatamodel/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cprofile_005Clayerproperties/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cprofile_005Clayerproperties_005Cattributes/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=models_005Cprofile_005Clayerproperties_005Ctypes/@EntryIndexedValue">True</s:Boolean>
|
||||
|
||||
32
src/Artemis.Core/Models/Profile/DataModel/DataModelPath.cs
Normal file
32
src/Artemis.Core/Models/Profile/DataModel/DataModelPath.cs
Normal file
@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Artemis.Core.DataModelExpansions;
|
||||
|
||||
namespace Artemis.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a path that points to a property in data model
|
||||
/// </summary>
|
||||
public class DataModelPath
|
||||
{
|
||||
private readonly LinkedList<DataModelPathPart> _parts;
|
||||
|
||||
internal DataModelPath()
|
||||
{
|
||||
_parts = new LinkedList<DataModelPathPart>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the data model at which this path starts
|
||||
/// </summary>
|
||||
public DataModel DataModel { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a read-only list of all parts of this path
|
||||
/// </summary>
|
||||
public IReadOnlyCollection<DataModelPathPart> Parts => _parts.ToList().AsReadOnly();
|
||||
|
||||
internal Guid DataModelGuid { get; set; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
namespace Artemis.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a part of a data model path
|
||||
/// </summary>
|
||||
public class DataModelPathPart
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the identifier that is associated with this part
|
||||
/// </summary>
|
||||
public string Identifier { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the type of data model this part of the path points to
|
||||
/// </summary>
|
||||
public DataModelPathPartType Type { get; private set; }
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
namespace Artemis.Core
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a type of data model path
|
||||
/// </summary>
|
||||
public enum DataModelPathPartType
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents a static data model type that points to a data model defined in code
|
||||
/// </summary>
|
||||
Static,
|
||||
|
||||
/// <summary>
|
||||
/// Represents a static data model type that points to a data model defined at runtime
|
||||
/// </summary>
|
||||
Dynamic
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user