itom  4.1.0
ito::MainWindow Class Reference
Inheritance diagram for ito::MainWindow:

Public Slots

void addAbstractDock (AbstractDockWidget *dockWidget, Qt::DockWidgetArea area=Qt::TopDockWidgetArea)
 slot invoked by ScriptEditorOrganizer, if any ScriptDockWidget should be added to main window's dock widgets More...
 
void removeAbstractDock (AbstractDockWidget *dockWidget)
 slot invoked by ScriptEditorOrganizer, if any ScriptDockWidget should be removed from docking area More...
 
void connectPythonMessageBox (QListWidget *pythonMessageBox)
 
void pythonStateChanged (tPythonTransitions pyTransition)
 slot connected to signal pythonStateChanged in PythonEngine which is invoked by every change of the python state More...
 
void setStatusText (QString message, int timeout)
 
ito::RetVal addToolbarButton (const QString &toolbarName, const QString &buttonName, const QString &buttonIconFilename, const QString &pythonCode, QSharedPointer< size_t > buttonHandle, ItomSharedSemaphore *waitCond=NULL)
 
ito::RetVal removeToolbarButton (const QString &toolbarName, const QString &buttonName, QSharedPointer< QVector< size_t > > buttonHandles, bool showMessage=true, ItomSharedSemaphore *waitCond=nullptr)
 
ito::RetVal removeToolbarButton (const size_t buttonHandle, bool showMessage=true, ItomSharedSemaphore *waitCond=nullptr)
 
ito::RetVal addMenuElement (int typeID, const QString &key, const QString &name, const QString &code, const QString &buttonIconFilename, QSharedPointer< size_t > menuHandle, bool showMessage=true, ItomSharedSemaphore *waitCond=NULL)
 
ito::RetVal removeMenuElement (const QString &key, QSharedPointer< QVector< size_t > > removedMenuHandles, bool showMessage=true, ItomSharedSemaphore *waitCond=NULL)
 
ito::RetVal removeMenuElement (const size_t menuHandle, QSharedPointer< QVector< size_t > > removedMenuHandles, bool showMessage=true, ItomSharedSemaphore *waitCond=NULL)
 
ito::RetVal dumpToolbarsAndButtons (QSharedPointer< QString > pythonCodeString, ItomSharedSemaphore *waitCond=NULL)
 
void pythonRunSelection (QString selectionText)
 
void setCursor (const Qt::CursorShape cursor)
 
void resetCursor ()
 
void currentDirectoryChanged ()
 
void showInfoMessageLine (QString text, QString winKey="")
 
void showAssistant (const QString &collectionFile="")
 
void setCentralWidgetsSizes (const QVector< int > &sizes)
 

Signals

void mainWindowCloseRequest ()
 
void pythonDebugCommand (tPythonDbgCmd cmd)
 
void pythonSetAutoReloadSettings (bool enabled, bool checkFile, bool checkCmd, bool checkFct)
 

Public Member Functions

 MainWindow ()
 constructor More...
 
 ~MainWindow ()
 destructor More...
 
ito::RetVal addCentralWidget (QWidget *widget)
 
void scriptEditorOrganizerAvailable ()
 slot called by startupApplication if script editor organizer is loaded. More...
 

Protected Member Functions

void closeEvent (QCloseEvent *event)
 close event invoked if main window should be closed (and therefore the whole application too) More...
 
void resizeEvent (QResizeEvent *event)
 
void moveEvent (QMoveEvent *event)
 
bool pythonBusy () const
 
bool pythonDebugMode () const
 
bool pythonInWaitingMode () const
 

Private Slots

void mnuAboutQitom ()
 
void mnuExitApplication ()
 
void mnuNewScript ()
 slot invoked by action to open a new python script More...
 
void mnuOpenFile ()
 slot invoked by action to open any known file format More...
 
void mnuShowAssistant ()
 
void mnuShowScriptReference ()
 
void mnuShowDesigner ()
 
