//
#include "layerwidget.h"
+#include "layeritemwidget.h"
-#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
-
-LayerWidget::LayerWidget(void): QWidget()
+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;
- // 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->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
- 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()));
}
{
}
+
+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)
+{
+}
+