patterns: Properly display exported variables

This commit is contained in:
WerWolv 2023-05-28 15:44:01 +02:00
parent 8d8a5a70f3
commit 5e0ca4ac50
3 changed files with 12 additions and 5 deletions

@ -1 +1 @@
Subproject commit 0ed726bf602a3930e7587595693254d91670902f
Subproject commit ebd5b02eda3d40727fb22f98b98a380878b82e2f

View File

@ -360,6 +360,7 @@
"hex.builtin.nodes.visualizer.layered_dist.header": "Layered Distribution",
"hex.builtin.pattern_drawer.color": "Color",
"hex.builtin.pattern_drawer.double_click": "Double-click to see more items",
"hex.builtin.pattern_drawer.local": "Local",
"hex.builtin.pattern_drawer.offset": "Offset",
"hex.builtin.pattern_drawer.size": "Size",
"hex.builtin.pattern_drawer.type": "Type",

View File

@ -114,10 +114,16 @@ namespace hex::plugin::builtin::ui {
}
void drawOffsetColumn(const pl::ptrn::Pattern& pattern) {
if (auto *bitfieldMember = dynamic_cast<pl::ptrn::PatternBitfieldMember const*>(&pattern); bitfieldMember != nullptr && bitfieldMember->getParentBitfield() != nullptr)
drawOffsetColumnForBitfieldMember(*bitfieldMember);
else
ImGui::TextFormatted("0x{0:08X} : 0x{1:08X}", pattern.getOffset(), pattern.getOffset() + pattern.getSize() - (pattern.getSize() == 0 ? 0 : 1));
if (pattern.isPatternLocal()) {
ImGui::TextFormatted("[{}]", "hex.builtin.pattern_drawer.local"_lang);
} else {
if (auto *bitfieldMember = dynamic_cast<pl::ptrn::PatternBitfieldMember const*>(&pattern); bitfieldMember != nullptr && bitfieldMember->getParentBitfield() != nullptr)
drawOffsetColumnForBitfieldMember(*bitfieldMember);
else {
ImGui::TextFormatted("0x{0:08X} : 0x{1:08X}", pattern.getOffset(), pattern.getOffset() + pattern.getSize() - (pattern.getSize() == 0 ? 0 : 1));
}
}
ImGui::TableNextColumn();
}