itom
Loading...
Searching...
No Matches
ito::MainWindow Class Reference
Inheritance diagram for ito::MainWindow:

Public Slots

void addAbstractDock (AbstractDockWidget *dockWidget, Qt::DockWidgetArea area=Qt::TopDockWidgetArea)
 
void removeAbstractDock (AbstractDockWidget *dockWidget)
 
void pythonStateChanged (tPythonTransitions pyTransition)
 
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="", const QString &showUrl="")
 
void setCentralWidgetsSizes (const QVector< int > &sizes)
 

Signals

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

Public Member Functions

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

Protected Member Functions

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

Private Slots

void mnuAboutQitom ()
 
void mnuCopyLog ()
 
void mnuExitApplication ()
 
void mnuNewScript ()
 slot invoked by action to open a new python script
 
void mnuOpenFile ()
 slot invoked by action to open any known file format
 
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)
 
void scriptStatusBarInformationChanged (const QPointer< ScriptDockWidget > sourceDockWidget, const QString &encoding, int line, int column)
 

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
 
QMap< QString, QToolBar * > m_userDefinedToolBars
 
QMap< QString, QMenu * > m_userDefinedRootMenus
 
unsigned int m_userDefinedActionCounter
 
QAction * m_appFileNew
 
QAction * m_appFileOpen
 
QAction * m_aboutQt
 
QAction * m_aboutQitom
 
QAction * m_copyLog
 
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
 label for showing current directory in status bar
 
QLabel * m_pStatusLblCurrentDir
 label for showing the busy status of python (hidden, if python is currently not working) in the status bar
 
QLabel * m_pStatusLblPythonBusy
 label for showing basic information about the script, that has currently the focus, in the status bar
 
QLabel * m_pStatusLblScriptInfo
 
QRect m_geometryNormalState
 
bool m_pythonBusy
 
bool m_pythonDebugMode
 
bool m_pythonInWaitingMode
 
bool m_isFullscreen
 
QMap< QString, QPointer< WidgetInfoBox > > m_infoBoxWidgets
 

Constructor & Destructor Documentation

◆ MainWindow()

ito::MainWindow::MainWindow ( )

constructor

establishes widgets being part of the main window including necessary actions

◆ ~MainWindow()

ito::MainWindow::~MainWindow ( )

destructor

disconnects connections between main window and python engine

Member Function Documentation

◆ addAbstractDock

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

◆ closeEvent()

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

◆ mainWindowCloseRequest

void ito::MainWindow::mainWindowCloseRequest ( bool considerPythonBusy)
signal

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

◆ mnuNewScript

void ito::MainWindow::mnuNewScript ( )
privateslot

slot invoked by action to open a new python script

invokes method newScript in ScriptEditorOrganizer

◆ mnuOpenFile

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

◆ pythonBusy()

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

returns if python is busy (true)

◆ pythonDebugCommand

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

will be received by PythonThread, directly

◆ pythonDebugMode()

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

returns if python is in debug mode (true)

◆ pythonInWaitingMode()

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

returns if python is in waiting mode (true)

See also
m_pythonInWaitingMode

◆ pythonStateChanged

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

◆ removeAbstractDock

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

◆ scriptEditorOrganizerAvailable()

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

◆ m_pythonBusy

bool ito::MainWindow::m_pythonBusy
private

if true, python is busy right now

◆ m_pythonDebugMode

bool ito::MainWindow::m_pythonDebugMode
private

if true, python is in debug mode right now

◆ m_pythonInWaitingMode

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: