]> Shamusworld >> Repos - architektonas/blobdiff - src/layerwidget.cpp
Beginning to make the Layer widget functional.
[architektonas] / src / layerwidget.cpp
index 6561256c5f4af3d8a7caf12363fb6ba55c0f73c6..adc717e7e1c63860a9cc2dfdd3ca8f8229ef1cc6 100644 (file)
@@ -15,7 +15,8 @@
 #include "layeritemwidget.h"
 
 
-LayerWidget::LayerWidget(void): QWidget()
+LayerWidget::LayerWidget(void): QWidget(),
+       list(new QListWidget)
 {
        LayerItemWidget * liw1 = new LayerItemWidget("Guidelines");
        LayerItemWidget * liw2 = new LayerItemWidget("Floor #1");
@@ -23,23 +24,37 @@ LayerWidget::LayerWidget(void): QWidget()
        LayerItemWidget * liw4 = new LayerItemWidget("List Widget");
        LayerItemWidget * liw5 = new LayerItemWidget("Background");
 
-       QListWidget * qlw = new QListWidget;
-       QListWidgetItem * qli1 = new QListWidgetItem(qlw);
-       QListWidgetItem * qli2 = new QListWidgetItem(qlw);
-       QListWidgetItem * qli3 = new QListWidgetItem(qlw);
-       QListWidgetItem * qli4 = new QListWidgetItem(qlw);
-       QListWidgetItem * qli5 = new QListWidgetItem(qlw);
-       qlw->setItemWidget(qli1, liw1);
-       qlw->setItemWidget(qli2, liw2);
-       qlw->setItemWidget(qli3, liw3);
-       qlw->setItemWidget(qli4, liw4);
-       qlw->setItemWidget(qli5, liw5);
+//     QListWidget * qlw = new QListWidget;
+       QListWidgetItem * qli1 = new QListWidgetItem(list);
+       QListWidgetItem * qli2 = new QListWidgetItem(list);
+       QListWidgetItem * qli3 = new QListWidgetItem(list);
+       QListWidgetItem * qli4 = new QListWidgetItem(list);
+       QListWidgetItem * qli5 = new QListWidgetItem(list);
+       list->setItemWidget(qli1, liw1);
+       list->setItemWidget(qli2, liw2);
+       list->setItemWidget(qli3, liw3);
+       list->setItemWidget(qli4, liw4);
+       list->setItemWidget(qli5, liw5);
 
+#if 0
        QPushButton * pb1 = new QPushButton("+");
        QPushButton * pb2 = new QPushButton("-");
        QPushButton * pb3 = new QPushButton("Edit");
        QPushButton * pb4 = new QPushButton("^");
        QPushButton * pb5 = new QPushButton("v");
+#else
+       QToolButton * pb1 = new QToolButton;
+       QToolButton * pb2 = new QToolButton;
+       QToolButton * pb3 = new QToolButton;
+       QToolButton * pb4 = new QToolButton;
+       QToolButton * pb5 = new QToolButton;
+
+       pb1->setIcon(QIcon(":/res/generic-tool.png"));
+       pb2->setIcon(QIcon(":/res/generic-tool.png"));
+       pb3->setIcon(QIcon(":/res/generic-tool.png"));
+       pb4->setIcon(QIcon(":/res/generic-tool.png"));
+       pb5->setIcon(QIcon(":/res/generic-tool.png"));
+#endif
 
        QHBoxLayout * hbox1 = new QHBoxLayout;
        hbox1->addWidget(pb1);
@@ -50,10 +65,18 @@ LayerWidget::LayerWidget(void): QWidget()
        hbox1->addStretch();
 
        QVBoxLayout * mainLayout = new QVBoxLayout;
-       mainLayout->addWidget(qlw);
+       mainLayout->addWidget(list);
        mainLayout->addLayout(hbox1);
 
        setLayout(mainLayout);
+
+       connect(list, SIGNAL(currentRowChanged(int)), this, SLOT(HandleLayerSelected(int)));
+       list->setCurrentRow(4);
+       connect(pb1, SIGNAL(clicked()), this, SLOT(AddLayer()));
+       connect(pb2, SIGNAL(clicked()), this, SLOT(DeleteLayer()));
+       connect(pb3, SIGNAL(clicked()), this, SLOT(EditLayer()));
+       connect(pb4, SIGNAL(clicked()), this, SLOT(MoveLayerUp()));
+       connect(pb5, SIGNAL(clicked()), this, SLOT(MoveLayerDown()));
 }
 
 
@@ -61,3 +84,41 @@ LayerWidget::~LayerWidget()
 {
 }
 
+
+void LayerWidget::HandleLayerSelected(int currentRow)
+{
+//printf("LayerWidget::HandleLayerSelected(): currentRow = %i\n", currentRow);
+       emit(LayerSelected(currentRow));
+}
+
+
+void LayerWidget::AddLayer(void)
+{
+       int count = list->count();
+       QString text = QString("Layer #%1").arg(count);
+       LayerItemWidget * liw = new LayerItemWidget(text);
+       QListWidgetItem * qlwi = new QListWidgetItem();
+       list->insertItem(0, qlwi);
+       list->setItemWidget(qlwi, liw);
+}
+
+
+void LayerWidget::DeleteLayer(void)
+{
+}
+
+
+void LayerWidget::EditLayer(void)
+{
+}
+
+
+void LayerWidget::MoveLayerUp(void)
+{
+}
+
+
+void LayerWidget::MoveLayerDown(void)
+{
+}
+