goat3d

annotate goatview/src/goatview.h @ 85:91e3aa1a60c3

more powerful treeview
author John Tsiombikas <nuclear@member.fsf.org>
date Wed, 14 May 2014 05:34:18 +0300
parents 57e745dd13c2
children 7941e89798e5
rev   line source
nuclear@73 1 #ifndef GOATVIEW_H_
nuclear@73 2 #define GOATVIEW_H_
nuclear@73 3
nuclear@75 4 #include <QtCore/QtCore>
nuclear@73 5 #include <QtWidgets/QtWidgets>
nuclear@73 6 #include <QtOpenGL/QGLWidget>
nuclear@74 7 #include "goat3d.h"
nuclear@85 8 #include "scenemodel.h"
nuclear@74 9
nuclear@74 10 extern goat3d *scene;
nuclear@73 11
nuclear@82 12 class GoatViewport;
nuclear@76 13
nuclear@85 14
nuclear@73 15 class GoatView : public QMainWindow {
nuclear@83 16 private:
nuclear@73 17 Q_OBJECT
nuclear@83 18
nuclear@82 19 GoatViewport *glview;
nuclear@85 20 QTreeView *treeview;
nuclear@85 21 SceneModel *scene_model;
nuclear@82 22
nuclear@75 23 void closeEvent(QCloseEvent *ev);
nuclear@73 24 bool make_menu();
nuclear@73 25 bool make_dock();
nuclear@73 26 bool make_center();
nuclear@73 27
nuclear@73 28 private slots:
nuclear@73 29 void open_scene();
nuclear@73 30 void open_anim();
nuclear@73 31
nuclear@73 32 public:
nuclear@73 33 GoatView();
nuclear@73 34 ~GoatView();
nuclear@82 35
nuclear@82 36 bool load_scene(const char *fname);
nuclear@83 37
nuclear@83 38 void show_about();
nuclear@73 39 };
nuclear@73 40
nuclear@73 41 class GoatViewport : public QGLWidget {
nuclear@82 42 private:
nuclear@73 43 Q_OBJECT
nuclear@82 44
nuclear@82 45 QWidget *main_win;
nuclear@82 46 bool initialized;
nuclear@82 47
nuclear@73 48 public:
nuclear@82 49 GoatViewport(QWidget *main_win);
nuclear@73 50 ~GoatViewport();
nuclear@73 51
nuclear@73 52 QSize sizeHint() const;
nuclear@73 53
nuclear@73 54 void initializeGL();
nuclear@73 55 void resizeGL(int xsz, int ysz);
nuclear@73 56 void paintGL();
nuclear@78 57
nuclear@83 58 void toggle_lighting();
nuclear@83 59
nuclear@78 60 void mousePressEvent(QMouseEvent *ev);
nuclear@78 61 void mouseMoveEvent(QMouseEvent *ev);
nuclear@73 62 };
nuclear@73 63
nuclear@73 64 #endif // GOATVIEW_H_