Crazy commit
[agianapa.git] / qt / displist / window.cpp
blob97e1636f82eb69a899180de3c9aedc2b843d7d63
1 #include <iostream>
2 #include <QtGui>
3 #include <QKeyEvent>
5 #include "myglwidget.h"
6 #include "window.h"
8 Window::Window()
10 std::cout << "Window() contructor\n";
12 // Set parent's window minimum dimensions
13 this->setMinimumHeight(300);
14 this->setMinimumWidth(300);
16 // Construct and display opengl widget
17 // Widgets are invisible by default
18 myglWidget = new MyGLWidget(this);
19 myglWidget->show();
21 // Connect signals here
22 connect(this, SIGNAL(windowResized(QResizeEvent *)),
23 myglWidget, SLOT(resizeWidget(QResizeEvent *)));
24 connect(this, SIGNAL(verticesChanged(int )),
25 myglWidget, SLOT(setNumOfVertices(int )));
28 void Window::resizeEvent(QResizeEvent *e)
30 std::cout << "window::resizeEvent()" << std::endl;
32 // Resize opengl widget to cover the whole window
33 myglWidget->setGeometry(0, 0, e->size().width(), e->size().height());
35 // Force opengl widget to redraw its contents
36 emit windowResized(e);
39 void Window::keyPressEvent(QKeyEvent *e)
41 std::cout << "window::keyPressEvent()" << std::endl;
43 // Dispatch key events
44 switch(e->key()) {
45 case '+':
46 emit verticesChanged(1);
47 break;
48 case '-':
49 emit verticesChanged(-1);
50 break;
51 default:
52 // For key events we don't process,
53 // just call the base class handler implementation.
54 QWidget::keyPressEvent(e);