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

Build a default widget for a given action using its Qt properties. More...

#include <ActionWidget.h>

+ Inheritance diagram for camitk::ActionWidget:

Public Member Functions

 ActionWidget (Action *)
 create a default action widget for the given action More...
 
void setAutoUpdateProperty (bool autoUpdate)
 automatically update the action properties whenever there is a change in the GUI More...
 
void setButtonVisibility (bool)
 if false then the apply/revert buttons are shown More...
 
void setDescriptionVisibility (bool visible)
 defines whether the description of the widget is visible or not true by default More...
 
void setNameVisibility (bool visible)
 defines whether the name of the widget is visible or not true by default More...
 
void updateTargets ()
 update display (target and property controller) More...
 
virtual ~ActionWidget ()
 

Protected Member Functions

QString getTargetLabel ()
 return a text with the target component names followed by their class names More...
 

Private Attributes

QLabel * actionNameLabel
 the action name displayed in the widget More...
 
QFrame * buttonFrame
 this frame contains the Apply/Revert buttons and can be hide using setButtonVisibility() More...
 
QLabel * descriptionLabel
 the description of the action displayed in the widget More...
 
QScrollArea * descriptionLabelScrollArea
 the description label scroll area, which allows its content widget to be vertically scrollable More...
 
ActionmyAction
 the managed action More...
 
ObjectControllerobjectController
 the object controller with the properties of the default widget More...
 
QLabel * targetLabel
 the target list label More...
 
QScrollArea * targetLabelScrollArea
 the target label scroll area, which allows its content widget to be vertically scrollable More...
 

Detailed Description

Build a default widget for a given action using its Qt properties.

It should be good enough in most of the case. The default widget contains a description, a reminder of the target component names, and an applyable/revertable ObjectController that allows you to edit/modify properties of the action.

The button frame contains an "Apply" and a "Revert" button. The Apply button updates the action properties using the value entered by the user in the GUI. I.e., its clicked() signal is connected the the action apply() slot. The revert button resets the values in GUI to the initial values (all modification in the GUI are cancelled). You can easily show or hide the button frame using setButtonVisibility()

updateTargets() updates the widget using the actual/current properties and target of the action. This method should be called by an action in the overriden getWidget method. A typical getWidget() method of an action should use the lazy instanciation pattern to instanciate ActionWidget the first time it is called, and call the ActionWidget instance updateTargets() method for any subsequent calls.

If you cannot wait for the user to click on the apply button (or if this button is hidden) and you want the value of the action's property/parameter to be updated everytime there is a change in the GUI, call setAutoUpdateProperty(true) (default is false);

Constructor & Destructor Documentation

camitk::ActionWidget::ActionWidget ( Action )

create a default action widget for the given action

virtual camitk::ActionWidget::~ActionWidget ( )
virtual

Member Function Documentation

QString camitk::ActionWidget::getTargetLabel ( )
protected

return a text with the target component names followed by their class names

void camitk::ActionWidget::setAutoUpdateProperty ( bool  autoUpdate)

automatically update the action properties whenever there is a change in the GUI

void camitk::ActionWidget::setButtonVisibility ( bool  )

if false then the apply/revert buttons are shown

void camitk::ActionWidget::setDescriptionVisibility ( bool  visible)

defines whether the description of the widget is visible or not true by default

void camitk::ActionWidget::setNameVisibility ( bool  visible)

defines whether the name of the widget is visible or not true by default

void camitk::ActionWidget::updateTargets ( )

update display (target and property controller)

Member Data Documentation

QLabel* camitk::ActionWidget::actionNameLabel
private

the action name displayed in the widget

QFrame* camitk::ActionWidget::buttonFrame
private

this frame contains the Apply/Revert buttons and can be hide using setButtonVisibility()

QLabel* camitk::ActionWidget::descriptionLabel
private

the description of the action displayed in the widget

QScrollArea* camitk::ActionWidget::descriptionLabelScrollArea
private

the description label scroll area, which allows its content widget to be vertically scrollable

Action* camitk::ActionWidget::myAction
private

the managed action

ObjectController* camitk::ActionWidget::objectController
private

the object controller with the properties of the default widget

QLabel* camitk::ActionWidget::targetLabel
private

the target list label

QScrollArea* camitk::ActionWidget::targetLabelScrollArea
private

the target label scroll area, which allows its content widget to be vertically scrollable


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