2 #include <QApplication>
8 #include "dock_disks.h"
10 #define NEW_LABELS(lim,_l,name,_p,mes,zero) { \
11 QString tmps, tmpss; \
12 for(int i = 0; i < lim; i++) { \
16 tmpss.setNum(i + 1); \
19 tmps = tmps + tmpss; \
20 _l[i] = new QLabel(tmps, this); \
21 _p[i] = new QLabel(mes, this); \
22 _l[i]->setVisible(false); \
23 _p[i]->setVisible(false); \
24 VBox->addWidget(_l[i]); \
25 VBox->addWidget(_p[i]); \
29 #define RELEASE_LABELS(lim,_l,_p) { \
30 for(int i = 0; i < lim; i++) { \
31 if(_l[i] != NULL) delete _l[i]; \
32 if(_p[i] != NULL) delete _p[i]; \
38 CSP_DockDisks::CSP_DockDisks(QWidget *parent, Qt::WindowFlags flags) : QDockWidget(parent, flags)
41 QWidget *Widget = new QWidget(this);
42 VBox = new QVBoxLayout(Widget);
43 VBox->setAlignment(Qt::AlignTop);
45 ns = QApplication::translate("DockDisks", "Binary", 0);
46 ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
47 NEW_LABELS(8,lBinary,ns,pBinary,ms,false);
49 ns = QApplication::translate("DockDisks", "FD", 0);
50 ms = QApplication::translate("DockDisks", " *EMPTY* ", 0);
51 NEW_LABELS(8,lFloppyDisk,ns,pFloppyDisk,ms,true);
53 ns = QApplication::translate("DockDisks", "CMT", 0);
54 ms = QApplication::translate("DockDisks", " *EJECT* ", 0);
55 NEW_LABELS(2,lCMT,ns,pCMT,ms,false);
57 ns = QApplication::translate("DockDisks", "Bubble", 0);
58 ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
59 NEW_LABELS(8,lBubble,ns,pBubble,ms,false);
61 ns = QApplication::translate("DockDisks", "Cartridge", 0);
62 ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
63 NEW_LABELS(8,lCart,ns,pCart,ms,false);
65 ns = QApplication::translate("DockDisks", "Quick Disk", 0);
66 ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
67 NEW_LABELS(8,lQuickDisk,ns,pQuickDisk,ms,false);
69 ns = QApplication::translate("DockDisks", "CD", 0);
70 ms = QApplication::translate("DockDisks", "*EJECT*", 0);
71 NEW_LABELS(2,lCompactDisc,ns,pCompactDisc,ms,false);
73 ns = QApplication::translate("DockDisks", "HDD", 0);
74 ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
75 NEW_LABELS(8,lHardDisk,ns,pHardDisk,ms,true);
77 ns = QApplication::translate("DockDisks", "Laser Disc", 0);
78 ms = QApplication::translate("DockDisks", "*EMPTY*", 0);
79 NEW_LABELS(2,lLaserDisc,ns,pLaserDisc,ms,false);
81 Widget->setLayout(VBox);
82 this->setWidget(Widget);
87 CSP_DockDisks::~CSP_DockDisks()
89 RELEASE_LABELS(8,lBinary,pBinary);
90 RELEASE_LABELS(8,lFloppyDisk,pFloppyDisk);
91 RELEASE_LABELS(2,lCMT,pCMT);
92 RELEASE_LABELS(8,lBubble,pBubble);
93 RELEASE_LABELS(8,lCart,pCart);
94 RELEASE_LABELS(8,lQuickDisk,pQuickDisk);
95 RELEASE_LABELS(2,lCompactDisc,pCompactDisc);
96 RELEASE_LABELS(8,lHardDisk,pHardDisk);
97 RELEASE_LABELS(2,lLaserDisc,pLaserDisc);
100 void CSP_DockDisks::updateLabel(int dom, int localnum, QString str)
103 case CSP_DockDisks_Domain_Binary:
104 if((localnum < 8) && (localnum >= 0)) {
105 lBinary[localnum]->setText(str);
108 case CSP_DockDisks_Domain_Bubble:
109 if((localnum < 8) && (localnum >= 0)) {
110 lBubble[localnum]->setText(str);
113 case CSP_DockDisks_Domain_Cart:
114 if((localnum < 8) && (localnum >= 0)) {
115 lCart[localnum]->setText(str);
118 case CSP_DockDisks_Domain_CMT:
119 if((localnum < 2) && (localnum >= 0)) {
120 lCMT[localnum]->setText(str);
123 case CSP_DockDisks_Domain_CD:
124 if((localnum < 2) && (localnum >= 0)) {
125 lCompactDisc[localnum]->setText(str);
128 case CSP_DockDisks_Domain_FD:
129 if((localnum < 8) && (localnum >= 0)) {
130 lFloppyDisk[localnum]->setText(str);
133 case CSP_DockDisks_Domain_HD:
134 if((localnum < 8) && (localnum >= 0)) {
135 lHardDisk[localnum]->setText(str);
138 case CSP_DockDisks_Domain_LD:
139 if((localnum < 2) && (localnum >= 0)) {
140 lLaserDisc[localnum]->setText(str);
143 case CSP_DockDisks_Domain_QD:
144 if((localnum < 8) && (localnum >= 0)) {
145 lQuickDisk[localnum]->setText(str);
153 void CSP_DockDisks::updateMessage(int dom, int localnum, QString str)
156 case CSP_DockDisks_Domain_Binary:
157 if((localnum < 8) && (localnum >= 0)) {
158 pBinary[localnum]->setText(str);
161 case CSP_DockDisks_Domain_Bubble:
162 if((localnum < 8) && (localnum >= 0)) {
163 pBubble[localnum]->setText(str);
166 case CSP_DockDisks_Domain_Cart:
167 if((localnum < 8) && (localnum >= 0)) {
168 pCart[localnum]->setText(str);
171 case CSP_DockDisks_Domain_CMT:
172 if((localnum < 2) && (localnum >= 0)) {
173 pCMT[localnum]->setText(str);
176 case CSP_DockDisks_Domain_CD:
177 if((localnum < 2) && (localnum >= 0)) {
178 pCompactDisc[localnum]->setText(str);
181 case CSP_DockDisks_Domain_FD:
182 if((localnum < 8) && (localnum >= 0)) {
183 pFloppyDisk[localnum]->setText(str);
186 case CSP_DockDisks_Domain_HD:
187 if((localnum < 8) && (localnum >= 0)) {
188 pHardDisk[localnum]->setText(str);
191 case CSP_DockDisks_Domain_LD:
192 if((localnum < 2) && (localnum >= 0)) {
193 pLaserDisc[localnum]->setText(str);
196 case CSP_DockDisks_Domain_QD:
197 if((localnum < 8) && (localnum >= 0)) {
198 pQuickDisk[localnum]->setText(str);
206 void CSP_DockDisks::setVisible(int dom, int localnum, bool enabled)
209 case CSP_DockDisks_Domain_Binary:
210 if((localnum < 8) && (localnum >= 0)) {
211 lBinary[localnum]->setVisible(enabled);
212 pBinary[localnum]->setVisible(enabled);
215 case CSP_DockDisks_Domain_Bubble:
216 if((localnum < 8) && (localnum >= 0)) {
217 lBubble[localnum]->setVisible(enabled);
218 pBubble[localnum]->setVisible(enabled);
221 case CSP_DockDisks_Domain_Cart:
222 if((localnum < 8) && (localnum >= 0)) {
223 lCart[localnum]->setVisible(enabled);
224 pCart[localnum]->setVisible(enabled);
227 case CSP_DockDisks_Domain_CMT:
228 if((localnum < 2) && (localnum >= 0)) {
229 lCMT[localnum]->setVisible(enabled);
230 pCMT[localnum]->setVisible(enabled);
233 case CSP_DockDisks_Domain_CD:
234 if((localnum < 2) && (localnum >= 0)) {
235 lCompactDisc[localnum]->setVisible(enabled);
236 pCompactDisc[localnum]->setVisible(enabled);
239 case CSP_DockDisks_Domain_FD:
240 if((localnum < 8) && (localnum >= 0)) {
241 lFloppyDisk[localnum]->setVisible(enabled);
242 pFloppyDisk[localnum]->setVisible(enabled);
245 case CSP_DockDisks_Domain_HD:
246 if((localnum < 8) && (localnum >= 0)) {
247 lHardDisk[localnum]->setVisible(enabled);
248 pHardDisk[localnum]->setVisible(enabled);
251 case CSP_DockDisks_Domain_LD:
252 if((localnum < 2) && (localnum >= 0)) {
253 lLaserDisc[localnum]->setVisible(enabled);
254 pLaserDisc[localnum]->setVisible(enabled);
257 case CSP_DockDisks_Domain_QD:
258 if((localnum < 8) && (localnum >= 0)) {
259 lQuickDisk[localnum]->setVisible(enabled);
260 pQuickDisk[localnum]->setVisible(enabled);
268 void CSP_DockDisks::setPixmap(int dom, int localnum, const QPixmap &pix)
271 case CSP_DockDisks_Domain_Binary:
272 if((localnum < 8) && (localnum >= 0)) {
273 pBinary[localnum]->setPixmap(pix);
276 case CSP_DockDisks_Domain_Bubble:
277 if((localnum < 8) && (localnum >= 0)) {
278 pBubble[localnum]->setPixmap(pix);
281 case CSP_DockDisks_Domain_Cart:
282 if((localnum < 8) && (localnum >= 0)) {
283 pCart[localnum]->setPixmap(pix);
286 case CSP_DockDisks_Domain_CMT:
287 if((localnum < 2) && (localnum >= 0)) {
288 pCMT[localnum]->setPixmap(pix);
291 case CSP_DockDisks_Domain_CD:
292 if((localnum < 2) && (localnum >= 0)) {
293 pCompactDisc[localnum]->setPixmap(pix);
296 case CSP_DockDisks_Domain_FD:
297 if((localnum < 8) && (localnum >= 0)) {
298 pFloppyDisk[localnum]->setPixmap(pix);
301 case CSP_DockDisks_Domain_HD:
302 if((localnum < 8) && (localnum >= 0)) {
303 pHardDisk[localnum]->setPixmap(pix);
306 case CSP_DockDisks_Domain_LD:
307 if((localnum < 2) && (localnum >= 0)) {
308 pLaserDisc[localnum]->setPixmap(pix);
311 case CSP_DockDisks_Domain_QD:
312 if((localnum < 8) && (localnum >= 0)) {
313 pQuickDisk[localnum]->setPixmap(pix);