HAL
hal::NetlistRelay Class Reference

Connects the hal-core events to the gui. More...

#include <netlist_relay.h>

Inheritance diagram for hal::NetlistRelay:
Inheritance graph
Collaboration diagram for hal::NetlistRelay:
Collaboration graph

Public Slots

void debugHandleFileOpened ()
 
void debugHandleFileClosed ()
 
void handleThreadEvent (int type, int evt, void *object, u32 associated_data)
 

Signals

void signalThreadEvent (int type, int evt, void *object, u32 associated_data)
 
void netlistIdChanged (Netlist *n, const u32 associated_data) const
 
void netlistInputFilenameChanged (Netlist *n) const
 
void netlistDesignNameChanged (Netlist *n) const
 
void netlistDeviceNameChanged (Netlist *n) const
 
void netlistMarkedGlobalVcc (Netlist *n, const u32 associated_data) const
 
void netlistMarkedGlobalGnd (Netlist *n, const u32 associated_data) const
 
void netlistUnmarkedGlobalVcc (Netlist *n, const u32 associated_data) const
 
void netlistUnmarkedGlobalGnd (Netlist *n, const u32 associated_data) const
 
void netlistMarkedGlobalInput (Netlist *n, const u32 associated_data) const
 
void netlistMarkedGlobalOutput (Netlist *n, const u32 associated_data) const
 
void netlistUnmarkedGlobalInput (Netlist *n, const u32 associated_data) const
 
void netlistUnmarkedGlobalOutput (Netlist *n, const u32 associated_data) const
 
void moduleCreated (Module *m) const
 
void moduleRemoved (Module *m) const
 
void moduleNameChanged (Module *m) const
 
void moduleParentChanged (Module *m) const
 
void moduleSubmoduleAdded (Module *m, const u32 added_module) const
 
void moduleSubmoduleRemoved (Module *m, const u32 removed_module) const
 
void moduleGateAssigned (Module *m, const u32 assigned_gate) const
 
void moduleGateRemoved (Module *m, const u32 removed_gate) const
 
void modulePortsChanged (Module *m, PinEvent pev, u32 pgid) const
 
void moduleTypeChanged (Module *m) const
 
void moduleGatesAssignBegin (Module *m, u32 number_gates) const
 
void moduleGatesAssignEnd (Module *m, u32 number_gates) const
 
void moduleGatesRemoveBegin (Module *m, u32 number_gates) const
 
void moduleGatesRemoveEnd (Module *m, u32 number_gates) const
 
void gateCreated (Gate *g) const
 
void gateRemoved (Gate *g) const
 
void gateNameChanged (Gate *g) const
 
void gateBooleanFunctionChanged (Gate *g) const
 
void gateLocationChanged (Gate *g) const
 
void netCreated (Net *n) const
 
void netRemoved (Net *n) const
 
void netNameChanged (Net *n) const
 
void netSourceAdded (Net *n, const u32 src_gate_id) const
 
void netSourceRemoved (Net *n, const u32 src_gate_id) const
 
void netDestinationAdded (Net *n, const u32 dst_gate_id) const
 
void netDestinationRemoved (Net *n, const u32 dst_gate_id) const
 
void groupingCreated (Grouping *grp) const
 
void groupingRemoved (Grouping *grp) const
 
void groupingNameChanged (Grouping *grp) const
 
void groupingColorChanged (Grouping *grp) const
 
void groupingGateAssigned (Grouping *grp, u32 id) const
 
void groupingGateRemoved (Grouping *grp, u32 id) const
 
void groupingNetAssigned (Grouping *grp, u32 id) const
 
void groupingNetRemoved (Grouping *grp, u32 id) const
 
void groupingModuleAssigned (Grouping *grp, u32 id) const
 
void groupingModuleRemoved (Grouping *grp, u32 id) const
 

Public Member Functions

 NetlistRelay (QObject *parent=nullptr)
 
 ~NetlistRelay ()
 
void registerNetlistCallbacks ()
 
void unregisterNetlistCallbacks ()
 
QColor getModuleColor (const u32 id)
 
