Inviwo 0.9.12-pre
Inviwo documentation
Loading...
Searching...
No Matches
inviwo::PropertyOwner Class Referenceabstract
+ Inheritance diagram for inviwo::PropertyOwner:

Public Types

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

Public Member Functions

template<typename... Ts>
void addProperties (Ts &... properties)
 
void addProperty (Property &property)
 
void addProperty (Property *property, bool owner=true)
 
PropertyaddProperty (std::unique_ptr< Property > property)
 
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
virtual void clear ()
 Remove all properties; Owned properties will be deleted.
 
virtual void deserialize (Deserializer &d) override
 
bool empty () const
 
iterator end ()
 
const_iterator end () const
 
const_iterator find (Property *property) const
 
const std::vector< CompositeProperty * > & getCompositeProperties () const
 
virtual std::string_view getIdentifier () const =0
 
InvalidationLevel getInvalidationLevel () const
 
virtual InviwoApplicationgetInviwoApplication ()=0
 
virtual PropertyOwnergetOwner ()
 
virtual const PropertyOwnergetOwner () const
 
virtual ProcessorgetProcessor ()
 
virtual const ProcessorgetProcessor () const
 
const std::vector< Property * > & getProperties () const
 
template<class T >
std::vector< T * > getPropertiesByType (bool recursiveSearch=false) const
 
std::vector< Property * > getPropertiesRecursive () const
 
std::vector< Property * > & getPropertiesRecursive (std::vector< Property * > &destination) const
 
template<std::derived_from< Property > T = Property>
T * getProperty (std::string_view identifier)
 
PropertygetPropertyByIdentifier (std::string_view identifier, bool recursiveSearch=false) const
 
PropertygetPropertyByPath (std::string_view path) const
 
void insertProperty (size_t index, Property &property)
 insert property property at position index If index is not valid, the property is appended.
 
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.
 
PropertyinsertProperty (size_t index, std::unique_ptr< Property > property)
 insert property property at position index If index is not valid, the property is appended.
 
virtual void invalidate (InvalidationLevel invalidationLevel, Property *modifiedProperty)
 
virtual void invokeEvent (Event *event) override
 
virtual bool isValid () const
 
virtual bool move (Property *property, size_t newIndex)
 
PropertyOwneroperator= (const PropertyOwner &that)=delete
 
Propertyoperator[] (size_t)
 
const Propertyoperator[] (size_t) const
 
virtual PropertyremoveProperty (iterator it)
 
PropertyremoveProperty (Property &property)
 
PropertyremoveProperty (Property *property)
 
PropertyremoveProperty (size_t index)
 remove property referred to by index
 
PropertyremoveProperty (std::string_view identifier)
 
virtual void resetAllProperties ()
 
virtual void serialize (Serializer &s) const override
 
virtual void setAllPropertiesCurrentStateAsDefault ()
 
virtual void setValid ()
 
size_t size () const
 
virtual ~PropertyOwner ()
 Removes all properties and notifies its observers of the removal.
 
- Public Member Functions inherited from inviwo::PropertyOwnerObservable
void notifyObserversDidAddProperty (Property *property, size_t index)
 
void notifyObserversDidRemoveProperty (PropertyOwner *owner, Property *property, size_t index)
 
void notifyObserversWillAddProperty (PropertyOwner *owner, Property *property, size_t index)
 
void notifyObserversWillRemoveProperty (Property *property, size_t index)
 
- Public Member Functions inherited from inviwo::Observable< PropertyOwnerObserver >
void addObserver (PropertyOwnerObserver *observer)
 
bool isObservedBy (PropertyOwnerObserver *observer) const
 
 Observable (const Observable< PropertyOwnerObserver > &other)
 
 Observable (Observable< PropertyOwnerObserver > &&other) noexcept
 
Observable< PropertyOwnerObserver > & operator= (const Observable< PropertyOwnerObserver > &other)
 
Observable< PropertyOwnerObserver > & operator= (Observable< PropertyOwnerObserver > &&other) noexcept
 
void removeObserver (PropertyOwnerObserver *observer)
 
virtual void startBlockingNotifications () override final
 
virtual void stopBlockingNotifications () override final
 

Protected Member Functions

void forEachProperty (std::function< void(Property &)> callback, bool recursiveSearch=false) const
 
PropertyOwneroperator= (PropertyOwner &&that)
 
 PropertyOwner (const PropertyOwner &rhs)
 
 PropertyOwner (PropertyOwner &&rhs)
 
- 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< CompositeProperty * > compositeProperties_
 
std::vector< EventProperty * > eventProperties_
 
std::vector< std::unique_ptr< Property > > ownedProperties_
 
std::vector< Property * > properties_
 

Member Function Documentation

◆ clear()

virtual void inviwo::PropertyOwner::clear ( )
virtual

Remove all properties; Owned properties will be deleted.

Reimplemented in inviwo::ListProperty.

◆ deserialize()

virtual void inviwo::PropertyOwner::deserialize ( Deserializer & d)
overridevirtual

Implements inviwo::Serializable.

◆ insertProperty() [1/3]

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

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

Parameters
indexinsertion point for property
propertyproperty to be inserted

◆ insertProperty() [2/3]

virtual 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::Settings, and inviwo::ListProperty.

◆ insertProperty() [3/3]

Property * inviwo::PropertyOwner::insertProperty ( size_t index,
std::unique_ptr< Property > property )

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

Parameters
indexinsertion point for property
propertyproperty to be inserted

◆ invalidate()

virtual void inviwo::PropertyOwner::invalidate ( InvalidationLevel invalidationLevel,
Property * modifiedProperty )
virtual

◆ invokeEvent()

virtual void inviwo::PropertyOwner::invokeEvent ( Event * event)
overridevirtual

Reimplemented from inviwo::EventListener.

◆ removeProperty()

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

remove property referred to by index

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

◆ serialize()

virtual void inviwo::PropertyOwner::serialize ( Serializer & s) const
overridevirtual

Implements inviwo::Serializable.

◆ setValid()

virtual void inviwo::PropertyOwner::setValid ( )
virtual

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