Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

osg::OSGQGLManagedWidget Class Reference

Managed QT Widget. See OSGQGLManagedWidget for a description.

#include <OSGQGLManagedWidget_qt.h>

List of all members.

Member

virtual void initializeGL (void)
virtual void paintGL (void)
virtual void resizeGL (int w, int h)
virtual void mousePressEvent (QMouseEvent *)
virtual void mouseReleaseEvent (QMouseEvent *)
virtual void mouseMoveEvent (QMouseEvent *)
virtual void wheelEvent (QWheelEvent *)
virtual void keyPressEvent (QKeyEvent *)
virtual void closeEvent (QCloseEvent *)
*SimpleSceneManager_manager

Signals

signals
void closed (QWidget *object)

Public Member Functions

Constructors
OSGQGLManagedWidget (QWidget *parent=0, const char *name=0, SimpleSceneManager *manager=0)
Destructor
*virtual ~OSGQGLManagedWidget (void)
Get
*SimpleSceneManagergetManager (void)
Comparison
*bool operator< (const OSGQGLManagedWidget &other) const

Private Types

typedef OSGQGLWidget Inherited

Private Member Functions

 OSGQGLManagedWidget (const OSGQGLManagedWidget &source)
 prohibit default function (move to 'public' if needed)
OSGQGLManagedWidgetoperator= (const OSGQGLManagedWidget &source)


Detailed Description

Definition at line 60 of file OSGQGLManagedWidget_qt.h.


Member Typedef Documentation

typedef OSGQGLWidget osg::OSGQGLManagedWidget::Inherited [private]
 

Definition at line 134 of file OSGQGLManagedWidget_qt.h.


Constructor & Destructor Documentation

OSGQGLManagedWidget::OSGQGLManagedWidget QWidget *  parent = 0,
const char *  name = 0,
SimpleSceneManager manager = 0
 

Constructor

Definition at line 69 of file OSGQGLManagedWidget_qt.cpp.

References _manager, osg::beginEditCP(), osg::endEditCP(), FDEBUG, and osg::SimpleSceneManager::setWindow().

00072   : Inherited(parent,name)
00073 {
00074     FDEBUG(("OSGQGLManagedWidget constructor called\n"));
00075 
00076     OSG::QTWindowPtr qtWinPtr = OSG::QTWindow::create();
00077 
00078     OSG::beginEditCP(qtWinPtr);
00079     {
00080         qtWinPtr->setGlWidget(this);
00081     }
00082     OSG::endEditCP(qtWinPtr);
00083 
00084     if(manager != NULL)
00085     {
00086         _manager = manager;
00087     }
00088     else
00089     {
00090         _manager = new SimpleSceneManager; // mem leak here
00091     }
00092   
00093     _manager->setWindow ( qtWinPtr );
00094 }

OSGQGLManagedWidget::~OSGQGLManagedWidget void   )  [virtual]
 

Destructor

Definition at line 108 of file OSGQGLManagedWidget_qt.cpp.

References FDEBUG.

00109 {
00110     FDEBUG(("OSGQGLManagedWidget destructor called\n"));
00111 }

OSGQGLManagedWidget::OSGQGLManagedWidget const OSGQGLManagedWidget source  )  [private]
 

Definition at line 97 of file OSGQGLManagedWidget_qt.cpp.

References FDEBUG.

00098                                                       :
00099 
00100     Inherited()
00101 {
00102     FDEBUG(("OSGQGLManagedWidget copy constructor called\n"));
00103 }


Member Function Documentation

SimpleSceneManager & OSGQGLManagedWidget::getManager void   ) 
 

Definition at line 132 of file OSGQGLManagedWidget_qt.cpp.

References _manager.

00133 {
00134     return *_manager;
00135 }

bool OSGQGLManagedWidget::operator< const OSGQGLManagedWidget other  )  const
 

Definition at line 127 of file OSGQGLManagedWidget_qt.cpp.

00128 {
00129     return this < &other;
00130 }

void osg::OSGQGLManagedWidget::closed QWidget *  object  )  [signal]
 

Referenced by closeEvent().

void OSGQGLManagedWidget::initializeGL void   )  [protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 139 of file OSGQGLManagedWidget_qt.cpp.

References _manager, FDEBUG, and osg::SimpleSceneManager::getWindow().

00140 {
00141     FDEBUG(("OSGQGLManagedWidget::initializeGL()\n"));
00142 
00143     _manager->getWindow()->init();      // create the context
00144  
00145     FDEBUG (("after init()\n"));
00146 }

void OSGQGLManagedWidget::paintGL void   )  [protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 149 of file OSGQGLManagedWidget_qt.cpp.

References _manager, FDEBUG, osg::SimpleSceneManager::getWindow(), and osg::SimpleSceneManager::redraw().

Referenced by mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), resizeGL(), and wheelEvent().

00150 {
00151     FDEBUG(("OSGQGLManagedWidget::paintGL() \n"));
00152 
00153     _manager->getWindow()->activate(); // and activate it
00154 
00155     _manager->redraw();
00156 }