ModuleColorManagergetModuleColorManager () const
 
void changeElementNameDialog (ModuleItem::TreeItemType type, u32 id)
 
void changeModuleTypeDialog (const u32 id)
 
void changeModuleColorDialog (const u32 id)
 
void addChildModuleDialog (const u32 id)
 
void addToModuleDialog (const Node &node=Node())
 
void deleteModule (const u32 id)
 
void reset ()
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () 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)
 
QThreadthread () 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)
 
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 &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () 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< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 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 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 QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
QObjectsender () 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
 

Detailed Description

Connects the hal-core events to the gui.

The NetlistRelay is used to capture events from the hal-core and to delegate their handling to various gui objects. These objects may connect to one of the numerous Q_SIGNALS provided by this class to implement an individual reaction to the registered events.

Also the NetlistRelay stores the color for modules which can accessed via NetlistRelay::getModuleColor

Definition at line 54 of file netlist_relay.h.

Constructor & Destructor Documentation

◆ NetlistRelay()

hal::NetlistRelay::NetlistRelay ( QObject parent = nullptr)
explicit

Constructor. Already connects this relay with the event system of the hal-core.

Parameters
parent- The parent QObject

Definition at line 35 of file netlist_relay.cpp.

References Qt::BlockingQueuedConnection, QObject::connect(), debugHandleFileOpened(), hal::FileManager::fileOpened(), hal::FileManager::get_instance(), handleThreadEvent(), and signalThreadEvent().

◆ ~NetlistRelay()

hal::NetlistRelay::~NetlistRelay ( )

Destructor. Disconnects this relay from the event system of the hal-core.

Definition at line 42 of file netlist_relay.cpp.

References unregisterNetlistCallbacks().

Member Function Documentation

◆ addChildModuleDialog()

void hal::NetlistRelay::addChildModuleDialog ( const u32  id)

Adds an empty child module to the specified module by asking the user for a new name in a dialogue.

Parameters
id- The id of the module that becomes the parent of the empty child module

Definition at line 279 of file netlist_relay.cpp.

References hal::ActionCreateObject::exec(), hal::Netlist::get_module_by_id(), QInputDialog::getText(), hal::gNetlist, hal::UserActionObjectType::Module, name, QLineEdit::Normal, and hal::ActionCreateObject::setParentId().

Referenced by hal::ModuleContextMenu::addModuleSubmenu().

◆ addToModuleDialog()

void hal::NetlistRelay::addToModuleDialog ( const Node node = Node())

Opens 'add to module' Dialog. Node gets added to selected module or new module.

Parameters
node- The node to be added. If node is empty the current selection will be added.

Definition at line 177 of file netlist_relay.cpp.

References QDialog::Accepted, hal::UserActionCompound::addAction(), hal::SelectionRelay::addModule(), hal::GraphLayouter::boxes(), hal::NodeBoxes::boxForNode(), hal::SelectionRelay::clear(), QSet::contains(), hal::GraphTabWidget::ensureSelectionVisible(), QDialog::exec(), hal::UserActionCompound::exec(), hal::gui_utility::firstCommonAncestor(), QString::fromStdString(), hal::Node::Gate, hal::GraphContext::gates(), hal::gContentManager, hal::Netlist::get_gate_by_id(), hal::Module::get_id(), hal::Netlist::get_module_by_id(), hal::Module::get_name(), hal::ContentManager::getContextManagerWidget(), hal::ContextManagerWidget::getCurrentContext(), hal::GraphContext::getExclusiveModuleId(), hal::ContentManager::getGraphTabWidget(), hal::GraphContext::getLayouter(), QInputDialog::getText(), hal::gNetlist, hal::gSelectionRelay, hal::GraphContext::id(), hal::Node::id(), hal::UserActionObject::id(), QSet::insert(), hal::Node::isModule(), hal::ModuleDialog::isNewModule(), hal::Node::isNull(), hal::Node::Module, hal::SelectionRelay::Module, hal::UserActionObjectType::Module, hal::GraphContext::modules(), name, QLineEdit::Normal, hal::UserAction::object(), hal::SelectionRelay::relaySelectionChanged(), hal::SelectionRelay::selectedGatesList(), hal::ModuleDialog::selectedId(), hal::SelectionRelay::selectedModulesList(), hal::SelectionRelay::setFocus(), hal::UserAction::setObject(), hal::ActionCreateObject::setParentId(), hal::GraphContext::setScheduleRemove(), hal::GraphContext::setSpecialUpdate(), hal::UserActionCompound::setUseCreatedObject(), hal::NodeBox::x(), and hal::NodeBox::y().

