Fix game:addSpawnShapesByZone
[ryzomcore.git] / studio / src / plugins / log / log_plugin.h
blob9e4f644194805f32dd7dd8f4b22c8021cb21d2fc
1 /*
2 Log Plugin Qt
3 Copyright (C) 2011 Adrian Jaekel <aj at elane2k dot com>
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef LOG_PLUGIN_H
21 #define LOG_PLUGIN_H
23 // Project includes
24 #include "ui_log_form.h"
25 #include "../../extension_system/iplugin.h"
27 // NeL includes
28 #include "nel/misc/app_context.h"
30 // Qt includes
31 #include <QDockWidget>
33 namespace NLMISC
35 class CLibraryContext;
38 namespace ExtensionSystem
40 class IPluginSpec;
43 namespace NLQT
45 class CQtDisplayer;
48 namespace Plugin
50 class CLogSettingsPage;
52 class CLogPlugin : public QDockWidget, public ExtensionSystem::IPlugin
54 Q_OBJECT
55 Q_INTERFACES(ExtensionSystem::IPlugin)
56 public:
57 CLogPlugin(QWidget *parent = 0);
58 ~CLogPlugin();
60 bool initialize(ExtensionSystem::IPluginManager *pluginManager, QString *errorString);
61 void extensionsInitialized();
63 void setNelContext(NLMISC::INelContext *nelContext);
64 NLQT::CQtDisplayer* displayer() { return m_displayer; }
66 QString name() const;
67 QString version() const;
68 QString vendor() const;
69 QString description() const;
70 QStringList dependencies() const;
72 void addAutoReleasedObject(QObject *obj);
74 void setDisplayers();
76 protected:
77 NLMISC::CLibraryContext *m_libContext;
79 private:
80 ExtensionSystem::IPluginManager *m_plugMan;
81 QList<QObject *> m_autoReleaseObjects;
82 CLogSettingsPage *m_logSettingsPage;
84 Ui::CLogPlugin m_ui;
86 NLQT::CQtDisplayer *m_displayer;
88 QMenu *logMenu;
92 } // namespace Plugin
94 #endif // LOG_PLUGIN_H