patterns: Move logic to draw patterns into separate class (#472)

* refactor(patterns): add visitor interface

* refactor(patterns): add public accessors

* refactor(patterns): add method to get pattern value

* refactor(pattern): make some methods public

* refactor(pattern): extract code to draw GUI

* refactor(patterns): remove GUI related code from patterns

* refactor: move common GUI function from pattern to pattern_drawer

* refactor(pattern_drawer): extract common code into methods

* refactor: rename ImGuiDrawer -> PatternDrawer

* refactor(patternr): move displayEnd into PatternDrawer

* refactor: use ArrayPattern concept to restrict argument type

Co-authored-by: Dmitry Polshakov <dmitry.polshakov@dsr-corporation.com>
This commit is contained in:
Polshakov Dmitry
2022-03-21 15:52:07 +03:00
committed by GitHub
parent 854c99bafa
commit 5dfa9cf501
21 changed files with 674 additions and 433 deletions

View File

@@ -61,8 +61,9 @@ namespace hex::plugin::builtin {
ImGui::TableHeadersRow();
if (!sortedPatterns.empty()) {
m_drawer.setProvider(provider);
for (auto &patterns : sortedPatterns)
patterns->draw(provider);
patterns->accept(m_drawer);
}
ImGui::EndTable();