Mercurial > hg > svgui
changeset 421:7466402a32c5
* moar pointless twiddlin
author | Chris Cannam |
---|---|
date | Fri, 26 Sep 2008 16:18:36 +0000 |
parents | f8e04ad8e7b1 |
children | ea9e41027b93 |
files | widgets/TransformFinder.cpp widgets/TransformFinder.h |
diffstat | 2 files changed, 53 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/widgets/TransformFinder.cpp Thu Sep 25 13:47:40 2008 +0000 +++ b/widgets/TransformFinder.cpp Fri Sep 26 16:18:36 2008 +0000 @@ -17,22 +17,24 @@ #include "transform/TransformFactory.h" -#include <QGridLayout> +#include <QVBoxLayout> #include <QGridLayout> #include <QLineEdit> #include <QLabel> //#include <SelectableLabel> #include <QDialogButtonBox> #include <QScrollArea> +#include <QApplication> SelectableLabel::SelectableLabel(QWidget *parent) : QLabel(parent), m_selected(false) { + setStyleSheet("QLabel:hover { background: #e0e0e0; text: black; } QLabel:!hover { background: white; text: black } QLabel { padding: 4px }"); + setTextFormat(Qt::RichText); setLineWidth(2); setFixedWidth(420); - setWordWrap(true); } void @@ -62,12 +64,14 @@ m_selected = s; if (m_selected) { setText(m_selectedText); - setFrameStyle(QFrame::Box | QFrame::Plain); + setWordWrap(true); +// setFrameStyle(QFrame::Box | QFrame::Plain); } else { setText(m_unselectedText); - setFrameStyle(QFrame::NoFrame); + setWordWrap(false); +// setFrameStyle(QFrame::NoFrame); } - resize(sizeHint()); +// resize(sizeHint()); parentWidget()->resize(parentWidget()->sizeHint()); } @@ -84,6 +88,26 @@ emit selectionChanged(); } +void +SelectableLabel::enterEvent(QEvent *) +{ +// std::cerr << "enterEvent" << std::endl; +// QPalette palette = QApplication::palette(); +// palette.setColor(QPalette::Window, Qt::gray); +// setStyleSheet("background: gray"); +// setPalette(palette); +} + +void +SelectableLabel::leaveEvent(QEvent *) +{ +// std::cerr << "leaveEvent" << std::endl; +// setStyleSheet("background: white"); +// QPalette palette = QApplication::palette(); +// palette.setColor(QPalette::Window, Qt::gray); +// setPalette(palette); +} + TransformFinder::TransformFinder(QWidget *parent) : QDialog(parent), m_resultsFrame(0), @@ -92,6 +116,7 @@ setWindowTitle(tr("Find a Transform")); QGridLayout *mainGrid = new QGridLayout; + mainGrid->setVerticalSpacing(0); setLayout(mainGrid); mainGrid->addWidget(new QLabel(tr("Find:")), 0, 0); @@ -111,8 +136,22 @@ mainGrid->addWidget(bb, 2, 0, 1, 2); connect(bb, SIGNAL(accepted()), this, SLOT(accept())); connect(bb, SIGNAL(rejected()), this, SLOT(reject())); + if (!m_resultsLayout) { + std::cerr << "creating frame & layout" << std::endl; + m_resultsFrame = new QWidget; + QPalette palette = m_resultsFrame->palette(); + palette.setColor(QPalette::Window, palette.color(QPalette::Base)); + m_resultsFrame->setPalette(palette); + m_resultsScroll->setPalette(palette); +// resultsFrame->setFrameStyle(QFrame::Sunken | QFrame::Box); + m_resultsLayout = new QVBoxLayout; + m_resultsFrame->setLayout(m_resultsLayout); + m_resultsScroll->setWidget(m_resultsFrame); + m_resultsFrame->show(); + } resize(500, 400); //!!! + m_resultsFrame->resize(480, 380); } TransformFinder::~TransformFinder() @@ -151,16 +190,6 @@ } */ - if (!m_resultsLayout) { - std::cerr << "creating frame & layout" << std::endl; - m_resultsFrame = new QWidget; -// resultsFrame->setFrameStyle(QFrame::Sunken | QFrame::Box); - m_resultsLayout = new QGridLayout; - m_resultsFrame->setLayout(m_resultsLayout); - m_resultsScroll->setWidget(m_resultsFrame); - m_resultsFrame->show(); - } - i = 0; int maxResults = 40; int height = 0; @@ -205,12 +234,15 @@ if (i >= m_labels.size()) { SelectableLabel *label = new SelectableLabel(m_resultsFrame); - m_resultsLayout->addWidget(label, i, 0); +// m_resultsLayout->addWidget(label, i, 0); + m_resultsLayout->addWidget(label); connect(label, SIGNAL(selectionChanged()), this, SLOT(selectedLabelChanged())); + QPalette palette = label->palette(); + label->setPalette(palette); m_labels.push_back(label); } - + m_labels[i]->setObjectName(desc.identifier); m_selectedTransform = desc.identifier; m_labels[i]->setUnselectedText(labelText);
--- a/widgets/TransformFinder.h Thu Sep 25 13:47:40 2008 +0000 +++ b/widgets/TransformFinder.h Fri Sep 26 16:18:36 2008 +0000 @@ -22,7 +22,7 @@ #include "transform/Transform.h" -class QGridLayout; +class QVBoxLayout; class QScrollArea; class QLabel; class SelectableLabel; @@ -52,6 +52,8 @@ protected: virtual void mousePressEvent(QMouseEvent *e); + virtual void enterEvent(QEvent *); + virtual void leaveEvent(QEvent *); QString m_selectedText; QString m_unselectedText; bool m_selected; @@ -74,7 +76,7 @@ protected: QScrollArea *m_resultsScroll; QWidget *m_resultsFrame; - QGridLayout *m_resultsLayout; + QVBoxLayout *m_resultsLayout; std::vector<SelectableLabel *> m_labels; TransformId m_selectedTransform; };