|
HAL
v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
|
Handles and manages user actions related proccesses. More...
#include </home/runner/work/hal/hal/plugins/gui/include/gui/user_action/user_action_manager.h>


Public Slots | |
| void | handleSettingDumpActionChanged (bool wantDump) |
Signals | |
| void | canUndoLastAction (bool yesWeCan) |
| void | triggerExecute () |
Public Member Functions | |
| void | addExecutedAction (UserAction *act) |
| void | registerFactory (UserActionFactory *fac) |
| void | setStartRecording () |
| QMessageBox::StandardButton | setStopRecording (const QString ¯oFilename) |
| void | playMacro (const QString ¯oFilename) |
| bool | isRecording () const |
| bool | hasRecorded () const |
| UserAction * | getParsedAction (QXmlStreamReader &xmlIn) const |
| qint64 | timeStamp () const |
| void | undoLastAction () |
| void | crashDump (int sig) |
| void | executeActionBlockThread (UserAction *act) |
Public Member Functions inherited from QObject | |
| virtual const QMetaObject * | metaObject () const const |
| QObject (QObject *parent) | |
| virtual | ~QObject () |
| virtual bool | event (QEvent *e) |
| 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 | |
Static Public Member Functions | |
| static UserActionManager * | instance () |
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) |
Additional Inherited Members | |
Public Attributes inherited from QObject | |
| typedef | QObjectList |
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) |
Properties inherited from QObject | |
| objectName | |
Handles and manages user actions related proccesses.
The UserActionManager class manages everything related to user actions such as saving and recording actions. It is implemented as a singleton pattern.
Definition at line 53 of file user_action_manager.h.
| void hal::UserActionManager::addExecutedAction | ( | UserAction * | act | ) |
Add executed action to history list.
| act | - The action. |
Definition at line 68 of file user_action_manager.cpp.
References hal::UserAction::debugDump(), QTextCursor::End, and QWidget::show().
Referenced by hal::UserAction::exec().
|
signal |
Q_SIGNAL that is emitted when undoLastAction() is called. The parameter is set to true if the last action could be undone.
| yesWeCan | - true if last action could be undone. |
Referenced by hal::MainWindow::MainWindow().
| void hal::UserActionManager::crashDump | ( | int | sig | ) |
Dumps actions from beginning.
| sig | - Part of the macro file name. |
Definition at line 92 of file user_action_manager.cpp.
| void hal::UserActionManager::executeActionBlockThread | ( | UserAction * | act | ) |
Definition at line 40 of file user_action_manager.cpp.
References QThread::currentThread(), and hal::UserAction::exec().
Referenced by hal::GuiApiClasses::View::addTo(), hal::GuiApiClasses::View::createNewDirectory(), hal::GuiApiClasses::View::deleteDirectory(), hal::GuiApiClasses::View::deleteView(), hal::GuiApiClasses::View::foldModule(), hal::GuiApiClasses::View::isolateInNew(), hal::GuiApiClasses::View::isolateModuleToModulePathInNewView(), hal::GuiApiClasses::View::removeFrom(), hal::GuiApiClasses::View::setGridPlacement(), hal::GuiApiClasses::View::setName(), and hal::GuiApiClasses::View::unfoldModule().
| UserAction * hal::UserActionManager::getParsedAction | ( | QXmlStreamReader & | xmlIn | ) | const |
Creates UserAction instance for next command found by xml parser.
| xmlIn | - The xml reader. |
Definition at line 198 of file user_action_manager.cpp.
References QXmlStreamReader::attributes(), QStringRef::isEmpty(), QStringRef::isNull(), QXmlStreamReader::name(), hal::UserActionFactory::newAction(), hal::UserAction::readFromXml(), hal::UserActionObject::readFromXml(), hal::UserAction::setCompoundOrder(), hal::UserAction::setObject(), QStringRef::toInt(), QStringRef::toString(), and QXmlStreamAttributes::value().
Referenced by hal::UserActionCompound::readFromXml().
|
slot |
Deletes current dumpAction if parameter is set to true.
| wantDump | - Decides if current dumpAction is to be deleted. |
Definition at line 59 of file user_action_manager.cpp.
| bool hal::UserActionManager::hasRecorded | ( | ) | const |
Tests whether actions are currently recorded and at least one command has been executed
true if there are recorded and executed actions, false otherwise. Definition at line 223 of file user_action_manager.cpp.
Referenced by hal::MainWindow::handleActionStopRecording().
|
static |
Get the singleton instance.
Definition at line 238 of file user_action_manager.cpp.
Referenced by hal::GuiApiClasses::View::addTo(), hal::GuiApiClasses::View::createNewDirectory(), hal::GuiApiClasses::View::deleteDirectory(), hal::GuiApiClasses::View::deleteView(), hal::UserAction::exec(), hal::GuiApiClasses::View::foldModule(), hal::MainWindow::handleActionPlayMacro(), hal::MainWindow::handleActionStartRecording(), hal::MainWindow::handleActionStopRecording(), hal::MainWindow::handleActionUndo(), hal::GuiApiClasses::View::isolateInNew(), hal::GuiApiClasses::View::isolateModuleToModulePathInNewView(), hal::MainWindow::MainWindow(), hal::UserActionCompound::readFromXml(), hal::GuiApiClasses::View::removeFrom(), hal::GuiApiClasses::View::setGridPlacement(), hal::GuiApiClasses::View::setName(), hal::GuiApiClasses::View::unfoldModule(), and hal::UserActionFactory::UserActionFactory().
| bool hal::UserActionManager::isRecording | ( | ) | const |
Tests whether actions are currently recorded.
true if it is currently recording, false otherwise. Definition at line 228 of file user_action_manager.cpp.
| void hal::UserActionManager::playMacro | ( | const QString & | macroFilename | ) |
Executes macro from file.
| macroFilename | - The file name. |
Definition at line 151 of file user_action_manager.cpp.
References QXmlStreamReader::atEnd(), hal::UserAction::exec(), hal::ff, QXmlStreamReader::hasError(), QXmlStreamReader::isEndElement(), QXmlStreamReader::isStartElement(), log_warning, QXmlStreamReader::name(), QXmlStreamReader::readNext(), QIODevice::ReadOnly, hal::UserAction::tagname(), and QString::toStdString().
Referenced by hal::MainWindow::handleActionPlayMacro().
| void hal::UserActionManager::registerFactory | ( | UserActionFactory * | fac | ) |
Registers a new action factory.
| fac | - The factory. |
Definition at line 233 of file user_action_manager.cpp.
References hal::UserActionFactory::tagname().
Referenced by hal::UserActionFactory::UserActionFactory().
| void hal::UserActionManager::setStartRecording | ( | ) |
Sets a start marker for macro recording.
Definition at line 87 of file user_action_manager.cpp.
Referenced by hal::MainWindow::handleActionStartRecording().
| QMessageBox::StandardButton hal::UserActionManager::setStopRecording | ( | const QString & | macroFilename | ) |
Stops macro recording and write commands to xml file.
| macroFilename | - The file name. |
Definition at line 99 of file user_action_manager.cpp.
References QMessageBox::Cancel, hal::UserAction::compoundOrder(), hal::UserAction::cryptographicHash(), QMessageBox::Discard, QString::isEmpty(), log_warning, QString::number(), hal::UserAction::object(), QMessageBox::Ok, QFile::open(), QMessageBox::Retry, QXmlStreamWriter::setAutoFormatting(), hal::UserAction::tagname(), hal::UserAction::timeStamp(), QString::toStdString(), QMessageBox::warning(), QXmlStreamWriter::writeAttribute(), QXmlStreamWriter::writeEndDocument(), QXmlStreamWriter::writeEndElement(), QIODevice::WriteOnly, QXmlStreamWriter::writeStartDocument(), QXmlStreamWriter::writeStartElement(), hal::UserAction::writeToXml(), and hal::UserActionObject::writeToXml().
Referenced by hal::MainWindow::handleActionStopRecording().
|
inline |
Get the elapsed time in milliseconds since GUI start.
Definition at line 128 of file user_action_manager.h.
References QElapsedTimer::elapsed().
Referenced by hal::UserAction::exec().
|
signal |
| void hal::UserActionManager::undoLastAction | ( | ) |
Undo last action.
Definition at line 263 of file user_action_manager.cpp.
References QList::append(), hal::UserAction::compoundOrder(), and hal::UserAction::undoAction().
Referenced by hal::MainWindow::handleActionUndo().