Computer Assited Medical Intervention Tool Kit  version 4.1
Public Member Functions | List of all members
camitk::InterfaceProperty Class Referenceabstract

This class describe what are the methods to implement in order to manage dynamic properties. More...

#include <InterfaceProperty.h>

Inherits QObject.

Inherited by camitk::Component.

Public Member Functions

virtual bool addProperty (Property *)=0
 Add a new CamiTK property to the component. More...
 
virtual QStringList getHierarchy () const =0
 Get the inheritance hierachy of this Component instance as a list of QString. More...
 
virtual unsigned int getIndexOfPropertyExplorerTab ()=0
 Get the index of the tab in the PropertyExplorer to select for display. More...
 
virtual unsigned int getNumberOfPropertyWidget ()=0
 get the number of alternative property widgets More...
 
virtual Q_INVOKABLE PropertygetProperty (QString name)=0
 Get a Property given its name. More...
 
virtual QObject * getPropertyObject ()=0
 get the property object that could be understood by PropertyEditor. More...
 
virtual QWidget * getPropertyWidgetAt (unsigned int i)=0
 get the ith alternative property widget overide this method and use the method setObjectName of QWidget if you want alternative widgets More...
 
virtual bool isInstanceOf (QString className) const =0
 Assert that a Component instance really inherits from a given className. More...
 
virtual void setIndexOfPropertyExplorerTab (unsigned int index)=0
 Set the index of the tab in the PropertyExplorer to select for display. More...
 
virtual void updateProperty (QString name, QVariant value)=0
 update property: if you this method, do not forget to call the superclass method for the property not managed locally in order to properly manage all inherited dynamic properties. More...
 
 ~InterfaceProperty ()=default
 empty virtual destructor, to avoid memory leak More...
 

Detailed Description

This class describe what are the methods to implement in order to manage dynamic properties.

InterfaceProperty is one of the interfaces implemented by the Component class.

Constructor & Destructor Documentation

◆ ~InterfaceProperty()

camitk::InterfaceProperty::~InterfaceProperty ( )
default

empty virtual destructor, to avoid memory leak

Member Function Documentation

◆ addProperty()

virtual bool camitk::InterfaceProperty::addProperty ( Property )
pure virtual

Add a new CamiTK property to the component.

If the property already exist, it will just change its value.

Note
The component takes ownership of the Property instance.
Returns
false if the Qt Meta Object property was added by this method (otherwise the property was already defined and true is returned if it was successfully updated)

Implemented in camitk::Component, and camitk::SimplisticComponent.

◆ getHierarchy()

virtual QStringList camitk::InterfaceProperty::getHierarchy ( ) const
pure virtual

Get the inheritance hierachy of this Component instance as a list of QString.

Implemented in camitk::Component.

◆ getIndexOfPropertyExplorerTab()

virtual unsigned int camitk::InterfaceProperty::getIndexOfPropertyExplorerTab ( )
pure virtual

Get the index of the tab in the PropertyExplorer to select for display.

The PropertyExplorer may feature several tabs of widget. This method allows to get the selected tab to display in a given context.

Returns
the index to select in the tab of the ProperlyExplorer.

Implemented in camitk::Component.

◆ getNumberOfPropertyWidget()

virtual unsigned int camitk::InterfaceProperty::getNumberOfPropertyWidget ( )
pure virtual

get the number of alternative property widgets

See also
PropertyExplorer

Implemented in camitk::Component, camitk::ImageComponent, and camitk::MeshComponent.

◆ getProperty()

virtual Q_INVOKABLE Property* camitk::InterfaceProperty::getProperty ( QString  name)
pure virtual

Get a Property given its name.

Parameters
namethe property name
Returns
NULL if the name does not match any property name
See also
Property

Implemented in camitk::Component.

◆ getPropertyObject()

virtual QObject* camitk::InterfaceProperty::getPropertyObject ( )
pure virtual

get the property object that could be understood by PropertyEditor.

Returns this as any Component instance can manage its list of dynamic properties (and Component inherits from InterfaceProperty aka QObject). You can also have a separate class to manage your Component properties. In this case, just overide this method and return the corresponding instance.

See also
PropertyExplorer
ObjectController

Implemented in camitk::Component.

◆ getPropertyWidgetAt()

virtual QWidget* camitk::InterfaceProperty::getPropertyWidgetAt ( unsigned int  i)
pure virtual

get the ith alternative property widget overide this method and use the method setObjectName of QWidget if you want alternative widgets

See also
PropertyExplorer

Implemented in camitk::Component, camitk::ImageComponent, and camitk::MeshComponent.

◆ isInstanceOf()

virtual bool camitk::InterfaceProperty::isInstanceOf ( QString  className) const
pure virtual

Assert that a Component instance really inherits from a given className.

Parameters
classNamethe name of the class to compare to

Implemented in camitk::Component.

◆ setIndexOfPropertyExplorerTab()

virtual void camitk::InterfaceProperty::setIndexOfPropertyExplorerTab ( unsigned int  index)
pure virtual

Set the index of the tab in the PropertyExplorer to select for display.

The PropertyExplorer may feature several tabs of widget. This method allows to select the tab to display in a given context.

Returns
the index to select in the tab of the ProperlyExplorer.

Implemented in camitk::Component.

◆ updateProperty()

virtual void camitk::InterfaceProperty::updateProperty ( QString  name,
QVariant  value 
)
pure virtual

update property: if you this method, do not forget to call the superclass method for the property not managed locally in order to properly manage all inherited dynamic properties.

This method is called when a dynamic property has to be udpated

Parameters
namethe name of the dynamic property
valuethe new value to take into account

Implemented in camitk::Component, camitk::ImageComponent, camitk::MeshComponent, PMLComponent, and VtkMeshComponent.


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