MCPcopy Create free account
hub / github.com/begla/Intrinsic / onPopulateResourceTree

Method onPopulateResourceTree

IntrinsicEd/src/IntrinsicEdManagerWindowBase.cpp:50–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48}
49
50void IntrinsicEdManagerWindowBase::onPopulateResourceTree()
51{
52 _ui.resourceView->clear();
53 _resourceToItemMapping.clear();
54 _itemToResourceMapping.clear();
55
56 rapidjson::Document doc;
57
58 const uint32_t resourceCount =
59 (uint32_t)_resourceManagerEntry.getActiveResourceCountFunction();
60
61 QTreeWidgetItem* volatileResourcesItem = new QTreeWidgetItem();
62 volatileResourcesItem->setText(0, "Volatile");
63 volatileResourcesItem->setIcon(0,
64 QIcon(":/Icons/icons/essential/folder-5.png"));
65 _ui.resourceView->addTopLevelItem(volatileResourcesItem);
66
67 QTreeWidgetItem* storedResourcesItem = new QTreeWidgetItem();
68 storedResourcesItem->setText(0, "Stored");
69 storedResourcesItem->setIcon(0,
70 QIcon(":/Icons/icons/essential/folder-5.png"));
71 _ui.resourceView->addTopLevelItem(storedResourcesItem);
72
73 for (uint32_t i = 0u; i < resourceCount; ++i)
74 {
75 Dod::Ref resource =
76 _resourceManagerEntry.getActiveResourceAtIndexFunction(i);
77 _INTR_ASSERT(resource.isValid());
78
79 rapidjson::Value properties = rapidjson::Value(rapidjson::kObjectType);
80 _propertyCompilerEntry.compileFunction(resource, true, properties, doc);
81
82 QTreeWidgetItem* item = new QTreeWidgetItem();
83 item->setText(0, properties["name"]["value"].GetString());
84 item->setIcon(0, IntrinsicEd::getIcon(_resourceName.toStdString().c_str()));
85 item->setFlags(item->flags() | Qt::ItemIsEditable);
86
87 _itemToResourceMapping[item] = resource;
88 _resourceToItemMapping[resource] = item;
89
90 _INTR_ASSERT(_resourceManagerEntry.getResourceFlagsFunction);
91 if ((_resourceManagerEntry.getResourceFlagsFunction(resource) &
92 Dod::Resources::ResourceFlags::kResourceVolatile) > 0u)
93 {
94 volatileResourcesItem->addChild(item);
95 }
96 else
97 {
98 storedResourcesItem->addChild(item);
99 }
100 }
101
102 storedResourcesItem->setExpanded(true);
103 emit resourceTreePopulated();
104}
105
106void IntrinsicEdManagerWindowBase::onShowResourceContextMenu(QPoint p_Pos)
107{

Callers

nothing calls this directly

Calls 2

clearMethod · 0.80
isValidMethod · 0.45

Tested by

no test coverage detected