void mnuShowProperties ()
 
void mnuShowUserManagement ()
 
void mnuToggleExecPyCodeByDebugger (bool checked)
 
void mnuCloseAllPlots ()
 
void mnuShowAllPlots ()
 
void mnuMinimizeAllPlots ()
 
void mnuScriptStop ()
 
void mnuScriptContinue ()
 slot invoked to continue debugging process if actually waiting at breakpoint
 
void mnuScriptStep ()
 slot invoked to execute a python debugging step
 
void mnuScriptStepOver ()
 slot invoked to execute a python debugging step over
 
void mnuScriptStepOut ()
 slot invoked to execute a python debugging step out
 
void mnuPyReloadModules ()
 
void mnuShowLoadedPlugins ()
 
void mnuPyPipManager ()
 
void mnuPyTimerManager ()
 
void mnuPyAutoReloadTriggered (bool checked)
 
void helpAssistantError (QProcess::ProcessError error)
 
void designerError (QProcess::ProcessError error)
 
void userDefinedActionTriggered (const QString &pythonCode)
 
void pythonAutoReloadChanged (bool enabled, bool checkFile, bool checkCmd, bool checkFct)
 
void menuLastFilesAboutToShow ()
 
void lastFileOpen (const QString &path)
 
void openScript (const QString &filename)
 
void mnuViewAboutToShow ()
 
void mnuFigureAboutToShow ()
 
void raiseFigureByHandle (int handle)
 

Private Member Functions

void createActions ()
 creates actions for menu and toolbar
 
void createMenus ()
 
void createToolBars ()
 creates toolbar
 
void createStatusBar ()
 initializes status bar
 
void updateMenus ()
 
void updatePythonActions ()
 updates actions which deal with python commands
 
void getMenuHandlesRecursively (const QMenu *parent, QSharedPointer< QVector< size_t > > menuHandles)
 
QAction * searchActionRecursively (const size_t menuHandle, const QMenu *parent)
 

Private Attributes

ConsoleWidgetm_console
 
QVBoxLayout * m_contentLayout
 
QSplitter * m_contentSplitter
 
BreakPointDockWidgetm_breakPointDock
 
BookmarkDockWidgetm_bookmarkDock
 
LastCommandDockWidgetm_lastCommandDock
 
HelpDockWidgetm_helpDock
 
WorkspaceDockWidgetm_globalWorkspaceDock
 
WorkspaceDockWidgetm_localWorkspaceDock
 
CallStackDockWidgetm_callStackDock
 
FileSystemDockWidgetm_fileSystemDock
 
AIManagerWidgetm_pAIManagerWidget
 
QSignalMapper * m_lastFilesMapper
 
QSignalMapper * m_openScriptsMapper
 
QSignalMapper * m_openFigureMapper
 
QMap< QString, QToolBar * > m_userDefinedToolBars
 
QMap< QString, QMenu * > m_userDefinedRootMenus
 
QSignalMapper * m_userDefinedSignalMapper
 
unsigned int m_userDefinedActionCounter
 
QAction * m_appFileNew
 
QAction * m_appFileOpen
 
QAction * m_aboutQt
 
QAction * m_aboutQitom
 
QMap< QString, QAction * > m_actions
 
QMenu * m_pMenuFigure
 
QMenu * m_pShowOpenFigure
 
QMenu * m_pMenuHelp
 
QMenu * m_pMenuFile
 
QMenu * m_plastFilesMenu
 
QMenu * m_pMenuPython
 
QMenu * m_pMenuReloadModule
 
QMenu * m_pMenuView
 
HelpSystemm_pHelpSystem
 
QLabel * m_pStatusLblCurrentDir
 
QLabel * m_pStatusLblPythonBusy
 
QRect m_geometryNormalState
 
bool m_pythonBusy
 
bool m_pythonDebugMode
 
bool m_pythonInWaitingMode
 
bool m_isFullscreen
 
