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
Methods
CanCreatePropertyInputViewModel(ILayerProperty)
Determines if there is a matching registration for the provided layer property
bool CanCreatePropertyInputViewModel(ILayerProperty layerProperty)
Parameters
layerPropertyILayerPropertyThe layer property to try to find a view model for
Returns
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
layerPropertyLayerProperty<T>
Returns
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
Returns
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
pluginPlugin
Returns
Type Parameters
T
RemovePropertyInput(PropertyInputRegistration)
Removes the property input view model
void RemovePropertyInput(PropertyInputRegistration registration)
Parameters
registrationPropertyInputRegistration