![]() |
HAL
|
Holds information about the state (e.g. saved/unsaved) of all laded files (i.e. .hal/.python files). More...
#include <file_status_manager.h>
Signals | |
void | status_changed (bool gateLibrary, bool isDirty) |
Public Member Functions | |
FileStatusManager (QObject *parent=nullptr) | |
~FileStatusManager () | |
bool | modifiedFilesExisting () const |
void | fileChanged (const QUuid uuid, const QString &descriptor) |
void | fileSaved (const QUuid uuid) |
void | netlistChanged () |
void | netlistSaved () |
void | netlistClosed () |
void | gatelibChanged () |
void | gatelibSaved () |
bool | isGatelibModified () const |
QList< QString > | getUnsavedChangeDescriptors () const |
![]() | |
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 | |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
typedef | QObjectList |
![]() | |
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) |
![]() | |
objectName | |
Holds information about the state (e.g. saved/unsaved) of all laded files (i.e. .hal/.python files).
The FileStatusManager class is the central point to store the status of any file (or element) that can be modified, such as the modifications to the current netlist or (yet to be created /saved) python tabs / files.
Definition at line 45 of file file_status_manager.h.
hal::FileStatusManager::FileStatusManager | ( | QObject * | parent = nullptr | ) |
The constructor.
parent | - The manager's parent. |
Definition at line 8 of file file_status_manager.cpp.
hal::FileStatusManager::~FileStatusManager | ( | ) |
The destructor.
Definition at line 13 of file file_status_manager.cpp.
Registers a tuple consisting of an unique id (e.g. the id of a PythonCodeEditor that basically represents a file) and its description (e.g. the name of the file or tab).
uuid | - The unique id. |
descriptor | - The description of the file / object. |
Definition at line 16 of file file_status_manager.cpp.
References QMap::insert(), QSet::insert(), modifiedFilesExisting(), QObject::Q_EMIT(), and status_changed().
Referenced by hal::PythonEditor::handleTabFileChanged(), and hal::PythonEditor::handleTextChanged().
void hal::FileStatusManager::fileSaved | ( | const QUuid | uuid | ) |
Removes a registered element.
uuid | - The id of the element that is to be removed. |
Definition at line 25 of file file_status_manager.cpp.
References modifiedFilesExisting(), QObject::Q_EMIT(), QMap::remove(), QSet::remove(), and status_changed().
Referenced by hal::PythonEditor::discardTab(), hal::PythonEditor::saveFile(), and hal::PythonEditor::tabLoadFile().
void hal::FileStatusManager::gatelibChanged | ( | ) |
Sets the gate-library-modified flag that can be queried by isGatelibModified() method.
Definition at line 66 of file file_status_manager.cpp.
References QObject::Q_EMIT(), and status_changed().
Referenced by hal::GateLibraryWizard::accept(), and hal::GateLibraryManager::handleDeleteType().
void hal::FileStatusManager::gatelibSaved | ( | ) |
Unsets the gate-library-modified flag that can be queried by isGatelibModified() method.
Definition at line 72 of file file_status_manager.cpp.
References QObject::Q_EMIT(), and status_changed().
Referenced by hal::GateLibraryManager::callUnsavedChangesWindow(), hal::GatelibraryContentWidget::handleSaveAction(), and hal::GatelibraryContentWidget::handleSaveAsAction().
Get a list of the descriptions of all modified files that are registered to this manager. Appends "Netlist modifications" to the list if the netlist-modified flag is set.
Definition at line 83 of file file_status_manager.cpp.
References QList::append(), and QMap::value().
bool hal::FileStatusManager::isGatelibModified | ( | ) | const |
Query method whether GateLibraryManager has unsaved changes.
Definition at line 78 of file file_status_manager.cpp.
Referenced by hal::MainWindow::handleActionGatelibraryManager(), hal::GateLibraryManager::handleCancelClicked(), hal::GateLibraryManager::handleCreateAction(), hal::GateLibraryManager::handleOkClicked(), hal::GateLibraryManager::initialize(), hal::MainWindow::openPluginManager(), hal::MainWindow::openSettings(), and hal::FileActions::setup().
bool hal::FileStatusManager::modifiedFilesExisting | ( | ) | const |
Checks if either the netlist is modified (in the case a netlist is opened) or any files are registered to this manager.
Definition at line 34 of file file_status_manager.cpp.
References QSet::empty(), and hal::FileManager::get_instance().
Referenced by fileChanged(), fileSaved(), netlistChanged(), netlistSaved(), and hal::FileActions::setup().
void hal::FileStatusManager::netlistChanged | ( | ) |
Sets the netlist-modified flag that affects the modifiedFilesExisting() method.
Definition at line 42 of file file_status_manager.cpp.
References modifiedFilesExisting(), QObject::Q_EMIT(), and status_changed().
Referenced by hal::UserAction::exec(), hal::FileManager::importFile(), and hal::FileManager::newProject().
void hal::FileStatusManager::netlistClosed | ( | ) |
Resets the netlist-modified flag that affects the modifiedFilesExisting() method.
Definition at line 58 of file file_status_manager.cpp.
References QMap::clear(), QSet::clear(), QObject::Q_EMIT(), and status_changed().
void hal::FileStatusManager::netlistSaved | ( | ) |
Unsets the netlist-modified flag that affects the modifiedFilesExisting() method.
Definition at line 50 of file file_status_manager.cpp.
References modifiedFilesExisting(), QObject::Q_EMIT(), and status_changed().
Referenced by hal::FileManager::importFile(), and hal::FileManager::newProject().
|
signal |
Referenced by hal::FileActions::FileActions(), fileChanged(), fileSaved(), gatelibChanged(), gatelibSaved(), netlistChanged(), netlistClosed(), and netlistSaved().