X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flayerwidget.cpp;h=33221206a456172f62d28cebfb9b7a3374d1a941;hb=f507d97c1b1118834a70332f5f79d8479a6964c0;hp=4a98037685c786312576396dc1a0cf4e34026308;hpb=3c556d5eb1b724f5494e6849f732e65989379a94;p=architektonas diff --git a/src/layerwidget.cpp b/src/layerwidget.cpp index 4a98037..3322120 100644 --- a/src/layerwidget.cpp +++ b/src/layerwidget.cpp @@ -15,38 +15,60 @@ #include "layeritemwidget.h" -LayerWidget::LayerWidget(void): QWidget() -{ - LayerItemWidget * liw1 = new LayerItemWidget("Background"); - LayerItemWidget * liw2 = new LayerItemWidget("Guidelines"); - LayerItemWidget * liw3 = new LayerItemWidget("Floor #1"); - LayerItemWidget * liw4 = new LayerItemWidget("Mechanical"); - LayerItemWidget * liw5 = new LayerItemWidget("List Widget"); - - 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); +LayerWidget::LayerWidget(void): QWidget(), + list(new QListWidget) +{ + LayerItemWidget * liw = new LayerItemWidget("Background"); + QListWidgetItem * qlwi = new QListWidgetItem(list); + list->setItemWidget(qlwi, liw); +#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/layer-add.png")); + pb2->setIcon(QIcon(":/res/layer-delete.png")); + pb3->setIcon(QIcon(":/res/layer-edit.png")); + pb4->setIcon(QIcon(":/res/layer-up.png")); + pb5->setIcon(QIcon(":/res/layer-down.png")); + + pb1->setToolTip(tr("Add layer")); + pb2->setToolTip(tr("Remove layer")); + pb3->setToolTip(tr("Edit layer")); + pb4->setToolTip(tr("Move layer up")); + pb5->setToolTip(tr("Move layer down")); +#endif QHBoxLayout * hbox1 = new QHBoxLayout; hbox1->addWidget(pb1); hbox1->addWidget(pb2); + hbox1->addWidget(pb3); + hbox1->addWidget(pb4); + hbox1->addWidget(pb5); + 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())); } @@ -54,3 +76,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) +{ +} +