HAL
hal::GroupingsOfItemModel Class Reference

A TableModel to store all Groupings that contain a specified Gate, Net or Module. More...

#include <groupings_of_item_model.h>

Inheritance diagram for hal::GroupingsOfItemModel:
Inheritance graph
Collaboration diagram for hal::GroupingsOfItemModel:
Collaboration graph

Public Member Functions

 GroupingsOfItemModel (QObject *parent=nullptr)
 
int columnCount (const QModelIndex &parent=QModelIndex()) const override
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 
QVariant data (const QModelIndex &index, int role) const override
 
QVariant headerData (int section, Qt::Orientation orientation, int role) const override
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
 
GroupingTableEntry getGroupingEntryAtRow (int row) const
 
void setGate (Gate *gate)
 
void setModule (Module *module)
 
void setNet (Net *net)
 
void setGroupings (QList< Grouping * > groupingList)
 
bool removeRows (int row, int count, const QModelIndex &parent=QModelIndex()) override
 
- Public Member Functions inherited from QAbstractTableModel
 QAbstractTableModel (QObject *parent)
 
virtual ~QAbstractTableModel ()
 
virtual QModelIndex index (int row, int column, const QModelIndex &parent) const const override
 
virtual QModelIndex sibling (int row, int column, const QModelIndex &idx) const const override
 
virtual bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
 
virtual Qt::ItemFlags flags (const QModelIndex &index) const 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 parent (const QModelIndex &index) const const=0
 
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 QMimeDatamimeData (const QModelIndexList &indexes) const const
 
virtual bool canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const const
 
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 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 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)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

A TableModel to store all Groupings that contain a specified Gate, Net or Module.

Using one of the methods setGate, setNet or setModule a Gate/Net/Module can be specified which Groupings are stored in this model afterwards.

Each row of the model contains the entries [Grouping Name, Grouping ID, Grouping Color].

The Model automatically keeps track of changes of the stored Groupings. It also adds/removes Groupings to/from the model if the Grouping assigns/unassigns the observed item.

Definition at line 55 of file groupings_of_item_model.h.

Constructor & Destructor Documentation

◆ GroupingsOfItemModel()

Member Function Documentation

◆ columnCount()

int hal::GroupingsOfItemModel::columnCount ( const QModelIndex parent = QModelIndex()) const
overridevirtual

Returns the amount of columns. Is always 3 (Grouping Name, Grouping ID, Grouping Color)

Parameters
parent- Then parent model index
Returns
3

Implements QAbstractItemModel.

Definition at line 29 of file groupings_of_item_model.cpp.

References QObject::parent().

◆ data()

QVariant hal::GroupingsOfItemModel::data ( const QModelIndex index,
int  role 
) const
overridevirtual

Returns the data stored under the given role for a given index in the table model.

Parameters
index- The index in the table
role- The access role
Returns
the data

Implements QAbstractItemModel.

Definition at line 61 of file groupings_of_item_model.cpp.

References Qt::BackgroundRole, hal::GroupingTableEntry::color(), QModelIndex::column(), Qt::DisplayRole, hal::GroupingTableEntry::id(), QAbstractTableModel::index(), QModelIndex::isValid(), hal::GroupingTableEntry::name(), and QModelIndex::row().

◆ getGroupingEntryAtRow()

GroupingTableEntry hal::GroupingsOfItemModel::getGroupingEntryAtRow ( int  row) const
inline

Gets the table entry that contains the grouping at a given row index.

Parameters
row- The row index
Returns
the grouping table entry

Definition at line 118 of file groupings_of_item_model.h.

◆ headerData()

QVariant hal::GroupingsOfItemModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role 
) const
overridevirtual

Returns the header data fields, i.e. 'Groupings', 'ID' or 'Color'

Parameters
section- The section (column) index
orientation- The orientation of the table
role- The access role
Returns
the header data field at the given position

Reimplemented from QAbstractItemModel.

Definition at line 41 of file groupings_of_item_model.cpp.

References Qt::DisplayRole, and Qt::Horizontal.

◆ removeRows()

bool hal::GroupingsOfItemModel::removeRows ( int  row,
int  count,
const QModelIndex parent = QModelIndex() 
)
overridevirtual

Removes a specified amount of rows starting from a specified row.

Parameters
row- The first row to remove. Row index must be valid.
count- The amount of rows to remove. Must be greater than 0. All indices (row, ..., row+count-1) must be valid.
Returns
true if the specified rows are removed successfully. Returns false for invalid parameters.

Reimplemented from QAbstractItemModel.

Definition at line 159 of file groupings_of_item_model.cpp.

References QAbstractItemModel::layoutAboutToBeChanged(), QAbstractItemModel::layoutChanged(), and QObject::parent().

◆ rowCount()

int hal::GroupingsOfItemModel::rowCount ( const QModelIndex parent = QModelIndex()) const
overridevirtual

Returns the amount of rows in the table. Is equal to the amount of stored groupings.

Parameters
parent- The parent model index
Returns
the amount of rows in the table.

Implements QAbstractItemModel.

Definition at line 35 of file groupings_of_item_model.cpp.

References QObject::parent().

◆ setData()

bool hal::GroupingsOfItemModel::setData ( const QModelIndex index,
const QVariant value,
int  role = Qt::EditRole 
)
overridevirtual

Sets the role data for the item at index to value.

Parameters
index- The model index
value- The value to set
role- The access role
Returns
true on success

Reimplemented from QAbstractItemModel.

Definition at line 83 of file groupings_of_item_model.cpp.

References QAbstractTableModel::index().

◆ setGate()

void hal::GroupingsOfItemModel::setGate ( Gate gate)

Specifies a Gate which Groupings are the content of this model.

Parameters
gate- The specified Gate

Definition at line 91 of file groupings_of_item_model.cpp.

References QList::append(), hal::Gate, hal::Gate::get_grouping(), hal::Gate::get_id(), QAbstractItemModel::layoutAboutToBeChanged(), and QAbstractItemModel::layoutChanged().

Referenced by hal::GroupingsOfItemWidget::setGate().

◆ setGroupings()

void hal::GroupingsOfItemModel::setGroupings ( QList< Grouping * >  groupingList)

Debug only Sets a list of groupings as the content.

Definition at line 142 of file groupings_of_item_model.cpp.

References QList::append(), QAbstractItemModel::layoutAboutToBeChanged(), QAbstractItemModel::layoutChanged(), and hal::None.

◆ setModule()

void hal::GroupingsOfItemModel::setModule ( Module module)

◆ setNet()

void hal::GroupingsOfItemModel::setNet ( Net net)

Specifies a Net which Groupings are the content of this model.

Parameters
net- The specified Net

Definition at line 125 of file groupings_of_item_model.cpp.

References QList::append(), QAbstractItemModel::layoutAboutToBeChanged(), QAbstractItemModel::layoutChanged(), hal::Net, and net.

Referenced by hal::GroupingsOfItemWidget::setNet().


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