A property that has specified sub-properties which can be added using the graphical user interface.
More...
|
virtual std::string | getClassIdentifier () const override |
|
| ListProperty (std::string identifier, const std::string &displayName, size_t maxNumberOfElements=0, ListPropertyUIFlags uiFlags=ListPropertyUIFlag::Add|ListPropertyUIFlag::Remove, InvalidationLevel invalidationLevel=InvalidationLevel::InvalidResources, PropertySemantics semantics=PropertySemantics::Default) |
|
| ListProperty (std::string identifier, const std::string &displayName, std::vector< std::unique_ptr< Property >> prefabs, size_t maxNumberOfElements=0, ListPropertyUIFlags uiFlags=ListPropertyUIFlag::Add|ListPropertyUIFlag::Remove, InvalidationLevel invalidationLevel=InvalidationLevel::InvalidResources, PropertySemantics semantics=PropertySemantics::Default) |
|
| ListProperty (std::string identifier, const std::string &displayName, std::unique_ptr< Property > prefab, size_t maxNumberOfElements=0, ListPropertyUIFlags uiFlags=ListPropertyUIFlag::Add|ListPropertyUIFlag::Remove, InvalidationLevel invalidationLevel=InvalidationLevel::InvalidResources, PropertySemantics semantics=PropertySemantics::Default) |
|
| ListProperty (const ListProperty &rhs) |
|
virtual ListProperty * | clone () const override |
|
virtual std::string | getClassIdentifierForWidget () const override |
| Returns which property's widget should be used when the WidgetFactory tries to create a widget. Defaults to getClassIdentifier(), should only be overridden if a subclass want to reuse another property's widget.
|
|
virtual void | set (const Property *src) override |
|
void | set (const ListProperty *src) |
|
void | setMaxNumberOfElements (size_t n) |
| set the max number of list elements. This will remove additional properties if the list property contains more than n items. More...
|
|
size_t | getMaxNumberOfElements () const |
|
void | clear () |
| remove all list entries
|
|
void | addProperty (size_t prefabIndex) |
| add a list entry which is created from the respective prefab object. This function has no effect if the list size will exceed the maximum number of elements. More...
|
|
virtual void | addProperty (Property *property, bool owner=true) override |
| add property as new list entry. The type of the property must match one of the prefab objects. This function has no effect if the list size will exceed the maximum number of elements. More...
|
|
virtual void | addProperty (Property &property) override |
| add property as new list entry. The type of the property must match one of the prefab objects. This function has no effect if the list size will exceed the maximum number of elements. More...
|
|
virtual void | insertProperty (size_t index, Property *property, bool owner=true) override |
| insert property in the list at position index If index is not valid, the property is appended. The type of the property must match one of the prefab objects. This function has no effect if the list size will exceed the maximum number of elements. More...
|
|
virtual void | insertProperty (size_t index, Property &property) override |
| insert property in the list at position index If index is not valid, the property is appended. The type of the property must match one of the prefab objects. This function has no effect if the list size will exceed the maximum number of elements. More...
|
|
virtual Property * | removeProperty (const std::string &identifier) override |
|
virtual Property * | removeProperty (Property *property) override |
|
virtual Property * | removeProperty (Property &property) override |
|
virtual Property * | removeProperty (size_t index) override |
| remove property referred to by index More...
|
|
size_t | getPrefabCount () const |
| return number of prefab objects More...
|
|
void | addPrefab (std::unique_ptr< Property > p) |
| add a new prefab object p to be used as template when instantiating new list elements More...
|
|
const std::vector< std::unique_ptr< Property > > & | getPrefabs () const |
|
ListPropertyUIFlags | getUIFlags () const |
|
virtual void | serialize (Serializer &s) const override |
|
virtual void | deserialize (Deserializer &d) override |
|
| CompositeProperty (const std::string &identifier, const std::string &displayName, InvalidationLevel invalidationLevel=InvalidationLevel::InvalidResources, PropertySemantics semantics=PropertySemantics::Default) |
|
| CompositeProperty (const CompositeProperty &rhs)=default |
|
virtual bool | isCollapsed () const |
|
virtual void | setCollapsed (bool value) |
|
virtual void | setOwner (PropertyOwner *owner) override |
|
void | set (const CompositeProperty *src) |
|
virtual void | setValid () override |
|
virtual InvalidationLevel | getInvalidationLevel () const override |
|
virtual CompositeProperty & | setCurrentStateAsDefault () override |
|
virtual CompositeProperty & | resetToDefaultState () override |
|
virtual CompositeProperty & | setReadOnly (bool value) override |
| Enable or disable editing of property.
|
|
virtual void | invalidate (InvalidationLevel invalidationLevel, Property *modifiedProperty=0) override |
|
virtual Processor * | getProcessor () override |
|
virtual const Processor * | getProcessor () const override |
|
virtual std::vector< std::string > | getPath () const override |
|
| Property (const std::string &identifier="", const std::string &displayName="", InvalidationLevel invalidationLevel=InvalidationLevel::InvalidOutput, PropertySemantics semantics=PropertySemantics::Default) |
|
virtual | ~Property () |
| Removes itself from its PropertyOwner.
|
|
virtual Property & | setIdentifier (const std::string &identifier) |
|
virtual std::string | getIdentifier () const |
|
virtual Property & | setDisplayName (const std::string &displayName) |
| A property's name displayed to the user.
|
|
virtual std::string | getDisplayName () const |
|
virtual Property & | setSemantics (const PropertySemantics &semantics) |
|
virtual PropertySemantics | getSemantics () const |
|
virtual bool | getReadOnly () const |
|
virtual Property & | setInvalidationLevel (InvalidationLevel invalidationLevel) |
|
PropertyOwner * | getOwner () |
|
const PropertyOwner * | getOwner () const |
|
void | registerWidget (PropertyWidget *propertyWidget) |
|
void | deregisterWidget (PropertyWidget *propertyWidget) |
|
const std::vector< PropertyWidget * > & | getWidgets () const |
|
void | setInitiatingWidget (PropertyWidget *propertyWidget) |
|
void | clearInitiatingWidget () |
|
bool | hasWidgets () const |
|
virtual Property & | propertyModified () |
|
virtual Property & | setModified () |
|
virtual bool | isModified () const |
|
std::shared_ptr< std::function< void()> > | onChangeScoped (std::function< void()> callback) |
|
const BaseCallBack * | onChange (std::function< void()> callback) |
|
void | removeOnChange (const BaseCallBack *callback) |
|
template<typename T > |
const BaseCallBack * | onChange (T *object, void(T::*method)()) |
|
template<typename T > |
void | removeOnChange (T *object) |
|
virtual Property & | setUsageMode (UsageMode usageMode) |
|
virtual UsageMode | getUsageMode () const |
|
virtual void | setSerializationMode (PropertySerializationMode mode) |
|
virtual PropertySerializationMode | getSerializationMode () const |
|
virtual Property & | setVisible (bool val) |
|
virtual bool | getVisible () const |
|
template<typename P , typename DecisionFunc > |
Property & | visibilityDependsOn (P &prop, DecisionFunc callback) |
|
template<typename P , typename DecisionFunc > |
Property & | readonlyDependsOn (P &prop, DecisionFunc callback) |
|
virtual Document | getDescription () const |
|
template<typename P > |
Property & | autoLinkToProperty (const std::string &propertyPath) |
|
const std::vector< std::pair< std::string, std::string > > & | getAutoLinkToProperty () const |
|
| Observable (const Observable< PropertyObserver > &other) |
|
| Observable (Observable< PropertyObserver > &&other) |
|
Observable< PropertyObserver > & | operator= (const Observable< PropertyObserver > &other) |
|
Observable< PropertyObserver > & | operator= (Observable< PropertyObserver > &&other) |
|
void | addObserver (PropertyObserver *observer) |
|
void | removeObserver (PropertyObserver *observer) |
|
virtual void | startBlockingNotifications () override final |
|
virtual void | stopBlockingNotifications () override final |
|
| MetaDataOwner (const MetaDataOwner &rhs)=default |
|
MetaDataOwner & | operator= (const MetaDataOwner &rhs)=default |
|
void | copyMetaDataFrom (const MetaDataOwner &src) |
|
void | copyMetaDataTo (MetaDataOwner &dst) |
|
template<typename T > |
T * | createMetaData (const std::string &key) |
|
template<typename T , typename U > |
void | setMetaData (const std::string &key, U value) |
|
template<typename T > |
bool | unsetMetaData (const std::string &key) |
| unset, i.e. remove the metadata entry matching the given key and type More...
|
|
template<typename T , typename U > |
U | getMetaData (const std::string &key, U val) const |
|
template<typename T > |
T * | getMetaData (const std::string &key) |
|
template<typename T > |
const T * | getMetaData (const std::string &key) const |
|
MetaDataMap * | getMetaDataMap () |
|
const MetaDataMap * | getMetaDataMap () const |
|
template<typename T > |
bool | hasMetaData (const std::string &key) const |
|
virtual | ~PropertyOwner () |
| Removes all properties and notifies its observers of the removal.
|
|
template<typename... Ts> |
void | addProperties (Ts &... properties) |
|
const std::vector< Property * > & | getProperties () const |
|
const std::vector< CompositeProperty * > & | getCompositeProperties () const |
|
std::vector< Property * > | getPropertiesRecursive () const |
|
Property * | getPropertyByIdentifier (const std::string &identifier, bool recursiveSearch=false) const |
|
Property * | getPropertyByPath (const std::vector< std::string > &path) const |
|
template<class T > |
std::vector< T * > | getPropertiesByType (bool recursiveSearch=false) const |
|
size_t | size () const |
|
Property * | operator[] (size_t) |
|
const Property * | operator[] (size_t) const |
|
iterator | begin () |
|
iterator | end () |
|
const_iterator | cbegin () const |
|
const_iterator | cend () const |
|
virtual bool | isValid () const |
|
InvalidationLevel | getInvalidationLevel () const |
|
void | setAllPropertiesCurrentStateAsDefault () |
|
void | resetAllPoperties () |
|
virtual void | invokeEvent (Event *event) override |
|
virtual InviwoApplication * | getInviwoApplication () |
|
void | notifyObserversWillAddProperty (Property *property, size_t index) |
|
void | notifyObserversDidAddProperty (Property *property, size_t index) |
|
void | notifyObserversWillRemoveProperty (Property *property, size_t index) |
|
void | notifyObserversDidRemoveProperty (Property *property, size_t index) |
|
| Observable (const Observable< PropertyOwnerObserver > &other) |
|
| Observable (Observable< PropertyOwnerObserver > &&other) |
|
Observable< PropertyOwnerObserver > & | operator= (const Observable< PropertyOwnerObserver > &other) |
|
Observable< PropertyOwnerObserver > & | operator= (Observable< PropertyOwnerObserver > &&other) |
|
void | addObserver (PropertyOwnerObserver *observer) |
|
void | removeObserver (PropertyOwnerObserver *observer) |
|
virtual void | startBlockingNotifications () override final |
|
virtual void | stopBlockingNotifications () override final |
|
| Observable (const Observable< CompositePropertyObserver > &other) |
|
| Observable (Observable< CompositePropertyObserver > &&other) |
|
Observable< CompositePropertyObserver > & | operator= (const Observable< CompositePropertyObserver > &other) |
|
Observable< CompositePropertyObserver > & | operator= (Observable< CompositePropertyObserver > &&other) |
|
void | addObserver (CompositePropertyObserver *observer) |
|
void | removeObserver (CompositePropertyObserver *observer) |
|
virtual void | startBlockingNotifications () override final |
|
virtual void | stopBlockingNotifications () override final |
|
A property that has specified sub-properties which can be added using the graphical user interface.
Represents a list of properties. Properties can be added by using the prefab objects registered with the list property. The prefab objects serve as templates for instantiating new list entries. If the display name of the prefab object contains a trailing number, the number is incremented for each instance and used as display name of the newly added properties.
The UI flags (ListPropertyUIFlags) determine whether the widget will allow to add and/or remove list entries. The number of list elements is limited by setting maxNumberOfElements. A value of 0 refers to no limit.
Example:
ListProperty listProperty("myListProperty", "My ListProperty",
std::make_unique<BoolProperty>("boolProp", "BoolProperty", true), 10);
ListProperty listProperty("myListProperty", "My List Property",
[]() {
std::vector<std::unique_ptr<Property>> v;
v.emplace_back(std::make_unique<IntProperty>("template1", "Template 1", 5, 0, 10));
v.emplace_back(std::make_unique<IntProperty>("template2", "Template 2", 2, 0, 99));
return v;
}());
This also works when using different types of properties as prefab objects:
ListProperty listProperty("myListProperty", "My List Property",
[]() {
std::vector<std::unique_ptr<Property>> v;
v.emplace_back(std::make_unique<BoolProperty>("boolProperty1", "Boolean Flag", true));
v.emplace_back(std::make_unique<TransferFunctionProperty>("tf1", "Transfer Function"));
v.emplace_back(std::make_unique<IntProperty>("template1", "Template 1", 5, 0, 10));
return v;
}());