fix: Add missing language key, make sure simple pattern value editor sorting is stable

This commit is contained in:
WerWolv
2025-07-24 23:42:02 +02:00
parent e0180b718f
commit 574c039cc8
2 changed files with 11 additions and 4 deletions

View File

@@ -948,6 +948,7 @@
"hex.builtin.view.pattern_data.name": "Pattern Data",
"hex.builtin.view.pattern_data.section.main": "Main",
"hex.builtin.view.pattern_data.section.view_raw": "View Raw Data",
"hex.builtin.view.pattern_data.simplified_editor": "Simplified",
"hex.builtin.view.pattern_editor.accept_pattern": "Accept pattern",
"hex.builtin.view.pattern_editor.accept_pattern.desc": "One or more Patterns compatible with this data type has been found",
"hex.builtin.view.pattern_editor.accept_pattern.pattern_language": "Patterns",

View File

@@ -155,11 +155,17 @@ namespace hex::plugin::builtin {
constexpr static auto SimplifiedEditorAttribute = "hex::editor_export";
if (TRY_LOCK(ContentRegistry::PatternLanguage::getRuntimeLock()) && patternsValid) {
const auto &patterns = runtime.getPatternsWithAttribute(SimplifiedEditorAttribute);
const auto &patternSet = runtime.getPatternsWithAttribute(SimplifiedEditorAttribute);
std::vector<pl::ptrn::Pattern*> patterns = { patternSet.begin(), patternSet.end() };
std::ranges::sort(patterns, [](const pl::ptrn::Pattern *a, const pl::ptrn::Pattern *b) {
return a->getOffset() < b->getOffset() || a->getDisplayName() < b->getDisplayName();
});
if (!patterns.empty()) {
const auto tabName = "hex.builtin.view.pattern_data.simplified_editor"_lang;
ImGui::TabItemSpacing("##spacing", 0, ImGui::GetContentRegionAvail().x - ImGui::TabItemCalcSize(tabName, false).x);
if (ImGui::BeginTabItem(tabName, nullptr, ImGuiTabItemFlags_Trailing)) {
constexpr auto TabName = "hex.builtin.view.pattern_data.simplified_editor"_lang;
ImGui::TabItemSpacing("##spacing", 0, ImGui::GetContentRegionAvail().x - ImGui::TabItemCalcSize(TabName, false).x);
if (ImGui::BeginTabItem(TabName, nullptr, ImGuiTabItemFlags_Trailing)) {
for (const auto &pattern : patterns) {
try {
const auto attribute = pattern->getAttributeArguments(SimplifiedEditorAttribute);