Menu used by ProjectTreeView. More...
#include <treeview.h>
Public Member Functions | |
TreeViewMenu (const QModelIndex &index, QWidget *parent=0) |
Menu used by ProjectTreeView.
TreeViewMenu::TreeViewMenu | ( | const QModelIndex & | index, | |
QWidget * | parent = 0 | |||
) |
: QMenu(parent) { // Setup member data this->index = &index; m_model = dynamic_cast<ProjectTreeModel*>(const_cast<QAbstractItemModel*>(index.model())); Q_ASSERT(m_model); m_treeItem = m_model->treeItemPointer(index); Q_ASSERT(m_treeItem); // For some indexes, there is no menu QString columnName = m_treeItem->data(TreeItem::TreeItemColumnName).toString(); // Setup components if (columnName != QString("sens_id") && columnName != QString("sens_chan_nr") && columnName != QString("sens_cate_id")) AddSubMenu(); if (columnName != "proj_id" && columnName != "sens_chan_nr" && columnName != "sens_cate_id") // We mogen niet op "sens_cate_id" verwijderen omdat de path (proj_id, loca_id, inst_id) // teruggeeft. Dit zorgt voor verwijderen van alle sensoren in een installatie, en niet alleen die van een bepaalde categorie! addAction("Delete", this, SLOT(removeSelected())); // Hide on trigger (= necessary due to a bug in QWidgetAction) connect(this, SIGNAL(triggered(QAction*)), this, SLOT(slot_actionTriggered(QAction *))); // If no actions/submenus are added, the base class menu will close itself. }