Documentation


X3DTreeQt.h

Go to the documentation of this file.
00001 #ifndef X3D_TREE_QT_H
00002 #define X3D_TREE_QT_H
00003 
00004 #include <qpopupmenu.h>
00005 
00006 #include <X3DTK/X3D/scenegraph.h>
00007 
00008 #include "X3DTreeDesigner.h"
00009 
00010 class MainController;
00011 
00012 
00013 namespace X3DTK{
00014 
00015 namespace X3D {
00016   class EngineNode;
00017 }
00018 
00019 namespace Qt{
00020 
00024 class X3DTreeQt : public X3DTreeDesigner
00025 {
00026 
00027       Q_OBJECT        // must include this if you use Qt signals/slots
00028   
00029 public:
00030 
00032   X3DTreeQt( QWidget* parent = 0,
00033              const char* name = 0,
00034              WFlags fl = 0);
00035 
00037   ~X3DTreeQt();
00038 
00039 public slots:
00040   void ExpandItemInSceneView(QListViewItem * item);
00041   void CollapseItemInSceneView(QListViewItem *item);
00042   void DoubleClickeItemInSceneView(QListViewItem * item);
00043   void SelectItemInSceneView(QListViewItem *item);
00044   void insertDeletePopupMenu(QListViewItem * item, const QPoint& point);
00045   void insertNode();
00046   void insertTransform();
00047   void deleteNode();
00048   void addNode(X3DTK::X3D::X3DNode * node);
00049 
00050 public:
00052   void setSceneGraphRoot(X3DTK::X3D::Scene * scene);
00053   
00055   void setMainController(::MainController * mainController);
00056  
00057 protected:
00059   void pastNode();
00061   void cutNode();
00063   void copyNode();
00065   void releaseBufferNode();
00066   
00068   void updateGL();
00069   
00071   void keyPressEvent( QKeyEvent *k );
00072 
00074   QListViewItem * AddSceneNodeItemInListView(QListViewItem * parent, X3DTK::X3D::X3DNode * node);
00075 
00077   void ExpandChildItemInSceneView(QListViewItem *item);
00078 
00080   void eraseItemX3DMap(QListViewItem * item);
00081 
00082 private:
00084   void displayWidget(X3D::X3DNode * node);
00085   
00086 private:
00088   ::MainController * mainController;
00089   
00091   QListViewItem * selectedItem;
00092   
00094 //  X3DTK::X3D::EngineNode * selectedEngineNode;
00095   
00097   X3DTK::X3D::X3DNode * bufferNode;
00098  
00100   typedef std::map<QListViewItem *, X3DTK::X3D::X3DNode *> ItemX3DMap;
00102   ItemX3DMap itemX3DMap;
00103   
00105   QListViewItem *scene_item ;
00106   
00108   QPopupMenu * insertDeletePopup;  
00109 
00110 };
00111 
00112 }// Qt
00113 }// X3DTK
00114 
00115 #endif

Generated on Thu Dec 23 13:52:27 2004 by doxygen 1.3.6