Computer Assited Medical Intervention Tool Kit  version 3.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Properties | Private Slots | Private Member Functions | Private Attributes | List of all members
camitk::PropertyExplorer Class Reference

The property explorer. More...

#include <PropertyExplorer.h>

+ Inheritance diagram for camitk::PropertyExplorer:

Public Member Functions

Inherited from Viewer
virtual unsigned int numberOfViewedComponent ()
 
virtual void refresh (Viewer *whoIsAsking=NULL)
 refresh the property editor More...
 
virtual QWidget * getWidget (QWidget *parent=NULL)
 get the viewer widget. More...
 
virtual QObject * getPropertyObject ()
 add a property to change the ObjectController representation at run-time (user choice) More...
 
Manage View mode (user preference)
const ObjectController::ViewMode getViewMode ()
 
void setViewMode (ObjectController::ViewMode)
 set the view mode More...
 
Tab selection management
void selectWidget (QWidget *widget)
 Select the tab containing the given widget in the PropertyExplorer. More...
 
void selectIndex (unsigned int index)
 Select the tab of the given index in the PropertyExplorer. More...
 
- Public Member Functions inherited from camitk::Viewer
virtual QMenu * getMenu ()
 get the viewer menu (returns NULL by default, i.e. there are no default edit menu) More...
 
virtual QToolBar * getToolBar ()
 get the viewer toolbar (returns NULL by default, i.e. there are no default toolbar) More...
 
virtual void refreshInterfaceNode (Component *comp)
 Update the whole tree of the representation of the Component. More...
 
 Viewer (QString name)
 default constructor More...
 
virtual ~Viewer ()
 default destructor More...
 

Properties

camitk::ObjectController::ViewMode viewMode
 

Private Slots

void updateTabIndexToDisplay (int index)
 Update the PropertyExplorer tab index to display for the currently selected component This method is used by the PropertyExplorer to tell for each component which tab has been selected for display. More...
 

Private Member Functions

void clear ()
 clear all the additional widgets, reset currentComponent (and update its visibility). More...
 
 Q_ENUMS (camitk::ObjectController::ViewMode)
 

Private Attributes

QPushButton * applyButton
 
Component * currentComponent
 the viewed Component More...
 
QPushButton * revertButton
 
QTabWidget * tabWidget
 
ObjectController * theController
 the widgets More...
 

General

 PropertyExplorer ()
 
virtual ~PropertyExplorer ()
 destructor More...
 
static PropertyExplorer * getInstance ()
 returns the unique instance of the PropertyExplorer 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

The property explorer.

The property explorer is a special container, placed generally bellow the explorer. It has a default tab (property editor) and can include any number of other tabs (where you can, of course, have any kind of widgets you want: slider, labels, text, ...).

propertyexplorer.png
The property explorer viewer.

The property editor is a "magic" widget (aka as "poOOowerful" widget) that use QObject derived class and build a property editor UI. It is presented as a list (automatically build from your QObject derived class Q_PROPERTY):

Note
When your property editor has modified something in the Component that can change the way it is viewed/rendered by one or all of the Component viewers, you have to call the Component's method refresh()...

See also ObjectController documentation for more informations and a complete example.

This viewer also manages a singleton (THE CamiTK PropertyExplorer). See getInstance() for more information. You do not have to use it, but it is convienent (and sometimes preferable) to use this instance instead of creating your own one.

See also
ObjectController

Constructor & Destructor Documentation

camitk::PropertyExplorer::PropertyExplorer ( )

constructor

References applyButton, currentComponent, revertButton, tabWidget, and theController.

Referenced by getInstance().

camitk::PropertyExplorer::~PropertyExplorer ( )
virtual

destructor

References clear().

Member Function Documentation

void camitk::PropertyExplorer::clear ( )
private

clear all the additional widgets, reset currentComponent (and update its visibility).

Note
this method does not delete the different widgets that were included in the tabs, the Component should do it.

References currentComponent, camitk::Application::isAlive(), camitk::Component::setVisibility(), and tabWidget.

Referenced by refresh(), and ~PropertyExplorer().

PropertyExplorer * camitk::PropertyExplorer::getInstance ( )
static

returns the unique instance of the PropertyExplorer

References PropertyExplorer().

QObject * camitk::PropertyExplorer::getPropertyObject ( )
virtual

add a property to change the ObjectController representation at run-time (user choice)

Reimplemented from camitk::Viewer.

const ObjectController::ViewMode camitk::PropertyExplorer::getViewMode ( )

get the current view mode

References camitk::ObjectController::getViewMode(), and theController.

QWidget * camitk::PropertyExplorer::getWidget ( QWidget *  parent = NULL)
virtual

get the viewer widget.

Parameters
parentthe parent widget for the viewer widget

Implements camitk::Viewer.

References applyButton, camitk::ObjectController::BUTTON, camitk::Application::getSettings(), revertButton, tabWidget, theController, and updateTabIndexToDisplay().

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

returns the number of Component that are displayed by this viewer

Implements camitk::Viewer.

References currentComponent.

camitk::PropertyExplorer::Q_ENUMS ( camitk::ObjectController::ViewMode  )
private
void camitk::PropertyExplorer::refresh ( Viewer *  whoIsAsking = NULL)
virtual
void camitk::PropertyExplorer::selectIndex ( unsigned int  index)

Select the tab of the given index in the PropertyExplorer.

Parameters
indexthe index of the tab to display.
Note
0 <= index < currentComponent->getNumberOfPropertyWidget() else nothing is done

References tabWidget.

Referenced by refresh().

void camitk::PropertyExplorer::selectWidget ( QWidget *  widget)

Select the tab containing the given widget in the PropertyExplorer.

Parameters
widgetthe PropertyExplorer's widget of the tab to select.
Note
the widget must have been previously added to the PropertyExplorer.

References tabWidget.

void camitk::PropertyExplorer::setViewMode ( ObjectController::ViewMode  mode)
void camitk::PropertyExplorer::updateTabIndexToDisplay ( int  index)
privateslot

Update the PropertyExplorer tab index to display for the currently selected component This method is used by the PropertyExplorer to tell for each component which tab has been selected for display.

Parameters
indexThe index of the PropertyExplorer tab to display for the currently selected component.

References currentComponent, camitk::Application::getSelectedComponents(), and camitk::InterfaceProperty::setIndexOfPropertyExplorerTab().

Referenced by getWidget().

Member Data Documentation

QPushButton* camitk::PropertyExplorer::applyButton
private
Component* camitk::PropertyExplorer::currentComponent
private
QPushButton* camitk::PropertyExplorer::revertButton
private
QTabWidget* camitk::PropertyExplorer::tabWidget
private
ObjectController* camitk::PropertyExplorer::theController
private

Property Documentation

camitk::ObjectController::ViewMode camitk::PropertyExplorer::viewMode
readwriteprivate

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