Inviwo  0.9.10.1
Inviwo documentation
inviwo::PropertyOwner Class Reference
+ Inheritance diagram for inviwo::PropertyOwner:

Public Types

using iterator = std::vector< Property * >::iterator
 
using const_iterator = std::vector< Property * >::const_iterator
 

Public Member Functions

virtual ~PropertyOwner ()
 Removes all properties and notifies its observers of the removal.
 
virtual void addProperty (Property *property, bool owner=true)
 
virtual void addProperty (Property &property)
 
template<typename... Ts>
void addProperties (Ts &... properties)
 
virtual void insertProperty (size_t index, Property *property, bool owner=true)
 insert property property at position index If index is not valid, the property is appended. More...
 
virtual void insertProperty (size_t index, Property &property)
 insert property property at position index If index is not valid, the property is appended. More...
 
virtual PropertyremoveProperty (const std::string &identifier)
 
virtual PropertyremoveProperty (Property *property)
 
virtual PropertyremoveProperty (Property &property)
 
virtual PropertyremoveProperty (size_t index)
 remove property referred to by index More...
 
virtual std::vector< std::string > getPath () const
 
const std::vector< Property * > & getProperties () const
 
const std::vector< CompositeProperty * > & getCompositeProperties () const
 
std::vector< Property * > getPropertiesRecursive () const
 
PropertygetPropertyByIdentifier (const std::string &identifier, bool recursiveSearch=false) const
 
PropertygetPropertyByPath (const std::vector< std::string > &path) const
 
template<class T >
std::vector< T * > getPropertiesByType (bool recursiveSearch=false) const
 
size_t size () const
 
Propertyoperator[] (size_t)
 
const Propertyoperator[] (size_t) const
 
iterator begin ()
 
iterator end ()
 
const_iterator cbegin () const
 
const_iterator cend () const
 
virtual bool isValid () const
 
virtual void setValid ()
 
InvalidationLevel getInvalidationLevel () const
 
virtual void invalidate (InvalidationLevel invalidationLevel, Property *modifiedProperty=nullptr)
 
virtual ProcessorgetProcessor ()
 
virtual const ProcessorgetProcessor () const
 
virtual void serialize (Serializer &s) const override
 
virtual void deserialize (Deserializer &d) override
 
void setAllPropertiesCurrentStateAsDefault ()
 
void resetAllPoperties ()
 
virtual void invokeEvent (Event *event) override
 
virtual InviwoApplicationgetInviwoApplication ()
 
- Public Member Functions inherited from inviwo::PropertyOwnerObservable
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)
 
- Public Member Functions inherited from inviwo::Observable< PropertyOwnerObserver >
 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
 

Protected Member Functions

 PropertyOwner (const PropertyOwner &rhs)
 
PropertyOwneroperator= (const PropertyOwner &that)=delete
 
- Protected Member Functions inherited from inviwo::Observable< PropertyOwnerObserver >
void forEachObserver (C callback)
 
- Protected Member Functions inherited from inviwo::ObservableInterface
void addObservationHelper (Observer *observer)
 
void removeObservationHelper (Observer *observer)
 

Protected Attributes

std::vector< Property * > properties_
 
std::vector< EventProperty * > eventProperties_
 
std::vector< CompositeProperty * > compositeProperties_
 
std::vector< std::unique_ptr< Property > > ownedProperties_
 

Member Function Documentation

◆ insertProperty() [1/2]

void inviwo::PropertyOwner::insertProperty ( size_t  index,
Property property,
bool  owner = true 
)
virtual

insert property property at position index If index is not valid, the property is appended.

Parameters
indexinsertion point for property
propertyproperty to be inserted
ownerPropertyOwner will take ownership of the property if true

Reimplemented in inviwo::ListProperty.

◆ insertProperty() [2/2]

void inviwo::PropertyOwner::insertProperty ( size_t  index,
Property property 
)
virtual

insert property property at position index If index is not valid, the property is appended.

Parameters
indexinsertion point for property
propertyproperty to be inserted

Reimplemented in inviwo::ListProperty.

◆ removeProperty()

Property * inviwo::PropertyOwner::removeProperty ( size_t  index)
virtual

remove property referred to by index

Parameters
indexindex of property to be removed
Exceptions
RangeExceptionif index is not valid

Reimplemented in inviwo::ListProperty.


The documentation for this class was generated from the following files: