patterns: Fixed color attribute not working correctly for arrays and structs
Fixes #388
This commit is contained in:
parent
077bc45b7d
commit
490eaef5c1
@ -115,7 +115,7 @@ namespace hex::pl {
|
||||
void setTypeName(std::string name) { this->m_typeName = std::move(name); }
|
||||
|
||||
[[nodiscard]] u32 getColor() const { return this->m_color; }
|
||||
void setColor(u32 color) { this->m_color = color; }
|
||||
virtual void setColor(u32 color) { this->m_color = color; }
|
||||
|
||||
[[nodiscard]] std::endian getEndian() const { return this->m_endian; }
|
||||
void setEndian(std::endian endian) { this->m_endian = endian; }
|
||||
@ -429,6 +429,11 @@ namespace hex::pl {
|
||||
return this->m_pointedAt;
|
||||
}
|
||||
|
||||
void setColor(u32 color) override {
|
||||
PatternData::setColor(color);
|
||||
this->m_pointedAt->setColor(color);
|
||||
}
|
||||
|
||||
[[nodiscard]] bool operator==(const PatternData &other) const override {
|
||||
return areCommonPropertiesEqual<decltype(*this)>(other) &&
|
||||
*static_cast<const PatternDataPointer*>(&other)->m_pointedAt == *this->m_pointedAt;
|
||||
@ -756,6 +761,12 @@ namespace hex::pl {
|
||||
PatternData::setOffset(offset);
|
||||
}
|
||||
|
||||
void setColor(u32 color) override {
|
||||
PatternData::setColor(color);
|
||||
for (auto &entry : this->m_entries)
|
||||
entry->setColor(color);
|
||||
}
|
||||
|
||||
void createEntry(prv::Provider* &provider) override {
|
||||
if (this->m_entries.empty())
|
||||
return;
|
||||
@ -956,6 +967,11 @@ namespace hex::pl {
|
||||
PatternData::clearHighlightedAddresses();
|
||||
}
|
||||
|
||||
void setColor(u32 color) override {
|
||||
PatternData::setColor(color);
|
||||
this->m_template->setColor(color);
|
||||
}
|
||||
|
||||
[[nodiscard]] std::string getFormattedName() const override {
|
||||
return this->m_template->getTypeName() + "[" + std::to_string(this->m_entryCount) + "]";
|
||||
}
|
||||
@ -1079,6 +1095,12 @@ namespace hex::pl {
|
||||
PatternData::clearHighlightedAddresses();
|
||||
}
|
||||
|
||||
void setColor(u32 color) override {
|
||||
PatternData::setColor(color);
|
||||
for (auto &member : this->m_members)
|
||||
member->setColor(color);
|
||||
}
|
||||
|
||||
void sort(ImGuiTableSortSpecs *sortSpecs, prv::Provider *provider) override {
|
||||
this->m_sortedMembers = this->m_members;
|
||||
|
||||
@ -1219,6 +1241,12 @@ namespace hex::pl {
|
||||
PatternData::clearHighlightedAddresses();
|
||||
}
|
||||
|
||||
void setColor(u32 color) override {
|
||||
PatternData::setColor(color);
|
||||
for (auto &member : this->m_members)
|
||||
member->setColor(color);
|
||||
}
|
||||
|
||||
void sort(ImGuiTableSortSpecs *sortSpecs, prv::Provider *provider) override {
|
||||
this->m_sortedMembers = this->m_members;
|
||||
|
||||
@ -1514,6 +1542,12 @@ namespace hex::pl {
|
||||
}
|
||||
}
|
||||
|
||||
void setColor(u32 color) override {
|
||||
PatternData::setColor(color);
|
||||
for (auto &field : this->m_fields)
|
||||
field->setColor(color);
|
||||
}
|
||||
|
||||
[[nodiscard]] bool operator==(const PatternData &other) const override {
|
||||
if (!areCommonPropertiesEqual<decltype(*this)>(other))
|
||||
return false;
|
||||
|
@ -522,6 +522,7 @@ namespace hex {
|
||||
|
||||
if (hasWindow) {
|
||||
ImGui::Begin(View::toWindowName(view->getUnlocalizedName()).c_str());
|
||||
|
||||
focused = ImGui::IsWindowFocused(ImGuiFocusedFlags_ChildWindows);
|
||||
ImGui::End();
|
||||
}
|
||||
@ -636,7 +637,7 @@ namespace hex {
|
||||
|
||||
ImGui::TableNextRow(ImGuiTableRowFlags_None, ImGui::GetTextLineHeightWithSpacing() * 6);
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::UnderlinedText("hex.welcome.header.help"_lang);
|
||||
ImGui:: UnderlinedText("hex.welcome.header.help"_lang);
|
||||
ImGui::SetCursorPosY(ImGui::GetCursorPosY() + 5 * SharedData::globalScale);
|
||||
{
|
||||
if (ImGui::IconHyperlink(ICON_VS_GITHUB, "hex.welcome.help.repo"_lang)) hex::openWebpage("hex.welcome.help.repo.link"_lang);
|
||||
|
Loading…
Reference in New Issue
Block a user