Computer Assited Medical Intervention Tool Kit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Slots | Private Slots | List of all members
camitk::Explorer Class Reference

Explorer window, display the list of all data currently opened in the application. More...

#include <Explorer.h>

+ Inheritance diagram for camitk::Explorer:

Public Slots

void renameItem ()
 slot called by the explorer menu when the user wants to rename the currently selected Component More...
 

Public Member Functions

General
 Explorer ()
 Construtor. More...
 
 ~Explorer ()
 Destructor. More...
 
Inherited from Viewer
virtual unsigned int numberOfViewedComponent ()
 
virtual void refresh (Viewer *whoIsAsking=NULL)
 refresh the explorer (can be interesting to know which other viewer is calling this) More...
 
virtual QWidget * getWidget (QWidget *parent)
 get the explorer widget (QTreeWidget). More...
 
virtual QMenu * getMenu ()
 get the explorer menu More...
 
virtual QWidget * getPreferenceWidget (QWidget *parent)
 get the explorer preference widget (widget where all preferences can be modified). More...
 
virtual void refreshInterfaceNode (Component *comp)
 Update the interface node representation of a given Component, (creates a new sub-item for all the new sub items and delete all the sub-item which are not sub items any more). More...
 
- Public Member Functions inherited from camitk::Viewer
virtual QObject * getPropertyObject ()
 get the viewer property object (returns NULL by default, i.e. there are no property to edit) More...
 
virtual QToolBar * getToolBar ()
 get the viewer toolbar (returns NULL by default, i.e. there are no default toolbar) More...
 
 Viewer (QString name)
 default constructor More...
 
virtual ~Viewer ()
 default destructor More...
 

Private Slots

void doubleClicked (QTreeWidgetItem *, int)
 slot called when an item was double clicked More...
 
void rightButtonPressed (const QPoint &)
 slot called on right button click More...
 
void selectionChanged ()
 slot called whenever the selection changed in the explorer More...
 

Private Attributes

Menu

the QMenu for the explorer

QMenu * explorerMenu
 
QAction * editRename
 the possible action More...
 

QTreeWidgetItem/InterfaceNode map

the map to get the Component* from the QTreeWidgetItem*

QMap< QTreeWidgetItem
*, Component * > 
itemComponentMap
 
QMap< Component
*, QTreeWidgetItem * > 
itemCompMap
 the map to get the QTreeWidgetItem corresponding to a parentComp More...
 
QTreeWidgetItem * getItem (Component *)
 Return the QTreeWidgetItem of a given Component (return NULL if not found) More...
 

QTreeWidget and QTreeWidgetItem management

instanciate a new QTreeWidgetItem using names and properties from the InterfaceNode, and using parent

QTreeWidget * explorerTree
 the list view More...
 
QTreeWidgetItem * getNewItem (QTreeWidgetItem *parent, Component *)
 
QTreeWidgetItem * add (QTreeWidgetItem *, Component *)
 recursively add the Component in the tree explorer and return the QTreeWidgetItem of the InterfaceNode More...
 
void add (Component *comp)
 Add the given Component to the explorer (at top level) and automatically create children Component items. More...
 
void remove (QTreeWidgetItem *)
 remove a given item from the explorer (return its index in the parent item list) More...
 
void remove (Component *comp)
 Remove the Component (its Component and its sub-item) from the explorer list (if present). More...
 

Additional Inherited Members

- Signals inherited from camitk::Viewer
void selectionChanged ()
 this signal is emitted when the current selection was changed by the viewer More...
 
- Protected Member Functions inherited from camitk::Viewer
void clearSelection ()
 clear the selection More...
 
void selectionChanged (ComponentList &compSet)
 The selection has changed to the given ComponentList. More...
 
void selectionChanged (Component *comp)
 the selection has changed to be just one comp More...
 

Detailed Description

Explorer window, display the list of all data currently opened in the application.

All objects are displayed in a QListView widget and can be selected (single/multiple selection is available).

Constructor & Destructor Documentation

camitk::Explorer::Explorer ( )

Construtor.

References explorerMenu, and explorerTree.

camitk::Explorer::~Explorer ( )

Destructor.

References explorerMenu, and explorerTree.

Member Function Documentation

QTreeWidgetItem * camitk::Explorer::add ( QTreeWidgetItem *  parent,
Component abstractNode 
)
private

recursively add the Component in the tree explorer and return the QTreeWidgetItem of the InterfaceNode