Referenced by hal::ModuleContextMenu::addGateSubmenu(), hal::ModuleContextMenu::addModuleSubmenu(), hal::ModuleContextMenu::addMultipleElementsSubmenu(), and hal::SelectionDetailsWidget::SelectionDetailsWidget().

◆ changeElementNameDialog()

◆ changeModuleColorDialog()

void hal::NetlistRelay::changeModuleColorDialog ( const u32  id)

Changes the type of a specific module by asking the user to select a new color in a color dialogue.

Parameters
id- The id of the module whose color is to be changed

Definition at line 160 of file netlist_relay.cpp.

References hal::ActionSetObjectColor::exec(), hal::Netlist::get_module_by_id(), QColorDialog::getColor(), hal::gNetlist, QColor::isValid(), hal::UserActionObjectType::Module, and hal::UserAction::setObject().

Referenced by hal::ModuleContextMenu::addModuleSubmenu().

◆ changeModuleTypeDialog()

void hal::NetlistRelay::changeModuleTypeDialog ( const u32  id)

Changes the type of a specific module by asking the user for a new name in a 'New Type'-dialogue.

Parameters
id- The id of the module whose type is to be changed

Definition at line 142 of file netlist_relay.cpp.

References hal::ActionSetObjectType::exec(), QString::fromStdString(), hal::Netlist::get_module_by_id(), hal::Module::get_type(), QInputDialog::getText(), hal::gNetlist, hal::UserActionObjectType::Module, QLineEdit::Normal, and hal::UserAction::setObject().

Referenced by hal::ModuleContextMenu::addModuleSubmenu().

◆ debugHandleFileClosed

void hal::NetlistRelay::debugHandleFileClosed ( )
slot

Q_SLOT to handle that a netlist has been closed.

Definition at line 803 of file netlist_relay.cpp.

Referenced by hal::FileManager::closeFile().

◆ debugHandleFileOpened

void hal::NetlistRelay::debugHandleFileOpened ( )
slot

Q_SLOT to handle that a netlist has been opened. Used to initially assign all modules a color.

Definition at line 796 of file netlist_relay.cpp.

References hal::Module::get_id(), hal::Netlist::get_modules(), hal::gNetlist, hal::ModuleColorSerializer::restore(), and hal::ModuleColorManager::setRandomColor().

Referenced by NetlistRelay().

◆ deleteModule()

◆ gateBooleanFunctionChanged

void hal::NetlistRelay::gateBooleanFunctionChanged ( Gate g) const
signal

Q_SIGNAL to notify that the set of boolean functions of a gate has been changed.
Relays the following hal-core event: GateEvent::event::boolean_function_changed

Parameters
g- The gate which boolean functions haven been changed

Referenced by hal::GateDetailsTabWidget::GateDetailsTabWidget().

◆ gateCreated

void hal::NetlistRelay::gateCreated ( Gate g) const
signal

Q_SIGNAL to notify that a gate has been created.
Relays the following hal-core event: GateEvent::event::created

Parameters
g- The created gate

◆ gateLocationChanged

void hal::NetlistRelay::gateLocationChanged ( Gate g) const
signal

Q_SIGNAL to notify that the location of a gate has been changed.
Relays the following hal-core event: GateEvent::event::location_changed

Parameters
g- The gate which position has been changed

Referenced by hal::GateInfoTable::GateInfoTable().

◆ gateNameChanged

void hal::NetlistRelay::gateNameChanged ( Gate g) const
signal

Q_SIGNAL to notify that a gate has been renamed.
Relays the following hal-core event: GateEvent::event::name_changed

