setModel(filter);
}
+void BufferView::setModel(QAbstractItemModel *model) {
+ QTreeView::setModel(model);
+ init();
+}
+
+void BufferView::dragEnterEvent(QDragEnterEvent *event) {
+ // not yet needed... this will be usefull to keep track of the active view when customizing them with drag and drop
+ QTreeView::dragEnterEvent(event);
+}
public:
BufferView(QWidget *parent = 0);
void init();
+ void setModel(QAbstractItemModel *model);
void setFilteredModel(QAbstractItemModel *model, BufferViewFilter::Modes mode, QStringList nets);
+ void dragEnterEvent(QDragEnterEvent *);
+
};
Buffer *sourceBuffer = static_cast<BufferTreeItem *>(networkItem[network]->child(sourcerow))->buffer();
Buffer *targetBuffer = getBufferByIndex(parent);
+ if(sourceBuffer == targetBuffer) // we won't merge with ourself :)
+ return false;
+
+
+ if(QMessageBox::warning(static_cast<QWidget *>(QObject::parent()),
+ tr("Merge Buffers?"),
+ tr("Do you really want to merge the following Buffers?<br />%1.%2<br />%3.%4").arg(sourceBuffer->networkName()).arg(sourceBuffer->bufferName()).arg(targetBuffer->networkName()).arg(targetBuffer->bufferName()),
+ QMessageBox::Yes|QMessageBox::No) == QMessageBox::No)
+ return false;
+
qDebug() << "merging" << sourceBuffer->bufferName() << "with" << targetBuffer->bufferName();
bufferItem.remove(getBufferByIndex(parent));
removeRow(parent.row(), BufferTreeModel::parent(parent));
BufferViewWidget *viewWidget = new BufferViewWidget(this);
viewWidget->treeView()->setFilteredModel(model, mode, nets);
- viewWidget->treeView()->init();
setWidget(viewWidget);
}
}
void MainWin::setupViews() {
- BufferTreeModel *model = new BufferTreeModel();
+ BufferTreeModel *model = new BufferTreeModel(this);
connect(model, SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *)));
connect(this, SIGNAL(bufferSelected(Buffer *)), model, SLOT(selectBuffer(Buffer *)));
connect(this, SIGNAL(bufferUpdated(Buffer *)), model, SLOT(bufferUpdated(Buffer *)));