From 975c3a927645ceb2157ebe2a937e75057fc31a9e Mon Sep 17 00:00:00 2001 From: WerWolv Date: Tue, 17 Nov 2020 02:33:15 +0100 Subject: [PATCH] Added byte color to pattern data table --- source/views/view_pattern_data.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/source/views/view_pattern_data.cpp b/source/views/view_pattern_data.cpp index 0da14385c..334456a06 100644 --- a/source/views/view_pattern_data.cpp +++ b/source/views/view_pattern_data.cpp @@ -25,7 +25,8 @@ namespace hex { if (this->m_dataProvider != nullptr && this->m_dataProvider->isReadable()) { - if (ImGui::BeginTable("##patterndatatable", 5, ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_Sortable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_RowBg)) { + if (ImGui::BeginTable("##patterndatatable", 6, ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable | ImGuiTableFlags_Sortable | ImGuiTableFlags_Reorderable | ImGuiTableFlags_RowBg)) { + ImGui::TableSetupColumn("Color", 0, -1, ImGui::GetID("color")); ImGui::TableSetupColumn("Name", 0, -1, ImGui::GetID("name")); ImGui::TableSetupColumn("Position", 0, -1, ImGui::GetID("position")); ImGui::TableSetupColumn("Size", 0, -1, ImGui::GetID("size")); @@ -74,6 +75,12 @@ namespace hex { else return left->getTypeName() < right->getTypeName(); } + else if (sortSpecs->Specs->ColumnUserID == ImGui::GetID("color")) { + if (sortSpecs->Specs->SortDirection == ImGuiSortDirection_Ascending) + return left->getColor() > right->getColor(); + else + return left->getColor() < right->getColor(); + } return false; }); @@ -86,6 +93,8 @@ namespace hex { for (auto& patternData : this->m_sortedPatternData) { ImGui::TableNextRow(ImGuiTableRowFlags_Headers); ImGui::TableNextColumn(); + ImGui::ColorButton("color", ImColor(patternData->getColor()), ImGuiColorEditFlags_NoTooltip); + ImGui::TableNextColumn(); ImGui::Text("%s", patternData->getName().c_str()); ImGui::TableNextColumn(); ImGui::Text("0x%08lx : 0x%08lx", patternData->getOffset(), patternData->getOffset() + patternData->getSize());