HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::SelectGateModel Class Reference

#include </home/runner/work/hal/hal/plugins/logic_evaluator/include/logic_evaluator/logic_evaluator_select_gates.h>

Inheritance diagram for hal::SelectGateModel:
Inheritance graph
Collaboration diagram for hal::SelectGateModel:
Collaboration graph

Signals

void selectionStateChanged (bool empty)
 

Public Member Functions

 SelectGateModel (QObject *parent=nullptr)
 
void setChecked (const std::vector< Gate * > &gates)
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
 
const std::vector< Gate * > & selectedGates () const
 
- Public Member Functions inherited from hal::ModuleModel
 ModuleModel (QObject *parent=nullptr)
 
ModuleItemgetItem (const QModelIndex &index) const
 
ModuleItemgetItem (const u32 id, ModuleItem::TreeItemType type=ModuleItem::TreeItemType::Module) const
 
QList< ModuleItem * > getItems (const u32 id, ModuleItem::TreeItemType type=ModuleItem::TreeItemType::Module) const
 
void clear () override
 
QMimeDatamimeData (const QModelIndexList &indexes) const override
 
void populateTree (const QVector< u32 > &modIds={}, const QVector< u32 > &gatIds={}, const QVector< u32 > &netIds={})
 
void populateFromGatelist (const std::vector< Gate * > &gates)
 
void addModule (const u32 id, const u32 parentId)
 
void addGate (const u32 id, const u32 parentId)
 
void addNet (const u32 id, const u32 parentId)
 
void addRecursively (const Module *module, BaseTreeItem *parentItem=nullptr)
 
void removeModule (const u32 id)
 
void removeGate (const u32 id)
 
void removeNet (const u32 id)
 
void moduleAssignGate (const u32 moduleId, const u32 gateId)
 
void moduleAssignNets (const QList< u32 > &gateIds=QList< u32 >())
 
void updateNetParent (const Net *net, const QHash< const Net *, ModuleItem * > *parentAssignment=nullptr)
 
void updateModuleParent (const Module *module)
 
void updateModuleName (const u32 id)
 
void updateModuleType (const u32 id)
 
void updateGateName (const u32 id)
 
void updateNetName (const u32 id)
 
bool isModifying ()
 
- Public Member Functions inherited from hal::BaseTreeModel
 BaseTreeModel (QObject *parent=nullptr)
 
void setContent (QList< BaseTreeItem * > firstLevelItems)
 
void setHeaderLabels (const QStringList &label)
 
QStringList headerLabels () const
 
QModelIndex getIndexFromItem (BaseTreeItem *item) const
 
BaseTreeItemgetItemFromIndex (QModelIndex index) const
 
BaseTreeItemgetRootItem () const
 
void insertChildItem (BaseTreeItem *childItem, BaseTreeItem *parentItem=nullptr, int row=-1)
 
virtual QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 
virtual QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const override
 
virtual QModelIndex parent (const QModelIndex &index) const override
 
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
virtual int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
- Public Member Functions inherited from QAbstractItemModel
 QAbstractItemModel (QObject *parent)
 
virtual ~QAbstractItemModel ()
 
bool hasIndex (int row, int column, const QModelIndex &parent) const const
 
virtual QModelIndex sibling (int row, int column, const QModelIndex &index) const const
 
virtual bool hasChildren (const QModelIndex &parent) const const
 
virtual bool setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role)
 
virtual QMap< int, QVariantitemData (const QModelIndex &index) const const
 
virtual bool setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles)
 
virtual QStringList mimeTypes () const const
 
virtual bool canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const const
 
virtual bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
 
virtual Qt::DropActions supportedDropActions () const const
 
virtual Qt::DropActions supportedDragActions () const const
 
void setSupportedDragActions (Qt::DropActions actions)
 
virtual bool insertRows (int row, int count, const QModelIndex &parent)
 
virtual bool insertColumns (int column, int count, const QModelIndex &parent)
 
virtual bool removeRows (int row, int count, const QModelIndex &parent)
 
virtual bool removeColumns (int column, int count, const QModelIndex &parent)
 
virtual bool moveRows (const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild)
 
virtual bool moveColumns (const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destinationParent, int destinationChild)
 
bool insertRow (int row, const QModelIndex &parent)
 
bool insertColumn (int column, const QModelIndex &parent)
 
bool removeRow (int row, const QModelIndex &parent)
 
bool removeColumn (int column, const QModelIndex &parent)
 
bool moveRow (const QModelIndex &sourceParent, int sourceRow, const QModelIndex &destinationParent, int destinationChild)
 
bool moveColumn (const QModelIndex &sourceParent, int sourceColumn, const QModelIndex &destinationParent, int destinationChild)
 
virtual void fetchMore (const QModelIndex &parent)
 
virtual bool canFetchMore (const QModelIndex &parent) const const
 
virtual void sort (int column, Qt::SortOrder order)
 
virtual QModelIndex buddy (const QModelIndex &index) const const
 
virtual QModelIndexList match (const QModelIndex &start, int role, const QVariant &value, int hits, Qt::MatchFlags flags) const const
 
virtual QSize span (const QModelIndex &index) const const
 
virtual QHash< int, QByteArrayroleNames () const const
 
bool checkIndex (const QModelIndex &index, QAbstractItemModel::CheckIndexOptions options) const const
 
void dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector< int > &roles)
 
