From 4c255a76c3a10300bb33b9a29a5f2c3da6ac8565 Mon Sep 17 00:00:00 2001 From: vsv Date: Mon, 19 May 2014 11:27:00 +0400 Subject: [PATCH] Emulate tree node from Label above Tree view (issue #23) --- src/XGUI/XGUI_ObjectsBrowser.cpp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/XGUI/XGUI_ObjectsBrowser.cpp b/src/XGUI/XGUI_ObjectsBrowser.cpp index cf0e8577d..8850213f7 100644 --- a/src/XGUI/XGUI_ObjectsBrowser.cpp +++ b/src/XGUI/XGUI_ObjectsBrowser.cpp @@ -81,21 +81,27 @@ XGUI_ObjectsBrowser::XGUI_ObjectsBrowser(QWidget* theParent) aLayout->setContentsMargins(0, 0, 0, 0); aLayout->setSpacing(0); - QWidget* aLabelWgt = new QWidget(this); + QFrame* aLabelWgt = new QFrame(this); + aLabelWgt->setAutoFillBackground(true); + QPalette aPalet = aLabelWgt->palette(); + aPalet.setColor(QPalette::Window, Qt::white); + aLabelWgt->setPalette(aPalet); + aLayout->addWidget(aLabelWgt); QHBoxLayout* aLabelLay = new QHBoxLayout(aLabelWgt); - aLabelLay->setContentsMargins(3, 3, 3, 3); + aLabelLay->setContentsMargins(0, 0, 0, 0); + aLabelLay->setSpacing(0); QLabel* aLbl = new QLabel(aLabelWgt); aLbl->setPixmap(QPixmap(":pictures/assembly.png")); - aLabelLay->addWidget(aLbl); + aLbl->setMargin(2); - myActiveDocLbl = new QLabel("", aLabelWgt); - myActiveDocLbl->setAlignment(Qt::AlignHCenter); + aLbl->setAutoFillBackground(true); - QFont aFnt = myActiveDocLbl->font(); - aFnt.setBold(true); - myActiveDocLbl->setFont(aFnt); + aLabelLay->addWidget(aLbl); + + myActiveDocLbl = new QLabel(tr("Part set"), aLabelWgt); + myActiveDocLbl->setMargin(2); myActiveDocLbl->installEventFilter(this); @@ -107,6 +113,9 @@ XGUI_ObjectsBrowser::XGUI_ObjectsBrowser(QWidget* theParent) myDocModel = myTreeView->dataModel(); + aLabelWgt->setFrameShape(myTreeView->frameShape()); + aLabelWgt->setFrameShadow(myTreeView->frameShadow()); + connect(myTreeView, SIGNAL(selectionChanged()), this, SIGNAL(selectionChanged())); connect(myTreeView, SIGNAL(activePartChanged(FeaturePtr)), this, SLOT(onActivePartChanged(FeaturePtr))); connect(myTreeView, SIGNAL(activePartChanged(FeaturePtr)), this, SIGNAL(activePartChanged(FeaturePtr))); @@ -126,11 +135,11 @@ void XGUI_ObjectsBrowser::onActivePartChanged(FeaturePtr thePart) { QPalette aPalet = myActiveDocLbl->palette(); if (thePart) { - myActiveDocLbl->setText(tr("Activate Part set")); + //myActiveDocLbl->setText(tr("Activate Part set")); aPalet.setColor(QPalette::Foreground, Qt::black); myActiveDocLbl->setCursor(Qt::PointingHandCursor); } else { - myActiveDocLbl->setText(tr("Part set is active")); + //myActiveDocLbl->setText(tr("Part set is active")); aPalet.setColor(QPalette::Foreground, QColor(0, 72, 140)); myActiveDocLbl->unsetCursor(); } -- 2.39.2