#pragma once #include #include #include #include #include #include #include #include #include #include namespace hex { class ViewPatternEditor : public View { public: ViewPatternEditor(); ~ViewPatternEditor() override; void drawMenu() override; void drawAlwaysVisible() override; void drawContent() override; private: pl::PatternLanguage *m_patternLanguageRuntime; std::vector m_possiblePatternFiles; int m_selectedPatternFile = 0; bool m_runAutomatically = false; bool m_evaluatorRunning = false; bool m_hasUnevaluatedChanges = false; TextEditor m_textEditor; std::vector> m_console; void loadPatternFile(const std::string &path); void clearPatternData(); void parsePattern(char *buffer); }; }