goat3d

annotate goatview/src/goatview.h @ 82:70b7c41a4f17

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 11 May 2014 22:04:54 +0300
parents 53ea5b25426e
children 57e745dd13c2
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@74 8
nuclear@74 9 extern goat3d *scene;
nuclear@73 10
nuclear@82 11 class GoatViewport;
nuclear@76 12
nuclear@73 13 class GoatView : public QMainWindow {
nuclear@73 14 Q_OBJECT
nuclear@73 15 private:
nuclear@82 16 GoatViewport *glview;
nuclear@82 17 QStandardItemModel *sgmodel; // scene graph model
nuclear@82 18 QTreeWidget *scntree;
nuclear@82 19
nuclear@75 20 void closeEvent(QCloseEvent *ev);
nuclear@73 21 bool make_menu();
nuclear@73 22 bool make_dock();
nuclear@73 23 bool make_center();
nuclear@73 24
nuclear@73 25 private slots:
nuclear@73 26 void open_scene();
nuclear@73 27 void open_anim();
nuclear@73 28
nuclear@73 29 public:
nuclear@73 30 GoatView();
nuclear@73 31 ~GoatView();
nuclear@82 32
nuclear@82 33 bool load_scene(const char *fname);
nuclear@73 34 };
nuclear@73 35
nuclear@73 36 class GoatViewport : public QGLWidget {
nuclear@82 37 private:
nuclear@73 38 Q_OBJECT
nuclear@82 39
nuclear@82 40 QWidget *main_win;
nuclear@82 41 bool initialized;
nuclear@82 42
nuclear@73 43 public:
nuclear@82 44 GoatViewport(QWidget *main_win);
nuclear@73 45 ~GoatViewport();
nuclear@73 46
nuclear@73 47 QSize sizeHint() const;
nuclear@73 48
nuclear@73 49 void initializeGL();
nuclear@73 50 void resizeGL(int xsz, int ysz);
nuclear@73 51 void paintGL();
nuclear@78 52
nuclear@78 53 void mousePressEvent(QMouseEvent *ev);
nuclear@78 54 void mouseMoveEvent(QMouseEvent *ev);
nuclear@73 55 };
nuclear@73 56
nuclear@73 57 #endif // GOATVIEW_H_