![]() |
HAL
|
The BaseTreeModel implements generic standard functions of a tree model. More...
#include <base_tree_model.h>
Public Member Functions | |
BaseTreeModel (QObject *parent=nullptr) | |
void | setContent (QList< BaseTreeItem * > firstLevelItems) |
virtual void | clear () |
void | setHeaderLabels (const QStringList &label) |
QStringList | headerLabels () const |
QModelIndex | getIndexFromItem (BaseTreeItem *item) const |
BaseTreeItem * | getItemFromIndex (QModelIndex index) const |
BaseTreeItem * | getRootItem () const |
void | insertChildItem (BaseTreeItem *childItem, BaseTreeItem *parentItem=nullptr, int row=-1) |
Overwritten model functions | |
virtual QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
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 Qt::ItemFlags | flags (const QModelIndex &index) const override |
virtual int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
virtual int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
![]() | |
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 | setData (const QModelIndex &index, const QVariant &value, int role) |
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 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, 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 | |
Protected Attributes | |
RootTreeItem * | mRootItem |
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) |
![]() | |
objectName | |
The BaseTreeModel implements generic standard functions of a tree model.
Explain usage here:
Definition at line 39 of file base_tree_model.h.
hal::BaseTreeModel::BaseTreeModel | ( | QObject * | parent = nullptr | ) |
The constructor.
parent | - The model's parent. |
Definition at line 7 of file base_tree_model.cpp.
References mRootItem.
|
virtual |
Resets the model (deletes the tree).
Reimplemented in hal::ModulePinsTreeModel, hal::GatePinsTreeModel, hal::ModuleModel, and hal::ContextTreeModel.
Definition at line 89 of file base_tree_model.cpp.
References QAbstractItemModel::beginResetModel(), QAbstractItemModel::endResetModel(), hal::BaseTreeItem::getChildCount(), mRootItem, and hal::BaseTreeItem::removeChildAtPos().
Referenced by hal::ContextTreeModel::clear(), hal::ModuleModel::clear(), hal::GatePinsTreeModel::clear(), hal::ModulePinsTreeModel::clear(), hal::PinModel::setGate(), and hal::PinModel::~PinModel().
|
overridevirtual |
Overwritten Qt function that is necessary for the model. For further information pleaser refer to the Qt documentation.
Implements QAbstractItemModel.
Definition at line 77 of file base_tree_model.cpp.
References hal::RootTreeItem::getColumnCount(), mRootItem, and QObject::parent().
Referenced by hal::ModulePinsTreeModel::handleModulePortsChanged(), and headerLabels().
|
overridevirtual |
Overwritten Qt function that is necessary for the model. For further information pleaser refer to the Qt documentation.
Implements QAbstractItemModel.
Reimplemented in hal::ModuleModel, and hal::ContextTreeModel.
Definition at line 12 of file base_tree_model.cpp.
References QModelIndex::column(), Qt::DisplayRole, hal::BaseTreeItem::getData(), getItemFromIndex(), index(), and QModelIndex::isValid().
Referenced by hal::ModulePinsTreeModel::canDropMimeData(), hal::ModulePinsTreeModel::dropMimeData(), and hal::ModulePinsTreeModel::mimeData().
|
overridevirtual |
Overwritten Qt function that is necessary for the model. For further information pleaser refer to the Qt documentation.
Reimplemented from QAbstractItemModel.
Reimplemented in hal::ModulePinsTreeModel, hal::PinModel, hal::ModuleModel, and hal::ContextTreeModel.
Definition at line 62 of file base_tree_model.cpp.
References QAbstractItemModel::flags(), and index().
Referenced by hal::ContextTreeModel::flags(), hal::PinModel::flags(), and hal::ModulePinsTreeModel::flags().
QModelIndex hal::BaseTreeModel::getIndexFromItem | ( | BaseTreeItem * | item | ) | const |
Helper method to convert between the item and its index.
item | - The item from which to get the index. |
Definition at line 123 of file base_tree_model.cpp.
References QAbstractItemModel::createIndex(), hal::BaseTreeItem::getParent(), and hal::BaseTreeItem::getRowForChild().
Referenced by hal::ContextTreeModel::addContext(), hal::ContextTreeModel::addDirectory(), hal::ModuleModel::createChildItem(), hal::ContextProxyModel::dropMimeData(), hal::ActionMoveItem::exec(), hal::ContextTreeModel::getIndexFromContext(), hal::ModulePinsTreeModel::handleModulePortsChanged(), hal::ModuleWidget::handleSelectionChanged(), insertChildItem(), hal::ContextTreeModel::moveItem(), parent(), hal::ModuleModel::removeChildItem(), hal::ContextTreeModel::removeContext(), hal::ContextTreeModel::removeDirectory(), hal::ContextManagerWidget::selectDirectory(), hal::ModuleElementsTree::setModule(), hal::ModuleModel::updateGateName(), hal::ModuleModel::updateModuleName(), hal::ModuleModel::updateModuleParent(), and hal::ModuleModel::updateNetName().
BaseTreeItem * hal::BaseTreeModel::getItemFromIndex | ( | QModelIndex | index | ) | const |
Helper method to convert between the index and its item.
index | - The index to convert. |
Definition at line 141 of file base_tree_model.cpp.
References index(), QModelIndex::internalPointer(), and QModelIndex::isValid().
Referenced by hal::ModulePinsTreeModel::canDropMimeData(), hal::ContextProxyModel::canDropMimeData(), data(), hal::ModulePinsTreeModel::dropMimeData(), hal::ContextProxyModel::dropMimeData(), hal::ContextTreeModel::flags(), hal::ContextTreeModel::getContext(), hal::ContextManagerWidget::getCurrentItem(), hal::GraphContextManager::getParentId(), hal::GatePinTree::handleContextMenuRequested(), hal::ModuleElementsTree::handleContextMenuRequested(), hal::ModulePinsTree::handleContextMenuRequested(), hal::PinModel::handleDeleteItem(), hal::ContextManagerWidget::handleItemClicked(), hal::ContextManagerWidget::handleItemDoubleClicked(), hal::GraphContextManager::handleSaveTriggered(), index(), hal::ContextProxyModel::lessThan(), hal::ContextProxyModel::mimeData(), hal::ModuleModel::mimeData(), hal::ModulePinsTreeModel::mimeData(), hal::GatePinTree::mouseDoubleClickEvent(), parent(), and rowCount().
BaseTreeItem * hal::BaseTreeModel::getRootItem | ( | ) | const |
Convenient function to get the root item to which the tree is appended (the root item is not shown/displayed).
Definition at line 146 of file base_tree_model.cpp.
References mRootItem.
Referenced by hal::ContextProxyModel::canDropMimeData(), hal::ContextTreeModel::getChildContextsOf(), hal::ContextTreeModel::getChildDirectoriesOf(), hal::ContextManagerWidget::getCurrentItem(), hal::PinModel::handleDeleteItem(), hal::GraphContextManager::handleSaveTriggered(), hal::PinsWizardPage::isComplete(), hal::GuiApiClasses::View::moveDirectory(), hal::GraphContextManager::moveItem(), hal::GuiApiClasses::View::moveView(), and hal::GraphContextManager::restoreFromFile().
|
overridevirtual |
Overwritten Qt function that is necessary for the model. For further information pleaser refer to the Qt documentation.
Reimplemented from QAbstractItemModel.
Definition at line 28 of file base_tree_model.cpp.
References Qt::DisplayRole, hal::RootTreeItem::getData(), Qt::Horizontal, and mRootItem.
Referenced by headerLabels().
QStringList hal::BaseTreeModel::headerLabels | ( | ) | const |
Getter for header labels stored in root element
Definition at line 101 of file base_tree_model.cpp.
References QList::append(), columnCount(), Qt::DisplayRole, headerData(), and Qt::Horizontal.
Referenced by hal::ModuleWidget::ModuleWidget().
|
overridevirtual |
Overwritten Qt function that is necessary for the model. For further information pleaser refer to the Qt documentation.
Implements QAbstractItemModel.
Definition at line 36 of file base_tree_model.cpp.
References QAbstractItemModel::createIndex(), hal::BaseTreeItem::getChild(), getItemFromIndex(), QAbstractItemModel::hasIndex(), mRootItem, and QObject::parent().
Referenced by hal::ContextTreeModel::addContext(), hal::ContextTreeModel::addDirectory(), hal::ModuleModel::createChildItem(), hal::ContextTreeModel::data(), hal::ModuleModel::data(), data(), hal::ContextProxyModel::dropMimeData(), flags(), hal::ContextTreeModel::flags(), hal::ModuleModel::flags(), hal::PinModel::flags(), hal::ModulePinsTreeModel::flags(), hal::ContextTreeModel::getContext(), hal::ModuleModel::getItem(), getItemFromIndex(), hal::PinModel::handleDeleteItem(), hal::PinModel::handleEditDirection(), hal::PinModel::handleEditName(), hal::PinModel::handleEditType(), hal::ContextManagerWidget::handleRowsInserted(), insertChildItem(), parent(), hal::ModuleModel::removeChildItem(), hal::ContextTreeModel::removeContext(), hal::ContextTreeModel::removeDirectory(), hal::ModuleModel::updateGateName(), hal::ModuleModel::updateModuleName(), hal::ModuleModel::updateModuleParent(), and hal::ModuleModel::updateNetName().
void hal::BaseTreeModel::insertChildItem | ( | BaseTreeItem * | childItem, |
BaseTreeItem * | parentItem = nullptr , |
||
int | row = -1 |
||
) |
Definition at line 151 of file base_tree_model.cpp.
References QAbstractItemModel::beginInsertRows(), QAbstractItemModel::endInsertRows(), hal::BaseTreeItem::getChildCount(), getIndexFromItem(), index(), hal::BaseTreeItem::insertChild(), and mRootItem.
Referenced by hal::ContextTreeModel::moveItem().
|
overridevirtual |
Overwritten Qt function that is necessary for the model. For further information pleaser refer to the Qt documentation.
Implements QAbstractItemModel.
Definition at line 46 of file base_tree_model.cpp.
References getIndexFromItem(), getItemFromIndex(), hal::BaseTreeItem::getParent(), index(), QModelIndex::isValid(), and mRootItem.
|
overridevirtual |
Overwritten Qt function that is necessary for the model. For further information pleaser refer to the Qt documentation.
Implements QAbstractItemModel.
Definition at line 67 of file base_tree_model.cpp.
References hal::BaseTreeItem::getChildCount(), getItemFromIndex(), mRootItem, and QObject::parent().
void hal::BaseTreeModel::setContent | ( | QList< BaseTreeItem * > | firstLevelItems | ) |
Sets the content the tree then represents. An already complete tree (or rather all their first-level items) must be provided.
firstLevelItems | - All items that will be appended to this model's root item. |
Definition at line 83 of file base_tree_model.cpp.
References hal::BaseTreeItem::appendChild(), and mRootItem.
void hal::BaseTreeModel::setHeaderLabels | ( | const QStringList & | label | ) |
This function must be called first (as of now) in the constructor of the derived classed to initialize
labels |
Definition at line 110 of file base_tree_model.cpp.
References QList::at(), mRootItem, hal::RootTreeItem::setDataAtIndex(), and QList::size().
Referenced by hal::ContextTreeModel::ContextTreeModel(), hal::GatePinsTreeModel::GatePinsTreeModel(), hal::ModuleModel::ModuleModel(), hal::ModulePinsTreeModel::ModulePinsTreeModel(), and hal::PinModel::PinModel().
|
protected |
Definition at line 152 of file base_tree_model.h.
Referenced by hal::ContextTreeModel::addContext(), hal::ContextTreeModel::addDirectory(), hal::ModuleModel::addRecursively(), BaseTreeModel(), clear(), columnCount(), hal::ModuleModel::createChildItem(), hal::ContextTreeModel::getContext(), hal::ContextTreeModel::getDirectory(), hal::PinModel::getInputPins(), hal::PinModel::getOutputPins(), hal::PinModel::getPinGroups(), getRootItem(), hal::ModulePinsTreeModel::handleModulePortsChanged(), headerData(), index(), insertChildItem(), hal::ModuleModel::moduleAssignNets(), hal::ContextTreeModel::moveItem(), parent(), hal::ModuleModel::populateFromGatelist(), hal::ModuleModel::populateTree(), rowCount(), setContent(), hal::ContextTreeModel::setCurrentDirectory(), hal::GatePinsTreeModel::setGate(), hal::PinModel::setGate(), setHeaderLabels(), hal::ModulePinsTreeModel::setModule(), hal::GatePinsTreeModel::~GatePinsTreeModel(), and hal::ModulePinsTreeModel::~ModulePinsTreeModel().