References camitk::Component::getChildren(), getNewItem(), itemComponentMap, and camitk::Component::setVisibility().

Referenced by add(), refresh(), and refreshInterfaceNode().

void camitk::Explorer::add ( Component comp)
private

Add the given Component to the explorer (at top level) and automatically create children Component items.

Parameters
compThe Component to add in the tree view.

References add(), explorerTree, camitk::Component::getParent(), and itemCompMap.

void camitk::Explorer::doubleClicked ( QTreeWidgetItem *  tw,
int   
)
privateslot

slot called when an item was double clicked

References camitk::Component::doubleClicked(), itemComponentMap, refreshInterfaceNode(), and selectionChanged().

Referenced by getWidget().

QTreeWidgetItem * camitk::Explorer::getItem ( Component comp)
private

Return the QTreeWidgetItem of a given Component (return NULL if not found)

References itemComponentMap.

Referenced by refresh(), and refreshInterfaceNode().

QMenu * camitk::Explorer::getMenu ( )
virtual

get the explorer menu

Reimplemented from camitk::Viewer.

References editRename, explorerMenu, camitk::Application::getSelectedComponents(), and renameItem().

QTreeWidgetItem * camitk::Explorer::getNewItem ( QTreeWidgetItem *  parent,
Component abstractNode 
)
private
QWidget * camitk::Explorer::getPreferenceWidget ( QWidget *  parent)
virtual

get the explorer preference widget (widget where all preferences can be modified).

Parameters
parentthe parent widget for the preference widget
QWidget * camitk::Explorer::getWidget ( QWidget *  parent)
virtual

get the explorer widget (QTreeWidget).

Parameters
parentthe parent widget for the viewer widget

Implements camitk::Viewer.

References doubleClicked(), explorerTree, rightButtonPressed(), and selectionChanged().

Referenced by ImpMainWindow::resetWindows().

unsigned int camitk::Explorer::numberOfViewedComponent ( )
virtual

returns the number of Component that are displayed by this viewer

Implements camitk::Viewer.

References itemComponentMap.

void camitk::Explorer::refresh ( Viewer whoIsAsking = NULL)
virtual
void camitk::Explorer::refreshInterfaceNode ( Component comp)
virtual

Update the interface node representation of a given Component, (creates a new sub-item for all the new sub items and delete all the sub-item which are not sub items any more).

Call this method when the Component has created a new sub-item or when it has removed one of its sub items. If the component was not displayed in the explorer, this method does nothing.

Parameters
compThe InterfaceNode provider to update list.

Reimplemented from camitk::Viewer.

References add(), explorerTree, and getItem().

Referenced by doubleClicked(), and renameItem().

void camitk::Explorer::remove ( QTreeWidgetItem *  tw)
private

remove a given item from the explorer (return its index in the parent item list)

References camitk::Application::isAlive(), and itemComponentMap.

void camitk::Explorer::remove ( Component comp)
private

Remove the Component (its Component and its sub-item) from the explorer list (if present).

The Component itself is of course not deleted here.

References explorerTree, and itemCompMap.

void camitk::Explorer::renameItem ( )
slot

slot called by the explorer menu when the user wants to rename the currently selected Component

References explorerTree, camitk::Component::getName(), itemComponentMap, camitk::Component::refresh(), refreshInterfaceNode(), and camitk::Component::setName().

Referenced by getMenu().

void camitk::Explorer::rightButtonPressed ( const QPoint &  clickedPoint)
privateslot

slot called on right button click

References explorerTree, camitk::Component::getActionAndPopupMenu(), and itemComponentMap.

Referenced by getWidget().

void camitk::Explorer::selectionChanged ( )
privateslot

slot called whenever the selection changed in the explorer

References camitk::Application::clearSelectedComponents(), explorerTree, itemComponentMap, refresh(), and camitk::Viewer::selectionChanged().

Referenced by doubleClicked(), and getWidget().

Member Data Documentation

QAction* camitk::Explorer::editRename
private

the possible action

Referenced by getMenu(), and refresh().

QMenu* camitk::Explorer::explorerMenu
private

Referenced by Explorer(), getMenu(), refresh(), and ~Explorer().

QTreeWidget* camitk::Explorer::explorerTree
private
QMap<Component*, QTreeWidgetItem*> camitk::Explorer::itemCompMap
private

the map to get the QTreeWidgetItem corresponding to a parentComp

Referenced by add(), refresh(), and remove().

QMap<QTreeWidgetItem*, Component *> camitk::Explorer::itemComponentMap
private

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