ASAPCabinetFE
 
Loading...
Searching...
No Matches
iinput_manager.h
Go to the documentation of this file.
1
11#ifndef IINPUT_MANAGER_H
12#define IINPUT_MANAGER_H
13
14#include "tables/table_data.h"
17#include <SDL_events.h>
18#include <string>
19#include <functional>
20#include <vector>
21#include <atomic>
22
23
28class IAssetManager;
29
34class ISoundManager;
35
40class IConfigService;
41
46class ConfigUI;
47
53
58class IWindowManager;
59
72public:
76 virtual ~IInputManager() = default;
77
86 virtual void handleEvent(const SDL_Event& event) = 0;
87
93 virtual void registerActions() = 0;
94
111 virtual void setDependencies(IAssetManager* assets, ISoundManager* sound, IConfigService* settings,
112 size_t& currentIndex, std::vector<TableData>& tables,
113 bool& showConfig, bool& showEditor, bool& showVpsdb, const std::string& exeDir, IScreenshotManager* screenshotManager,
114 IWindowManager* windowManager, std::atomic<bool>& isLoadingTables, ITableLauncher* tableLauncher,
115 ITableCallbacks* tableCallbacks) = 0;
116
124 virtual void setRuntimeEditor(ConfigUI* editor) = 0;
125
131 virtual bool isConfigActive() const = 0;
132
138 virtual bool isEditorActive() const = 0;
139
145 virtual bool isCatalogActive() const = 0;
146
152 virtual bool shouldQuit() const = 0;
153};
154
155#endif // IINPUT_MANAGER_H
Manages the ImGui-based configuration UI.
Definition config_ui.h:35
The IAssetManager interface provides methods to manage and access various assets used in the applicat...
Definition iasset_manager.h:36
Interface for configuration services (forward declaration).
Definition iconfig_service.h:30
Interface for managing user input and associated actions.
Definition iinput_manager.h:71
virtual ~IInputManager()=default
Virtual destructor for proper cleanup of derived classes.
virtual void setRuntimeEditor(ConfigUI *editor)=0
Sets the runtime configuration editor.
virtual void setDependencies(IAssetManager *assets, ISoundManager *sound, IConfigService *settings, size_t &currentIndex, std::vector< TableData > &tables, bool &showConfig, bool &showEditor, bool &showVpsdb, const std::string &exeDir, IScreenshotManager *screenshotManager, IWindowManager *windowManager, std::atomic< bool > &isLoadingTables, ITableLauncher *tableLauncher, ITableCallbacks *tableCallbacks)=0
Sets dependencies for input handling.
virtual bool isEditorActive() const =0
Checks if the metadata editor UI is active.
virtual void registerActions()=0
Registers action handlers for input events.
virtual bool shouldQuit() const =0
Checks if the application should quit.
virtual void handleEvent(const SDL_Event &event)=0
Handles an SDL input event.
virtual bool isConfigActive() const =0
Checks if the configuration UI is active.
virtual bool isCatalogActive() const =0
Checks if the metadata catalog UI is active.
Interface for managing screenshot capture operations.
Definition iscreenshot_manager.h:24
Interface for managing sound operations.
Definition isound_manager.h:14
Interface for managing ASAP index file operations.
Definition itable_callbacks.h:26
Interface for launching VPX tables.
Definition itable_launcher.h:21
Interface for managing SDL windows and renderers.
Definition iwindow_manager.h:27
Defines the ITableCallbacks interface for managing ASAP index files in ASAPCabinetFE.
Defines the ITableLauncher interface for launching VPX tables.
Defines the TableData struct for storing VPX table metadata and media paths.