ui: Limit maximum length of data displayed in pattern tooltip
This commit is contained in:
parent
ce8c64a679
commit
2b135cf7e0
@ -304,6 +304,13 @@ namespace hex {
|
|||||||
|
|
||||||
std::optional<std::string> getEnvironmentVariable(const std::string &env);
|
std::optional<std::string> getEnvironmentVariable(const std::string &env);
|
||||||
|
|
||||||
|
inline std::string limitStringLength(const std::string &string, size_t maxLength) {
|
||||||
|
if (string.length() <= maxLength)
|
||||||
|
return string;
|
||||||
|
|
||||||
|
return string.substr(0, maxLength - 3) + "...";
|
||||||
|
}
|
||||||
|
|
||||||
namespace scope_guard {
|
namespace scope_guard {
|
||||||
|
|
||||||
#define SCOPE_GUARD ::hex::scope_guard::ScopeGuardOnExit() + [&]()
|
#define SCOPE_GUARD ::hex::scope_guard::ScopeGuardOnExit() + [&]()
|
||||||
|
@ -276,6 +276,7 @@ namespace hex::plugin::builtin {
|
|||||||
auto patterns = ProviderExtraData::getCurrent().patternLanguage.runtime->getPatternsAtAddress(address);
|
auto patterns = ProviderExtraData::getCurrent().patternLanguage.runtime->getPatternsAtAddress(address);
|
||||||
if (!patterns.empty() && !std::all_of(patterns.begin(), patterns.end(), [](const auto &pattern) { return pattern->isHidden(); })) {
|
if (!patterns.empty() && !std::all_of(patterns.begin(), patterns.end(), [](const auto &pattern) { return pattern->isHidden(); })) {
|
||||||
ImGui::BeginTooltip();
|
ImGui::BeginTooltip();
|
||||||
|
|
||||||
for (const auto &pattern : patterns) {
|
for (const auto &pattern : patterns) {
|
||||||
if (pattern->isHidden())
|
if (pattern->isHidden())
|
||||||
continue;
|
continue;
|
||||||
@ -294,7 +295,6 @@ namespace hex::plugin::builtin {
|
|||||||
ImGui::PopStyleColor(2);
|
ImGui::PopStyleColor(2);
|
||||||
}
|
}
|
||||||
ImGui::PopID();
|
ImGui::PopID();
|
||||||
|
|
||||||
}
|
}
|
||||||
ImGui::EndTooltip();
|
ImGui::EndTooltip();
|
||||||
}
|
}
|
||||||
@ -716,7 +716,7 @@ namespace hex::plugin::builtin {
|
|||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
|
ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
|
||||||
ImGui::SameLine();
|
ImGui::SameLine();
|
||||||
ImGui::TextFormatted("{} ", pattern->getFormattedValue());
|
ImGui::TextFormatted("{} ", hex::limitStringLength(pattern->getFormattedValue(), 64));
|
||||||
|
|
||||||
if (ImGui::GetIO().KeyShift) {
|
if (ImGui::GetIO().KeyShift) {
|
||||||
ImGui::Indent();
|
ImGui::Indent();
|
||||||
|
Loading…
Reference in New Issue
Block a user