diff --git a/dep/build.py b/dep/build.py index ddd94bca..bb950c75 100644 --- a/dep/build.py +++ b/dep/build.py @@ -772,6 +772,7 @@ "dep/r/pattern-language/lib/source/pl/core/ast/ast_node_struct.cpp", "dep/r/pattern-language/lib/source/pl/core/ast/ast_node_ternary_expression.cpp", "dep/r/pattern-language/lib/source/pl/core/ast/ast_node_try_catch_statement.cpp", + "dep/r/pattern-language/lib/source/pl/core/ast/ast_node_type_application.cpp", "dep/r/pattern-language/lib/source/pl/core/ast/ast_node_type_decl.cpp", "dep/r/pattern-language/lib/source/pl/core/ast/ast_node_type_operator.cpp", "dep/r/pattern-language/lib/source/pl/core/ast/ast_node_union.cpp", @@ -848,8 +849,10 @@ "pl/core/ast/ast_node_rvalue_assignment.hpp", "pl/core/ast/ast_node_scope_resolution.hpp", "pl/core/ast/ast_node_struct.hpp", + "pl/core/ast/ast_node_template_parameter.hpp", "pl/core/ast/ast_node_ternary_expression.hpp", "pl/core/ast/ast_node_try_catch_statement.hpp", + "pl/core/ast/ast_node_type_appilication.hpp", "pl/core/ast/ast_node_type_decl.hpp", "pl/core/ast/ast_node_type_operator.hpp", "pl/core/ast/ast_node_union.hpp", @@ -899,8 +902,8 @@ git_repository( name="patternlanguage_repo", url="https://github.com/WerWolv/PatternLanguage", - branch="ImHex-v1.38.0", - commit="f97999d4da8f64df0706227f8b5a6a861e5a95ff", + branch="master", + commit="2e49805fcc715acdc8706f87467a8d0ed7268855", path="dep/r/pattern-language", ), ], @@ -953,7 +956,7 @@ git_repository( name="imhex_repo", - url="https://github.com/davidgiven/ImHex", + url="https://github.com/the-claw/ImHex", branch="master", path="dep/r/imhex", ) diff --git a/src/gui2/abstractsectorview.cc b/src/gui2/abstractsectorview.cc index 65e5ae61..9f28ac9a 100644 --- a/src/gui2/abstractsectorview.cc +++ b/src/gui2/abstractsectorview.cc @@ -198,3 +198,7 @@ void AbstractSectorView::drawContent() } } } + +void AbstractSectorView::drawHelpText() +{ +} \ No newline at end of file diff --git a/src/gui2/abstractsectorview.h b/src/gui2/abstractsectorview.h index 6d83d784..06961761 100644 --- a/src/gui2/abstractsectorview.h +++ b/src/gui2/abstractsectorview.h @@ -12,6 +12,7 @@ class AbstractSectorView : public hex::View::Window AbstractSectorView(const std::string& name); void drawContent() override; + void drawHelpText() override; [[nodiscard]] bool shouldDraw() const override { diff --git a/src/gui2/build.py b/src/gui2/build.py index 94435f48..1d300752 100644 --- a/src/gui2/build.py +++ b/src/gui2/build.py @@ -124,12 +124,18 @@ "dep/r/imhex/lib/libimhex/source/api/theme_manager.cpp", "dep/r/imhex/lib/libimhex/source/api/tutorial_manager.cpp", "dep/r/imhex/lib/libimhex/source/api/workspace_manager.cpp", + "dep/r/imhex/lib/libimhex/source/data_processor/attribute.cpp", + "dep/r/imhex/lib/libimhex/source/data_processor/link.cpp", + "dep/r/imhex/lib/libimhex/source/data_processor/node.cpp", + "dep/r/imhex/lib/libimhex/source/helpers/binary_pattern.cpp", "dep/r/imhex/lib/libimhex/source/helpers/crypto.cpp", "dep/r/imhex/lib/libimhex/source/helpers/debugging.cpp", "dep/r/imhex/lib/libimhex/source/helpers/encoding_file.cpp", "dep/r/imhex/lib/libimhex/source/helpers/fs.cpp", "dep/r/imhex/lib/libimhex/source/helpers/http_requests.cpp", + "dep/r/imhex/lib/libimhex/source/helpers/http_requests_emscripten.cpp", "dep/r/imhex/lib/libimhex/source/helpers/http_requests_native.cpp", + "dep/r/imhex/lib/libimhex/source/helpers/imgui_hooks.cpp", "dep/r/imhex/lib/libimhex/source/helpers/keys.cpp", "dep/r/imhex/lib/libimhex/source/helpers/logger.cpp", "dep/r/imhex/lib/libimhex/source/helpers/magic.cpp", @@ -140,118 +146,129 @@ "dep/r/imhex/lib/libimhex/source/helpers/tar.cpp", "dep/r/imhex/lib/libimhex/source/helpers/udp_server.cpp", "dep/r/imhex/lib/libimhex/source/helpers/utils.cpp", + "dep/r/imhex/lib/libimhex/source/mcp/client.cpp", + "dep/r/imhex/lib/libimhex/source/mcp/server.cpp", "dep/r/imhex/lib/libimhex/source/providers/cached_provider.cpp", "dep/r/imhex/lib/libimhex/source/providers/memory_provider.cpp", "dep/r/imhex/lib/libimhex/source/providers/provider.cpp", "dep/r/imhex/lib/libimhex/source/providers/undo/stack.cpp", "dep/r/imhex/lib/libimhex/source/subcommands/subcommands.cpp", + "dep/r/imhex/lib/libimhex/source/test/tests.cpp", "dep/r/imhex/lib/libimhex/source/ui/banner.cpp", "dep/r/imhex/lib/libimhex/source/ui/imgui_imhex_extensions.cpp", "dep/r/imhex/lib/libimhex/source/ui/popup.cpp", "dep/r/imhex/lib/libimhex/source/ui/toast.cpp", "dep/r/imhex/lib/libimhex/source/ui/view.cpp", ], - hdrs={ - f: f"dep/r/imhex/lib/libimhex/include/{f}" - for f in [ - "hex.hpp", - "hex/api/achievement_manager.hpp", - "hex/api/content_registry/background_services.hpp", - "hex/api/content_registry/command_palette.hpp", - "hex/api/content_registry/communication_interface.hpp", - "hex/api/content_registry/data_formatter.hpp", - "hex/api/content_registry/data_information.hpp", - "hex/api/content_registry/data_inspector.hpp", - "hex/api/content_registry/data_processor.hpp", - "hex/api/content_registry/diffing.hpp", - "hex/api/content_registry/disassemblers.hpp", - "hex/api/content_registry/experiments.hpp", - "hex/api/content_registry/file_type_handler.hpp", - "hex/api/content_registry/hashes.hpp", - "hex/api/content_registry/hex_editor.hpp", - "hex/api/content_registry/pattern_language.hpp", - "hex/api/content_registry/provider.hpp", - "hex/api/content_registry/reports.hpp", - "hex/api/content_registry/settings.hpp", - "hex/api/content_registry/tools.hpp", - "hex/api/content_registry/user_interface.hpp", - "hex/api/content_registry/views.hpp", - "hex/api/event_manager.hpp", - "hex/api/events/events_gui.hpp", - "hex/api/events/events_interaction.hpp", - "hex/api/events/events_lifecycle.hpp", - "hex/api/events/events_provider.hpp", - "hex/api/events/requests_gui.hpp", - "hex/api/events/requests_interaction.hpp", - "hex/api/events/requests_lifecycle.hpp", - "hex/api/events/requests_provider.hpp", - "hex/api/imhex_api/bookmarks.hpp", - "hex/api/imhex_api/fonts.hpp", - "hex/api/imhex_api/hex_editor.hpp", - "hex/api/imhex_api/messaging.hpp", - "hex/api/imhex_api/provider.hpp", - "hex/api/imhex_api/system.hpp", - "hex/api/layout_manager.hpp", - "hex/api/localization_manager.hpp", - "hex/api/plugin_manager.hpp", - "hex/api/project_file_manager.hpp", - "hex/api/shortcut_manager.hpp", - "hex/api/task_manager.hpp", - "hex/api/theme_manager.hpp", - "hex/api/tutorial_manager.hpp", - "hex/api/workspace_manager.hpp", - "hex/api_urls.hpp", - "hex/data_processor/attribute.hpp", - "hex/data_processor/link.hpp", - "hex/data_processor/node.hpp", - "hex/helpers/auto_reset.hpp", - "hex/helpers/binary_pattern.hpp", - "hex/helpers/concepts.hpp", - "hex/helpers/crypto.hpp", - "hex/helpers/debugging.hpp", - "hex/helpers/default_paths.hpp", - "hex/helpers/encoding_file.hpp", - "hex/helpers/fmt.hpp", - "hex/helpers/fs.hpp", - "hex/helpers/http_requests.hpp", - "hex/helpers/http_requests_emscripten.hpp", - "hex/helpers/http_requests_native.hpp", - "hex/helpers/keys.hpp", - "hex/helpers/literals.hpp", - "hex/helpers/logger.hpp", - "hex/helpers/magic.hpp", - "hex/helpers/menu_items.hpp", - "hex/helpers/opengl.hpp", - "hex/helpers/patches.hpp", - "hex/helpers/scaling.hpp", - "hex/helpers/semantic_version.hpp", - "hex/helpers/tar.hpp", - "hex/helpers/types.hpp", - "hex/helpers/udp_server.hpp", - "hex/helpers/utils.hpp", - "hex/helpers/utils_linux.hpp", - "hex/helpers/utils_macos.hpp", - "hex/plugin.hpp", - "hex/providers/buffered_reader.hpp", - "hex/providers/cached_provider.hpp", - "hex/providers/memory_provider.hpp", - "hex/providers/overlay.hpp", - "hex/providers/provider.hpp", - "hex/providers/provider_data.hpp", - "hex/providers/undo_redo/operations/operation.hpp", - "hex/providers/undo_redo/operations/operation_group.hpp", - "hex/providers/undo_redo/stack.hpp", - "hex/subcommands/subcommands.hpp", - "hex/test/test_provider.hpp", - "hex/test/tests.hpp", - "hex/ui/banner.hpp", - "hex/ui/imgui_imhex_extensions.h", - "hex/ui/popup.hpp", - "hex/ui/toast.hpp", - "hex/ui/view.hpp", - "hex/ui/widgets.hpp", - ] - }, + hdrs=( + { + f: f"dep/r/imhex/lib/libimhex/include/{f}" + for f in [ + "hex.hpp", + "hex/api/achievement_manager.hpp", + "hex/api/content_registry/background_services.hpp", + "hex/api/content_registry/command_palette.hpp", + "hex/api/content_registry/communication_interface.hpp", + "hex/api/content_registry/data_formatter.hpp", + "hex/api/content_registry/data_information.hpp", + "hex/api/content_registry/data_inspector.hpp", + "hex/api/content_registry/data_processor.hpp", + "hex/api/content_registry/diffing.hpp", + "hex/api/content_registry/disassemblers.hpp", + "hex/api/content_registry/experiments.hpp", + "hex/api/content_registry/file_type_handler.hpp", + "hex/api/content_registry/hashes.hpp", + "hex/api/content_registry/hex_editor.hpp", + "hex/api/content_registry/pattern_language.hpp", + "hex/api/content_registry/provider.hpp", + "hex/api/content_registry/reports.hpp", + "hex/api/content_registry/settings.hpp", + "hex/api/content_registry/tools.hpp", + "hex/api/content_registry/user_interface.hpp", + "hex/api/content_registry/views.hpp", + "hex/api/event_manager.hpp", + "hex/api/events/events_gui.hpp", + "hex/api/events/events_interaction.hpp", + "hex/api/events/events_lifecycle.hpp", + "hex/api/events/events_provider.hpp", + "hex/api/events/requests_gui.hpp", + "hex/api/events/requests_interaction.hpp", + "hex/api/events/requests_lifecycle.hpp", + "hex/api/events/requests_provider.hpp", + "hex/api/imhex_api/bookmarks.hpp", + "hex/api/imhex_api/fonts.hpp", + "hex/api/imhex_api/hex_editor.hpp", + "hex/api/imhex_api/messaging.hpp", + "hex/api/imhex_api/provider.hpp", + "hex/api/imhex_api/system.hpp", + "hex/api/layout_manager.hpp", + "hex/api/localization_manager.hpp", + "hex/api/plugin_manager.hpp", + "hex/api/project_file_manager.hpp", + "hex/api/shortcut_manager.hpp", + "hex/api/task_manager.hpp", + "hex/api/theme_manager.hpp", + "hex/api/tutorial_manager.hpp", + "hex/api/workspace_manager.hpp", + "hex/api_urls.hpp", + "hex/data_processor/attribute.hpp", + "hex/data_processor/link.hpp", + "hex/data_processor/node.hpp", + "hex/helpers/auto_reset.hpp", + "hex/helpers/binary_pattern.hpp", + "hex/helpers/concepts.hpp", + "hex/helpers/crypto.hpp", + "hex/helpers/debugging.hpp", + "hex/helpers/default_paths.hpp", + "hex/helpers/encoding_file.hpp", + "hex/helpers/fmt.hpp", + "hex/helpers/fs.hpp", + "hex/helpers/http_requests.hpp", + "hex/helpers/http_requests_emscripten.hpp", + "hex/helpers/http_requests_native.hpp", + "hex/helpers/keys.hpp", + "hex/helpers/literals.hpp", + "hex/helpers/logger.hpp", + "hex/helpers/magic.hpp", + "hex/helpers/menu_items.hpp", + "hex/helpers/opengl.hpp", + "hex/helpers/patches.hpp", + "hex/helpers/scaling.hpp", + "hex/helpers/semantic_version.hpp", + "hex/helpers/tar.hpp", + "hex/helpers/types.hpp", + "hex/helpers/udp_server.hpp", + "hex/helpers/utils.hpp", + "hex/helpers/utils_linux.hpp", + "hex/helpers/utils_macos.hpp", + "hex/mcp/client.hpp", + "hex/mcp/server.hpp", + "hex/plugin.hpp", + "hex/providers/buffered_reader.hpp", + "hex/providers/cached_provider.hpp", + "hex/providers/memory_provider.hpp", + "hex/providers/overlay.hpp", + "hex/providers/provider.hpp", + "hex/providers/provider_data.hpp", + "hex/providers/undo_redo/operations/operation.hpp", + "hex/providers/undo_redo/operations/operation_group.hpp", + "hex/providers/undo_redo/stack.hpp", + "hex/subcommands/subcommands.hpp", + "hex/test/test_provider.hpp", + "hex/test/tests.hpp", + "hex/ui/banner.hpp", + "hex/ui/imgui_imhex_extensions.h", + "hex/ui/popup.hpp", + "hex/ui/toast.hpp", + "hex/ui/view.hpp", + "hex/ui/widgets.hpp", + ] + } + | { + f: f"dep/r/imhex/lib/trace/include/{f}" + for f in ["hex/trace/stacktrace.hpp", "hex/trace/exceptions.hpp"] + } + ), cflags=cflags, deps=[ ".+glfw3_lib", @@ -402,8 +419,10 @@ def plugin(name, id, srcs, hdrs, romfsdir, deps): "dep/r/imhex/plugins/ui/source/ui/text_editor/utf8.cpp", "dep/r/imhex/plugins/ui/source/ui/text_editor/render.cpp", "dep/r/imhex/plugins/ui/source/ui/text_editor/editor.cpp", + "dep/r/imhex/plugins/ui/source/ui/text_editor/codeFolder.cpp", "dep/r/imhex/plugins/ui/source/ui/hex_editor.cpp", "dep/r/imhex/plugins/ui/source/ui/markdown.cpp", + "dep/r/imhex/plugins/ui/source/ui/menu_items.cpp", "dep/r/imhex/plugins/ui/source/ui/pattern_drawer.cpp", "dep/r/imhex/plugins/ui/source/ui/pattern_value_editor.cpp", "dep/r/imhex/plugins/ui/source/ui/visualizer_drawer.cpp", @@ -444,6 +463,7 @@ def plugin(name, id, srcs, hdrs, romfsdir, deps): "./imhex_overrides/ui_items.cc", "./imhex_overrides/views.cpp", "./imhex_overrides/welcome.cc", + "dep/r/imhex/plugins/builtin/source/content/achievements.cpp", "dep/r/imhex/plugins/builtin/source/content/background_services.cpp", "dep/r/imhex/plugins/builtin/source/content/command_line_interface.cpp", "dep/r/imhex/plugins/builtin/source/content/command_palette_commands.cpp", @@ -451,23 +471,47 @@ def plugin(name, id, srcs, hdrs, romfsdir, deps): "dep/r/imhex/plugins/builtin/source/content/data_formatters.cpp", "dep/r/imhex/plugins/builtin/source/content/data_information_sections.cpp", "dep/r/imhex/plugins/builtin/source/content/data_inspector.cpp", + "dep/r/imhex/plugins/builtin/source/content/data_processor_nodes.cpp", + "dep/r/imhex/plugins/builtin/source/content/data_processor_nodes/basic_nodes.cpp", + "dep/r/imhex/plugins/builtin/source/content/data_processor_nodes/control_nodes.cpp", + "dep/r/imhex/plugins/builtin/source/content/data_processor_nodes/decode_nodes.cpp", + "dep/r/imhex/plugins/builtin/source/content/data_processor_nodes/logic_nodes.cpp", + "dep/r/imhex/plugins/builtin/source/content/data_processor_nodes/math_nodes.cpp", + "dep/r/imhex/plugins/builtin/source/content/data_processor_nodes/other_nodes.cpp", + "dep/r/imhex/plugins/builtin/source/content/data_processor_nodes/visual_nodes.cpp", "dep/r/imhex/plugins/builtin/source/content/data_visualizers.cpp", "dep/r/imhex/plugins/builtin/source/content/differing_byte_searcher.cpp", "dep/r/imhex/plugins/builtin/source/content/events.cpp", "dep/r/imhex/plugins/builtin/source/content/file_extraction.cpp", "dep/r/imhex/plugins/builtin/source/content/file_handlers.cpp", "dep/r/imhex/plugins/builtin/source/content/global_actions.cpp", + "dep/r/imhex/plugins/builtin/source/content/helpers/constants.cpp", "dep/r/imhex/plugins/builtin/source/content/init_tasks.cpp", + "dep/r/imhex/plugins/builtin/source/content/main_menu_items.cpp", + "dep/r/imhex/plugins/builtin/source/content/mcp_tools.cpp", "dep/r/imhex/plugins/builtin/source/content/minimap_visualizers.cpp", + "dep/r/imhex/plugins/builtin/source/content/out_of_box_experience.cpp", "dep/r/imhex/plugins/builtin/source/content/pl_builtin_functions.cpp", "dep/r/imhex/plugins/builtin/source/content/pl_builtin_types.cpp", "dep/r/imhex/plugins/builtin/source/content/pl_pragmas.cpp", "dep/r/imhex/plugins/builtin/source/content/pl_visualizers.cpp", "dep/r/imhex/plugins/builtin/source/content/pl_visualizers/chunk_entropy.cpp", "dep/r/imhex/plugins/builtin/source/content/pl_visualizers/hex_viewer.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_base_address.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_decoded_string.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_fill.cpp", "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_find.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_goto.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_insert.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_page_size.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_paste_behaviour.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_remove.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_resize.cpp", + "dep/r/imhex/plugins/builtin/source/content/popups/hex_editor/popup_hex_editor_select.cpp", "dep/r/imhex/plugins/builtin/source/content/project.cpp", + "dep/r/imhex/plugins/builtin/source/content/providers.cpp", "dep/r/imhex/plugins/builtin/source/content/providers/base64_provider.cpp", + "dep/r/imhex/plugins/builtin/source/content/providers/command_provider.cpp", "dep/r/imhex/plugins/builtin/source/content/providers/disk_provider.cpp", "dep/r/imhex/plugins/builtin/source/content/providers/file_provider.cpp", "dep/r/imhex/plugins/builtin/source/content/providers/gdb_provider.cpp", @@ -502,13 +546,18 @@ def plugin(name, id, srcs, hdrs, romfsdir, deps): "dep/r/imhex/plugins/builtin/source/content/tools/tcp_client_server.cpp", "dep/r/imhex/plugins/builtin/source/content/tools/wiki_explainer.cpp", "dep/r/imhex/plugins/builtin/source/content/tools_entries.cpp", + "dep/r/imhex/plugins/builtin/source/content/tutorials/introduction.cpp", + "dep/r/imhex/plugins/builtin/source/content/tutorials/tutorials.cpp", + "dep/r/imhex/plugins/builtin/source/content/ui_items.cpp", + "dep/r/imhex/plugins/builtin/source/content/views.cpp", "dep/r/imhex/plugins/builtin/source/content/views/fullscreen/view_fullscreen_file_info.cpp", "dep/r/imhex/plugins/builtin/source/content/views/fullscreen/view_fullscreen_save_editor.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_about.cpp", + "dep/r/imhex/plugins/builtin/source/content/views/view_achievements.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_bookmarks.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_command_palette.cpp", - "dep/r/imhex/plugins/builtin/source/content/views/view_constants.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_data_inspector.cpp", + "dep/r/imhex/plugins/builtin/source/content/views/view_data_processor.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_find.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_hex_editor.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_highlight_rules.cpp", @@ -522,69 +571,84 @@ def plugin(name, id, srcs, hdrs, romfsdir, deps): "dep/r/imhex/plugins/builtin/source/content/views/view_store.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_theme_manager.cpp", "dep/r/imhex/plugins/builtin/source/content/views/view_tools.cpp", + "dep/r/imhex/plugins/builtin/source/content/views/view_tutorials.cpp", + "dep/r/imhex/plugins/builtin/source/content/welcome_screen.cpp", "dep/r/imhex/plugins/builtin/source/content/window_decoration.cpp", "dep/r/imhex/plugins/builtin/source/content/workspaces.cpp", "dep/r/imhex/plugins/builtin/source/plugin_builtin.cpp", + ], hdrs={ f: f"dep/r/imhex/plugins/builtin/include/{f}" for f in [ + "content/command_line_interface.hpp", + "content/data_processor_nodes.hpp", + "content/differing_byte_searcher.hpp", + "content/export_formatters/export_formatter.hpp", "content/export_formatters/export_formatter_csv.hpp", - "content/export_formatters/export_formatter_tsv.hpp", "content/export_formatters/export_formatter_json.hpp", - "content/export_formatters/export_formatter.hpp", + "content/export_formatters/export_formatter_tsv.hpp", + "content/global_actions.hpp", + "content/helpers/constants.hpp", + "content/helpers/diagrams.hpp", + "content/popups/hex_editor/popup_hex_editor_base_address.hpp", + "content/popups/hex_editor/popup_hex_editor_decoded_string.hpp", + "content/popups/hex_editor/popup_hex_editor_fill.hpp", "content/popups/hex_editor/popup_hex_editor_find.hpp", + "content/popups/hex_editor/popup_hex_editor_goto.hpp", + "content/popups/hex_editor/popup_hex_editor_insert.hpp", + "content/popups/hex_editor/popup_hex_editor_page_size.hpp", + "content/popups/hex_editor/popup_hex_editor_paste_behaviour.hpp", + "content/popups/hex_editor/popup_hex_editor_remove.hpp", + "content/popups/hex_editor/popup_hex_editor_resize.hpp", + "content/popups/hex_editor/popup_hex_editor_select.hpp", "content/popups/popup_blocking_task.hpp", - "content/popups/popup_unsaved_changes.hpp", + "content/popups/popup_crash_recovered.hpp", "content/popups/popup_docs_question.hpp", "content/popups/popup_tasks_waiting.hpp", - "content/popups/popup_crash_recovered.hpp", - "content/text_highlighting/pattern_language.hpp", - "content/recent.hpp", - "content/global_actions.hpp", + "content/popups/popup_unsaved_changes.hpp", "content/providers/base64_provider.hpp", - "content/providers/gdb_provider.hpp", - "content/providers/view_provider.hpp", - "content/providers/process_memory_provider.hpp", + "content/providers/command_provider.hpp", "content/providers/disk_provider.hpp", + "content/providers/file_provider.hpp", + "content/providers/gdb_provider.hpp", + "content/providers/intel_hex_provider.hpp", + "content/providers/memory_file_provider.hpp", + "content/providers/motorola_srec_provider.hpp", "content/providers/null_provider.hpp", + "content/providers/process_memory_provider.hpp", "content/providers/udp_provider.hpp", - "content/providers/intel_hex_provider.hpp", + "content/providers/undo_operations/operation_bookmark.hpp", "content/providers/undo_operations/operation_insert.hpp", "content/providers/undo_operations/operation_remove.hpp", "content/providers/undo_operations/operation_write.hpp", - "content/providers/undo_operations/operation_bookmark.hpp", - "content/providers/motorola_srec_provider.hpp", - "content/providers/memory_file_provider.hpp", - "content/providers/file_provider.hpp", + "content/providers/view_provider.hpp", + "content/recent.hpp", + "content/text_highlighting/pattern_language.hpp", "content/tools_entries.hpp", - "content/helpers/diagrams.hpp", - "content/views/view_constants.hpp", - "content/views/view_theme_manager.hpp", - "content/views/view_about.hpp", "content/views/fullscreen/view_fullscreen_file_info.hpp", "content/views/fullscreen/view_fullscreen_save_editor.hpp", - "content/views/view_patches.hpp", - "content/views/view_tutorials.hpp", - "content/views/view_data_inspector.hpp", - "content/views/view_bookmarks.hpp", - "content/views/view_hex_editor.hpp", + "content/views/view_about.hpp", "content/views/view_achievements.hpp", - "content/views/view_tools.hpp", - "content/views/view_data_processor.hpp", + "content/views/view_bookmarks.hpp", "content/views/view_command_palette.hpp", - "content/views/view_settings.hpp", - "content/views/view_logs.hpp", + "content/views/view_data_inspector.hpp", + "content/views/view_data_processor.hpp", + "content/views/view_find.hpp", + "content/views/view_hex_editor.hpp", "content/views/view_highlight_rules.hpp", "content/views/view_information.hpp", + "content/views/view_logs.hpp", + "content/views/view_patches.hpp", + "content/views/view_pattern_data.hpp", "content/views/view_pattern_editor.hpp", - "content/views/view_find.hpp", "content/views/view_provider_settings.hpp", - "content/views/view_pattern_data.hpp", - "content/views/view_store.hpp ", - "content/command_line_interface.hpp", - "content/data_processor_nodes.hpp", - "content/differing_byte_searcher.hpp", + "content/views/view_settings.hpp", + "content/views/view_store.hpp", + "content/views/view_theme_manager.hpp", + "content/views/view_tools.hpp", + "content/views/view_tutorials.hpp", + "plugin_builtin.hpp", ] }, romfsdir="dep/r/imhex/plugins/builtin/romfs", diff --git a/src/gui2/configview.cc b/src/gui2/configview.cc index 7cadb02e..8c449668 100644 --- a/src/gui2/configview.cc +++ b/src/gui2/configview.cc @@ -382,3 +382,7 @@ void ConfigView::drawContent() } } } + +void ConfigView::drawHelpText() +{ +} diff --git a/src/gui2/configview.h b/src/gui2/configview.h index ec5fb3a1..d9bacd8f 100644 --- a/src/gui2/configview.h +++ b/src/gui2/configview.h @@ -9,6 +9,7 @@ class ConfigView : public hex::View::Window ~ConfigView() override = default; void drawContent() override; + void drawHelpText() override; [[nodiscard]] bool shouldDraw() const override { diff --git a/src/gui2/controlpanelview.cc b/src/gui2/controlpanelview.cc index 2f33fcbf..597f786d 100644 --- a/src/gui2/controlpanelview.cc +++ b/src/gui2/controlpanelview.cc @@ -157,3 +157,7 @@ void ControlPanelView::drawContent() Datastore::stop(); } } + +void ControlPanelView::drawHelpText() +{ +} diff --git a/src/gui2/controlpanelview.h b/src/gui2/controlpanelview.h index b67a2145..d53d5e93 100644 --- a/src/gui2/controlpanelview.h +++ b/src/gui2/controlpanelview.h @@ -9,6 +9,7 @@ class ControlPanelView : public hex::View::Window ~ControlPanelView() override = default; void drawContent() override; + void drawHelpText() override; [[nodiscard]] bool shouldDraw() const override { diff --git a/src/gui2/diskprovider.cc b/src/gui2/diskprovider.cc index 415aacef..6039245f 100644 --- a/src/gui2/diskprovider.cc +++ b/src/gui2/diskprovider.cc @@ -51,9 +51,9 @@ DiskProvider::~DiskProvider() return false; } -[[nodiscard]] bool DiskProvider::open() +[[nodiscard]] hex::prv::Provider::OpenResult DiskProvider::open() { - return true; + return OpenResult(); } void DiskProvider::close() {} diff --git a/src/gui2/diskprovider.h b/src/gui2/diskprovider.h index 6ed61067..e27d22d6 100644 --- a/src/gui2/diskprovider.h +++ b/src/gui2/diskprovider.h @@ -18,7 +18,7 @@ class DiskProvider : public hex::prv::Provider [[nodiscard]] bool isResizable() const override; [[nodiscard]] bool isSavable() const override; - [[nodiscard]] bool open() override; + [[nodiscard]] OpenResult open() override; void close() override; diff --git a/src/gui2/imhex_overrides/achievement_manager.cpp b/src/gui2/imhex_overrides/achievement_manager.cpp index c588f86a..1d7b39e8 100644 --- a/src/gui2/imhex_overrides/achievement_manager.cpp +++ b/src/gui2/imhex_overrides/achievement_manager.cpp @@ -8,4 +8,7 @@ namespace hex { } + void AchievementManager::loadProgress() + { + } } \ No newline at end of file diff --git a/src/gui2/imhex_overrides/imconfig.h b/src/gui2/imhex_overrides/imconfig.h index 0d4ce95a..4297e7bd 100644 --- a/src/gui2/imhex_overrides/imconfig.h +++ b/src/gui2/imhex_overrides/imconfig.h @@ -34,18 +34,17 @@ // while (0)' block so it can be used as a single statement. // #define IM_ASSERT(_EXPR) MyAssert(_EXPR) // #define IM_ASSERT(_EXPR) ((void)(_EXPR)) // Disable asserts -namespace hex::log::impl -{ - void assertionHandler(const char* expr_str, const char* file, int line); +namespace hex::dbg { + [[noreturn]] void assertionHandler(const char* file, int line, const char *function, const char* exprString); } -#define IM_ASSERT(_EXPR) \ - do \ - { \ - if (!(_EXPR)) [[unlikely]] \ - { \ - hex::log::impl::assertionHandler(#_EXPR, __FILE__, __LINE__); \ - } \ - } while (0) + +#if defined(__PRETTY_FUNCTION__) + #define IM_ASSERT(_EXPR) do { if (!(_EXPR)) [[unlikely]] { hex::dbg::assertionHandler(__FILE__, __LINE__, __PRETTY_FUNCTION__, #_EXPR); } } while(0) +#elif defined(__FUNCSIG__) + #define IM_ASSERT(_EXPR) do { if (!(_EXPR)) [[unlikely]] { hex::dbg::assertionHandler(__FILE__, __LINE__, __FUNCSIG__, #_EXPR); } } while(0) +#else + #define IM_ASSERT(_EXPR) do { if (!(_EXPR)) [[unlikely]] { hex::dbg::assertionHandler(__FILE__, __LINE__, __FUNCTION__, #_EXPR); } } while(0) +#endif //---- Define attributes of all API symbols declarations, e.g. for DLL under // Windows diff --git a/src/gui2/imhex_overrides/main_menu_items.cpp b/src/gui2/imhex_overrides/main_menu_items.cpp index 912fde82..fc086d1e 100644 --- a/src/gui2/imhex_overrides/main_menu_items.cpp +++ b/src/gui2/imhex_overrides/main_menu_items.cpp @@ -377,10 +377,10 @@ namespace hex::plugin::builtin { /* Create File */ ContentRegistry::UserInterface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.menu.file.create_file" }, ICON_VS_FILE, 1050, CTRLCMD + Keys::N + AllowWhileTyping, [] { auto newProvider = hex::ImHexApi::Provider::createProvider("hex.builtin.provider.mem_file", true); - if (newProvider != nullptr && !newProvider->open()) - hex::ImHexApi::Provider::remove(newProvider); + if (newProvider != nullptr && newProvider->open().isFailure()) + hex::ImHexApi::Provider::remove(newProvider.get()); else - EventProviderOpened::post(newProvider); + EventProviderOpened::post(newProvider.get()); }, noRunningTasks); /* Open File */ @@ -401,7 +401,7 @@ namespace hex::plugin::builtin { auto provider = ImHexApi::Provider::get(); provider->close(); - if (!provider->open()) + if (provider->open().isFailure()) ImHexApi::Provider::remove(provider, true); EventDataChanged::post(provider); @@ -656,4 +656,4 @@ namespace hex::plugin::builtin { createHelpMenu(); } -} \ No newline at end of file +} diff --git a/src/gui2/imhex_overrides/menu_items.cpp b/src/gui2/imhex_overrides/menu_items.cpp index 3f3a289f..f02b2602 100644 --- a/src/gui2/imhex_overrides/menu_items.cpp +++ b/src/gui2/imhex_overrides/menu_items.cpp @@ -97,6 +97,21 @@ namespace hex::menu { ImGui::EndMenu(); } + bool beginTaskBarMenu() { + #if defined(OS_MACOS) + return beginMenu(ContentRegistry::UserInterface::impl::TaskBarMenuValue, true); + #else + return false; + #endif + } + + void endTaskBarMenu() { + #if defined(OS_MACOS) + endMenu(); + #else + + #endif + } bool menuItem(const char *label, const Shortcut &shortcut, bool selected, bool enabled) { #if defined(OS_MACOS) diff --git a/src/gui2/imhex_overrides/providers.cpp b/src/gui2/imhex_overrides/providers.cpp index 6b0db871..c5797953 100644 --- a/src/gui2/imhex_overrides/providers.cpp +++ b/src/gui2/imhex_overrides/providers.cpp @@ -39,7 +39,7 @@ namespace hex::plugin::builtin { auto providerIds = json.at("providers").get>(); bool success = true; - std::map providerWarnings; + std::map, std::string> providerWarnings; for (const auto &id : providerIds) { auto providerSettings = nlohmann::json::parse(tar.readString(basePath / fmt::format("{}.json", id))); @@ -78,23 +78,24 @@ namespace hex::plugin::builtin { providerWarnings[newProvider] = e.what(); } if (loaded) { - if (!newProvider->open() || !newProvider->isAvailable() || !newProvider->isReadable()) { - providerWarnings[newProvider] = newProvider->getErrorMessage(); + auto openResult = newProvider->open(); + if (openResult.isFailure() || !newProvider->isAvailable() || !newProvider->isReadable()) { + providerWarnings[newProvider] = openResult.getErrorMessage(); } else { - EventProviderOpened::post(newProvider); + EventProviderOpened::post(newProvider.get()); } } } std::string warningMessage; for (const auto &warning : providerWarnings){ - ImHexApi::Provider::remove(warning.first); + ImHexApi::Provider::remove(warning.first.get()); warningMessage.append( fmt::format("\n - {} : {}", warning.first->getName(), warning.second)); } // If no providers were opened, display an error with - // the warnings that happened when opening them + // the warnings that happened when opening them if (ImHexApi::Provider::getProviders().empty()) { ui::ToastError::open(fmt::format("{}{}", "hex.builtin.popup.error.project.load"_lang, "hex.builtin.popup.error.project.load.no_providers"_lang, warningMessage)); diff --git a/src/gui2/imhex_overrides/views.cpp b/src/gui2/imhex_overrides/views.cpp index 2ff13e92..79b6ec93 100644 --- a/src/gui2/imhex_overrides/views.cpp +++ b/src/gui2/imhex_overrides/views.cpp @@ -9,7 +9,6 @@ #include "content/views/view_patches.hpp" #include "content/views/view_command_palette.hpp" #include "content/views/view_settings.hpp" -#include "content/views/view_constants.hpp" #include "content/views/view_store.hpp" #include "content/views/view_provider_settings.hpp" #include "content/views/view_find.hpp" @@ -34,7 +33,6 @@ namespace hex::plugin::builtin { ContentRegistry::Views::add(); ContentRegistry::Views::add(); ContentRegistry::Views::add(); - ContentRegistry::Views::add(); ContentRegistry::Views::add(); ContentRegistry::Views::add(); ContentRegistry::Views::add(); @@ -62,4 +60,4 @@ namespace hex::plugin::builtin { }); } -} \ No newline at end of file +} diff --git a/src/gui2/logview.cc b/src/gui2/logview.cc index b7ff2c3e..682be925 100644 --- a/src/gui2/logview.cc +++ b/src/gui2/logview.cc @@ -66,3 +66,7 @@ void LogView::logMessage(const AnyLogMessage& message) logRenderer->add(message); scrollToEndOnNextRedraw = true; } + +void LogView::drawHelpText() +{ +} \ No newline at end of file diff --git a/src/gui2/logview.h b/src/gui2/logview.h index 25ca56b9..9a408a42 100644 --- a/src/gui2/logview.h +++ b/src/gui2/logview.h @@ -10,6 +10,7 @@ class LogView : public hex::View::Window ~LogView() override = default; void drawContent() override; + void drawHelpText() override; static void logMessage(const AnyLogMessage& message); [[nodiscard]] bool shouldDraw() const override diff --git a/src/gui2/summaryview.cc b/src/gui2/summaryview.cc index e832b5e5..0870f845 100644 --- a/src/gui2/summaryview.cc +++ b/src/gui2/summaryview.cc @@ -395,3 +395,7 @@ void SummaryView::drawContent() } } } + +void SummaryView::drawHelpText() +{ +} \ No newline at end of file diff --git a/src/gui2/summaryview.h b/src/gui2/summaryview.h index 42952e64..dd4af17b 100644 --- a/src/gui2/summaryview.h +++ b/src/gui2/summaryview.h @@ -9,6 +9,7 @@ class SummaryView : public hex::View::Window ~SummaryView() override = default; void drawContent() override; + void drawHelpText() override; [[nodiscard]] bool shouldDraw() const override { diff --git a/src/gui2/visualiserview.cc b/src/gui2/visualiserview.cc index 70e7a1ee..2ffcba26 100644 --- a/src/gui2/visualiserview.cc +++ b/src/gui2/visualiserview.cc @@ -174,3 +174,7 @@ void VisualiserView::drawContent() pos + ImVec2(size.x / 2, size.y - 100), size.x * 0.7); } + +void VisualiserView::drawHelpText() +{ +} diff --git a/src/gui2/visualiserview.h b/src/gui2/visualiserview.h index 803ee523..5b41a202 100644 --- a/src/gui2/visualiserview.h +++ b/src/gui2/visualiserview.h @@ -10,6 +10,7 @@ class VisualiserView : public hex::View::Window ~VisualiserView() override = default; void drawContent() override; + void drawHelpText() override; [[nodiscard]] bool shouldDraw() const override {