![]() |
HAL
|
Table that holds information about all groupings. More...
#include <grouping_table_model.h>
Public Slots | |
void | deleteGroupingEvent (Grouping *grp) |
QColor | recolorGrouping (u32 id, const QColor &groupingColor) |
void | createGroupingEvent (Grouping *grp) |
void | groupingNameChangedEvent (Grouping *grp) |
void | groupingColorChangedEvent (Grouping *grp) |
Signals | |
void | groupingColorChanged (Grouping *grp) |
void | lastEntryDeleted () |
void | newEntryAdded (QModelIndex &index) |
Public Member Functions | |
GroupingTableModel (bool history, 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) override |
bool | removeRows (int row, int count=1, const QModelIndex &parent=QModelIndex()) override |
bool | validate (const QString &input) |
void | setAboutToRename (const QString &oldName) |
GroupingTableEntry | groupingAt (int irow) const |
Grouping * | addDefaultEntry () |
Grouping * | groupingByName (const QString &name) const |
QColor | colorForItem (ItemType itemType, u32 itemId) const |
QColor | colorForGrouping (Grouping *grouping) const |
QString | renameGrouping (u32 id, const QString &groupingName) |
QStringList | groupingNames () const |
![]() | |
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 |
![]() | |
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, QVariant > | itemData (const QModelIndex &index) const const |
virtual bool | setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) |
virtual QStringList | mimeTypes () const const |
virtual QMimeData * | mimeData (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, QByteArray > | roleNames () 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 () |
![]() | |
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 | |
![]() | |
void | setFailText (const QString &text) |
QString | failText () const |
Additional Inherited Members | |
![]() | |
enum | LayoutChangeHint |
enum | CheckIndexOption |
![]() | |
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 | CheckIndexOptions |
NoLayoutChangeHint | |
VerticalSortHint | |
HorizontalSortHint | |
NoOption | |
IndexIsValid | |
DoNotUseParent | |
ParentIsInvalid | |
![]() | |
typedef | QObjectList |
![]() | |
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) |
![]() | |
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) |
![]() | |
QString | mFailText = "Chosen input is not allowed." |
![]() | |
objectName | |
Table that holds information about all groupings.
The table model used for groupings within the GroupingsManagerWidget.
Read the Qt documentation for further descriptions of the table model system.
Definition at line 128 of file grouping_table_model.h.
hal::GroupingTableModel::GroupingTableModel | ( | bool | history, |
QObject * | parent = nullptr |
||
) |
Constructor.
parent | - The parent widget |
Definition at line 58 of file grouping_table_model.cpp.
References QObject::connect(), createGroupingEvent(), deleteGroupingEvent(), hal::Netlist::get_groupings(), hal::gNetlist, hal::gNetlistRelay, hal::NetlistRelay::groupingColorChanged(), groupingColorChangedEvent(), hal::NetlistRelay::groupingCreated(), hal::NetlistRelay::groupingNameChanged(), groupingNameChangedEvent(), hal::NetlistRelay::groupingRemoved(), QAbstractTableModel::index(), hal::GroupingTableHistory::instance(), QAbstractItemModel::layoutAboutToBeChanged(), QAbstractItemModel::layoutChanged(), test::n, newEntryAdded(), and QObject::Q_EMIT().
Grouping * hal::GroupingTableModel::addDefaultEntry | ( | ) |
Adds a grouping to the table. The grouping is created with a unique default name (e.g. 'grouping1').
Definition at line 212 of file grouping_table_model.cpp.
References hal::GroupingTableEntry::grouping(), QAbstractTableModel::index(), QSet::insert(), QAbstractItemModel::layoutAboutToBeChanged(), QAbstractItemModel::layoutChanged(), test::n, newEntryAdded(), and QObject::Q_EMIT().
Referenced by hal::ActionCreateObject::exec().
Gets the grouping color of a specified Grouping.
grouping | - the specified grouping |
Definition at line 373 of file grouping_table_model.cpp.
Gets the color of an item based on its grouping. If the item has no grouping an invalid color (QColor()) is returned.
Definition at line 341 of file grouping_table_model.cpp.
References test_plugin::g, hal::Gate, hal::Netlist::get_gate_by_id(), hal::Module::get_grouping(), hal::Netlist::get_module_by_id(), hal::Netlist::get_net_by_id(), hal::gNetlist, hal::Module, test::n, and hal::Net.
Referenced by hal::GraphicsItem::groupingColor(), and hal::StandardGraphicsGate::paint().
|
overridevirtual |
Returns the amount of columns. Is always 3 (Grouping, ID, Color)
parent | - Then parent model index |
Implements QAbstractItemModel.
Definition at line 103 of file grouping_table_model.cpp.
References QObject::parent().
|
slot |
Q_SLOT to handle that a grouping has been created.
grp | - The created grouping |
Definition at line 249 of file grouping_table_model.cpp.
References QAbstractTableModel::index(), QAbstractItemModel::layoutAboutToBeChanged(), QAbstractItemModel::layoutChanged(), test::n, newEntryAdded(), and QObject::Q_EMIT().
Referenced by GroupingTableModel().
|
overridevirtual |
Returns the data stored under the given role for a given index in the table model.
index | - The index in the table |
role | - The access role |
Implements QAbstractItemModel.
Definition at line 135 of file grouping_table_model.cpp.
References Qt::BackgroundRole, hal::GroupingTableEntry::color(), QModelIndex::column(), Qt::DisplayRole, hal::GroupingTableEntry::id(), QAbstractTableModel::index(), QModelIndex::isValid(), hal::GroupingTableEntry::name(), QColor::name(), and QModelIndex::row().
Referenced by hal::GroupingColorDelegate::paint().
|
slot |
Q_SLOT to handle that a grouping was removed.
grp | - The removed grouping. |
Definition at line 235 of file grouping_table_model.cpp.
References lastEntryDeleted(), QAbstractItemModel::layoutAboutToBeChanged(), QAbstractItemModel::layoutChanged(), and QObject::Q_EMIT().
Referenced by GroupingTableModel().
|
inline |
Gets the table entry that contains the grouping at a given row index.
irow | - The row index |
Definition at line 226 of file grouping_table_model.h.
References QList::at().
Referenced by hal::ActionDeleteObject::exec(), and hal::GroupingColorSerializer::serialize().
Searches for a grouping with the given name in the grouping table.
name | - The name to search for |
Definition at line 385 of file grouping_table_model.cpp.
References name.
|
signal |
Q_SIGNAL to notify that the color of a grouping has been changed. Emitted by GroupingTableModel::setData if the color field was modified.
grp | - The grouping which color has been changed. |
Referenced by hal::GraphicsScene::connectAll(), hal::GraphicsScene::disconnectAll(), hal::GroupingsOfItemModel::GroupingsOfItemModel(), recolorGrouping(), and setData().
|
slot |
Q_SLOT to handle that a grouping has been recolored.
grp |
Definition at line 276 of file grouping_table_model.cpp.
References QAbstractItemModel::dataChanged(), hal::Grouping::get_color(), QAbstractTableModel::index(), QObject::Q_EMIT(), and hal::toQColor().
Referenced by GroupingTableModel().
|
slot |
Q_SLOT to handle that a grouping has been renamed.
grp |
Definition at line 260 of file grouping_table_model.cpp.
References QAbstractItemModel::dataChanged(), QString::fromStdString(), hal::Grouping::get_name(), QAbstractTableModel::index(), and QObject::Q_EMIT().
Referenced by GroupingTableModel().
QStringList hal::GroupingTableModel::groupingNames | ( | ) | const |
Gets a list of all currently used grouping names.
Definition at line 393 of file grouping_table_model.cpp.
|
overridevirtual |
Returns the header data fields, i.e. 'Groupings', 'ID' or 'Color'
section | - The section (column) index |
orientation | - The orientation of the table |
role | - The access role |
Reimplemented from QAbstractItemModel.
Definition at line 115 of file grouping_table_model.cpp.
References Qt::DisplayRole, and Qt::Horizontal.
|
signal |
Q_SIGNAL to notify that the grouping table entry at the rearmost position (i.e. the entry with the highest row index) has been deleted.
Referenced by deleteGroupingEvent(), hal::GroupingManagerWidget::GroupingManagerWidget(), and removeRows().
|
signal |
Q_SIGNAL to notify that a new grouping table entry has been added to the table.
index | - The index of the new entry |
Referenced by addDefaultEntry(), createGroupingEvent(), hal::GroupingManagerWidget::GroupingManagerWidget(), and GroupingTableModel().
Changes the color of the grouping with the specified id to the specified color.
id | - The grouping id |
groupingColor | - The new color |
Definition at line 310 of file grouping_table_model.cpp.
References QAbstractItemModel::dataChanged(), groupingColorChanged(), QAbstractTableModel::index(), and QObject::Q_EMIT().
|
overridevirtual |
Remove the row at index row.
row | - The row index |
count | - Unused and ignored (always one row is deleted at a time) |
parent | - Unused and ingnored |
Reimplemented from QAbstractItemModel.
Definition at line 175 of file grouping_table_model.cpp.
References hal::Netlist::delete_grouping(), test_plugin::g, hal::Grouping::get_gates(), hal::Grouping::get_modules(), hal::Grouping::get_nets(), hal::gNetlist, lastEntryDeleted(), QAbstractItemModel::layoutAboutToBeChanged(), QAbstractItemModel::layoutChanged(), test::n, QObject::parent(), QObject::Q_EMIT(), hal::Grouping::remove_gate(), hal::Grouping::remove_module(), and hal::Grouping::remove_net().
Referenced by hal::ActionDeleteObject::exec().
Renames the grouping at the given table row of the groupings table.
id | - The id of the grouping to rename |
groupingName | - The new name |
Definition at line 294 of file grouping_table_model.cpp.
References QAbstractItemModel::dataChanged(), QAbstractTableModel::index(), and QObject::Q_EMIT().
Referenced by hal::ActionCreateObject::exec(), and hal::ActionRenameObject::exec().
|
overridevirtual |
Returns the amount of rows in the table. Is equal to the amount of stored groupings.
parent | - The parent model index |
Implements QAbstractItemModel.
Definition at line 109 of file grouping_table_model.cpp.
References QObject::parent().
Referenced by hal::ActionDeleteObject::exec(), and hal::GroupingColorSerializer::serialize().
|
inline |
This function is used to prevent the 'validate'-function to return false while renaming a grouping to its old name. Therefore the old name of the grouping will always considered as valid.
To achieve this one has to call this function to store the old name.
oldName | - The old name of the grouping |
Definition at line 218 of file grouping_table_model.h.
References QString::trimmed().
|
overridevirtual |
Sets the role data for the item at index to value.
index | - The model index |
value | - The value to set |
role | - The access role |
Reimplemented from QAbstractItemModel.
Definition at line 159 of file grouping_table_model.cpp.
References QModelIndex::column(), Qt::EditRole, groupingColorChanged(), QAbstractTableModel::index(), QModelIndex::isValid(), QObject::Q_EMIT(), QModelIndex::row(), QVariant::toString(), QString::trimmed(), and QVariant::value().
|
virtual |
Returns true if input is a unique and valid grouping name. Returns false otherwise.
input | - A grouping name |
Implements hal::Validator.
Definition at line 200 of file grouping_table_model.cpp.
References hal::input.