diff --git a/src/gui2/build.py b/src/gui2/build.py index 97d98157..46baae43 100644 --- a/src/gui2/build.py +++ b/src/gui2/build.py @@ -510,6 +510,8 @@ plugin( "./controlpanelview.h", "./datastore.cc", "./datastore.h", + "./exerciserview.cc", + "./exerciserview.h", "./diskprovider.cc", "./diskprovider.h", "./fluxengine.cc", diff --git a/src/gui2/exerciserview.cc b/src/gui2/exerciserview.cc new file mode 100644 index 00000000..e87de6fa --- /dev/null +++ b/src/gui2/exerciserview.cc @@ -0,0 +1,25 @@ +#include +#include +#include +#include +#include +#include +#include "lib/core/globals.h" +#include "lib/config/config.h" +#include "lib/data/disk.h" +#include "lib/data/sector.h" +#include "lib/config/proto.h" +#include "globals.h" +#include "exerciserview.h" +#include "datastore.h" +#include "utils.h" +#include +#include + +using namespace hex; + +ExerciserView::ExerciserView(): View::Modal("fluxengine.view.exerciser.name", ICON_VS_DEBUG) {} + +void ExerciserView::drawContent() +{ +} \ No newline at end of file diff --git a/src/gui2/exerciserview.h b/src/gui2/exerciserview.h new file mode 100644 index 00000000..95e25c28 --- /dev/null +++ b/src/gui2/exerciserview.h @@ -0,0 +1,22 @@ +#pragma once + +#include + +class ExerciserView : public hex::View::Modal +{ +public: + ExerciserView(); + ~ExerciserView() override = default; + + void drawContent() override; + + [[nodiscard]] bool shouldDraw() const override + { + return true; + } + [[nodiscard]] bool hasViewMenuItemEntry() const override + { + return false; + } +}; + diff --git a/src/gui2/fluxengine.cc b/src/gui2/fluxengine.cc index 8bcee69a..9064b5cc 100644 --- a/src/gui2/fluxengine.cc +++ b/src/gui2/fluxengine.cc @@ -16,6 +16,7 @@ #include "controlpanelview.h" #include "logview.h" #include "visualiserview.h" +#include "exerciserview.h" #include "diskprovider.h" #include "datastore.h" @@ -65,6 +66,18 @@ IMHEX_PLUGIN_SETUP("FluxEngine", "David Given", "FluxEngine integration") hex::WorkspaceManager::switchWorkspace(currentWorkspaceName); }); + hex::ContentRegistry::UserInterface::addMenuItem( + {"hex.builtin.menu.extras", "fluxengine.menu.tools.exerciser"}, + ICON_TA_TOOLS, + 2500, + hex::Shortcut::None, + [] + { + hex::ContentRegistry::Views::getViewByName( + "fluxengine.view.exerciser.name") + ->getWindowOpenState() = true; + }); + hex::ContentRegistry::Provider::add(); hex::ContentRegistry::Views::add(); @@ -74,6 +87,7 @@ IMHEX_PLUGIN_SETUP("FluxEngine", "David Given", "FluxEngine integration") hex::ContentRegistry::Views::add(); hex::ContentRegistry::Views::add(); hex::ContentRegistry::Views::add(); + hex::ContentRegistry::Views::add(); Datastore::init(); }