![]() |
Computer Assited Medical Intervention Tool Kit
|
This class describe what are the methods to implement for a hierarchical tree node. More...
#include <InterfaceNode.h>
Public Member Functions | |
virtual void | addChild (InterfaceNode *)=0 |
add a child Component (sub item in the hierarchy), and modify the child's parent to be equal to this instance | |
virtual void | attachChild (InterfaceNode *)=0 |
add a child Component (but leave its parent unchanged) | |
virtual void | deleteChildren ()=0 |
delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that) | |
virtual bool | doubleClicked ()=0 |
this method is called each time the InterfaceNode is double clicked by the user. | |
virtual const ComponentList & | getChildren ()=0 |
get the list of the InterfaceNode children (sub items in the hierarchy) | |
virtual QPixmap | getIcon ()=0 |
Get the pixmap that will be displayed for this node. | |
virtual QString | getName () const =0 |
get the name to be displayed | |
virtual InterfaceNode * | getParent ()=0 |
get the parent Component | |
virtual QMenu * | getPopupMenu (QWidget *parent=0)=0 |
get the popup menu to display (or NULL if inexistant) | |
virtual bool | inItalic () const =0 |
should the name be displayed in italic? | |
virtual void | removeChild (InterfaceNode *)=0 |
remove a sub Component (only the top-level component has the right to do that) | |
virtual void | setName (const QString &)=0 |
set the name to be displayed | |
virtual void | setParent (InterfaceNode *)=0 |
set the parent Component | |
virtual | ~InterfaceNode () |
empty virtual destructor, to avoid memory leak |
This class describe what are the methods to implement for a hierarchical tree node.
An InterfaceNode can only have one parent, even if it is a child of more than one InterfaceNodes.
Consequence: an InterfaceNode can be present many times in the hierarchy, but can only depends from one parent. To add an InterfaceNode as a child and change its parent to this use addChild(). To add an InterfaceNode as a child without modifying its parent, use attachChild().
This class defines an "interface" (in the OOP/java meaning of the term). See the introduction of GoF: "Program to an interface, not an implementation." To see what Erich Gamma has to say about it: http://www.artima.com/lejava/articles/designprinciplesP.html To see what Bjarne Stroustrup has to say about it: http://www.artima.com/intv/modern.html
|
inlinevirtual |
empty virtual destructor, to avoid memory leak
|
pure virtual |
add a child Component (sub item in the hierarchy), and modify the child's parent to be equal to this instance
Implemented in camitk::Component, StructuralComponentDC, and MultiComponentDC.
|
pure virtual |
add a child Component (but leave its parent unchanged)
Implemented in camitk::Component.
|
pure virtual |
delete all sub Component, but do not delete the pointer (only the top-level component has the right to do that)
Implemented in camitk::Component, and ComponentDC.
|
pure virtual |
this method is called each time the InterfaceNode is double clicked by the user.
Implemented in camitk::Component, and AtomDC.
|
pure virtual |
get the list of the InterfaceNode children (sub items in the hierarchy)
Implemented in camitk::Component.
|
pure virtual |
Get the pixmap that will be displayed for this node.
If you want your component to have a nice pixmap displayed in the explorer, for example, you just need to 1. declare a new static member and redefines the getIcon() method (in MyComponent.h): @code
public: virtual QPixmap getIcon(); private: static QPixmap * myPixmap; // declare a ptr here (it is static for optimization)
Implemented in camitk::Component, PMManagerDC, StructuralComponentDC, AtomDC, VtkMeshComponent, MultiComponentDC, and CellDC.
|
pure virtual |
get the name to be displayed
Implemented in camitk::Component.
|
pure virtual |
get the parent Component
Implemented in camitk::Component.
|
pure virtual |
get the popup menu to display (or NULL if inexistant)
Implemented in camitk::Component, StructuralComponentDC, PMManagerDC, AtomDC, MMLComponent, VtkMeshComponent, and MultiComponentDC.
|
pure virtual |
should the name be displayed in italic?
Implemented in camitk::Component.
|
pure virtual |
remove a sub Component (only the top-level component has the right to do that)
Implemented in camitk::Component, StructuralComponentDC, and MultiComponentDC.
Referenced by camitk::Component::setParent().
|
pure virtual |
set the name to be displayed
Implemented in camitk::Component, PMManagerDC, AtomDC, ComponentDC, and CellDC.
|
pure virtual |
set the parent Component
Implemented in camitk::Component.
Referenced by camitk::Component::addChild(), and camitk::Component::removeChild().