Parameters
g- The renamed gate

Referenced by hal::GateInfoTable::GateInfoTable(), and hal::ModuleModel::ModuleModel().

◆ gateRemoved

void hal::NetlistRelay::gateRemoved ( Gate g) const
signal

Q_SIGNAL to notify that a gate has been removed from the netlist.
Relays the following hal-core event: GateEvent::event::removed

Note that when this signal is emitted the gate is not contained in the netlist anymore. However the pointer g remains valid.

Parameters
g- The removed gate

Referenced by hal::GateInfoTable::GateInfoTable().

◆ getModuleColor()

QColor hal::NetlistRelay::getModuleColor ( const u32  id)

Gets the color that is assigned to a module.

Parameters
id- The id of the module
Returns
the color of the specified module

Definition at line 88 of file netlist_relay.cpp.

References hal::ModuleColorManager::moduleColor().

Referenced by hal::SelectionDetailsIconProvider::getIcon(), hal::SelectionDetailsIconProvider::handleModuleColorChanged(), hal::ModuleSelectEntry::ModuleSelectEntry(), and hal::ModuleShader::update().

◆ getModuleColorManager()

ModuleColorManager * hal::NetlistRelay::getModuleColorManager ( ) const

◆ groupingColorChanged

void hal::NetlistRelay::groupingColorChanged ( Grouping grp) const
signal

Q_SIGNAL to notify that a grouping has been recolored.
Relays the following hal-core event: GroupingEvent::event::color_changed

Parameters
grp- The renamed grouping

Referenced by hal::GroupingTableModel::GroupingTableModel().

◆ groupingCreated

void hal::NetlistRelay::groupingCreated ( Grouping grp) const
signal

Q_SIGNAL to notify that a grouping has been created.
Relays the following hal-core event: GroupingEvent::event::created

Parameters
grp- The created grouping

Referenced by hal::GroupingTableModel::GroupingTableModel().

◆ groupingGateAssigned

void hal::NetlistRelay::groupingGateAssigned ( Grouping grp,
u32  id 
) const
signal

Q_SIGNAL to notify that a gate has been assigned to a grouping.
Relays the following hal-core event: GroupingEvent::event::gate_assigned

Parameters
grp- The grouping with the newly assigned gate
id- The id of the assigned gate

Referenced by hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), and hal::GroupingsOfItemModel::GroupingsOfItemModel().

◆ groupingGateRemoved

void hal::NetlistRelay::groupingGateRemoved ( Grouping grp,
u32  id 
) const
signal

Q_SIGNAL to notify that a gate has been removed from a grouping.
Relays the following hal-core event: GroupingEvent::event::gate_removed

Parameters
grp- The grouping from which the gate has been removed
id- The id of the gate which has been removed from the grouping

Referenced by hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), and hal::GroupingsOfItemModel::GroupingsOfItemModel().

◆ groupingModuleAssigned

void hal::NetlistRelay::groupingModuleAssigned ( Grouping grp,
u32  id 
) const
signal

Q_SIGNAL to notify that a module has been assigned to a grouping.
Relays the following hal-core event: GroupingEvent::event::module_assigned

Parameters
grp- The grouping with the newly assigned module
id- The id of the assigned module

Referenced by hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), and hal::GroupingsOfItemModel::GroupingsOfItemModel().

◆ groupingModuleRemoved

void hal::NetlistRelay::groupingModuleRemoved ( Grouping grp,
u32  id 
) const
signal

Q_SIGNAL to notify that a module has been removed from a grouping.
Relays the following hal-core event: GroupingEvent::event::module_removed

Parameters
grp- The grouping from which the module has been removed
id- The id of the module which has been removed from the grouping

Referenced by hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), and hal::GroupingsOfItemModel::GroupingsOfItemModel().

◆ groupingNameChanged

void hal::NetlistRelay::groupingNameChanged ( Grouping grp) const
signal

Q_SIGNAL to notify that a grouping has been renamed.
Relays the following hal-core event: GroupingEvent::event::name_changed

