Fix game:addSpawnShapesByZone
[ryzomcore.git] / studio / src / plugins / core / icore.h
blob69ea3c86b369ddfaa5e2d25854931b17560400dd
1 // Object Viewer Qt - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2011 Dzmitry KAMIAHIN (dnk-88) <dnk-88@tut.by>
3 //
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2010 Winch Gate Property Limited
6 // Copyright (C) 2014 Laszlo KIS-ADAM (dfighter) <dfighter1985@gmail.com>
7 //
8 // This program is free software: you can redistribute it and/or modify
9 // it under the terms of the GNU Affero General Public License as
10 // published by the Free Software Foundation, either version 3 of the
11 // License, or (at your option) any later version.
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU Affero General Public License for more details.
18 // You should have received a copy of the GNU Affero General Public License
19 // along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #ifndef ICORE_H
22 #define ICORE_H
24 #include "core_global.h"
26 #include <QtCore/QObject>
28 QT_BEGIN_NAMESPACE
29 class QMainWindow;
30 class QSettings;
31 QT_END_NAMESPACE
33 namespace ExtensionSystem
35 class IPluginManager;
38 namespace Core
40 class MenuManager;
41 class ContextManager;
43 class CORE_EXPORT ICore : public QObject
45 Q_OBJECT
47 public:
48 ICore() {}
49 virtual ~ICore() {}
51 static ICore *instance();
53 virtual bool showOptionsDialog(const QString &group = QString(),
54 const QString &page = QString(),
55 QWidget *parent = 0) = 0;
57 virtual MenuManager *menuManager() const = 0;
58 virtual ContextManager *contextManager() const = 0;
60 virtual QSettings *settings() const = 0;
61 virtual QMainWindow *mainWindow() const = 0;
63 virtual ExtensionSystem::IPluginManager *pluginManager() const = 0;
65 Q_SIGNALS:
66 void changeSettings();
67 void closeMainWindow();
70 } // namespace Core
72 #endif // ICORE_H