X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flayerwidget.cpp;h=33221206a456172f62d28cebfb9b7a3374d1a941;hb=84afe881653a02a16b19d4da37435b8701b1a826;hp=ba907917acc627fef20f1199c8c25932c75345d6;hpb=f97fcdd0f5c95d15cc8f03a818ed8e90e76e8f5a;p=architektonas diff --git a/src/layerwidget.cpp b/src/layerwidget.cpp index ba90791..3322120 100644 --- a/src/layerwidget.cpp +++ b/src/layerwidget.cpp @@ -12,38 +12,63 @@ // #include "layerwidget.h" +#include "layeritemwidget.h" +LayerWidget::LayerWidget(void): QWidget(), + list(new QListWidget) +{ + LayerItemWidget * liw = new LayerItemWidget("Background"); + QListWidgetItem * qlwi = new QListWidgetItem(list); + list->setItemWidget(qlwi, liw); + #if 0 -OK, what it seems like we should do here, is instead of deriving from QDockWidget, -we should derive from QWidget (or QScrollArea or somesuch). Then, when creating -the dockwidget in the main window, we add the LayerWidget as the QDockWidget's -main widget. -#endif + 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; -LayerWidget::LayerWidget(void): QWidget() -{ + 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")); - // Make a QScrollArea, put in a QVBoxLayout. - // Use line widget (two checkboxes, one label), use setIcon() on the - // checkboxes to change their look (eye open/closed for visibility, - // lock open/closed for layer lock). + 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 - QIcon visibleChecked(":/res/eye-open.png"); -// QIcon visibleUnchecked(":/res/eye-closed.png"); - visibleChecked.addFile(":/res/eye-closed.png", QSize(16, 16), QIcon::Normal, QIcon::On); + 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; - QCheckBox * box1 = new QCheckBox("bleah"); - box1->setIcon(visibleChecked); - mainLayout->addWidget(box1); - QPushButton * button1 = new QPushButton;//(visibleChecked); - button1->setFlat(true); - button1->setIcon(visibleChecked); - button1->setCheckable(true); - mainLayout->addWidget(button1); -//printf("LayerWidget: About to set layout...\n"); + 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())); } @@ -51,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) +{ +} +