QMap< QString, QPointer< WidgetInfoBox > > m_infoBoxWidgets
 

Constructor & Destructor Documentation

ito::MainWindow::MainWindow ( )

constructor

establishes widgets being part of the main window including necessary actions

ito::MainWindow::~MainWindow ( )

destructor

disconnects connections between main window and python engine

Member Function Documentation

void ito::MainWindow::addAbstractDock ( AbstractDockWidget dockWidget,
Qt::DockWidgetArea  area = Qt::TopDockWidgetArea 
)
slot

slot invoked by ScriptEditorOrganizer, if any ScriptDockWidget should be added to main window's dock widgets

This method is also called to dock any figure to the main window.

Parameters
dockWidgetScriptDockWidget to add to any docking area
areadocking area, where dockWidget should be shown
void ito::MainWindow::closeEvent ( QCloseEvent *  event)
protected

close event invoked if main window should be closed (and therefore the whole application too)

if this event is invoked the signal mainWindowCloseRequest is emitted, which invokes the slot mainWindowCloseRequest in class MainApplication in order to proceed the entire closing process. Therefore the event is ignored.

Parameters
eventevent of type QCloseEvent, describing the close request
See also
MainApplication

< if mainWindowCloseRequest is handled and accepted by mainApplication, MainWindow will be destroyed

void ito::MainWindow::mainWindowCloseRequest ( )
signal

signal emitted if user would like to close the main window and therefore the entire application

void ito::MainWindow::mnuNewScript ( )
privateslot

slot invoked by action to open a new python script

invokes method newScript in ScriptEditorOrganizer

void ito::MainWindow::mnuOpenFile ( )
privateslot

slot invoked by action to open any known file format

Py-macro files will be opened by ScriptEditorOrganizer

See also
ScriptEditorOrganizer
bool ito::MainWindow::pythonBusy ( ) const
inlineprotected

returns if python is busy (true)

void ito::MainWindow::pythonDebugCommand ( tPythonDbgCmd  cmd)
signal

will be received by PythonThread, directly

bool ito::MainWindow::pythonDebugMode ( ) const
inlineprotected

returns if python is in debug mode (true)

bool ito::MainWindow::pythonInWaitingMode ( ) const
inlineprotected

returns if python is in waiting mode (true)

See also
m_pythonInWaitingMode
void ito::MainWindow::pythonStateChanged ( tPythonTransitions  pyTransition)
slot

slot connected to signal pythonStateChanged in PythonEngine which is invoked by every change of the python state

Actually, this slot is only evaluated in the main window in order to show python's busy state in the statusBar.

Parameters
pyTransitionPython transition to the next state
See also
PythonEngine
void ito::MainWindow::removeAbstractDock ( AbstractDockWidget dockWidget)
slot

slot invoked by ScriptEditorOrganizer, if any ScriptDockWidget should be removed from docking area

notice, that even a ScriptDockWidget is actually undocked, it belongs to the docking area NoDockWidgetArea

Parameters
dockWidgetScriptDockWidget to remove from docking area
void ito::MainWindow::scriptEditorOrganizerAvailable ( )

slot called by startupApplication if script editor organizer is loaded.

This method is used to tell the bookmark dock widget about the existence of the bookmark model and its bookmark model.

Member Data Documentation

QSignalMapper* ito::MainWindow::m_lastFilesMapper
private

Maps signal from the "last opened files" buttons

QSignalMapper* ito::MainWindow::m_openFigureMapper
private

Maps signal from the opened figure actions

QSignalMapper* ito::MainWindow::m_openScriptsMapper
private

Maps signal from the opened scripts" actions

bool ito::MainWindow::m_pythonBusy
private

if true, python is busy right now

bool ito::MainWindow::m_pythonDebugMode
private

if true, python is in debug mode right now

bool ito::MainWindow::m_pythonInWaitingMode
private

if true, python is in debug mode but waiting for next user command (e.g. the debugger waits at a breakpoint)


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