Nel3DWidget is no longer in the GUI Editor namespace.

--HG--
branch : gsoc2014-dfighter
This commit is contained in:
dfighter1985 2014-06-15 19:52:04 +02:00
parent 81908eea01
commit dde63ceb31
3 changed files with 128 additions and 137 deletions

View file

@ -27,13 +27,9 @@
#include <Windows.h> #include <Windows.h>
#endif #endif
Nel3DWidget::Nel3DWidget( QWidget *parent ) :
QWidget( parent )
namespace GUIEditor
{ {
Nel3DWidget::Nel3DWidget( QWidget *parent ) :
QWidget( parent )
{
driver = NULL; driver = NULL;
textContext = NULL; textContext = NULL;
@ -43,10 +39,10 @@ namespace GUIEditor
setAttribute( Qt::WA_PaintOnScreen, true ); setAttribute( Qt::WA_PaintOnScreen, true );
setAttribute( Qt::WA_OpaquePaintEvent, true ); setAttribute( Qt::WA_OpaquePaintEvent, true );
setAttribute( Qt::WA_NoSystemBackground, true ); setAttribute( Qt::WA_NoSystemBackground, true );
} }
Nel3DWidget::~Nel3DWidget() Nel3DWidget::~Nel3DWidget()
{ {
if( driver != NULL ) if( driver != NULL )
{ {
if( textContext != NULL ) if( textContext != NULL )
@ -59,19 +55,19 @@ namespace GUIEditor
delete driver; delete driver;
driver = NULL; driver = NULL;
} }
} }
void Nel3DWidget::init() void Nel3DWidget::init()
{ {
nlassert( driver == NULL ); nlassert( driver == NULL );
driver = NL3D::UDriver::createDriver( 0, false, 0 ); driver = NL3D::UDriver::createDriver( 0, false, 0 );
driver->setMatrixMode2D11(); driver->setMatrixMode2D11();
driver->setDisplay( winId(), NL3D::UDriver::CMode( width(), height(), 32, true ) ); driver->setDisplay( winId(), NL3D::UDriver::CMode( width(), height(), 32, true ) );
} }
void Nel3DWidget::createTextContext( std::string fontFile ) void Nel3DWidget::createTextContext( std::string fontFile )
{ {
if( driver == NULL ) if( driver == NULL )
return; return;
@ -94,30 +90,30 @@ namespace GUIEditor
} }
textContext = driver->createTextContext( font ); textContext = driver->createTextContext( font );
} }
void Nel3DWidget::clear() void Nel3DWidget::clear()
{ {
if( driver == NULL ) if( driver == NULL )
return; return;
driver->clearBuffers( NLMISC::CRGBA::Black ); driver->clearBuffers( NLMISC::CRGBA::Black );
driver->swapBuffers(); driver->swapBuffers();
} }
void Nel3DWidget::showEvent( QShowEvent *evnt ) void Nel3DWidget::showEvent( QShowEvent *evnt )
{ {
QWidget::showEvent( evnt ); QWidget::showEvent( evnt );
if( driver != NULL ) if( driver != NULL )
driver->activate(); driver->activate();
} }
#if defined ( NL_OS_WINDOWS ) #if defined ( NL_OS_WINDOWS )
typedef bool ( *winProc )( NL3D::IDriver *driver, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ); typedef bool ( *winProc )( NL3D::IDriver *driver, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );
bool Nel3DWidget::winEvent( MSG *message, long *result ) bool Nel3DWidget::winEvent( MSG *message, long *result )
{ {
if( driver != NULL ) if( driver != NULL )
{ {
NL3D::IDriver *iDriver = dynamic_cast< NL3D::CDriverUser* >( driver )->getDriver(); NL3D::IDriver *iDriver = dynamic_cast< NL3D::CDriverUser* >( driver )->getDriver();
@ -129,14 +125,14 @@ namespace GUIEditor
} }
return false; return false;
} }
#elif defined( NL_OS_MAC ) #elif defined( NL_OS_MAC )
typedef bool ( *cocoaProc )( NL3D::IDriver *, const void *e ); typedef bool ( *cocoaProc )( NL3D::IDriver *, const void *e );
bool Nel3DWidget::macEvent( EventHandlerCallRef caller, EventRef event ) bool Nel3DWidget::macEvent( EventHandlerCallRef caller, EventRef event )
{ {
if( caller ) if( caller )
nlerror( "You are using QtCarbon! Only QtCocoa supported, please upgrade Qt" ); nlerror( "You are using QtCarbon! Only QtCocoa supported, please upgrade Qt" );
@ -151,14 +147,14 @@ namespace GUIEditor
} }
return false; return false;
} }
#elif defined( NL_OS_UNIX ) #elif defined( NL_OS_UNIX )
typedef bool ( *x11Proc )( NL3D::IDriver *drv, XEvent *e ); typedef bool ( *x11Proc )( NL3D::IDriver *drv, XEvent *e );
bool Nel3DWidget::x11Event( XEvent *event ) bool Nel3DWidget::x11Event( XEvent *event )
{ {
if( driver != NULL ) if( driver != NULL )
{ {
NL3D::IDriver *iDriver = dynamic_cast< NL3D::CDriverUser* >( driver )->getDriver(); NL3D::IDriver *iDriver = dynamic_cast< NL3D::CDriverUser* >( driver )->getDriver();
@ -170,9 +166,6 @@ namespace GUIEditor
} }
return false; return false;
} }
#endif #endif
}

