##// END OF EJS Templates
Handles items with same names in the same node...
Handles items with same names in the same node This case is handled by adding suffix (plugin name) when displaying items in the widget

File last commit:

r912:fedc6e2cf64d
r1037:c90049fe7bc2
Show More
DataSourceTreeWidget.cpp
47 lines | 1.5 KiB | text/x-c | CppLexer
/ gui / src / DataSource / DataSourceTreeWidget.cpp
Drag of product
r868 #include "DataSource/DataSourceTreeWidget.h"
#include "Common/MimeTypesDef.h"
#include "DataSource/DataSourceController.h"
#include "DataSource/DataSourceItem.h"
#include "DataSource/DataSourceTreeWidgetItem.h"
Moves the DragDropHelper file
r884 #include "DragAndDrop/DragDropHelper.h"
Drag of product
r868 #include "SqpApplication.h"
#include <QMimeData>
Fix format for linux
r912 DataSourceTreeWidget::DataSourceTreeWidget(QWidget *parent) : QTreeWidget(parent)
{
}
Drag of product
r868
QMimeData *DataSourceTreeWidget::mimeData(const QList<QTreeWidgetItem *> items) const
{
auto mimeData = new QMimeData;
// Basic check to ensure the item are correctly typed
Q_ASSERT(items.isEmpty() || dynamic_cast<DataSourceTreeWidgetItem *>(items.first()) != nullptr);
QVariantList productData;
for (auto item : items) {
auto dataSourceTreeItem = static_cast<DataSourceTreeWidgetItem *>(item);
auto dataSource = dataSourceTreeItem->data();
if (dataSource->type() == DataSourceItemType::COMPONENT
|| dataSource->type() == DataSourceItemType::PRODUCT) {
auto metaData = dataSource->data();
productData << metaData;
}
}
auto encodedData = sqpApp->dataSourceController().mimeDataForProductsData(productData);
mimeData->setData(MIME_TYPE_PRODUCT_LIST, encodedData);
return mimeData;
}
Reset of the drag&drop operations when a drag is started from the datasource or from the variables
r877
void DataSourceTreeWidget::startDrag(Qt::DropActions supportedActions)
{
// Resets the drag&drop operations before it's starting
sqpApp->dragDropHelper().resetDragAndDrop();
QTreeWidget::startDrag(supportedActions);
}