-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprismaticoutpost.h
63 lines (54 loc) · 1.76 KB
/
prismaticoutpost.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
* This file is part of the PrismaticOutpost project.
* Copyright 2024. Isaac Raway. All rights reserved.
* This file is licensed under the terms of the AGPL-3.0,
* which you can find a copy of in the LICENSE.md file
* https://www.gnu.org/licenses/agpl-3.0.md.
* IMPORTANT: This license ALSO applies to all scripts
* and databases packaged with this distribution of
* PrismaticOutpost. If you wish to distribute proprietary
* scripts or databases, then they MUST NOT be packaged
* with this distribution or any binary distribution built
* from this distribution or any derivative of this
* distribution.
*/
// prismaticoutpost.h
#ifndef PRISMATICOUTPOST_H
#define PRISMATICOUTPOST_H
#include <QMainWindow>
#include <QMdiArea>
#include <QMap>
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include "toolwindow.h"
#include "databasemanager.h"
class ScriptEditor;
QT_BEGIN_NAMESPACE
namespace Ui { class PrismaticOutpost; }
QT_END_NAMESPACE
class PrismaticOutpost : public QMainWindow
{
Q_OBJECT
public:
PrismaticOutpost(QWidget *parent = nullptr);
~PrismaticOutpost();
private slots:
void createNewToolWindow();
void openScriptEditor(const QString &itemName, const QString &scriptPath);
void executeScript(const QString &itemName, const QString &scriptPath);
void saveConfiguration();
void loadConfiguration();
private:
Ui::PrismaticOutpost *ui;
QDockWidget dock1;
QMdiArea *mdiArea;
QMap<QString, ToolWindow*> toolWindows;
DatabaseManager dbManager;
void centerOnScreen();
void setupMdiArea();
void createActions();
void setupDatabase();
QString getScriptPath(const QString &itemName, ToolWindow *window);
};
#endif // PRISMATICOUTPOST_H