#pragma once #include #include #include #include #include #include #include namespace hex { namespace prv { class Provider; } class ViewDataProcessor : public View { public: ViewDataProcessor(); ~ViewDataProcessor() override; void drawContent() override; void drawMenu() override; private: std::list m_endNodes; std::list m_nodes; std::list m_links; std::vector m_dataOverlays; int m_rightClickedId = -1; ImVec2 m_rightClickedCoords; std::optional m_currNodeError; void eraseLink(u32 id); void eraseNodes(const std::vector &ids); void processNodes(); std::string saveNodes(); void loadNodes(std::string_view data); }; }