Computer Assisted Medical Intervention Tool Kit  version 5.1
 
Loading...
Searching...
No Matches
camitk::Application Class Reference

The generic/default application. More...

#include <Application.h>

Public Types

enum  TargetPositionningPolicy { SAME_TRANSFORMATION , NO_TRANSFORMATION , SUBFRAME }
 : Policy to determine how a newly instantiated component's frame should be initialized regarding of its parent's component. More...
 

Public Member Functions

 Application (QString name, int &argc, char **argv, bool autoloadExtension=true, bool registerFileExtension=false)
 Initializes the window system and constructs a CamiTK application object with argc command line arguments in argv.
 
 ~Application () override
 destructor
 

Static Public Member Functions

Component instances management
static Componentopen (const QString &)
 load the filename and returns the corresponding top level Component (returns nullptr if an error occurs)
 
static ComponentopenDirectory (const QString &dirName, const QString &pluginName)
 load a directory and returns the corresponding Component (returns nullptr if an error occurs)
 
static bool close (Component *component)
 Close a Component: if it has been changed, ask the user for more information, then if everything is ok, delete it.
 
static bool save (Component *component)
 save a component to its file (as given by component->getFileName()).
 
static const ComponentListgetTopLevelComponents ()
 get the current application wide list of instantiated top-level Components.
 
static const ComponentListgetAllComponents ()
 get the current application wide list of all Components.
 
static bool isAlive (Component *)
 does this Component still exists?
 
static bool hasModified ()
 Return true if at least one of the opened components has been modified, false otherwise.
 
Selection management
static const ComponentListgetSelectedComponents ()
 get the currently selected Components.
 
static void clearSelectedComponents ()
 clear all the selection, i.e call setSelected(false) for all the previously selected components and clear the list.
 
Action instances management
static ActiongetAction (QString)
 get a registered action given its name
 
static const ActionList getActions ()
 get all the actions registered in the application (note: the returned ActionList is guaranteed to be sorted by action name and to contain no duplicates)
 
static ActionList getActions (Component *)
 get all the actions that can be applied on a given component (note: the returned ActionList is guaranteed to be sorted by action name and to contain no duplicates)
 
static ActionList getActions (ComponentList)
 Get all the actions that can be applied on any components of the given list of components (note: the returned ActionList is guaranteed to be sorted by action name and to contain no duplicates)
 
static ActionList getActions (ComponentList, QString)
 get all the actions that of a given tag (note: the returned ActionList is guaranteed to be sorted by action name and to contain no duplicates)
 
static int registerAllActions (ActionExtension *)
 register all actions from the given ActionExtension
 
static int unregisterAllActions (ActionExtension *)
 unregister all actions from the given ActionExtension
 
static void setTriggeredAction (Action *action)
 set the currently triggered action This is used by Action::trigger(..) to refresh all the viewer (the viewers interested by the fact an action was triggered can then update what they need to)
 
static ActiongetTriggeredAction ()
 get the currently triggered action
 
Application resources management
static QString getSelectedLanguage ()
 Returns for the current CamiTK application, the selected language (stored in its .ini configuration file)
 

Protected Member Functions

bool eventFilter (QObject *object, QEvent *event) override
 Event filter of this class instance to watch its properties instances.
 

Friends

Friend class

class Component is a friend class: only the class Component can access to the private members addComponent(..) and removeComponent(..)

class Component
 

Property management

static PropertyObjectgetPropertyObject ()
 Get the property object of the application.
 

Application specific

bool notify (QObject *, QEvent *) override
 reimplemented from QApplication to catch all exception from external libs used in CEP (e.g. from ITK) and avoid crashes...
 
static QString getName ()
 get the application name
 
static QSettings & getSettings ()
 Get the Core wide settings.
 
static int exec ()
 Overriden from QApplication: Enters the main event loop and waits until exit() is called, then returns the value that was set to exit() (which is 0 if exit() is called via quit()).
 
