]> Shamusworld >> Repos - wozmaker/blob - src/mainwidget.cpp
Flesh out the disk settings dialog.
[wozmaker] / src / mainwidget.cpp
1 //
2 // mainwidget.cpp: Main window display widget
3 //
4 // Part of the WOZ Maker project
5 // by James Hammons
6 // (C) 2018 Underground Software
7 //
8
9 #include "mainwidget.h"
10 #include "diskwidget.h"
11 #include "nibblewidget.h"
12 #include "waveformwidget.h"
13
14
15 MainWidget::MainWidget(QWidget * parent/*= 0*/): QWidget(parent)
16 {
17         QVBoxLayout * layout = new QVBoxLayout;
18
19         wfWidget = new WaveformWidget(this);
20 //      wfWidget->setGeometry(QRect(0, 0, 20, 300));
21
22         QScrollArea * scroll1 = new QScrollArea;
23
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);
30
31 //      wfWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
32
33         nibbleWidget = new NibbleWidget(this);
34 //      nibbleWidget->setGeometry(QRect(0, 0, 20, 20));
35 //      nibbleWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
36
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);
42
43         diskWidget = new DiskWidget(this);
44         diskWidget->setAutoFillBackground(true);
45         diskWidget->setPalette(pal);
46
47         layout->addWidget(scroll1);
48 //      layout->addWidget(scroll2);
49         layout->addWidget(diskWidget);
50
51         setLayout(layout);
52
53         wfWidget->setFocusPolicy(Qt::StrongFocus);      // Without this, it gets no keys
54 }
55
56
57 MainWidget::~MainWidget(void)
58 {
59 }
60
61
62 void MainWidget::mousePressEvent(QMouseEvent * event)
63 {
64         if (event->button() == Qt::LeftButton)
65         {
66                 event->accept();
67         }
68 }
69
70
71 void MainWidget::mouseMoveEvent(QMouseEvent * event)
72 {
73         if (event->buttons() & Qt::LeftButton)
74         {
75                 event->accept();
76         }
77 }
78
79
80 void MainWidget::mouseReleaseEvent(QMouseEvent * event)
81 {
82         if (event->button() == Qt::LeftButton)
83         {
84                 event->accept();
85         }
86 }
87
88
89 void MainWidget::mouseDoubleClickEvent(QMouseEvent * event)
90 {
91         if (event->button() == Qt::LeftButton)
92         {
93                 event->accept();
94         }
95 }
96
97
98 void MainWidget::keyPressEvent(QKeyEvent * event)
99 {
100         int key = event->key();
101
102         if (key == Qt::Key_Up)
103         {
104         }
105         else if (key == Qt::Key_Down)
106         {
107         }
108         else if (key == Qt::Key_Left)
109         {
110         }
111         else if (key == Qt::Key_Right)
112         {
113         }
114         else
115                 return;
116
117         // Only update if a key we recognize has been pressed!
118         update();
119 }
120
121
122 void MainWidget::keyReleaseEvent(QKeyEvent * /*event*/)
123 {
124 }
125
126
127 void MainWidget::resizeEvent(QResizeEvent * /*event*/)
128 {
129 }
130