void headerDataChanged (Qt::Orientation orientation, int first, int last)
 
void layoutChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint)
 
void layoutAboutToBeChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint)
 
void rowsAboutToBeInserted (const QModelIndex &parent, int start, int end)
 
void rowsInserted (const QModelIndex &parent, int first, int last)
 
void rowsAboutToBeRemoved (const QModelIndex &parent, int first, int last)
 
void rowsRemoved (const QModelIndex &parent, int first, int last)
 
void columnsAboutToBeInserted (const QModelIndex &parent, int first, int last)
 
void columnsInserted (const QModelIndex &parent, int first, int last)
 
void columnsAboutToBeRemoved (const QModelIndex &parent, int first, int last)
 
void columnsRemoved (const QModelIndex &parent, int first, int last)
 
void modelAboutToBeReset ()
 
void modelReset ()
 
void rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow)
 
void rowsMoved (const QModelIndex &parent, int start, int end, const QModelIndex &destination, int row)
 
void columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn)
 
void columnsMoved (const QModelIndex &parent, int start, int end, const QModelIndex &destination, int column)
 
virtual bool submit ()
 
virtual void revert ()
 
- 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

- Public Types inherited from QAbstractItemModel
enum  LayoutChangeHint
 
enum  CheckIndexOption
 
- 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 QAbstractItemModel
typedef CheckIndexOptions
 
 NoLayoutChangeHint
 
 VerticalSortHint
 
 HorizontalSortHint
 
 NoOption
 
 IndexIsValid
 
 DoNotUseParent
 
 ParentIsInvalid
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from hal::ModuleModel
ModuleItemcreateChildItem (u32 id, ModuleItem::TreeItemType itemType, BaseTreeItem *parentItem=nullptr)
 
void removeChildItem (ModuleItem *itemToRemove, BaseTreeItem *parentItem)
 
void setIsModifying (bool pIsModifying)
 
- Protected Member Functions inherited from QAbstractItemModel
void resetInternalData ()
 
QModelIndex createIndex (int row, int column, void *ptr) const const
 
QModelIndex createIndex (int row, int column, quintptr id) const const
 
void beginInsertRows (const QModelIndex &parent, int first, int last)
 
void endInsertRows ()
 
void beginRemoveRows (const QModelIndex &parent, int first, int last)
 
void endRemoveRows ()
 
bool beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild)
 
void endMoveRows ()
 
void beginInsertColumns (const QModelIndex &parent, int first, int last)
 
void endInsertColumns ()
 
void beginRemoveColumns (const QModelIndex &parent, int first, int last)
 
void endRemoveColumns ()
 
bool beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild)
 
void endMoveColumns ()
 
void reset ()
 
void beginResetModel ()
 
void endResetModel ()
 
void changePersistentIndex (const QModelIndex &from, const QModelIndex &to)
 
void changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to)
 
QModelIndexList persistentIndexList () const const
 
void setRoleNames (const QHash< int, QByteArray > &roleNames)
 
- 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)
 
- Protected Attributes inherited from hal::BaseTreeModel
RootTreeItemmRootItem
 
- Properties inherited from QObject
 objectName
 

Detailed Description

The item model behind the gate selection tree of the logic evaluator.

Definition at line 64 of file logic_evaluator_select_gates.h.

Constructor & Destructor Documentation

◆ SelectGateModel()

hal::SelectGateModel::SelectGateModel ( QObject parent = nullptr)

Member Function Documentation

◆ data()

QVariant hal::SelectGateModel::data ( const QModelIndex index,
int  role = Qt::DisplayRole 
) const
overridevirtual

Returns the data stored under the given role for the item referred to by the index.

Parameters
index- The model index
role- The role the model is accessed with
Returns
the data stored at index under the specified role

Reimplemented from hal::ModuleModel.

Definition at line 14 of file logic_evaluator_select_gates.cpp.

References Qt::BackgroundRole, Qt::Checked, Qt::CheckStateRole, QModelIndex::column(), hal::ModuleModel::data(), Qt::ForegroundRole, hal::ModuleItem::Gate, hal::BaseTreeModel::getItemFromIndex(), hal::ModuleItem::getType(), hal::BaseTreeModel::index(), hal::SelectGateItem::isSelectable(), hal::LogicEvaluatorSelectGates::selBackground(), hal::LogicEvaluatorSelectGates::selForeground(), and hal::SelectGateItem::state().

◆ flags()

Qt::ItemFlags hal::SelectGateModel::flags ( const QModelIndex index) const
overridevirtual

Returns the item flags for the given index.

Parameters
index- The model index to get the flags for
Returns
the item flags for the given index

Reimplemented from hal::ModuleModel.

Definition at line 215 of file logic_evaluator_select_gates.cpp.

References QModelIndex::column(), hal::ModuleModel::flags(), hal::BaseTreeModel::getItemFromIndex(), hal::BaseTreeModel::index(), hal::SelectGateItem::isSelectable(), Qt::ItemFlags, Qt::ItemIsEnabled, Qt::ItemIsUserCheckable, and Qt::NoItemFlags.

◆ selectedGates()

const std::vector<Gate*>& hal::SelectGateModel::selectedGates ( ) const
inline

◆ selectionStateChanged

void hal::SelectGateModel::selectionStateChanged ( bool  empty)
signal

◆ setChecked()

void hal::SelectGateModel::setChecked ( const std::vector< Gate * > &  gates)

◆ setData()


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