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.