Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor and restructure Event Manager #2082

Open
wants to merge 22 commits into
base: master
Choose a base branch
from

Conversation

BioTheWolff
Copy link
Contributor

Problem description

This PR addresses issue #2013 that described a cluttered Event Manager.

This is a DX issue and should not impact the users whatsoever.

Implementation description

The changes revolve around three main points:

  1. the Event Manager (event_manager.hpp) was split into four categories: GUI, Interaction, Lifecycle, and Provider, and two types: Events, and Requests. This results in the following files:

    • events_gui.hpp
    • events_interaction.hpp
    • events_lifecycle.hpp
    • events_provider.hpp
    • requests_gui.hpp
    • requests_interaction.hpp
    • requests_lifecycle.hpp
    • requests_provider.hpp
  2. Every event and request now has its own piece of documentation, with a @brief, accompanied by a longer comment if needed, and gets its @params described.

  3. The old event_manager.hpp import was removed and replaced by the correct imports wherever needed, as to reduce spread of those files only to where they are truly useful.

Additional things

The commits have been split into (chrono-)logical steps:

  • feat: split the Event Manager, and replace the imports
  • refactor, chore: make various small changes to match the required structure
  • docs: add documentation for events and requests

Hopefully, this will help to review the PR.
Note: Beware of very long rebuild times in between the commits, use them sparingly! The Actions will ensure this PR builds anyways

Closes #2013

BioTheWolff and others added 22 commits January 22, 2025 15:36
Move all `EventProvider*` events to a new `events_provider.hpp` file.
Include this new file wherever possible, without removing the event
manager import for now.

Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Move `Request`s to their own category.
Include the correct new file for the usages.

Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Remove imports referring to the old `event_manager.hpp` that was used to
manage events. This is a cleanup of previous commits that included the
new event definition files.

Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Fix other targets than Linux, that weren't included in the build and had
thus been forgotten about until now. This should completely fix the
wrong imports.

Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
…ocumentation

Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Signed-off-by: BioTheWolff <47079795+BioTheWolff@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature] Better event management
2 participants