Parameters
grp- The renamed grouping

Referenced by hal::GroupingsOfItemModel::GroupingsOfItemModel(), and hal::GroupingTableModel::GroupingTableModel().

◆ groupingNetAssigned

void hal::NetlistRelay::groupingNetAssigned ( Grouping grp,
u32  id 
) const
signal

Q_SIGNAL to notify that a net has been assigned to a grouping.
Relays the following hal-core event: GroupingEvent::event::net_assigned

Parameters
grp- The grouping with the newly assigned net
id- The id of the assigned net

Referenced by hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), and hal::GroupingsOfItemModel::GroupingsOfItemModel().

◆ groupingNetRemoved

void hal::NetlistRelay::groupingNetRemoved ( Grouping grp,
u32  id 
) const
signal

Q_SIGNAL to notify that a net has been removed from a grouping.
Relays the following hal-core event: GroupingEvent::event::net_removed

Parameters
grp- The grouping from which the net has been removed
id- The id of the net which has been removed from the grouping

Referenced by hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), and hal::GroupingsOfItemModel::GroupingsOfItemModel().

◆ groupingRemoved

void hal::NetlistRelay::groupingRemoved ( Grouping grp) const
signal

Q_SIGNAL to notify that a grouping has been removed.
Relays the following hal-core event: GroupingEvent::event::removed

Note that when this signal is emitted the grouping is not contained in the netlist anymore. However the pointer grp remains valid.

Parameters
grp- The removed grouping

Referenced by hal::GroupingsOfItemModel::GroupingsOfItemModel(), and hal::GroupingTableModel::GroupingTableModel().

◆ handleThreadEvent

void hal::NetlistRelay::handleThreadEvent ( int  type,
int  evt,
void *  object,
u32  associated_data 
)
slot

Definition at line 760 of file netlist_relay.cpp.

References type.

Referenced by NetlistRelay().

◆ moduleCreated

void hal::NetlistRelay::moduleCreated ( Module m) const
signal

Q_SIGNAL to notify that a module has been created.
Relays the following hal-core event: ModuleEvent::event::created

Parameters
m- The created module

Referenced by hal::ModuleModel::ModuleModel().

◆ moduleGateAssigned

void hal::NetlistRelay::moduleGateAssigned ( Module m,
const u32  assigned_gate 
) const
signal

Q_SIGNAL to notify that a gate has been assigned to a module.
Relays the following hal-core event: ModuleEvent::event::gate_assigned

Parameters
m- The module with a newly assigned gate
assigned_gate- The id of the assigned gate

Referenced by hal::GateInfoTable::GateInfoTable(), hal::ModuleInfoTable::ModuleInfoTable(), and hal::ModuleModel::ModuleModel().

◆ moduleGateRemoved

void hal::NetlistRelay::moduleGateRemoved ( Module m,
const u32  removed_gate 
) const
signal

Q_SIGNAL to notify that a gate has been removed from a module.
Relays the following hal-core event: ModuleEvent::event::gate_assigned

Parameters
m- The module from which a gate is removed
removed_gate- The id of the removed gate

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), and hal::ModuleModel::ModuleModel().

◆ moduleGatesAssignBegin

void hal::NetlistRelay::moduleGatesAssignBegin ( Module m,
u32  number_gates 
) const
signal

Q_SIGNAL to notify that a certain amount of gates will be assigned to a module.
Relays the following hal-core event: ModuleEvent::event::gates_assign_begin

Parameters
m- The module to which gates will be assigned.
number_gates- The amount of gates to be assigned.

Referenced by hal::ModuleModel::ModuleModel().

◆ moduleGatesAssignEnd

void hal::NetlistRelay::moduleGatesAssignEnd ( Module m,
u32  number_gates 
) const
signal

Q_SIGNAL to notify that a certain amount of gates has been assigned to a module.
Relays the following hal-core event: ModuleEvent::event::gates_assign_end

Parameters
m- The module to which gates has been assigned.
number_gates- The number of gates that has been assigned.

Referenced by hal::ModuleModel::ModuleModel().

◆ moduleGatesRemoveBegin

