21 #ifndef __qSlicerApplication_h 22 #define __qSlicerApplication_h 28 #include <ctkErrorLogModel.h> 30 #include <ctkSettingsDialog.h> 36 #include "qSlicerBaseQTGUIExport.h" 39 class qSlicerApplicationPrivate;
42 #ifdef Slicer_USE_PYTHONQT 48 class ctkErrorLogModel;
49 #ifdef Slicer_USE_QtTesting 50 class ctkQtTestingUtility;
53 #ifdef Slicer_BUILD_DICOM_SUPPORT 54 class ctkDICOMBrowser;
83 bool notify(QObject * receiver, QEvent * event)
override;
91 #ifdef Slicer_USE_PYTHONQT 94 Q_INVOKABLE ctkPythonConsole * pythonConsole();
96 Q_INVOKABLE ctkErrorLogLevel::LogLevel pythonConsoleLogLevel()
const;
99 #ifdef Slicer_USE_QtTesting 100 Q_INVOKABLE ctkQtTestingUtility* testingUtility();
109 QMainWindow* mainWindow()
const;
117 void setToolTipsEnabled(
bool enable);
124 QString nodeModule(
vtkMRMLNode* node,
double *confidence=
nullptr)
const;
126 Q_INVOKABLE ctkSettingsDialog* settingsDialog()
const;
127 Q_INVOKABLE
void openSettingsDialog(
const QString& settingsPanel=QString());
145 Q_INVOKABLE
virtual void logApplicationInformation()
const;
147 #ifdef Slicer_BUILD_DICOM_SUPPORT 148 Q_INVOKABLE ctkDICOMBrowser* createDICOMBrowserForMainDatabase();
154 Q_INVOKABLE
static unsigned long int windowsOSBuildNumber();
158 Q_INVOKABLE
static unsigned int windowsActiveCodePage();
163 Q_INVOKABLE
static bool isCodePageUtf8();
172 void openNodeModule(
vtkMRMLNode* node, QString role=QString(), QString context=QString());
176 void confirmRestart(QString reason = QString());
180 bool launchDesigner(
const QStringList& args = QStringList());
182 #ifdef Slicer_BUILD_EXTENSIONMANAGER_SUPPORT 183 void openExtensionsManagerDialog();
187 void openExtensionsCatalogWebsite();
190 #ifdef Slicer_BUILD_APPLICATIONUPDATE_SUPPORT 191 void openApplicationDownloadWebsite();
196 int numberOfRecentLogFilesToKeep();
199 QStringList recentLogFiles();
203 QString currentLogFile()
const;
211 void setHasBorderInFullScreen(
bool);
231 #ifdef Slicer_USE_PYTHONQT 232 void setPythonConsoleLogLevel(ctkErrorLogLevel::LogLevel logLevel);
247 void startupCompleted();
253 void renderPaused(
bool);
258 void editNode(vtkObject*,
void*,
unsigned long)
override;
260 #ifdef Slicer_USE_PYTHONQT 261 void logToPythonConsole(
const QDateTime& currentDateTime,
const QString& threadId,
263 ctkErrorLogLevel::LogLevel logLevel,
const QString& origin,
const ctkErrorLogContext& context,
const QString& text);
274 void setupFileLogging();
virtual void resumeRender()
virtual void onSlicerApplicationLogicModified()
virtual void pauseRender()
virtual bool loadFiles(const QStringList &filePaths, vtkMRMLMessageCollection *userMessages=nullptr)
static qSlicerCoreApplication * application()
void Q_SLICER_BASE_QTGUI_EXPORT qSlicerApplyPalette(QPalette &palette)
qSlicerCoreApplication Superclass
virtual void handleCommandLineArguments()
virtual void setRenderPaused(bool pause)
virtual void editNode(vtkObject *, void *, unsigned long)
virtual void handlePreApplicationCommandLineArguments()
Abstract Superclass for all specific types of MRML nodes.