Chrysalis - CLO3D Extensions
Toggle main menu visibility
Loading...
Searching...
No Matches
ExtensionsManager.h
Go to the documentation of this file.
1
#ifndef CHRYSALIS_EXTENSIONSMANAGER_H
2
#define CHRYSALIS_EXTENSIONSMANAGER_H
3
4
#include <QDir>
5
#include <QLabel>
6
#include <QTimer>
7
#include <QToolButton>
8
9
#ifdef _WIN32
10
#include <Windows.h>
11
BOOL WINAPI DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved);
12
#endif
13
14
#include "
LocalServer.h
"
15
#include "
TaskExecutor.h
"
16
#include "
BaseExtension.h
"
17
#include "
CommandRunner.h
"
18
#include "
ExtensionsSettings.h
"
19
#include "
CLO3DExtensionExport.h
"
20
21
namespace
CLO3D
{
22
constexpr
auto
ROOT_EXTENSIONS_DIR
= CLO_HOME
"/.extensions"
;
23
24
class
CLO3D_EXTENSION
ExtensionsManager
{
25
friend
BaseExtension;
26
#ifdef _WIN32
27
friend
BOOL WINAPI ::DllMain(HINSTANCE hInst, DWORD reason, LPVOID reserved);
28
#endif
29
30
static
void
setMessage(
const
QString& message);
31
static
void
install();
32
33
inline
static
QLabel* backgroundMessage_;
34
inline
static
QTimer* backgroundMessageTimer_;
35
public
:
36
37
static
void
addExtension
(std::unique_ptr<BaseExtension> extension);
38
39
static
void
setMessage(
const
char
* extensionName,
const
QString& message,
bool
logMessage =
false
);
40
static
void
clearMessage
();
41
42
inline
static
std::forward_list<std::unique_ptr<BaseExtension>>
extensions
;
43
inline
static
ExtensionsSettings
*
extensionsSettings
;
44
45
inline
static
QFrame*
mainWindow
;
46
47
inline
static
QToolButton*
action
;
48
inline
static
CommandRunner
*
commandRunner_
;
49
inline
static
TaskExecutor
*
executor_
;
50
inline
static
LocalServer
*
localServer_
;
51
};
52
}
53
54
#define UI_MESSAGE(message) ExtensionsManager::setMessage(LOGGER_NAME, message, false);
55
#define LOG_UI_MESSAGE(message) ExtensionsManager::setMessage(LOGGER_NAME, message, true);
56
57
#endif
//CHRYSALIS_EXTENSIONSMANAGER_H
BaseExtension.h
CLO3DExtensionExport.h
CLO3D_EXTENSION
#define CLO3D_EXTENSION
Definition
CLO3DExtensionExport.h:12
CommandRunner.h
ExtensionsSettings.h
LocalServer.h
TaskExecutor.h
CLO3D::CommandRunner
Definition
CommandRunner.h:11
CLO3D::ExtensionsManager
Definition
ExtensionsManager.h:24
CLO3D::ExtensionsManager::extensions
static std::forward_list< std::unique_ptr< BaseExtension > > extensions
Definition
ExtensionsManager.h:42
CLO3D::ExtensionsManager::commandRunner_
static CommandRunner * commandRunner_
Definition
ExtensionsManager.h:48
CLO3D::ExtensionsManager::action
static QToolButton * action
Definition
ExtensionsManager.h:47
CLO3D::ExtensionsManager::localServer_
static LocalServer * localServer_
Definition
ExtensionsManager.h:50
CLO3D::ExtensionsManager::addExtension
static void addExtension(std::unique_ptr< BaseExtension > extension)
Definition
ExtensionsManager.cpp:63
CLO3D::ExtensionsManager::executor_
static TaskExecutor * executor_
Definition
ExtensionsManager.h:49
CLO3D::ExtensionsManager::mainWindow
static QFrame * mainWindow
Definition
ExtensionsManager.h:45
CLO3D::ExtensionsManager::extensionsSettings
static ExtensionsSettings * extensionsSettings
Definition
ExtensionsManager.h:43
CLO3D::ExtensionsManager::clearMessage
static void clearMessage()
Definition
ExtensionsManager.cpp:436
CLO3D::ExtensionsSettings
Definition
ExtensionsSettings.h:11
CLO3D::LocalServer
Definition
LocalServer.h:10
CLO3D::TaskExecutor
Definition
TaskExecutor.h:13
CLO3D
Definition
BaseCommand.h:8
CLO3D::ROOT_EXTENSIONS_DIR
constexpr auto ROOT_EXTENSIONS_DIR
Definition
ExtensionsManager.h:22
integrations
clo3d
include
ExtensionsManager.h
Generated by
1.17.0