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
82 bool notify(QObject* receiver, QEvent* event)
override;
90#ifdef Slicer_USE_PYTHONQT
93 Q_INVOKABLE ctkPythonConsole* pythonConsole();
95 Q_INVOKABLE ctkErrorLogLevel::LogLevel pythonConsoleLogLevel()
const;
98#ifdef Slicer_USE_QtTesting
100 Q_INVOKABLE ctkQtTestingUtility* testingUtility();
146#ifdef Slicer_BUILD_DICOM_SUPPORT
149 Q_INVOKABLE ctkDICOMBrowser* createDICOMBrowserForMainDatabase();
154 Q_INVOKABLE
static unsigned long int windowsOSBuildNumber();
157 Q_INVOKABLE
static unsigned int windowsActiveCodePage();
181#ifdef Slicer_BUILD_EXTENSIONMANAGER_SUPPORT
183 void openExtensionsManagerDialog();
186 void openExtensionsCatalogWebsite();
189#ifdef Slicer_BUILD_APPLICATIONUPDATE_SUPPORT
191 void openApplicationDownloadWebsite();
230#ifdef Slicer_USE_PYTHONQT
232 void setPythonConsoleLogLevel(ctkErrorLogLevel::LogLevel logLevel);
257 void editNode(vtkObject*,
void*,
unsigned long)
override;
259#ifdef Slicer_USE_PYTHONQT
261 void logToPythonConsole(
const QDateTime& currentDateTime,
262 const QString& threadId,
263 ctkErrorLogLevel::LogLevel logLevel,
264 const QString& origin,
265 const ctkErrorLogContext& context,
266 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)