Table of Contents

Interface IPropertyInputService

Namespace
Artemis.UI.Shared.Services.PropertyInput
Assembly
Artemis.UI.Shared.dll

Represents a service that can be used to register property editors.

public interface IPropertyInputService : IArtemisSharedUIService

Properties

RegisteredPropertyEditors

Gets a read-only collection of all registered property editors

ReadOnlyCollection<PropertyInputRegistration> RegisteredPropertyEditors { get; }

Property Value

ReadOnlyCollection<PropertyInputRegistration>

Methods

CanCreatePropertyInputViewModel(ILayerProperty)

Determines if there is a matching registration for the provided layer property

bool CanCreatePropertyInputViewModel(ILayerProperty layerProperty)

Parameters

layerProperty ILayerProperty

The layer property to try to find a view model for

Returns

bool

CreatePropertyInputViewModel<T>(LayerProperty<T>)

If a matching registration is found, creates a new PropertyInputViewModel<T> supporting T

PropertyInputViewModel<T>? CreatePropertyInputViewModel<T>(LayerProperty<T> layerProperty)

Parameters

layerProperty LayerProperty<T>

Returns

PropertyInputViewModel<T>

Type Parameters

T

RegisterPropertyInput(Type, Plugin)

Registers a new property input view model used in the profile editor for the generic type defined in PropertyInputViewModel<T>

Note: DataBindingProperty will remove itself on plugin disable so you don't have to

PropertyInputRegistration RegisterPropertyInput(Type viewModelType, Plugin plugin)

Parameters

viewModelType Type
plugin Plugin

Returns

PropertyInputRegistration

RegisterPropertyInput<T>(Plugin)

Registers a new property input view model used in the profile editor for the generic type defined in PropertyInputViewModel<T>

Note: DataBindingProperty will remove itself on plugin disable so you don't have to

PropertyInputRegistration RegisterPropertyInput<T>(Plugin plugin) where T : PropertyInputViewModel

Parameters

plugin Plugin

Returns

PropertyInputRegistration

Type Parameters

T

RemovePropertyInput(PropertyInputRegistration)

Removes the property input view model

void RemovePropertyInput(PropertyInputRegistration registration)

Parameters

registration PropertyInputRegistration