]> Shamusworld >> Repos - architektonas/blob - src/layerwidget.cpp
adc717e7e1c63860a9cc2dfdd3ca8f8229ef1cc6
[architektonas] / src / layerwidget.cpp
1 // layerwidget.cpp: Layer add/remove/use widget
2 //
3 // Part of the Architektonas Project
4 // (C) 2011 Underground Software
5 // See the README and GPLv3 files for licensing and warranty information
6 //
7 // JLH = James Hammons <jlhamm@acm.org>
8 //
9 // WHO  WHEN        WHAT
10 // ---  ----------  ------------------------------------------------------------
11 // JLH  07/11/2013  Created this file
12 //
13
14 #include "layerwidget.h"
15 #include "layeritemwidget.h"
16
17
18 LayerWidget::LayerWidget(void): QWidget(),
19         list(new QListWidget)
20 {
21         LayerItemWidget * liw1 = new LayerItemWidget("Guidelines");
22         LayerItemWidget * liw2 = new LayerItemWidget("Floor #1");
23         LayerItemWidget * liw3 = new LayerItemWidget("Mechanical");
24         LayerItemWidget * liw4 = new LayerItemWidget("List Widget");
25         LayerItemWidget * liw5 = new LayerItemWidget("Background");
26
27 //      QListWidget * qlw = new QListWidget;
28         QListWidgetItem * qli1 = new QListWidgetItem(list);
29         QListWidgetItem * qli2 = new QListWidgetItem(list);
30         QListWidgetItem * qli3 = new QListWidgetItem(list);
31         QListWidgetItem * qli4 = new QListWidgetItem(list);
32         QListWidgetItem * qli5 = new QListWidgetItem(list);
33         list->setItemWidget(qli1, liw1);
34         list->setItemWidget(qli2, liw2);
35         list->setItemWidget(qli3, liw3);
36         list->setItemWidget(qli4, liw4);
37         list->setItemWidget(qli5, liw5);
38
39 #if 0
40         QPushButton * pb1 = new QPushButton("+");
41         QPushButton * pb2 = new QPushButton("-");
42         QPushButton * pb3 = new QPushButton("Edit");
43         QPushButton * pb4 = new QPushButton("^");
44         QPushButton * pb5 = new QPushButton("v");
45 #else
46         QToolButton * pb1 = new QToolButton;
47         QToolButton * pb2 = new QToolButton;
48         QToolButton * pb3 = new QToolButton;
49         QToolButton * pb4 = new QToolButton;
50         QToolButton * pb5 = new QToolButton;
51
52         pb1->setIcon(QIcon(":/res/generic-tool.png"));
53         pb2->setIcon(QIcon(":/res/generic-tool.png"));
54         pb3->setIcon(QIcon(":/res/generic-tool.png"));
55         pb4->setIcon(QIcon(":/res/generic-tool.png"));
56         pb5->setIcon(QIcon(":/res/generic-tool.png"));
57 #endif
58
59         QHBoxLayout * hbox1 = new QHBoxLayout;
60         hbox1->addWidget(pb1);
61         hbox1->addWidget(pb2);
62         hbox1->addWidget(pb3);
63         hbox1->addWidget(pb4);
64         hbox1->addWidget(pb5);
65         hbox1->addStretch();
66
67         QVBoxLayout * mainLayout = new QVBoxLayout;
68         mainLayout->addWidget(list);
69         mainLayout->addLayout(hbox1);
70
71         setLayout(mainLayout);
72
73         connect(list, SIGNAL(currentRowChanged(int)), this, SLOT(HandleLayerSelected(int)));
74         list->setCurrentRow(4);
75         connect(pb1, SIGNAL(clicked()), this, SLOT(AddLayer()));
76         connect(pb2, SIGNAL(clicked()), this, SLOT(DeleteLayer()));
77         connect(pb3, SIGNAL(clicked()), this, SLOT(EditLayer()));
78         connect(pb4, SIGNAL(clicked()), this, SLOT(MoveLayerUp()));
79         connect(pb5, SIGNAL(clicked()), this, SLOT(MoveLayerDown()));
80 }
81
82
83 LayerWidget::~LayerWidget()
84 {
85 }
86
87
88 void LayerWidget::HandleLayerSelected(int currentRow)
89 {
90 //printf("LayerWidget::HandleLayerSelected(): currentRow = %i\n", currentRow);
91         emit(LayerSelected(currentRow));
92 }
93
94
95 void LayerWidget::AddLayer(void)
96 {
97         int count = list->count();
98         QString text = QString("Layer #%1").arg(count);
99         LayerItemWidget * liw = new LayerItemWidget(text);
100         QListWidgetItem * qlwi = new QListWidgetItem();
101         list->insertItem(0, qlwi);
102         list->setItemWidget(qlwi, liw);
103 }
104
105
106 void LayerWidget::DeleteLayer(void)
107 {
108 }
109
110
111 void LayerWidget::EditLayer(void)
112 {
113 }
114
115
116 void LayerWidget::MoveLayerUp(void)
117 {
118 }
119
120
121 void LayerWidget::MoveLayerDown(void)
122 {
123 }
124