Changed: Started fixing up the menus.

This commit is contained in:
sfb 2011-05-08 14:59:27 -05:00
parent a8a052c2d8
commit f5a42f16de
4 changed files with 107 additions and 12 deletions

View file

@ -0,0 +1,40 @@
// Object Viewer Qt - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// Copyright (C) 2010 Winch Gate Property Limited
// Copyright (C) 2011 Dzmitry Kamiahin <dnk-88@tut.by>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "zone_painter_model.h"
// STL includes
// Qt includes
// NeL includes
namespace Plugin
{
CZonePainterModel::CZonePainterModel()
{
}
CZonePainterModel::~CZonePainterModel()
{
}
} /* namespace Plugin */

View file

@ -0,0 +1,42 @@
// Object Viewer Qt - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
// Copyright (C) 2010 Winch Gate Property Limited
// Copyright (C) 2011 Dzmitry Kamiahin <dnk-88@tut.by>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef ZONE_PAINTER_MODEL_H
#define ZONE_PAINTER_MODEL_H
// NeL includes
#include <nel/misc/types_nl.h>
#include <nel/misc/rgba.h>
#include <nel/misc/event_emitter.h>
// Qt includes
namespace Plugin
{
class CZonePainterModel
{
public:
CZonePainterModel();
virtual ~CZonePainterModel();
}; /* class CZonePainterModel */
} /* namespace Plugin */
#endif // ZONE_PAINTER_MODEL_H

View file

@ -16,6 +16,7 @@
#include <QtGui/QMenu> #include <QtGui/QMenu>
#include <QtGui/QAction> #include <QtGui/QAction>
#include <QtGui/QMenuBar> #include <QtGui/QMenuBar>
#include <QtGui/QFileDialog>
namespace Plugin namespace Plugin
{ {
@ -37,6 +38,7 @@ bool ZonePainterPlugin::initialize(ExtensionSystem::IPluginManager *pluginManage
addAutoReleasedObject(new CZonePainterSettingsPage(this)); addAutoReleasedObject(new CZonePainterSettingsPage(this));
addAutoReleasedObject(new CZonePainterContext(this)); addAutoReleasedObject(new CZonePainterContext(this));
//addAutoReleasedObject(new CCoreListener(this)); //addAutoReleasedObject(new CCoreListener(this));
return true; return true;
} }
@ -44,20 +46,26 @@ void ZonePainterPlugin::extensionsInitialized()
{ {
Core::ICore *core = Core::ICore::instance(); Core::ICore *core = Core::ICore::instance();
Core::IMenuManager *menuManager = core->menuManager(); Core::IMenuManager *menuManager = core->menuManager();
//menuManager = _plugMan->getObject<Core::IMenuManager>(); QAction *loadZoneAction = new QAction("Load Zone", this);
QAction *exampleAction1 = new QAction("Zone1", this); QAction *saveZoneAction = new QAction("Save Zone", this);
QAction *exampleAction2 = new QAction("Zone2", this);
QAction *aboutQtAction = menuManager->action(Core::Constants::ABOUT_QT); QMenu *toolsMenu = menuManager->menu(Core::Constants::M_TOOLS);
QMenu *helpMenu = menuManager->menu(Core::Constants::M_HELP); QMenu *zoneMenu = toolsMenu->addMenu("Zone Painter");
helpMenu->insertAction(aboutQtAction, exampleAction1); zoneMenu->addAction(loadZoneAction);
helpMenu->addSeparator(); connect(loadZoneAction, SIGNAL(triggered()), this, SLOT(clickLoadZoneAction()));
helpMenu->addAction(exampleAction2); zoneMenu->addAction(saveZoneAction);
QMenu *zoneMenu = menuManager->menuBar()->addMenu("ZoneMenu");
zoneMenu->insertAction(aboutQtAction, exampleAction1);
zoneMenu->addSeparator();
zoneMenu->addAction(exampleAction2);
} }
/****** SLOTS ******/
void ZonePainterPlugin::clickLoadZoneAction() {
QString zoneFile = QFileDialog::getOpenFileName(NULL, tr("Open Zone File"), ".", tr("Zone Files (*.zone);;"));
}
void ZonePainterPlugin::clickSaveZoneAction() {
}
/****** END SLOTS ******/
void ZonePainterPlugin::setNelContext(NLMISC::INelContext *nelContext) void ZonePainterPlugin::setNelContext(NLMISC::INelContext *nelContext)
{ {
#ifdef NL_OS_WINDOWS #ifdef NL_OS_WINDOWS

View file

@ -65,7 +65,10 @@ public:
QObject *objectByName(const QString &name) const; QObject *objectByName(const QString &name) const;
ExtensionSystem::IPluginSpec *pluginByName(const QString &name) const; ExtensionSystem::IPluginSpec *pluginByName(const QString &name) const;
public Q_SLOTS:
void clickLoadZoneAction();
void clickSaveZoneAction();
protected: protected:
NLMISC::CLibraryContext *_LibContext; NLMISC::CLibraryContext *_LibContext;
@ -73,6 +76,8 @@ protected:
private: private:
ExtensionSystem::IPluginManager *_plugMan; ExtensionSystem::IPluginManager *_plugMan;
QList<QObject *> _autoReleaseObjects; QList<QObject *> _autoReleaseObjects;
NL3D::CLandscapeModel *m_Landscape;
}; };
class CZonePainterContext: public Core::IContext class CZonePainterContext: public Core::IContext