|
HAL
|
#include <python_thread.h>


Public Types | |
| enum | InputType { ConsoleInput , StringInput , NumberInput , ModuleInput , GateInput , FilenameInput , WaitForMenuSelection } |
Public Types inherited from QThread | |
| enum | Priority |
Signals | |
| void | stdOutput (QString txt) |
| void | stdError (QString txt) |
| void | requireInput (int type, QString prompt, QVariant defaultValue) |
Public Member Functions | |
| PythonThread (const QString &script, bool singleStatement, QObject *parent=nullptr) | |
| ~PythonThread () | |
| void | run () override |
| void | interrupt () |
| QString | errorMessage () const |
| QString | result () const |
| void | handleStdout (const QString &output) override |
| void | handleError (const QString &output) override |
| std::string | handleConsoleInput (const QString &prompt) |
| std::string | handleStringInput (const QString &prompt, const QString &defval) |
| int | handleNumberInput (const QString &prompt, int defval) |
| Module * | handleModuleInput (const QString &prompt) |
| Gate * | handleGateInput (const QString &prompt) |
| std::string | handleFilenameInput (const QString &prompt, const QString &filetype) |
| void | clear () override |
| void | setInput (const QVariant &inp) |
| bool | getInput (InputType type, QString prompt, QVariant defaultValue) |
| void | unlock () |
| const QString & | stdoutBuffer () const |
| QString | flushStdout () |
Public Member Functions inherited from QThread | |
| QThread (QObject *parent) | |
| virtual | ~QThread () |
| void | setPriority (QThread::Priority priority) |
| QThread::Priority | priority () const const |
| bool | isFinished () const const |
| bool | isRunning () const const |
| void | requestInterruption () |
| bool | isInterruptionRequested () const const |
| void | setStackSize (uint stackSize) |
| uint | stackSize () const const |
| void | exit (int returnCode) |
| QAbstractEventDispatcher * | eventDispatcher () const const |
| void | setEventDispatcher (QAbstractEventDispatcher *eventDispatcher) |
| virtual bool | event (QEvent *event) override |
| int | loopLevel () const const |
| void | start (QThread::Priority priority) |
| void | terminate () |
| void | quit () |
| bool | wait (QDeadlineTimer deadline) |
| bool | wait (unsigned long time) |
| void | started () |
| void | finished () |
Public Member Functions inherited from QObject | |
| virtual const QMetaObject * | metaObject () const const |
| QObject (QObject *parent) | |
| virtual | ~QObject () |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| QString | objectName () const const |
| void | setObjectName (const QString &name) |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| bool | signalsBlocked () const const |
| bool | blockSignals (bool block) |
| QThread * | thread () const const |
| void | moveToThread (QThread *targetThread) |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
| void | killTimer (int id) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| const QObjectList & | children () const const |
| void | setParent (QObject *parent) |
| void | installEventFilter (QObject *filterObj) |
| void | removeEventFilter (QObject *obj) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| void | dumpObjectTree () |
| void | dumpObjectInfo () |
| void | dumpObjectTree () const const |
| void | dumpObjectInfo () const const |
| bool | setProperty (const char *name, const QVariant &value) |
| QVariant | property (const char *name) const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| void | destroyed (QObject *obj) |
| void | objectNameChanged (const QString &objectName) |
| QObject * | parent () const const |
| bool | inherits (const char *className) const const |
| void | deleteLater () |
| Q_DISABLE_COPY (Class) | |
| Q_DISABLE_MOVE (Class) | |
| Q_DISABLE_COPY_MOVE (Class) | |
| T | qobject_cast (QObject *object) |
| T | qobject_cast (const QObject *object) |
| T | qFindChild (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
| Q_CLASSINFO (Name, Value) | |
| Q_INTERFACES (...) | |
| Q_PROPERTY (...) | |
| Q_ENUMS (...) | |
| Q_FLAGS (...) | |
| Q_ENUM (...) | |
| Q_FLAG (...) | |
| Q_ENUM_NS (...) | |
| Q_FLAG_NS (...) | |
| Q_OBJECT Q_OBJECT | |
| Q_GADGET Q_GADGET | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SLOTS Q_SLOTS | |
| Q_SLOT Q_SLOT | |
| Q_EMIT Q_EMIT | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Additional Inherited Members | |
Static Public Member Functions inherited from QThread | |
| Qt::HANDLE | currentThreadId () |
| QThread * | currentThread () |
| int | idealThreadCount () |
| void | yieldCurrentThread () |
| QThread * | create (Function &&f, Args &&... args) |
| QThread * | create (Function &&f) |
| void | sleep (unsigned long secs) |
| void | msleep (unsigned long msecs) |
| void | usleep (unsigned long usecs) |
Static Public Member Functions inherited from QObject | |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
| QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
Public Attributes inherited from QThread | |
| IdlePriority | |
| LowestPriority | |
| LowPriority | |
| NormalPriority | |
| HighPriority | |
| HighestPriority | |
| TimeCriticalPriority | |
| InheritPriority | |
Public Attributes inherited from QObject | |
| typedef | QObjectList |
Protected Member Functions inherited from QThread | |
| int | exec () |
Protected Member Functions inherited from QObject | |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| int | receivers (const char *signal) const const |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| virtual void | timerEvent (QTimerEvent *event) |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | customEvent (QEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
Static Protected Member Functions inherited from QThread | |
| void | setTerminationEnabled (bool enabled) |
Properties inherited from QObject | |
| objectName | |
Definition at line 58 of file python_thread.h.
| Enumerator | |
|---|---|
| ConsoleInput | |
| StringInput | |
| NumberInput | |
| ModuleInput | |
| GateInput | |
| FilenameInput | |
| WaitForMenuSelection | |
Definition at line 61 of file python_thread.h.
| hal::PythonThread::PythonThread | ( | const QString & | script, |
| bool | singleStatement, | ||
| QObject * | parent = nullptr |
||
| ) |
Definition at line 24 of file python_thread.cpp.
| hal::PythonThread::~PythonThread | ( | ) |
Definition at line 31 of file python_thread.cpp.
|
overridevirtual |
Handle that a 'clear'-command occurs (i.e. clear the console).
Implements hal::PythonContextSubscriber.
Definition at line 112 of file python_thread.cpp.
|
inline |
Definition at line 84 of file python_thread.h.
| QString hal::PythonThread::flushStdout | ( | ) |
Definition at line 99 of file python_thread.cpp.
References QString::clear(), and QElapsedTimer::restart().
Definition at line 144 of file python_thread.cpp.
References QMutex::lock(), QObject::Q_EMIT(), requireInput(), QMutex::tryLock(), type, QMutex::unlock(), and WaitForMenuSelection.
Referenced by handleConsoleInput(), handleFilenameInput(), handleGateInput(), handleModuleInput(), handleNumberInput(), and handleStringInput().
| std::string hal::PythonThread::handleConsoleInput | ( | const QString & | prompt | ) |
Definition at line 163 of file python_thread.cpp.
References ConsoleInput, getInput(), QString::toStdString(), and QVariant::toString().
|
overridevirtual |
Handle error messages.
| output | - The message. |
Implements hal::PythonContextSubscriber.
Definition at line 107 of file python_thread.cpp.
References hal::output, QObject::Q_EMIT(), and stdError().
| std::string hal::PythonThread::handleFilenameInput | ( | const QString & | prompt, |
| const QString & | filetype | ||
| ) |
Definition at line 193 of file python_thread.cpp.
References FilenameInput, getInput(), QString::toStdString(), and QVariant::toString().
Definition at line 187 of file python_thread.cpp.
References GateInput, getInput(), and QVariant::value().
Definition at line 181 of file python_thread.cpp.
References getInput(), ModuleInput, and QVariant::value().
| int hal::PythonThread::handleNumberInput | ( | const QString & | prompt, |
| int | defval | ||
| ) |
Definition at line 175 of file python_thread.cpp.
References getInput(), NumberInput, and QVariant::toInt().
|
overridevirtual |
Handle standard output messages.
| output | - The message. |
Implements hal::PythonContextSubscriber.
Definition at line 76 of file python_thread.cpp.
References QString::clear(), QElapsedTimer::elapsed(), QString::isEmpty(), hal::output, QObject::Q_EMIT(), QElapsedTimer::restart(), and stdOutput().
Definition at line 169 of file python_thread.cpp.
References getInput(), StringInput, QString::toStdString(), and QVariant::toString().
| void hal::PythonThread::interrupt | ( | ) |
Definition at line 115 of file python_thread.cpp.
References QMutex::tryLock(), and QMutex::unlock().
Referenced by getInput().
|
inline |
Definition at line 85 of file python_thread.h.
|
overridevirtual |
Reimplemented from QThread.
Definition at line 36 of file python_thread.cpp.
References QString::fromStdString(), QElapsedTimer::start(), control::str, and QString::toStdString().
| void hal::PythonThread::setInput | ( | const QVariant & | inp | ) |
Definition at line 199 of file python_thread.cpp.
References QMutex::unlock().
|
signal |
Referenced by handleError().
|
inline |
Definition at line 98 of file python_thread.h.
|
signal |
Referenced by handleStdout().
| void hal::PythonThread::unlock | ( | ) |
Definition at line 205 of file python_thread.cpp.
References QMutex::tryLock(), and QMutex::unlock().