2 // mainwidget.cpp: Main window display widget
4 // Part of the WOZ Maker project
6 // (C) 2018 Underground Software
9 #include "mainwidget.h"
10 #include "diskwidget.h"
11 #include "nibblewidget.h"
12 #include "waveformwidget.h"
15 MainWidget::MainWidget(QWidget * parent/*= 0*/): QWidget(parent)
17 QVBoxLayout * layout = new QVBoxLayout;
19 wfWidget = new WaveformWidget(this);
20 // wfWidget->setGeometry(QRect(0, 0, 20, 300));
22 QScrollArea * scroll1 = new QScrollArea;
24 // set black background
25 QPalette pal = palette();
26 pal.setColor(QPalette::Window, QColor(0x3B, 0x36, 0x32));
27 scroll1->setAutoFillBackground(true);
28 scroll1->setPalette(pal);
29 scroll1->setWidget(wfWidget);
31 // wfWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
33 nibbleWidget = new NibbleWidget(this);
34 // nibbleWidget->setGeometry(QRect(0, 0, 20, 20));
35 // nibbleWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
37 QScrollArea * scroll2 = new QScrollArea;
38 pal.setColor(QPalette::Window, QColor(0xFF, 0xFF, 0xFF));
39 scroll2->setAutoFillBackground(true);
40 scroll2->setPalette(pal);
41 scroll2->setWidget(nibbleWidget);
43 diskWidget = new DiskWidget(this);
44 diskWidget->setAutoFillBackground(true);
45 diskWidget->setPalette(pal);
47 layout->addWidget(scroll1);
48 // layout->addWidget(scroll2);
49 layout->addWidget(diskWidget);
53 wfWidget->setFocusPolicy(Qt::StrongFocus); // Without this, it gets no keys
57 MainWidget::~MainWidget(void)
62 void MainWidget::mousePressEvent(QMouseEvent * event)
64 if (event->button() == Qt::LeftButton)
71 void MainWidget::mouseMoveEvent(QMouseEvent * event)
73 if (event->buttons() & Qt::LeftButton)
80 void MainWidget::mouseReleaseEvent(QMouseEvent * event)
82 if (event->button() == Qt::LeftButton)
89 void MainWidget::mouseDoubleClickEvent(QMouseEvent * event)
91 if (event->button() == Qt::LeftButton)
98 void MainWidget::keyPressEvent(QKeyEvent * event)
100 int key = event->key();
102 if (key == Qt::Key_Up)
105 else if (key == Qt::Key_Down)
108 else if (key == Qt::Key_Left)
111 else if (key == Qt::Key_Right)
117 // Only update if a key we recognize has been pressed!
122 void MainWidget::keyReleaseEvent(QKeyEvent * /*event*/)
127 void MainWidget::resizeEvent(QResizeEvent * /*event*/)