void hal::NetlistRelay::moduleGatesRemoveBegin ( Module m,
u32  number_gates 
) const
signal

Q_SIGNAL to notify that a certain amount of gates will be removed from a module.
Relays the following hal-core event: ModuleEvent::event::gates_remove_begin

Parameters
m- The module from which gates will be removed.
number_gates- The amount of gates to be removed.

◆ moduleGatesRemoveEnd

void hal::NetlistRelay::moduleGatesRemoveEnd ( Module m,
u32  number_gates 
) const
signal

Q_SIGNAL to notify that a certain amount of gates has been removed from a module.
Relays the following hal-core event: ModuleEvent::event::gates_remove_end

Parameters
m
number_gates

◆ moduleNameChanged

void hal::NetlistRelay::moduleNameChanged ( Module m) const
signal

Q_SIGNAL to notify that a module has been renamed.
Relays the following hal-core event: ModuleEvent::event::name_changed

Parameters
m- The renamed module

Referenced by hal::GateInfoTable::GateInfoTable(), hal::GraphContext::GraphContext(), hal::ModuleInfoTable::ModuleInfoTable(), and hal::ModuleModel::ModuleModel().

◆ moduleParentChanged

void hal::NetlistRelay::moduleParentChanged ( Module m) const
signal

Q_SIGNAL to notify that the parent of a module has been changed.
Relays the following hal-core event: ModuleEvent::event::parent_changed

Parameters
m- The module with a new parent

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), and hal::ModuleModel::ModuleModel().

◆ modulePortsChanged

void hal::NetlistRelay::modulePortsChanged ( Module m,
PinEvent  pev,
u32  pgid 
) const
signal

Q_SIGNAL to notify that a port of a module has been changed.
Relays the following hal-core event: ModuleEvent::event::pin_changed

Parameters
m- The module with the changed port
respective_net- The id of the net of the renamed input port

Referenced by hal::ModulePinsTreeModel::ModulePinsTreeModel(), and hal::ModuleTableModel::ModuleTableModel().

◆ moduleRemoved

void hal::NetlistRelay::moduleRemoved ( Module m) const
signal

Q_SIGNAL to notify that a module has been removed from the netlist.
Relays the following hal-core event: ModuleEvent::event::created

Note that when this signal is emitted the module is not contained in the netlist anymore. However the pointer m remains valid.

Parameters
m- The removed module

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), hal::ModuleModel::ModuleModel(), and hal::ModuleTableModel::ModuleTableModel().

◆ moduleSubmoduleAdded

void hal::NetlistRelay::moduleSubmoduleAdded ( Module m,
const u32  added_module 
) const
signal

Q_SIGNAL to notify that a submodule has been added to a module.
Relays the following hal-core event: ModuleEvent::event::submodule_added

Parameters
m- The module with a new submodule
added_module- The id of the added submodule

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), and hal::ModuleModel::ModuleModel().

◆ moduleSubmoduleRemoved

void hal::NetlistRelay::moduleSubmoduleRemoved ( Module m,
const u32  removed_module 
) const
signal

Q_SIGNAL to notify that a submodule has been removed from a module.
Relays the following hal-core event: ModuleEvent::event::submodule_added

Parameters
m- The module from which a submodule has been removed
removed_module- The id of the removed submodule

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), hal::ModuleModel::ModuleModel(), and hal::ModuleWidget::ModuleWidget().

◆ moduleTypeChanged

void hal::NetlistRelay::moduleTypeChanged ( Module m) const
signal

Q_SIGNAL to notify that the type of a module has been changed.
Relays the following hal-core event: ModuleEvent::event::type_changed

Parameters
m- The module with a new type

Referenced by hal::ModuleInfoTable::ModuleInfoTable().

◆ netCreated

void hal::NetlistRelay::netCreated ( Net n) const
signal

Q_SIGNAL to notify that a net has been created.
Relays the following hal-core event: NetEvent::event::created

Parameters
n- The created net

Referenced by hal::ModuleModel::ModuleModel().

◆ netDestinationAdded

