45 : QStandardItemModel(parent), mime_type_(mime_type) {
46 setHorizontalHeaderLabels({ tr(
"Name") });
51 QIcon default_package_icon =
rviz::loadPixmap(
"package://rviz/icons/default_package_icon.png");
57 std::map<QString, QStandardItem*> package_items;
59 for (
const QString& lookup_name : classes) {
60 QString
package = factory.getClassPackage(lookup_name);
62 QStandardItem* package_item;
63 auto mi = package_items.find(package);
64 if (mi == package_items.end()) {
65 package_item =
new QStandardItem(default_package_icon, package);
66 package_items[
package] = package_item;
67 appendRow(package_item);
69 package_item = mi->second;
71 QStandardItem* class_item =
new QStandardItem(factory.
getIcon(lookup_name), factory.
getClassName(lookup_name));
73 class_item->setData(lookup_name, Qt::UserRole);
74 class_item->setDragEnabled(
true);
75 package_item->appendRow(class_item);
84 QSet<int> rows_considered;
85 QMimeData* mime_data =
new QMimeData();
86 for (
const auto&
index : indexes) {
87 if (rows_considered.contains(
index.row()))