View file

@ -28,17 +28,15 @@ namespace NL3D
class UTextContext; class UTextContext;
} }
namespace GUIEditor /// Nel 3D interface to Qt
class Nel3DWidget : public QWidget
{ {
/// Nel 3D interface to Qt
class Nel3DWidget : public QWidget
{
Q_OBJECT Q_OBJECT
public: public:
Nel3DWidget( QWidget *parent = NULL ); Nel3DWidget( QWidget *parent = NULL );
virtual ~Nel3DWidget(); virtual ~Nel3DWidget();
virtual void init(); void init();
void createTextContext( std::string fontFile ); void createTextContext( std::string fontFile );
NL3D::UDriver* getDriver() const{ return driver; } NL3D::UDriver* getDriver() const{ return driver; }
@ -50,26 +48,26 @@ namespace GUIEditor
// disappearing when a widget is resized or shown on top of us // disappearing when a widget is resized or shown on top of us
QPaintEngine* paintEngine() const{ return NULL; } QPaintEngine* paintEngine() const{ return NULL; }
public Q_SLOTS: public Q_SLOTS:
void clear(); void clear();
protected: protected:
void showEvent( QShowEvent *evnt ); void showEvent( QShowEvent *evnt );
#if defined(NL_OS_WINDOWS) #if defined(NL_OS_WINDOWS)
virtual bool winEvent( MSG *message, long *result ); bool winEvent( MSG *message, long *result );
#elif defined(NL_OS_MAC) #elif defined(NL_OS_MAC)
virtual bool macEvent( EventHandlerCallRef caller, EventRef event ); bool macEvent( EventHandlerCallRef caller, EventRef event );
#elif defined(NL_OS_UNIX) #elif defined(NL_OS_UNIX)
virtual bool x11Event( XEvent *event ); bool x11Event( XEvent *event );
#endif #endif
private: private:
NL3D::UDriver *driver; NL3D::UDriver *driver;
NL3D::UTextContext *textContext; NL3D::UTextContext *textContext;
};
} };
#endif #endif

View file

@ -22,6 +22,7 @@
#include "project_files.h" #include "project_files.h"
class QWidget; class QWidget;
class Nel3DWidget;
namespace NLGUI namespace NLGUI
{ {
@ -31,7 +32,6 @@ namespace NLGUI
namespace GUIEditor namespace GUIEditor
{ {
class CEditorSelectionWatcher; class CEditorSelectionWatcher;
class Nel3DWidget;
/// Qt viewport controller for the Nel GUI library /// Qt viewport controller for the Nel GUI library
class NelGUICtrl : public QObject class NelGUICtrl : public QObject