void hal::NetlistRelay::netDestinationAdded ( Net n,
const u32  dst_gate_id 
) const
signal

Q_SIGNAL to notify that a destination has been added to a net.
Relays the following hal-core event: NetEvent::event::dst_added

Parameters
n- The net with a new destination
dst_gate_id- The id of the destination gate

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), hal::ModuleModel::ModuleModel(), and hal::NetInfoTable::NetInfoTable().

◆ netDestinationRemoved

void hal::NetlistRelay::netDestinationRemoved ( Net n,
const u32  dst_gate_id 
) const
signal

Q_SIGNAL to notify that a destination has been removed from a net.
Relays the following hal-core event: NetEvent::event::dst_removed

Parameters
n- The net with the removed destination
dst_gate_id- The id of the gate at the removed destination

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), hal::ModuleModel::ModuleModel(), and hal::NetInfoTable::NetInfoTable().

◆ netlistDesignNameChanged

void hal::NetlistRelay::netlistDesignNameChanged ( Netlist n) const
signal

Q_SIGNAL to notify that the design name of the netlist has been changed.
Relays the following hal-core event: NetlistEvent::event::design_name_changed

Parameters
n- The affected netlist

◆ netlistDeviceNameChanged

void hal::NetlistRelay::netlistDeviceNameChanged ( Netlist n) const
signal

Q_SIGNAL to notify that the device name of the netlist has been changed.
Relays the following hal-core event: NetlistEvent::event::device_name_changed

Parameters
n- The affected netlist

◆ netlistIdChanged

void hal::NetlistRelay::netlistIdChanged ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that the netlists id has been changed.
Relays the following hal-core event: NetlistEvent::event::id_changed

Parameters
n- The affected netlist
associated_data- The old netlist id

◆ netlistInputFilenameChanged

void hal::NetlistRelay::netlistInputFilenameChanged ( Netlist n) const
signal

Q_SIGNAL to notify that the input filename of the netlist has been changed.
Relays the following hal-core event: NetlistEvent::event::input_filename_changed

Parameters
n- The affected netlist

◆ netlistMarkedGlobalGnd

void hal::NetlistRelay::netlistMarkedGlobalGnd ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that a gate has been marked as a global gnd gate.
Relays the following hal-core event: NetlistEvent::event::marked_global_gnd

Parameters
n- The affected netlist
associated_data- The id of the gate that has been marked as a global gnd gate

◆ netlistMarkedGlobalInput

void hal::NetlistRelay::netlistMarkedGlobalInput ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that a gate has been marked as a global input net.
Relays the following hal-core event: NetlistEvent::event::marked_global_input

Parameters
n- The affected netlist
associated_data- The id of the newly marked global input net

Referenced by hal::NetInfoTable::NetInfoTable().

◆ netlistMarkedGlobalOutput

void hal::NetlistRelay::netlistMarkedGlobalOutput ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that a gate has been marked as a global output net.
Relays the following hal-core event: NetlistEvent::event::marked_global_output

Parameters
n- The affected netlist
associated_data- The id of the newly marked global output net

Referenced by hal::NetInfoTable::NetInfoTable().

◆ netlistMarkedGlobalVcc

void hal::NetlistRelay::netlistMarkedGlobalVcc ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that a gate has been marked as a global vcc gate.
Relays the following hal-core event: NetlistEvent::event::marked_global_vcc

Parameters
n- The affected netlist
associated_data- The id of the gate that has been marked as a global vcc gate

◆ netlistUnmarkedGlobalGnd

void hal::NetlistRelay::netlistUnmarkedGlobalGnd ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that a gate has been unmarked from being a global gnd gate.
Relays the following hal-core event: NetlistEvent::event::unmarked_global_gnd

Parameters
n- The affected netlist
associated_data- The id of the gate that is not a global gnd gate anymore

◆ netlistUnmarkedGlobalInput

void hal::NetlistRelay::netlistUnmarkedGlobalInput ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that a net has been unmarked from being a global input net.
Relays the following hal-core event: NetlistEvent::event::unmarked_global_input

Parameters
n- The affected netlist
associated_data- The id of the net that is not a global input net anymore

