2021-01-22 17:01:39 +00:00
|
|
|
#include <hex/plugin.hpp>
|
|
|
|
|
2022-12-02 11:00:04 +00:00
|
|
|
#include <hex/api/content_registry.hpp>
|
2022-12-05 08:31:16 +00:00
|
|
|
#include <hex/helpers/logger.hpp>
|
|
|
|
|
2022-12-02 11:00:04 +00:00
|
|
|
#include <romfs/romfs.hpp>
|
|
|
|
#include <nlohmann/json.hpp>
|
|
|
|
|
2021-01-22 17:01:39 +00:00
|
|
|
namespace hex::plugin::builtin {
|
|
|
|
|
2022-05-27 18:42:07 +00:00
|
|
|
void registerEventHandlers();
|
|
|
|
void registerDataVisualizers();
|
2021-01-22 17:01:39 +00:00
|
|
|
void registerDataInspectorEntries();
|
|
|
|
void registerToolEntries();
|
|
|
|
void registerPatternLanguageFunctions();
|
2022-04-17 14:57:30 +00:00
|
|
|
void registerPatternLanguagePragmas();
|
2023-01-20 20:16:28 +00:00
|
|
|
void registerPatternLanguageVisualizers();
|
2021-01-22 17:01:39 +00:00
|
|
|
void registerCommandPaletteCommands();
|
|
|
|
void registerSettings();
|
2022-07-02 14:22:38 +00:00
|
|
|
void loadSettings();
|
2021-01-30 21:39:06 +00:00
|
|
|
void registerDataProcessorNodes();
|
2022-05-30 14:36:46 +00:00
|
|
|
void registerHashes();
|
2021-12-07 21:47:41 +00:00
|
|
|
void registerProviders();
|
2022-01-12 23:27:31 +00:00
|
|
|
void registerDataFormatters();
|
2022-01-17 23:10:10 +00:00
|
|
|
void registerLayouts();
|
|
|
|
void registerMainMenuEntries();
|
2022-02-01 17:09:40 +00:00
|
|
|
void createWelcomeScreen();
|
2022-05-27 18:42:07 +00:00
|
|
|
void registerViews();
|
2022-12-29 18:26:00 +00:00
|
|
|
void registerThemeHandlers();
|
2023-02-16 17:06:40 +00:00
|
|
|
void registerStyleHandlers();
|
2022-12-29 18:26:00 +00:00
|
|
|
void registerThemes();
|
2021-01-22 17:01:39 +00:00
|
|
|
|
2021-06-07 16:13:54 +00:00
|
|
|
void addFooterItems();
|
2021-08-20 22:52:11 +00:00
|
|
|
void addToolbarItems();
|
2022-05-27 18:42:07 +00:00
|
|
|
void addGlobalUIItems();
|
2021-06-07 16:13:54 +00:00
|
|
|
|
2022-07-29 09:34:55 +00:00
|
|
|
void handleBorderlessWindowMode();
|
|
|
|
|
2021-01-22 17:01:39 +00:00
|
|
|
}
|
|
|
|
|
2021-02-19 12:22:12 +00:00
|
|
|
IMHEX_PLUGIN_SETUP("Built-in", "WerWolv", "Default ImHex functionality") {
|
2021-01-22 17:01:39 +00:00
|
|
|
|
|
|
|
using namespace hex::plugin::builtin;
|
|
|
|
|
2022-12-05 08:31:16 +00:00
|
|
|
hex::log::debug("Using romfs: '{}'", romfs::name());
|
2022-12-02 11:00:04 +00:00
|
|
|
for (auto &path : romfs::list("lang"))
|
|
|
|
hex::ContentRegistry::Language::addLocalization(nlohmann::json::parse(romfs::get(path).string()));
|
2022-02-16 20:32:33 +00:00
|
|
|
|
2022-05-27 18:42:07 +00:00
|
|
|
registerEventHandlers();
|
|
|
|
registerDataVisualizers();
|
2021-01-22 17:01:39 +00:00
|
|
|
registerDataInspectorEntries();
|
|
|
|
registerToolEntries();
|
|
|
|
registerPatternLanguageFunctions();
|
2022-04-17 14:57:30 +00:00
|
|
|
registerPatternLanguagePragmas();
|
2023-01-20 20:16:28 +00:00
|
|
|
registerPatternLanguageVisualizers();
|
2021-01-22 17:01:39 +00:00
|
|
|
registerCommandPaletteCommands();
|
|
|
|
registerSettings();
|
2022-07-02 14:22:38 +00:00
|
|
|
loadSettings();
|
2021-01-30 21:39:06 +00:00
|
|
|
registerDataProcessorNodes();
|
2022-05-30 14:36:46 +00:00
|
|
|
registerHashes();
|
2021-12-07 21:47:41 +00:00
|
|
|
registerProviders();
|
2022-01-12 23:27:31 +00:00
|
|
|
registerDataFormatters();
|
2022-02-01 17:09:40 +00:00
|
|
|
createWelcomeScreen();
|
2022-05-27 18:42:07 +00:00
|
|
|
registerViews();
|
2022-12-29 18:26:00 +00:00
|
|
|
registerThemeHandlers();
|
2023-02-16 17:06:40 +00:00
|
|
|
registerStyleHandlers();
|
2022-12-29 18:26:00 +00:00
|
|
|
registerThemes();
|
2021-02-13 14:15:32 +00:00
|
|
|
|
2021-06-07 16:13:54 +00:00
|
|
|
addFooterItems();
|
2021-08-20 22:52:11 +00:00
|
|
|
addToolbarItems();
|
2022-05-27 18:42:07 +00:00
|
|
|
addGlobalUIItems();
|
|
|
|
|
2022-01-17 23:10:10 +00:00
|
|
|
registerLayouts();
|
|
|
|
registerMainMenuEntries();
|
2022-07-29 09:34:55 +00:00
|
|
|
|
|
|
|
handleBorderlessWindowMode();
|
2021-01-22 17:01:39 +00:00
|
|
|
}
|
2022-02-01 17:09:40 +00:00
|
|
|
|
|
|
|
// This is the default plugin
|
|
|
|
// DO NOT USE THIS IN ANY OTHER PLUGIN
|
2022-02-07 14:42:38 +00:00
|
|
|
extern "C" bool isBuiltinPlugin() { return true; }
|