Computer Assited Medical Intervention Tool Kit  version 4.1
Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
camitk::SettingsDialog Class Reference

This class controls the settings dialog user interface. More...

#include <SettingsDialog.h>

Inherits QDialog.

Public Member Functions

void editSettings (QObject *)
 add a new property editor in a tab for the new object (it automatically connect the object "saveSettings" slot if exists to the dialog apply button) More...
 
 SettingsDialog ()
 default constructor More...
 
 ~SettingsDialog () override
 destructor More...
 

Private Slots

virtual void on_actionExtensionList_cellClicked (int, int)
 
virtual void on_addActionExtensionButton_released ()
 
virtual void on_addComponentExtensionButton_released ()
 
virtual void on_componentExtensionList_cellClicked (int, int)
 
virtual void on_objectList_itemSelectionChanged ()
 naming convention is QMetaObject's auto-connection. More...
 
virtual void on_removeActionExtensionButton_released ()
 
virtual void on_removeComponentExtensionButton_released ()
 
virtual void on_resetConfigurationButton_released ()
 

Private Member Functions

void accept () override
 if the user says it is ok and validate the settings dialog, this update the settings More...
 
void readUserExtensions ()
 get the current value of the settings More...
 
void updateActionExtensionList ()
 update the action plugin list More...
 
void updateComponentExtensionList ()
 update the component extension list More...
 
void writeUserExtensions ()
 write the current value of the settings More...
 

Private Attributes

QMap< QString, QObject * > editedObjectMap
 the map to get an edited object from its name More...
 
Ui::ui_Settings * myUI
 Qt ui designed in Qt Designer. More...
 
ObjectControllerobjectController
 the property editor More...
 
QStringList userActions
 the list of user action extension locations More...
 
QStringList userComponents
 the list of user component extension locations More...
 

Detailed Description

This class controls the settings dialog user interface.

to add a settings for a given class, either add a tab widgets (e.g. for plugin tabs) or add a new ObjectController tab using editSettings(QObject*).

Constructor & Destructor Documentation

◆ SettingsDialog()

camitk::SettingsDialog::SettingsDialog ( )

◆ ~SettingsDialog()

camitk::SettingsDialog::~SettingsDialog ( )
override

destructor

References myUI, and objectController.

Member Function Documentation

◆ accept()

void camitk::SettingsDialog::accept ( )
overrideprivate

if the user says it is ok and validate the settings dialog, this update the settings

References camitk::ObjectController::apply(), camitk::ObjectController::isModified(), and objectController.

◆ editSettings()

void camitk::SettingsDialog::editSettings ( QObject *  qObj)

add a new property editor in a tab for the new object (it automatically connect the object "saveSettings" slot if exists to the dialog apply button)

References editedObjectMap, myUI, objectController, and camitk::ObjectController::setObject().

Referenced by ImpMainWindow::editSettings().

◆ on_actionExtensionList_cellClicked

void camitk::SettingsDialog::on_actionExtensionList_cellClicked ( int  row,
int  column 
)
privatevirtualslot

◆ on_addActionExtensionButton_released

void camitk::SettingsDialog::on_addActionExtensionButton_released ( )
privatevirtualslot

◆ on_addComponentExtensionButton_released

void camitk::SettingsDialog::on_addComponentExtensionButton_released ( )
privatevirtualslot

◆ on_componentExtensionList_cellClicked

void camitk::SettingsDialog::on_componentExtensionList_cellClicked ( int  row,
int  column 
)
privatevirtualslot

◆ on_objectList_itemSelectionChanged

void camitk::SettingsDialog::on_objectList_itemSelectionChanged ( )
privatevirtualslot

naming convention is QMetaObject's auto-connection.

name of slots allows for automatic connection (and say good bye to all your connect(...)! )

e.g. : on_colorButton_released() is a slot that will automatically be connected. just using this naming convention means that the following line will automatically be called:

connect(colorButton, SIGNAL(released()), this, SLOT(on_colorButton_released()));

Isn't it great?!

Note
it should be the only places in this application were the naming convention is "deviant"

References camitk::ObjectController::apply(), editedObjectMap, camitk::ObjectController::isModified(), myUI, objectController, and camitk::ObjectController::setObject().

◆ on_removeActionExtensionButton_released

void camitk::SettingsDialog::on_removeActionExtensionButton_released ( )
privatevirtualslot

◆ on_removeComponentExtensionButton_released

void camitk::SettingsDialog::on_removeComponentExtensionButton_released ( )
privatevirtualslot

◆ on_resetConfigurationButton_released

void camitk::SettingsDialog::on_resetConfigurationButton_released ( )
privatevirtualslot

◆ readUserExtensions()

void camitk::SettingsDialog::readUserExtensions ( )
private

get the current value of the settings

References camitk::Application::getSettings(), userActions, and userComponents.

Referenced by SettingsDialog().

◆ updateActionExtensionList()

void camitk::SettingsDialog::updateActionExtensionList ( )
private

◆ updateComponentExtensionList()

void camitk::SettingsDialog::updateComponentExtensionList ( )
private

◆ writeUserExtensions()

void camitk::SettingsDialog::writeUserExtensions ( )
private

Member Data Documentation

◆ editedObjectMap

QMap<QString, QObject*> camitk::SettingsDialog::editedObjectMap
private

the map to get an edited object from its name

Referenced by editSettings(), and on_objectList_itemSelectionChanged().

◆ myUI

Ui::ui_Settings* camitk::SettingsDialog::myUI
private

◆ objectController

ObjectController* camitk::SettingsDialog::objectController
private

◆ userActions

QStringList camitk::SettingsDialog::userActions
private

◆ userComponents

QStringList camitk::SettingsDialog::userComponents
private

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