![]() |
HAL
|
#include <python_thread.h>
Public Types | |
enum | InputType { ConsoleInput , StringInput , NumberInput , ModuleInput , GateInput , FilenameInput , WaitForMenuSelection } |
![]() | |
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 () |
![]() | |
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 () |
![]() | |
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 | |
![]() | |
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) |
![]() | |
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) |
![]() | |
IdlePriority | |
LowestPriority | |
LowPriority | |
NormalPriority | |
HighPriority | |
HighestPriority | |
TimeCriticalPriority | |
InheritPriority | |
![]() | |
typedef | QObjectList |
![]() | |
int | exec () |
![]() | |
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) |
![]() | |
void | setTerminationEnabled (bool enabled) |
![]() | |
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().