Computer Assited Medical Intervention Tool Kit  version 4.1
MonitoringDialog.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * $CAMITK_LICENCE_BEGIN$
3  *
4  * CamiTK - Computer Assisted Medical Intervention ToolKit
5  * (c) 2001-2018 Univ. Grenoble Alpes, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
6  *
7  * Visit http://camitk.imag.fr for more information
8  *
9  * This file is part of CamiTK.
10  *
11  * CamiTK is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * CamiTK is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License version 3 for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22  *
23  * $CAMITK_LICENCE_END$
24  ****************************************************************************/
25 
26 #ifndef MONITORINGDIALOG_H
27 #define MONITORINGDIALOG_H
28 
29 #include "MMLMonitoringGUIAPI.h"
30 
31 #include <QDialog>
32 class QTableWidget;
33 class QTreeWidgetItem;
34 
35 namespace Ui {
36 class MonitoringDialog;
37 }
38 
40 
41 class StoppingCriterion;
42 
50 class /* needed if you monitoringgui is compiled as shared: MML_MONITORING_GUI_API*/ MonitoringDialog : public QDialog {
51  Q_OBJECT
52 
53 public:
55  MonitoringDialog(MonitoringGuiManager* guiManager, QWidget* parent = nullptr);
57  ~MonitoringDialog() override;
58 
60  void init();
61 
63  void updateAll();
65  void updateMonitors();
69  void updateSimulation();
71  void updateSimulatorWidget();
73  QString getMmlInFileName();
75  QTableWidget* getMonitorsTableWidget();
76 
77 public slots:
79  void browseMmlIn();
81  void saveMmlOut();
83  void saveCsv();
85  void saveMmlIn();
87  void browsePml();
89  void browseLml();
91  void dtModified();
93  void refreshModified();
94 
98  void pause();
101  void simulate();
103  void simulateOneStep();
105  void rewind();
106 
107 signals:
109  void monitorsChanged();
110 
111 
112 private:
114  Ui::MonitoringDialog* ui;
115 
118 
120  QColor bgColor;
121 
123  void enableButtons(bool enable);
124 
126  QTreeWidgetItem* createItem(StoppingCriterion* sc, QTreeWidgetItem* parent);
127 };
128 
129 #endif // MONITORINGDIALOG_H
MonitoringManager::getMmlFileName
std::string getMmlFileName()
Definition: MonitoringManager.cpp:294
Criterion
Class which represents a simple criterion A criterion can be checked using checkCriterion method to k...
Definition: Criterion.h:46
MonitoringDriver.h
MonitoringDialog::ui
Ui::MonitoringDialog * ui
the ui dialog designed in qtdesigner
Definition: MonitoringDialog.h:113
MonitoringDialog::dtModified
void dtModified()
Slot called after dt editing.
Definition: MonitoringDialog.cpp:357
MonitoringDialog::saveMmlOut
void saveMmlOut()
Slot called when save MmlOut file is clicked.
Definition: MonitoringDialog.cpp:147
InteractiveMonitoringManager::getStoppingCriterion
StoppingCriterion * getStoppingCriterion()
get Stopping Criterion
Definition: InteractiveMonitoringManager.cpp:100
Monitor::getStopAt
double getStopAt()
Definition: Monitor.cpp:212
MonitoringDialog::simulateOneStep
void simulateOneStep()
Slot called when the next step is clicked.
Definition: MonitoringDialog.cpp:200
MonitoringGuiManager::updatePml
void updatePml(QString fileName)
update pml
Definition: MonitoringGuiManager.cpp:227
InteractiveMonitoringManager.h
MonitoringManager::getDt
double getDt()
Definition: MonitoringManager.cpp:226
MonitoringManager::getCurrentStep
double getCurrentStep()
Definition: MonitoringManager.cpp:241
MonitoringDialog::updateSimulation
void updateSimulation()
update simulation tab
Definition: MonitoringDialog.cpp:289
MonitoringDialog::rewind
void rewind()
Slot called when the button Rewind is clicked.
Definition: MonitoringDialog.cpp:210
MonitoringDialog::browseMmlIn
void browseMmlIn()
Slot called when Browse MmlIn file is clicked.
Definition: MonitoringDialog.cpp:138
MonitoringDialog::updateMonitors
void updateMonitors()
update monitors tab
Definition: MonitoringDialog.cpp:258
MonitoringDialog
TODO Comment class here.
Definition: MonitoringDialog.h:49
MonitoringDialog.h
MonitoringGuiManager::saveMmlInFile
bool saveMmlInFile(QString fileName)
Save MMLIn file.
Definition: MonitoringGuiManager.cpp:210
MonitoringGuiManager::reload
void reload()
reload simulation with current parameters
Definition: MonitoringGuiManager.cpp:169
MonitoringManager::getComputingTime
double getComputingTime()
Definition: MonitoringManager.cpp:252
MonitoringManager::getLmlFileName
std::string getLmlFileName()
Definition: MonitoringManager.cpp:289
MonitoringManager::getMonitor
Monitor * getMonitor(const unsigned int i) const
get a monitor by its index in the list
Definition: MonitoringManager.cpp:377
MonitoringDialog::enableButtons
void enableButtons(bool enable)
set the rew,play,pause,step buttons enable or not
Definition: MonitoringDialog.cpp:105
MonitoringDialog::init
void init()
initialize dialog
Definition: MonitoringDialog.cpp:100
MonitoringDialog::monitorsChanged
void monitorsChanged()
emitted
Monitor::getReferenceName
std::string getReferenceName()
Definition: Monitor.cpp:192
MonitoringManager::getPmlFileName
std::string getPmlFileName()
Definition: MonitoringManager.cpp:284
MonitoringDialog::updateAll
void updateAll()
update all tabs
Definition: MonitoringDialog.cpp:226
MonitoringDialog::bgColor
QColor bgColor
the initial bg color
Definition: MonitoringDialog.h:119
StoppingCriterion::getName
virtual std::string getName()=0
get stopping criterion name
MonitoringManager::isLmlPresent
bool isLmlPresent()
check if a lml is present
Definition: MonitoringManager.cpp:485
MMLMonitoringGUIAPI.h
MonitoringDialog::refreshModified
void refreshModified()
Slot called after refresh editing.
Definition: MonitoringDialog.cpp:362
Monitor::getTargetName
std::string getTargetName()
Definition: Monitor.cpp:217
Ui
Definition: SettingsDialog.h:30
MonitoringDialog::saveMmlIn
void saveMmlIn()
Slot called when save MmlIn file is clicked.
Definition: MonitoringDialog.cpp:163
MonitoringGuiManager
A GUI to manipulate mml documents.
Definition: MonitoringGuiManager.h:44
StoppingCriterion::getChild
virtual StoppingCriterion * getChild(const unsigned int i)=0
get the child repered by index, return null if no child
MonitoringManager::numberOfMonitor
unsigned int numberOfMonitor() const
get the number of monitors stored in the list
Definition: MonitoringManager.cpp:387
MonitoringGuiManager::loadMmlInFile
bool loadMmlInFile(QString fileName)
Load a MMLIn file.
Definition: MonitoringGuiManager.cpp:180
MonitoringDialog::saveCsv
void saveCsv()
Slot called when save as csv file is clicked.
Definition: MonitoringDialog.cpp:155
MonitoringGuiManager::pause
void pause()
pause simulation
Definition: MonitoringGuiManager.cpp:155
MonitoringDialog::updateSimulatorWidget
void updateSimulatorWidget()
update simulator specific widget
Definition: MonitoringDialog.cpp:315
MonitoringManager::getSimulator
Simulator * getSimulator()
Definition: MonitoringManager.cpp:305
MonitoringGuiManager::simulateOneStep
void simulateOneStep()
do one step of simulation
Definition: MonitoringGuiManager.cpp:143
MonitoringGuiManager::saveMmlOutFile
bool saveMmlOutFile(QString fileName)
Save MMLout file.
Definition: MonitoringGuiManager.cpp:197
MonitoringGuiManager.h
MonitoringManager::getRefresh
double getRefresh()
Definition: MonitoringManager.cpp:231
MonitoringDialog::guiManager
MonitoringGuiManager * guiManager
the monitoring manager
Definition: MonitoringDialog.h:116
StoppingCriterion.h
MonitoringDialog::pause
void pause()
do one step of simulation
Definition: MonitoringDialog.cpp:205
StoppingCriterion::getNumberOfChildren
virtual int getNumberOfChildren()=0
get number of childre; return -1 for non multiple criteria
MonitoringDialog::getMonitorsTableWidget
QTableWidget * getMonitorsTableWidget()
get the monitors table
Definition: MonitoringDialog.cpp:366
StoppingCriterion
class which represent the stopping criterion to check to stop simulation a StoppingCriterion is eithe...
Definition: StoppingCriterion.h:47
MonitoringGuiManager::simulate
void simulate()
do simulation lopp
Definition: MonitoringGuiManager.cpp:131
MonitoringDialog::simulate
void simulate()
Slot called when the button Play is clicked.
Definition: MonitoringDialog.cpp:219
MonitoringGuiManager::updateDt
void updateDt(double dt)
update dt
Definition: MonitoringGuiManager.cpp:217
MonitoringGuiManager::updateLml
void updateLml(QString fileName)
update lml
Definition: MonitoringGuiManager.cpp:232
Monitor::getTypeName
virtual std::string getTypeName()=0
MonitoringDialog::updateStoppingCriteria
void updateStoppingCriteria()
update stopping criteria tab
Definition: MonitoringDialog.cpp:302
MonitoringDialog::getMmlInFileName
QString getMmlInFileName()
get MmlIn file name
Definition: MonitoringDialog.cpp:352
MonitoringGuiManager::updateRefresh
void updateRefresh(double refresh)
update refresh
Definition: MonitoringGuiManager.cpp:222
MonitoringGuiManager::getMonitoringManager
MonitoringManager * getMonitoringManager()
get Monitoring Manager
Definition: MonitoringGuiManager.cpp:73
MonitoringManager::getCurrentTime
double getCurrentTime()
Definition: MonitoringManager.cpp:236
Criterion.h
MonitoringDialog::createItem
QTreeWidgetItem * createItem(StoppingCriterion *sc, QTreeWidgetItem *parent)
Definition: MonitoringDialog.cpp:334
Monitor
A monitor calculate and store followed data (ex:calculation between current position and references) ...
Definition: Monitor.h:48
MonitoringDialog::~MonitoringDialog
~MonitoringDialog() override
Destructor.
Definition: MonitoringDialog.cpp:85
InteractiveMonitoringManager
Interactice managers are managers linked with an interactive simulator.
Definition: InteractiveMonitoringManager.h:50
MonitoringDialog::MonitoringDialog
MonitoringDialog(MonitoringGuiManager *guiManager, QWidget *parent=nullptr)
Default Constructor.
Definition: MonitoringDialog.cpp:44
Monitor.h
Monitor::getStartAt
double getStartAt()
Definition: Monitor.cpp:207
MonitoringGuiManager::saveCsvFile
bool saveCsvFile(QString fileName)
Save csv file.
Definition: MonitoringGuiManager.cpp:203
MonitoringGuiManager::getDriver
MonitoringDriver * getDriver()
get driver
Definition: MonitoringGuiManager.cpp:68
MonitoringManager::getStepComputingTime
double getStepComputingTime()
Definition: MonitoringManager.cpp:246
MonitoringDialog::browsePml
void browsePml()
Slot called when Browse Pml file is clicked.
Definition: MonitoringDialog.cpp:186
MonitoringGuiManager::rewind
void rewind()
rewind simulation
Definition: MonitoringGuiManager.cpp:160
MonitoringDialog::browseLml
void browseLml()
Slot called when Browse Lml file is clicked.
Definition: MonitoringDialog.cpp:172
MonitoringManager::isPmlPresent
bool isPmlPresent()
check if a scn is present instead of pmlFileName
Definition: MonitoringManager.cpp:480