static const QDir getLastUsedDirectory ()
 Get the last used directory (e.g.
 
static void setLastUsedDirectory (QDir)
 set (force) the last used directory
 
static void addRecentDocument (QFileInfo)
 Add a document to the list of recent documents (e.g.
 
static const QList< QFileInfo > getRecentDocuments ()
 Get the list of recent documents.
 
static const int getMaxRecentDocuments ()
 get the maximal number of recent documents stored
 

Main Window management

void setMainWindow (MainWindow *mw)
 set the main window.
 
static MainWindowgetMainWindow ()
 get the main window
 
static void refresh ()
 refresh the main window (this will call the refresh method of all viewers)
 
static void showStatusBarMessage (QString msg, int timeout=0)
 Set a message to the status bar.
 
static void resetProgressBar ()
 Resets the progress bar if it exists.
 
static void setProgressBarValue (int)
 set the progress bar value, value should be in [0..100].
 
static void vtkProgressFunction (vtkObject *caller, long unsigned int, void *, void *)
 Observer function to be called by vtkFilters and to update progress bar Example of use:
 

Viewer management

static ViewergetViewer (QString name)
 get the pointer to a registered viewer given its name
 
static ViewergetNewViewer (QString name, QString className)
 instantiate a new viewer of the given name and given class name (Viewer inheriting class).
 
static const ViewerList getViewers ()
 get all the viewers registered in the application (note: the returned ViewerList is guaranteed to be sorted by viewer name and to not contain any duplicate)
 
static ViewerList getViewers (Component *)
 get the viewers that can manage/display the given component (note: the returned ViewerList is guaranteed to be sorted by viewer name and to contain no duplicates)
 
static bool registerViewer (Viewer *)
 register a viewer in the viewer list (therefore allowing it to be refreshed by the main window automatically
 
static int registerAllViewers (ViewerExtension *)
 register all viewers from the given ViewerExtension
 
static int unregisterAllViewers (ViewerExtension *)
 unregister all viewers from the given ViewerExtension
 

Actions pipeline history

static void addHistoryItem (HistoryItem item)
 Add the history item to the application history.
 
static HistoryItem removeLastHistoryItem ()
 Remove the last pushed actions in the history of the current pipeline.
 
static void saveHistoryAsSXML ()
 Save the history as an SCXML file, stored using.
 

Detailed Description

The generic/default application.

Once this class is instantiated in the main, everything is setup. The constructor can take the command line arguments. It can also be asked not to load the extensions automatically,see Application().

If you do not have a specific MainWindow extension, then the default CamiTK MainWindow is used, see setMainWindow().

This class manages all application-level instances, structures and all. This explains the number of static methods in this class.

It manages:

  • the registered/loaded action extensions and all the actions
  • the registered/loaded component extensions and all the component instances
  • the registered/loaded viewer extensions and all the viewer instances
  • the refresh mechanism
  • the current selection (selected components)
  • the recently opened documents
  • the application language/internationalization settings
  • the opening/closing/saving of components
  • the main window
  • the history of applied actions (including saving it as a CamitK SCXML document)
  • some application level settings

Member Enumeration Documentation

◆ TargetPositionningPolicy

: Policy to determine how a newly instantiated component's frame should be initialized regarding of its parent's component.

Enumerator
SAME_TRANSFORMATION 

New component has no parent frame (parent frame is set to nullptr), and its frame is copied from its parent. This is the default.

NO_TRANSFORMATION 

New component has no parent frame (parent frame is therefore set to nullptr) and transform is Id.

SUBFRAME 

New component's parent frame is its parent component.

Constructor & Destructor Documentation

◆ Application()

camitk::Application::Application ( QString  name,
int &  argc,
char **  argv,
bool  autoloadExtension = true,
bool  registerFileExtension = false 
)

Initializes the window system and constructs a CamiTK application object with argc command line arguments in argv.

The first parameter is the name of the application (used as a identifier in the settings, for example)

The second and third parameters comes from the command line (see QApplication API documentation). This constructor inits all the CamiTK context:

  • application wide settings
  • autoload (or not, depending on the last parameter) of the extension
Note
that you have to call init before doing anything!
Parameters
namethe name of the application, it will be used to save specific configuration for example.
argcthe number of command line arguments
argvthe values of the command line arguments
autoloadExtensionif true, all the plugins are loaded
registerFileExtensionif true, the application will prompt the user at first run if he wants to register file formats handled by loaded components with this application for opening.
Note
registerFileExtension is only valid on Windows platform.

References camitk::ExtensionManager::autoload(), CAMITK_INFO, eventFilter(), camitk::ExtensionManager::getFileExtensions(), getName(), camitk::Core::getTestDataDir(), initIcons(), camitk::PropertyObject::loadFromSettings(), and camitk::ExtensionManager::registerFileExtension().

◆ ~Application()

camitk::Application::~Application ( )
override

destructor

References CAMITK_INFO.

Member Function Documentation

◆ addHistoryItem()

void camitk::Application::addHistoryItem ( HistoryItem  item)
static

Add the history item to the application history.

The item is added to the history stack of actions used in a pipeline

See also
removeLastHistoryItem() To pop back an action from the history use
Parameters
itemthe item to add to the history

◆ addRecentDocument()

void camitk::Application::addRecentDocument ( QFileInfo  filename)
static

Add a document to the list of recent documents (e.g.

when a document was opened) and update lastUsedDirectory

Referenced by open().

◆ clearSelectedComponents()

void camitk::Application::clearSelectedComponents ( )
static

clear all the selection, i.e call setSelected(false) for all the previously selected components and clear the list.

References camitk::Component::setSelected().

Referenced by ClearSelectionAction::apply(), and CloseAllAction::apply().

◆ close()

bool camitk::Application::close ( Component component)
static

Close a Component: if it has been changed, ask the user for more information, then if everything is ok, delete it.

Parameters
componentthe Component to close.
Returns
true if the closing was made, false if the user cancelled the operation or a saving problem occurs

References camitk::Component::getModified(), camitk::Component::getName(), refresh(), save(), and showStatusBarMessage().

Referenced by CloseAction::apply(), CloseAllAction::apply(), main(), and ActionTransition::onTransition().

◆ eventFilter()

bool camitk::Application::eventFilter ( QObject *  object,
QEvent *  event 
)
overrideprotected

Event filter of this class instance to watch its properties instances.

Each time a property has dynamically changed, this method is called.

References getName(), and camitk::PropertyObject::saveToSettings().

Referenced by Application().

◆ exec()

int camitk::Application::exec ( )
static

Overriden from QApplication: Enters the main event loop and waits until exit() is called, then returns the value that was set to exit() (which is 0 if exit() is called via quit()).

It is necessary to call this function to start event handling. The main event loop receives events from the window system and dispatches these to the application widgets.

Generally, no user interaction can take place before calling exec(). As a special case, modal widgets like QMessageBox can be used before calling exec(), because modal widgets call exec() to start a local event loop.

To make your application perform idle processing, i.e., executing a special function whenever there are no pending events, use a QTimer with 0 timeout. More advanced idle processing schemes can be achieved using processEvents().

References camitk::MainWindow::aboutToShow(), CAMITK_ERROR_ALT, setMainWindow(), and camitk::MainWindow::show().

Referenced by main().

◆ getAction()

◆ getActions() [1/4]

const ActionList camitk::Application::getActions ( )
static

get all the actions registered in the application (note: the returned ActionList is guaranteed to be sorted by action name and to contain no duplicates)

Referenced by camitk::Component::getActionMenu(), getActions(), getActions(), getActions(), main(), and ImpMainWindow::updateActionStates().

◆ getActions() [2/4]

ActionList camitk::Application::getActions ( Component component)
static

get all the actions that can be applied on a given component (note: the returned ActionList is guaranteed to be sorted by action name and to contain no duplicates)

References getActions(), camitk::Action::getComponentClassName(), and camitk::Component::getHierarchy().

◆ getActions() [3/4]

ActionList camitk::Application::getActions ( ComponentList  cList)
static

Get all the actions that can be applied on any components of the given list of components (note: the returned ActionList is guaranteed to be sorted by action name and to contain no duplicates)

References getActions().

◆ getActions() [4/4]

ActionList camitk::Application::getActions ( ComponentList  selComp,
QString  tag 
)
static

get all the actions that of a given tag (note: the returned ActionList is guaranteed to be sorted by action name and to contain no duplicates)

References camitk::actionLessThan(), getActions(), and camitk::Action::getTag().

◆ getAllComponents()

const ComponentList & camitk::Application::getAllComponents ( )
static

get the current application wide list of all Components.

This is the public method (return a const, the component list is private and cannot be modified externally).

Referenced by RemoveLastInstantiatedAction::apply(), SelectLastInstantiatedAction::apply(), MeshClipping::apply(), SaveActionState::applyAction(), MeshProjection::getWidget(), isAlive(), ActionState::onEntry(), ActionTransition::onTransition(), refresh(), Explorer::refresh(), camitk::InteractiveViewer::refresh(), and FrameExplorer::refresh().

◆ getLastUsedDirectory()

const QDir camitk::Application::getLastUsedDirectory ( )
static

Get the last used directory (e.g.

the directory of the last opened document)

Referenced by OpenAction::apply(), ImpMainWindow::openDataDirectory(), and OpenFile::selectFile().

◆ getMainWindow()

MainWindow * camitk::Application::getMainWindow ( )
static

get the main window

Note
if there is no MainWindow when this method is first called, then this method makes sure there is a MainWindow by and force the creation of a default MainWindow (direct instance of the MainWindow class)

References setMainWindow().

Referenced by ToggleConsoleAction::apply(), BitmapViewer::getToolBar(), and ToggleConsoleAction::getWidget().

◆ getMaxRecentDocuments()

const int camitk::Application::getMaxRecentDocuments ( )
static

get the maximal number of recent documents stored

Referenced by ImpMainWindow::initActions(), and ImpMainWindow::updateRecentDocumentsMenu().

◆ getName()

◆ getNewViewer()

Viewer * camitk::Application::getNewViewer ( QString  name,
QString  className 
)
static

instantiate a new viewer of the given name and given class name (Viewer inheriting class).

Note
this method does not register the viewer automatically. Please call registerViewer(..) to add it to the list of registered viewers.

References CAMITK_ERROR_ALT, camitk::ViewerExtension::getNewInstance(), and camitk::ExtensionManager::getViewerExtensionsList().

◆ getPropertyObject()

PropertyObject * camitk::Application::getPropertyObject ( )
static

Get the property object of the application.

Note that every time a property is changed, the Application is notified, update its settings and take the new property values into account.

See also
eventFilter()

Referenced by ImpMainWindow::aboutToShow(), and camitk::Action::applyTargetPosition().

◆ getRecentDocuments()

const QList< QFileInfo > camitk::Application::getRecentDocuments ( )
static

Get the list of recent documents.

Referenced by ImpMainWindow::aboutToShow(), and ImpMainWindow::updateRecentDocumentsMenu().

◆ getSelectedComponents()

◆ getSelectedLanguage()

QString camitk::Application::getSelectedLanguage ( )
static

Returns for the current CamiTK application, the selected language (stored in its .ini configuration file)

References getName(), and getSettings().

Referenced by camitk::ActionExtension::initResources(), camitk::ComponentExtension::initResources(), and camitk::ViewerExtension::initResources().

◆ getSettings()

QSettings & camitk::Application::getSettings ( )
static

Get the Core wide settings.

This is the preferred methods for accessing and writing the settings for your specific needs, although you can use any kind of settings you like, using this allow you to store all settings in one place for all Core needs. This settings are stored in the user scope, using the INI format (i.e. no registers !), the organisation name is TIMC-IMAG and the application name is equal to Core::version. Check the QSettings API documentation to know exactly where is the settings file or call Application::getSettings().fileName()

The recommended method is to use one section for each Core area. Use the beginGroup("my area")/endGroup() to define specific settings area.

Note
for each beginGroup you use, you HAVE TO use an endGroup(), otherwise the settings state integrity is not guaranteed!

Referenced by ChangeLanguage::apply(), camitk::ExtensionManager::autoload(), camitk::InteractiveViewer::cameraOrientationChanged(), ChangeLanguage::ChangeLanguage(), camitk::MainWindow::closeEvent(), camitk::InteractiveViewer::eventFilter(), getSelectedLanguage(), camitk::Core::getUserInstallDir(), PropertyExplorer::getWidget(), camitk::MainWindow::initSettings(), camitk::InteractiveViewer::initSettings(), camitk::PropertyObject::loadFromSettings(), camitk::PropertyObject::saveToSettings(), camitk::MainWindow::setCentralViewer(), and camitk::InteractiveViewer::setHighlightMode().

◆ getTopLevelComponents()

const ComponentList & camitk::Application::getTopLevelComponents ( )
static

get the current application wide list of instantiated top-level Components.

This is the public method (return a const, the top-level component list is private and cannot be modified externally).

Referenced by CloseAllAction::apply(), SaveAllAction::apply(), hasModified(), Explorer::refresh(), camitk::InteractiveViewer::refresh(), MedicalImageViewer::refresh(), and ImpMainWindow::updateActionStates().

◆ getTriggeredAction()

Action * camitk::Application::getTriggeredAction ( )
static

get the currently triggered action

Referenced by camitk::MainWindow::refresh(), and ActionViewer::refresh().

◆ getViewer()

◆ getViewers() [1/2]

const ViewerList camitk::Application::getViewers ( )
static

get all the viewers registered in the application (note: the returned ViewerList is guaranteed to be sorted by viewer name and to not contain any duplicate)

Referenced by camitk::Component::getActionMenu(), getViewers(), and ImpMainWindow::updateViewMenu().

◆ getViewers() [2/2]

ViewerList camitk::Application::getViewers ( Component component)
static

get the viewers that can manage/display the given component (note: the returned ViewerList is guaranteed to be sorted by viewer name and to contain no duplicates)

References camitk::Viewer::getComponentClassNames(), camitk::Component::getHierarchy(), and getViewers().

◆ hasModified()

bool camitk::Application::hasModified ( )
static

Return true if at least one of the opened components has been modified, false otherwise.

References getTopLevelComponents().

◆ isAlive()

bool camitk::Application::isAlive ( Component comp)
static

◆ notify()

bool camitk::Application::notify ( QObject *  receiver,
QEvent *  event 
)
override

reimplemented from QApplication to catch all exception from external libs used in CEP (e.g. from ITK) and avoid crashes...

References CAMITK_ERROR.

◆ open()

Component * camitk::Application::open ( const QString &  fileName)
static

load the filename and returns the corresponding top level Component (returns nullptr if an error occurs)

Note
this method opens the filename and created the associated TOP LEVEL component If you wish to open a subcomponent (not top level then), prefer directly calling its public constructor.

References addRecentDocument(), CAMITK_ERROR_ALT, CAMITK_WARNING_IF_ALT, camitk::Core::getComponentDirectories(), camitk::ExtensionManager::getComponentExtension(), camitk::ComponentExtension::getName(), camitk::Component::isTopLevel(), camitk::ComponentExtension::open(), refresh(), resetProgressBar(), showStatusBarMessage(), and camitk::AbortException::what().

Referenced by ImpMainWindow::aboutToShow(), OpenAction::apply(), OpenFile::apply(), camitk::MainWindow::dropEvent(), and main().

◆ openDirectory()

Component * camitk::Application::openDirectory ( const QString &  dirName,
const QString &  pluginName 
)
static

load a directory and returns the corresponding Component (returns nullptr if an error occurs)

Parameters
dirNamethe name of the directory to open
pluginNamethe name of the plugin to use

References CAMITK_ERROR_ALT, camitk::Core::getComponentDirectories(), camitk::ExtensionManager::getDataDirectoryComponentExtension(), camitk::ComponentExtension::getName(), camitk::ComponentExtension::open(), refresh(), resetProgressBar(), showStatusBarMessage(), and camitk::AbortException::what().

Referenced by ImpMainWindow::openDataDirectory().

◆ refresh()

void camitk::Application::refresh ( )
static

refresh the main window (this will call the refresh method of all viewers)

References getAllComponents(), and camitk::MainWindow::refresh().

Referenced by ConnectedComponents::apply(), OtsuFilter::apply(), CreateSC::apply(), ClearSelectionAction::apply(), RemoveLastInstantiatedAction::apply(), SelectLastInstantiatedAction::apply(), ChangeParent::apply(), PixelColorChanger::apply(), ImageReconstructionAction::apply(), Show3DViewer::apply(), ShowAllViewers::apply(), ShowArbitraryViewer::apply(), ShowAxialViewer::apply(), ShowCoronalViewer::apply(), ShowSagittalViewer::apply(), ComputeNormals::apply(), ExtractSelection::apply(), GridTopology::apply(), SphereTopology::apply(), AppendMeshes::apply(), CleanPolyData::apply(), ComputeCurvatures::apply(), Decimation::apply(), ExtractEdges::apply(), ExtractSurface::apply(), FillWithPoints::apply(), ICPRegistration::apply(), MergeMeshs::apply(), MeshClipping::apply(), WarpOut::apply(), MeshProjection::apply(), ShowArbitrarySliceIn3D::apply(), ShowAxialSliceIn3D::apply(), ShowCoronalSliceIn3D::apply(), ShowImageIn3D::apply(), ShowSagittalSliceIn3D::apply(), VolumeRenderingAction::apply(), CenterMesh::apply(), ActionState::applyAction(), SaveActionState::applyAction(), close(), MeshProjection::event(), ShowFrame::event(), camitk::Component::getActionMenu(), MultiPickingWidget::manuallyModified(), open(), openDirectory(), MultiPickingWidget::removePixelFromTable(), MultiPickingWidget::removeSeedNumber(), FrameEditor::rotate(), FrameEditor::setRotation(), FrameEditor::setTransformation(), FrameEditor::setTranslation(), FrameEditor::translate(), and camitk::Action::trigger().

◆ registerAllActions()

int camitk::Application::registerAllActions ( ActionExtension ext)
static

register all actions from the given ActionExtension

Returns
the number of actions effectively registered (in case an action's name is already registered it won't be a second time)

References CAMITK_ERROR_ALT, getAction(), camitk::ActionExtension::getActions(), camitk::Action::getDescription(), camitk::Action::getExtensionName(), camitk::Action::getFamily(), and camitk::Action::getName().

Referenced by camitk::ExtensionManager::loadExtension().

◆ registerAllViewers()

int camitk::Application::registerAllViewers ( ViewerExtension ext)
static

register all viewers from the given ViewerExtension

Returns
the number of viewers effectively registered (in case a viewer's name is already registered by another viewer extension, it won't be registered a second time)

References camitk::ViewerExtension::getViewers(), and registerViewer().

Referenced by ActionStateMachine::ActionStateMachine(), and camitk::ExtensionManager::loadExtension().

◆ registerViewer()

bool camitk::Application::registerViewer ( Viewer viewer)
static

register a viewer in the viewer list (therefore allowing it to be refreshed by the main window automatically

References CAMITK_ERROR_ALT, camitk::Viewer::getDescription(), camitk::Viewer::getName(), and camitk::ViewerExtension::getName().

Referenced by registerAllViewers().

◆ removeLastHistoryItem()

HistoryItem camitk::Application::removeLastHistoryItem ( )
static

Remove the last pushed actions in the history of the current pipeline.

See also
addHistoryItem() To push back the item use

◆ resetProgressBar()

◆ save()

bool camitk::Application::save ( Component component)
static

◆ saveHistoryAsSXML()

◆ setLastUsedDirectory()

void camitk::Application::setLastUsedDirectory ( QDir  last)
static

set (force) the last used directory

Referenced by save().

◆ setMainWindow()

void camitk::Application::setMainWindow ( MainWindow mw)

set the main window.

You need to call this method in order to use a customized CamiTK MainWindow instead of the default one. This method has to be called after init().

It allows you to set the main window using your application extension instance.

Note
Application takes ownership of the MainWindow pointer and deletes it at the appropriate time.
Parameters
mwThe instance of main window you want to use for your application (if NULL a new instance of the MainWindow class is created)

References CAMITK_ERROR, and camitk::MainWindow::redirectToConsole().

Referenced by exec(), getMainWindow(), and ActionStateMachine::initMainWindow().

◆ setProgressBarValue()

void camitk::Application::setProgressBarValue ( int  value)
static

set the progress bar value, value should be in [0..100].

Attempting to change the current value to one outside the minimum-maximum range has no effect on the current value.

Consider using vtkProgressFunction()

References camitk::MainWindow::getProgressBar().

Referenced by CenterMesh::apply(), camitk::ItkProgressObserver::Execute(), camitk::ItkProgressObserver::ItkProgressObserver(), MergeMeshs::removeDuplicateCells(), and camitk::ItkProgressObserver::Reset().

◆ setTriggeredAction()

void camitk::Application::setTriggeredAction ( Action action)
static

set the currently triggered action This is used by Action::trigger(..) to refresh all the viewer (the viewers interested by the fact an action was triggered can then update what they need to)

Referenced by camitk::Action::trigger().

◆ showStatusBarMessage()

void camitk::Application::showStatusBarMessage ( QString  msg,
int  timeout = 0 
)
static

Set a message to the status bar.

By default there is no timeout (default), i.e. the given message remains displayed until this method is called again (or the status bar is cleared otherwise).

Parameters
msgthe message to display in the status bar.
timeoutnumber of milli-seconds (timeout) before the status bar is cleared (default = 0, i.e. until next call)

References CAMITK_INFO_ALT.

Referenced by CreateSC::apply(), CloseAllAction::apply(), OpenAction::apply(), OpenFile::apply(), SaveAllAction::apply(), SaveAsAction::apply(), ComputeNormals::apply(), ExtractSelection::apply(), GridTopology::apply(), SphereTopology::apply(), AppendMeshes::apply(), CleanPolyData::apply(), ComputeCurvatures::apply(), Decimation::apply(), ExtractEdges::apply(), ExtractSurface::apply(), FillWithPoints::apply(), ICPRegistration::apply(), WarpOut::apply(), CenterMesh::apply(), close(), MeshProjection::getWidget(), PMLComponent::init(), open(), PMLComponentExtension::open(), openDirectory(), camitk::InteractiveViewer::picked(), PMLComponent::PMLComponent(), and save().

◆ unregisterAllActions()

int camitk::Application::unregisterAllActions ( ActionExtension ext)
static

unregister all actions from the given ActionExtension

Returns
the number of actions effectively unregistered

References camitk::ActionExtension::getActions(), and camitk::Action::getName().

Referenced by camitk::ExtensionManager::unloadActionExtension().

◆ unregisterAllViewers()

int camitk::Application::unregisterAllViewers ( ViewerExtension ext)
static

unregister all viewers from the given ViewerExtension

Returns
the number of viewer effectively unregistered

References camitk::Viewer::getName(), and camitk::ViewerExtension::getViewers().

Referenced by camitk::ExtensionManager::unloadViewerExtension().

◆ vtkProgressFunction()

void camitk::Application::vtkProgressFunction ( vtkObject *  caller,
long unsigned int  ,
void *  ,
void *   
)
static

Observer function to be called by vtkFilters and to update progress bar Example of use:

Application::showStatusBarMessage("Applying my vtk filter");
vtkSmartPointer<vtkCallbackCommand> progressCallback = vtkSmartPointer<vtkCallbackCommand>::New();
progressCallback->SetCallback(&Application::vtkProgressFunction);
myVtkFilter->AddObserver(vtkCommand::ProgressEvent, progressCallback);
static void showStatusBarMessage(QString msg, int timeout=0)
Set a message to the status bar.
Definition Application.cpp:345
static void vtkProgressFunction(vtkObject *caller, long unsigned int, void *, void *)
Observer function to be called by vtkFilters and to update progress bar Example of use:
Definition Application.cpp:387
static void resetProgressBar()
Resets the progress bar if it exists.
Definition Application.cpp:361

References camitk::MainWindow::getProgressBar().

Referenced by ComputeNormals::apply(), ExtractSelection::apply(), AppendMeshes::apply(), CleanPolyData::apply(), ComputeCurvatures::apply(), Decimation::apply(), ExtractEdges::apply(), ExtractSurface::apply(), FillWithPoints::apply(), ICPRegistration::apply(), MergeMeshs::apply(), and WarpOut::apply().

Friends And Related Symbol Documentation

◆ Component

friend class Component
friend

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