Split Nel3DWidget and NelGUIWidget.

This commit is contained in:
dfighter1985 2014-06-14 17:28:33 +02:00
parent 0574ffe44f
commit 9b34be6683
3 changed files with 30 additions and 14 deletions

View file

@ -66,7 +66,7 @@ namespace GUIEditor
addWidgetWidget = new AddWidgetWidget;
connect( projectWindow, SIGNAL( projectFilesChanged() ), this, SLOT( onProjectFilesChanged() ) );
viewPort = new NelGUIWidget;
setCentralWidget( viewPort );
setCentralWidget( viewPort->getViewPort() );
widgetInfoTree = new CWidgetInfoTree;

View file

@ -29,16 +29,19 @@
#include <QTimerEvent>
#include "editor_selection_watcher.h"
#include "nel3d_widget.h"
namespace GUIEditor
{
std::set< std::string > hwCursors;
NelGUIWidget::NelGUIWidget( QWidget *parent ) :
Nel3DWidget( parent )
QWidget( parent )
{
timerID = 0;
guiLoaded = false;
watcher = NULL;
w = new Nel3DWidget();
}
NelGUIWidget::~NelGUIWidget()
@ -50,6 +53,8 @@ namespace GUIEditor
NLGUI::CViewRenderer::release();
NLMISC::CI18N::setNoResolution( false );
delete w;
w = NULL;
}
void NelGUIWidget::init()
@ -59,15 +64,15 @@ namespace GUIEditor
NLMISC::CPath::remapExtension( "dds", "png", true );
NLMISC::CPath::remapExtension( "png", "tga", true );
Nel3DWidget::init();
createTextContext( "Ryzom.ttf" );
w->init();
w->createTextContext( "Ryzom.ttf" );
NLGUI::CAHManager::setEditorMode( true );
NLGUI::CLuaManager::setEditorMode( true );
NLGUI::CInterfaceElement::setEditorMode( true );
NLGUI::CViewRenderer::setDriver( getDriver() );
NLGUI::CViewRenderer::setTextContext( getTextContext() );
NLGUI::CViewRenderer::setDriver( w->getDriver() );
NLGUI::CViewRenderer::setTextContext( w->getTextContext() );
NLGUI::CViewRenderer::hwCursors = &hwCursors;
NLGUI::CViewRenderer::getInstance()->init();
@ -125,21 +130,21 @@ namespace GUIEditor
CWidgetManager::getInstance()->reset();
CWidgetManager::getInstance()->getParser()->removeAll();
CViewRenderer::getInstance()->reset();
clear();
w->clear();
}
void NelGUIWidget::draw()
{
getDriver()->clearBuffers( NLMISC::CRGBA::Black );
w->getDriver()->clearBuffers( NLMISC::CRGBA::Black );
CWidgetManager::getInstance()->checkCoords();
CWidgetManager::getInstance()->drawViews( 0 );
getDriver()->swapBuffers();
w->getDriver()->swapBuffers();
}
void NelGUIWidget::paintEvent( QPaintEvent *evnt )
{
if( !guiLoaded )
clear();
w->clear();
}
void NelGUIWidget::timerEvent( QTimerEvent *evnt )
@ -148,7 +153,7 @@ namespace GUIEditor
{
if( guiLoaded )
{
getDriver()->EventServer.pump();
w->getDriver()->EventServer.pump();
draw();
}
}
@ -165,5 +170,10 @@ namespace GUIEditor
if( timerID != 0 )
killTimer( timerID );
}
QWidget* NelGUIWidget::getViewPort()
{
return w;
}
}

View file

@ -18,15 +18,16 @@
#ifndef NELGUI_WIDGET_H
#define NELGUI_WIDGET_H
#include "nel3d_widget.h"
#include <QWidget>
#include "project_files.h"
namespace GUIEditor
{
class CEditorSelectionWatcher;
class Nel3DWidget;
/// Qt viewport for the Nel GUI library
class NelGUIWidget : public Nel3DWidget
class NelGUIWidget : public QWidget
{
Q_OBJECT
public:
@ -39,6 +40,8 @@ namespace GUIEditor
void reset();
CEditorSelectionWatcher* getWatcher(){ return watcher; }
QWidget* getViewPort();
Q_SIGNALS:
void guiLoadComplete();
@ -53,6 +56,9 @@ Q_SIGNALS:
int timerID;
bool guiLoaded;
CEditorSelectionWatcher *watcher;
Nel3DWidget *w;
};
}