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

Method onPopulateResourceTree

IntrinsicEd/src/IntrinsicEdManagerWindowAsset.cpp:49–122  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47}
48
49void IntrinsicEdManagerWindowAsset::onPopulateResourceTree()
50{
51 _ui.resourceView->clear();
52 _resourceToItemMapping.clear();
53 _itemToResourceMapping.clear();
54
55 rapidjson::Document doc;
56
57 const uint32_t resourceCount = AssetManager::getActiveResourceCount();
58
59 QTreeWidgetItem* textures = new QTreeWidgetItem();
60 {
61 textures->setText(0, "Textures");
62 textures->setIcon(0, IntrinsicEd::getIcon("Texture"));
63 _ui.resourceView->addTopLevelItem(textures);
64 }
65
66 QTreeWidgetItem* meshes = new QTreeWidgetItem();
67 {
68 meshes->setText(0, "Meshes");
69 meshes->setIcon(0, IntrinsicEd::getIcon("Mesh"));
70 _ui.resourceView->addTopLevelItem(meshes);
71 }
72
73 QTreeWidgetItem* generalAssets = new QTreeWidgetItem();
74 {
75 generalAssets->setText(0, "General");
76 generalAssets->setIcon(0, IntrinsicEd::getIcon("Asset"));
77 _ui.resourceView->addTopLevelItem(generalAssets);
78 }
79
80 for (uint32_t i = 0u; i < resourceCount; ++i)
81 {
82 Dod::Ref assetEntry = AssetManager::getActiveResourceAtIndex(i);
83 _INTR_ASSERT(assetEntry.isValid());
84
85 rapidjson::Value properties = rapidjson::Value(rapidjson::kObjectType);
86 _propertyCompilerEntry.compileFunction(assetEntry, true, properties, doc);
87
88 QTreeWidgetItem* item = new QTreeWidgetItem();
89 item->setText(0, properties["name"]["value"].GetString());
90 item->setIcon(0, IntrinsicEd::getIcon(_resourceName.toStdString().c_str()));
91 item->setFlags(item->flags() | Qt::ItemIsEditable);
92
93 _itemToResourceMapping[item] = assetEntry;
94 _resourceToItemMapping[assetEntry] = item;
95
96 if (AssetManager::_descAssetType(assetEntry) ==
97 AssetManagement::Resources::AssetType::kMesh ||
98 AssetManager::_descAssetType(assetEntry) ==
99 AssetManagement::Resources::AssetType::kMeshAndPhysicsMesh)
100 {
101 meshes->addChild(item);
102 }
103 else if ((AssetManager::_descAssetType(assetEntry) >=
104 AssetType::kTexturesBegin &&
105 AssetManager::_descAssetType(assetEntry) <=
106 AssetType::kTexturesEnd) ||

Callers

nothing calls this directly

Calls 2

clearMethod · 0.80
isValidMethod · 0.45

Tested by

no test coverage detected