AnimaL |
Tutorial |
Documentation |
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