Referenced by hal::NetInfoTable::NetInfoTable().

◆ netlistUnmarkedGlobalOutput

void hal::NetlistRelay::netlistUnmarkedGlobalOutput ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that a net has been unmarked from being a global output net.
Relays the following hal-core event: NetlistEvent::event::unmarked_global_output

Parameters
n- The affected netlist
associated_data- The id of the net that is not a global output net anymore

Referenced by hal::NetInfoTable::NetInfoTable().

◆ netlistUnmarkedGlobalVcc

void hal::NetlistRelay::netlistUnmarkedGlobalVcc ( Netlist n,
const u32  associated_data 
) const
signal

Q_SIGNAL to notify that a gate has been unmarked from being a global vcc gate.
Relays the following hal-core event: NetlistEvent::event::unmarked_global_vcc

Parameters
n- The affected netlist
associated_data- The id of the gate that is not a global vcc gate anymore

◆ netNameChanged

void hal::NetlistRelay::netNameChanged ( Net n) const
signal

Q_SIGNAL to notify that a net has been renamed.
Relays the following hal-core event: NetEvent::event::name_changed

Parameters
n- The renamed net

Referenced by hal::ModuleModel::ModuleModel(), and hal::NetInfoTable::NetInfoTable().

◆ netRemoved

void hal::NetlistRelay::netRemoved ( Net n) const
signal

Q_SIGNAL to notify that a net has been removed from the netlist.
Relays the following hal-core event: NetEvent::event::removed

Note that when this signal is emitted the net is not contained in the netlist anymore. However the pointer n remains valid.

Parameters
n- The removed net

Referenced by hal::ModuleModel::ModuleModel(), and hal::NetInfoTable::NetInfoTable().

◆ netSourceAdded

void hal::NetlistRelay::netSourceAdded ( Net n,
const u32  src_gate_id 
) const
signal

Q_SIGNAL to notify that a source has been added to a net.
Relays the following hal-core event: NetEvent::event::src_added

Parameters
n- The net with a new source
src_gate_id- The id of the source gate

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), hal::ModuleModel::ModuleModel(), and hal::NetInfoTable::NetInfoTable().

◆ netSourceRemoved

void hal::NetlistRelay::netSourceRemoved ( Net n,
const u32  src_gate_id 
) const
signal

Q_SIGNAL to notify that a source has been removed from a net.
Relays the following hal-core event: NetEvent::event::src_removed

Parameters
n- The net with the removed source
src_gate_id- The id of the gate at the removed source

Referenced by hal::ModuleInfoTable::ModuleInfoTable(), hal::ModuleModel::ModuleModel(), and hal::NetInfoTable::NetInfoTable().

◆ registerNetlistCallbacks()

void hal::NetlistRelay::registerNetlistCallbacks ( )

Adds the relay functions of the NetlistRelay as callbacks for hal-core events. Must be called after netlist is loaded

Definition at line 58 of file netlist_relay.cpp.

References hal::Netlist::get_event_handler(), hal::gNetlist, and hal::EventHandler::register_callback().

Referenced by hal::FileManager::deprecatedOpenFile(), hal::FileManager::newProject(), and hal::FileManager::openProject().

◆ reset()

void hal::NetlistRelay::reset ( )

The FileStatusManager is only notified once. Afterwards this function has to be called to enable the notification again.

Definition at line 321 of file netlist_relay.cpp.

◆ signalThreadEvent

void hal::NetlistRelay::signalThreadEvent ( int  type,
int  evt,
void *  object,
u32  associated_data 
)
signal

Referenced by NetlistRelay().

◆ unregisterNetlistCallbacks()

void hal::NetlistRelay::unregisterNetlistCallbacks ( )

Unregister callback entries in hal-core. Must be called when netlist gets closed

Definition at line 47 of file netlist_relay.cpp.

References hal::Netlist::get_event_handler(), hal::gNetlist, and hal::EventHandler::unregister_callback().

Referenced by hal::FileManager::closeFile(), and ~NetlistRelay().


The documentation for this class was generated from the following files: