X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flayeritemwidget.cpp;h=0dbb1decd8ed864b923afed833f691fdb7b67254;hb=742d2aa9bb46bce4f690474fa22f5980e175e55e;hp=57631388737686cf08085b5a9e18b8a6869009e7;hpb=3c556d5eb1b724f5494e6849f732e65989379a94;p=architektonas diff --git a/src/layeritemwidget.cpp b/src/layeritemwidget.cpp index 5763138..0dbb1de 100644 --- a/src/layeritemwidget.cpp +++ b/src/layeritemwidget.cpp @@ -1,3 +1,4 @@ +// // layeritemwidget.cpp: Layer item widget // // Part of the Architektonas Project @@ -13,12 +14,12 @@ #include "layeritemwidget.h" - -LayerItemWidget::LayerItemWidget(QString s, bool invisible/*=false*/, bool locked/*=false*/): +LayerItemWidget::LayerItemWidget(QString s, bool i/*=false*/, bool l/*=false*/, QListWidgetItem * p/*=null*/): QWidget(), name(new QLabel(s)), - visibility(new QPushButton), - editibility(new QPushButton) + invisible(new QPushButton), + locked(new QPushButton), + parent(p) { QIcon visibleIcon(":/res/eye-open.png"); visibleIcon.addFile(":/res/eye-closed.png", QSize(16, 16), QIcon::Normal, QIcon::On); @@ -27,29 +28,43 @@ LayerItemWidget::LayerItemWidget(QString s, bool invisible/*=false*/, bool locke QSize buttonSize(20, 20); QHBoxLayout * mainLayout = new QHBoxLayout; - mainLayout->setContentsMargins(0, 0, 0, 0); // This is required, otherwise the layout engine puts too much space around this widget. :-/ - - visibility->setFlat(true); - visibility->setIcon(visibleIcon); - visibility->setCheckable(true); - visibility->setMaximumSize(buttonSize); - visibility->setChecked(invisible); - - editibility->setFlat(true); - editibility->setIcon(lockedIcon); - editibility->setCheckable(true); - editibility->setMaximumSize(buttonSize); - editibility->setChecked(locked); - - mainLayout->addWidget(visibility); - mainLayout->addWidget(editibility); + // This is required, otherwise the layout engine puts too much space around + // this widget. :-/ + mainLayout->setContentsMargins(0, 0, 0, 0); + + invisible->setFlat(true); + invisible->setIcon(visibleIcon); + invisible->setCheckable(true); + invisible->setMaximumSize(buttonSize); + invisible->setChecked(i); + + locked->setFlat(true); + locked->setIcon(lockedIcon); + locked->setCheckable(true); + locked->setMaximumSize(buttonSize); + locked->setChecked(l); + + mainLayout->addWidget(invisible); + mainLayout->addWidget(locked); mainLayout->addWidget(name); setLayout(mainLayout); + connect(invisible, SIGNAL(clicked(bool)), this, SLOT(HandleHideToggle(bool))); + connect(locked, SIGNAL(clicked(bool)), this, SLOT(HandleLockToggle(bool))); } - LayerItemWidget::~LayerItemWidget() { } +void LayerItemWidget::HandleHideToggle(bool state) +{ +// printf("Eye is: %s\n", !state ? "OPEN" : "closed"); + emit HideToggled(parent, state); +} + +void LayerItemWidget::HandleLockToggle(bool state) +{ +// printf("Lock is: %s\n", !state ? "OPEN" : "closed"); + emit LockToggled(parent, state); +}