void OSGQGLManagedWidget::resizeGL int  w,
int  h
[protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 158 of file OSGQGLManagedWidget_qt.cpp.

References _manager, FDEBUG, paintGL(), and osg::SimpleSceneManager::resize().

00159 {   
00160     FDEBUG (("OSGQGLManagedWidget::resizeGL()\n"));
00161 
00162     _manager->resize(w,h);
00163     paintGL();
00164 }

void OSGQGLManagedWidget::mousePressEvent QMouseEvent *   )  [protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 166 of file OSGQGLManagedWidget_qt.cpp.

References _manager, FDEBUG, osg::SimpleSceneManager::mouseButtonPress(), osg::SimpleSceneManager::MouseLeft, osg::SimpleSceneManager::MouseMiddle, osg::SimpleSceneManager::MouseRight, and paintGL().

00167 {
00168     FDEBUG(("OSGQGLManagedWidget::mousePressEvent()\n"));
00169   
00170     switch(me->button()) 
00171     {
00172     case LeftButton:
00173         _manager->mouseButtonPress(SimpleSceneManager::MouseLeft, 
00174                                         me->x(), me->y()); 
00175         break;
00176     case MidButton:
00177         _manager->mouseButtonPress(SimpleSceneManager::MouseMiddle, 
00178                                         me->x(), me->y()); 
00179         break;
00180     case RightButton:
00181         _manager->mouseButtonPress(SimpleSceneManager::MouseRight, 
00182                                         me->x(), me->y()); 
00183         break;
00184     default:
00185         break;
00186     }
00187   
00188     paintGL();
00189 }

void OSGQGLManagedWidget::mouseReleaseEvent QMouseEvent *   )  [protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 191 of file OSGQGLManagedWidget_qt.cpp.

References _manager, FDEBUG, osg::SimpleSceneManager::mouseButtonRelease(), osg::SimpleSceneManager::MouseLeft, osg::SimpleSceneManager::MouseMiddle, osg::SimpleSceneManager::MouseRight, and paintGL().

00192 {
00193     FDEBUG(("OSGQGLManagedWidget::mouseReleaseEvent()\n"));
00194   
00195     switch(me->button()) 
00196     {
00197     case LeftButton:
00198         _manager->mouseButtonRelease(SimpleSceneManager::MouseLeft, 
00199                                         me->x(), me->y()); 
00200         break;
00201     case MidButton:
00202         _manager->mouseButtonRelease(SimpleSceneManager::MouseMiddle, 
00203                                         me->x(), me->y()); 
00204         break;
00205     case RightButton:
00206         _manager->mouseButtonRelease(SimpleSceneManager::MouseRight, 
00207                                         me->x(), me->y()); 
00208         break;
00209     default:
00210         break;
00211     }
00212    
00213     paintGL();
00214 }

void OSGQGLManagedWidget::mouseMoveEvent QMouseEvent *   )  [protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 216 of file OSGQGLManagedWidget_qt.cpp.

References _manager, FDEBUG, osg::SimpleSceneManager::mouseMove(), and paintGL().

00217 {
00218     FDEBUG(("OSGQGLManagedWidget::mouseMoveEvent()\n"));
00219   
00220     _manager->mouseMove(me->pos().x(), me->pos().y());
00221   
00222     paintGL();
00223 }

void OSGQGLManagedWidget::wheelEvent QWheelEvent *   )  [protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 225 of file OSGQGLManagedWidget_qt.cpp.

References _manager, FDEBUG, osg::SimpleSceneManager::mouseButtonPress(), osg::SimpleSceneManager::MouseDown, osg::SimpleSceneManager::MouseUp, and paintGL().

00226 {
00227     int button;
00228 
00229      FDEBUG (("OSGQGLManagedWidget::wheelEvent()\n"));
00230 
00231     if(we->delta() > 0)
00232     {
00233         button = SimpleSceneManager::MouseUp;
00234     }
00235     else
00236     {
00237         button = SimpleSceneManager::MouseDown;
00238     }
00239 
00240     _manager->mouseButtonPress(button, we->x(), we->y());
00241 
00242     paintGL();
00243 }

void OSGQGLManagedWidget::keyPressEvent QKeyEvent *   )  [protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 245 of file OSGQGLManagedWidget_qt.cpp.

References FDEBUG.

00246 {
00247     FDEBUG(("OSGQGLManagedWidget::keyPressEvent()\n"));
00248 }

void OSGQGLManagedWidget::closeEvent QCloseEvent *   )  [protected, virtual]
 

initialize the OpenGL part of the OpenSG window

Definition at line 250 of file OSGQGLManagedWidget_qt.cpp.

References closed(), and FDEBUG.

00251 {
00252     FDEBUG(("OSGQGLManagedWidget::closeEvent()\n"));
00253   
00254     emit closed(this);
00255 
00256     Inherited::closeEvent(event);
00257 }

OSGQGLManagedWidget & OSGQGLManagedWidget::operator= const OSGQGLManagedWidget source  )  [private]
 

assignment

Definition at line 115 of file OSGQGLManagedWidget_qt.cpp.

00116 {
00117     if (this != &source)
00118     {
00119         ;     // TODO; copy parts inherited from parent
00120     }
00121 
00122     return *this;
00123 }


Member Data Documentation

* SimpleSceneManager* osg::OSGQGLManagedWidget::_manager [protected]
 

initialize the OpenGL part of the OpenSG window

Definition at line 117 of file OSGQGLManagedWidget_qt.h.

Referenced by getManager(), initializeGL(), mouseMoveEvent(), mousePressEvent(), mouseReleaseEvent(), OSGQGLManagedWidget(), paintGL(), resizeGL(), and wheelEvent().


The documentation for this class was generated from the following files:
Generated on Thu Aug 25 04:31:11 2005 for OpenSG by  doxygen 1.4.3