21#ifndef __qSlicerApplication_h
22#define __qSlicerApplication_h
28#include <ctkErrorLogModel.h>
30#include <ctkSettingsDialog.h>
36#include "qSlicerBaseQTGUIExport.h"
39class qSlicerApplicationPrivate;
42#ifdef Slicer_USE_PYTHONQT
48class ctkErrorLogModel;
49#ifdef Slicer_USE_QtTesting
50class ctkQtTestingUtility;
53#ifdef Slicer_BUILD_DICOM_SUPPORT
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
101 Q_INVOKABLE ctkQtTestingUtility* testingUtility();
147#ifdef Slicer_BUILD_DICOM_SUPPORT
150 Q_INVOKABLE ctkDICOMBrowser* createDICOMBrowserForMainDatabase();
155 Q_INVOKABLE
static unsigned long int windowsOSBuildNumber();
158 Q_INVOKABLE
static unsigned int windowsActiveCodePage();
182#ifdef Slicer_BUILD_EXTENSIONMANAGER_SUPPORT
184 void openExtensionsManagerDialog();
187 void openExtensionsCatalogWebsite();
190#ifdef Slicer_BUILD_APPLICATIONUPDATE_SUPPORT
192 void openApplicationDownloadWebsite();
231#ifdef Slicer_USE_PYTHONQT
233 void setPythonConsoleLogLevel(ctkErrorLogLevel::LogLevel logLevel);
258 void editNode(vtkObject*,
void*,
unsigned long)
override;
260#ifdef Slicer_USE_PYTHONQT
262 void logToPythonConsole(
const QDateTime& currentDateTime,
const QString& threadId,
263 ctkErrorLogLevel::LogLevel logLevel,
const QString& origin,
const ctkErrorLogContext& context,
const QString& text);
void pauseRender() override
void setHasBorderInFullScreen(bool)
QStringList recentLogFiles()
Paths of recent log files.
void editNode(vtkObject *, void *, unsigned long) override
Request editing of a MRML node.
QString currentLogFile() const
static Q_INVOKABLE bool isCodePageUtf8()
static qSlicerApplication * application()
Return a reference to the application singleton.
Q_INVOKABLE qSlicerCommandOptions * commandOptions() const
Get commandOptions.
Q_INVOKABLE qSlicerIOManager * ioManager()
Get IO Manager.
void confirmRestart(QString reason=QString())
QString nodeModule(vtkMRMLNode *node, double *confidence=nullptr) const
int numberOfRecentLogFilesToKeep()
Number of recent log files to keep. Older log files are deleted automatically.
bool notify(QObject *receiver, QEvent *event) override
Q_INVOKABLE ctkSettingsDialog * settingsDialog() const
qSlicerCoreApplication Superclass
void handlePreApplicationCommandLineArguments() override
Reimplemented from qSlicerCoreApplication.
qSlicerApplication(int &argc, char **argv)
void handleCommandLineArguments() override
void setRenderPaused(bool pause) override
virtual Q_INVOKABLE void logApplicationInformation() const
void resumeRender() override
Q_INVOKABLE void setLayoutManager(qSlicerLayoutManager *layoutManager)
void setToolTipsEnabled(bool enable)
Enable/Disable tooltips.
Q_INVOKABLE qSlicerLayoutManager * layoutManager() const
Set/Get layout manager.
Q_INVOKABLE void openSettingsDialog(const QString &settingsPanel=QString())
void onSlicerApplicationLogicModified() override
QMainWindow * mainWindow() const
Return a pointer on the main window of the application if any.
bool loadFiles(const QStringList &filePaths, vtkMRMLMessageCollection *userMessages=nullptr) override
Override the qSlicerCoreApplication implementation to also show error messages in a popup window.
~qSlicerApplication() override
void openNodeModule(vtkMRMLNode *node, QString role=QString(), QString context=QString())
bool launchDesigner(const QStringList &args=QStringList())
qSlicerCoreApplication(int &argc, char **argv)
Abstract Superclass for all specific types of MRML nodes.
void Q_SLICER_BASE_QTGUI_EXPORT qSlicerApplyPalette(QPalette &palette)