1 // layerwidget.cpp: Layer add/remove/use widget
3 // Part of the Architektonas Project
4 // (C) 2011 Underground Software
5 // See the README and GPLv3 files for licensing and warranty information
7 // JLH = James Hammons <jlhamm@acm.org>
10 // --- ---------- ------------------------------------------------------------
11 // JLH 07/11/2013 Created this file
14 #include "layerwidget.h"
15 #include "layeritemwidget.h"
18 LayerWidget::LayerWidget(void): QWidget(),
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");
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);
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");
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;
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"));
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);
67 QVBoxLayout * mainLayout = new QVBoxLayout;
68 mainLayout->addWidget(list);
69 mainLayout->addLayout(hbox1);
71 setLayout(mainLayout);
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()));
83 LayerWidget::~LayerWidget()
88 void LayerWidget::HandleLayerSelected(int currentRow)
90 //printf("LayerWidget::HandleLayerSelected(): currentRow = %i\n", currentRow);
91 emit(LayerSelected(currentRow));
95 void LayerWidget::AddLayer(void)
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);
106 void LayerWidget::DeleteLayer(void)
111 void LayerWidget::EditLayer(void)
116 void LayerWidget::MoveLayerUp(void)
121 void LayerWidget::MoveLayerDown(void)