itom
Loading...
Searching...
No Matches
ito::MainApplication Class Reference

The MainApplication class is the basic management class for the entire application. More...

Inheritance diagram for ito::MainApplication:

Public Types

enum  tGuiType { standard , console , none }
 

Public Slots

void _propertiesChanged ()
 
void mainWindowCloseRequest (bool considerPythonBusy)
 slot invoked if user wants to close application
 

Signals

void propertiesChanged ()
 

Public Member Functions

 MainApplication (tGuiType guiType=standard)
 constructor
 
 ~MainApplication ()
 destructor
 
int loadSettings (const QString userName="")
 
void setupApplication (const QStringList &scriptsToOpen, const QStringList &scriptsToExecute)
 setup of application
 
void finalizeApplication ()
 setup of application
 
int exec ()
 exececution of the main event loop
 
int execPipManagerOnly ()
 
ScriptEditorOrganizer * getScriptEditorOrganizer ()
 

Static Public Member Functions

static MainApplication * instance ()
 

Protected Member Functions

void registerMetaObjects ()
 

Private Slots

void setSplashScreenMessage (const QString &text)
 

Private Member Functions

QString getSplashScreenFileName () const
 
QPixmap getSplashScreenPixmap () const
 

Private Attributes

bool m_devFlag = false
 
tGuiType m_guiType
 
QThread * m_pyThread
 
PythonEngine * m_pyEngine
 
PythonStatePublisher * m_pyStatePublisher
 
ScriptEditorOrganizer * m_scriptEditorOrganizer
 
MainWindow * m_mainWin
 
PaletteOrganizer * m_paletteOrganizer
 
UiOrganizer * m_uiOrganizer
 
DesignerWidgetOrganizer * m_designerWidgetOrganizer
 
ito::ProcessOrganizer * m_processOrganizer
 
QTranslator m_translator
 
QTranslator m_qtTranslator
 
QTranslator m_commonQtTranslator
 
QTranslator m_commonPlotTranslator
 
QTranslator m_widgetsTranslator
 
QTranslator m_addinmanagerTranslator
 
QSplashScreen * m_pSplashScreen
 
QColor m_splashScreenTextColor
 
QDebugStream * m_pQout
 
QDebugStream * m_pQerr
 
PythonLogger m_pythonLogger
 

Static Private Attributes

static MainApplication * mainApplicationInstance = NULL
 static instance pointer initialization
 

Detailed Description

The MainApplication class is the basic management class for the entire application.

Constructor & Destructor Documentation

◆ MainApplication()

ito::MainApplication::MainApplication ( tGuiType guiType = standard)

constructor

Parameters
guiTypeType of the desired GUI (normal, console, no)
See also
tGuiType

◆ ~MainApplication()

ito::MainApplication::~MainApplication ( )

destructor

shutdown of whole application, including PythonEngine

See also
PythonEngine

Member Function Documentation

◆ exec()

int ito::MainApplication::exec ( )

exececution of the main event loop

Returns
value passed to exit() method, which finishes the exec()-loop, 0 if finished by quit()

◆ finalizeApplication()

void ito::MainApplication::finalizeApplication ( )

setup of application

stops PythonEngine, MainWindow (dependent on gui-type) and all necessary managers and organizers. Closes import connections between MainWindow and PythonEngine as well as ScriptEditorOrganizer.

See also
PythonEngine, MainWindow, ScriptEditorOrganizer

◆ getScriptEditorOrganizer()

ScriptEditorOrganizer * ito::MainApplication::getScriptEditorOrganizer ( )
inline

returns member m_scriptEditorOrganizer

◆ instance()

MainApplication * ito::MainApplication::instance ( )
static

getter-method for static instance pointer

◆ mainWindowCloseRequest

void ito::MainApplication::mainWindowCloseRequest ( bool considerPythonBusy)
slot

slot invoked if user wants to close application

See also
MainWindow

◆ setupApplication()

void ito::MainApplication::setupApplication ( const QStringList & scriptsToOpen,
const QStringList & scriptsToExecute )

setup of application

starts PythonEngine, MainWindow (dependent on gui-type) and all necessary managers and organizers. Builds import connections between MainWindow and PythonEngine as well as ScriptEditorOrganizer.

See also
PythonEngine, MainWindow, ScriptEditorOrganizer

Member Data Documentation

◆ m_designerWidgetOrganizer

DesignerWidgetOrganizer* ito::MainApplication::m_designerWidgetOrganizer
private

designerWidgetOrganizer

◆ m_devFlag

bool ito::MainApplication::m_devFlag = false
private

member to designate dev-build

◆ m_guiType

tGuiType ito::MainApplication::m_guiType
private

member for the desired gui-type

◆ m_mainWin

MainWindow* ito::MainApplication::m_mainWin
private

pointer to the main window

◆ m_paletteOrganizer

PaletteOrganizer* ito::MainApplication::m_paletteOrganizer
private

pointer to figureOrganizer

◆ m_pQerr

QDebugStream* ito::MainApplication::m_pQerr
private

std::cerr is redirected to this instance

◆ m_pQout

QDebugStream* ito::MainApplication::m_pQout
private

std::cout is redirected to this instance

◆ m_processOrganizer

ito::ProcessOrganizer* ito::MainApplication::m_processOrganizer
private

pointer to processOrganizer

◆ m_pyEngine

PythonEngine* ito::MainApplication::m_pyEngine
private

pointer to the python engine

◆ m_pyStatePublisher

PythonStatePublisher* ito::MainApplication::m_pyStatePublisher
private

pointer to the python state publisher (executed in main thread)

◆ m_pythonLogger

PythonLogger ito::MainApplication::m_pythonLogger
private

copies std::cerr to log

◆ m_pyThread

QThread* ito::MainApplication::m_pyThread
private

Thread, where python engine is executed

◆ m_scriptEditorOrganizer

ScriptEditorOrganizer* ito::MainApplication::m_scriptEditorOrganizer
private

pointer to scriptEditorOrganizer, organizing every existing script window or docking widget

◆ m_translator

QTranslator ito::MainApplication::m_translator
private

pointer to a language-translation, different than the standard language (en)

◆ m_uiOrganizer

UiOrganizer* ito::MainApplication::m_uiOrganizer
private

pointer to uiOrganizer

◆ mainApplicationInstance

MainApplication * ito::MainApplication::mainApplicationInstance = NULL
staticprivate

static instance pointer initialization

static pointer to the (singleton) instance of MainApplication


The documentation for this class was generated from the following files: