X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FModuleBase%2FModuleBase_WidgetLabel.cpp;h=af8063f6abc936d0487bb6d8f7d77ff040556f33;hb=f64cb187ce9ab2190d8eff7c9be7dcfffc4242a0;hp=3abae6c7b704c9062981fd4ee87f8da1b9b25afc;hpb=5ba89a77cdb9638a6d298c2aa5233d26576d9ed0;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_WidgetLabel.cpp b/src/ModuleBase/ModuleBase_WidgetLabel.cpp index 3abae6c7b..af8063f6a 100644 --- a/src/ModuleBase/ModuleBase_WidgetLabel.cpp +++ b/src/ModuleBase/ModuleBase_WidgetLabel.cpp @@ -1,32 +1,60 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D - -// File: ModuleBase_WidgetLabel.cpp -// Created: 03 Dec 2014 -// Author: Vitaly SMETANNIKOV +// Copyright (C) 2014-2019 CEA/DEN, EDF R&D +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// #include "ModuleBase_WidgetLabel.h" #include +#include +#include #include +#include + #include #include ModuleBase_WidgetLabel::ModuleBase_WidgetLabel(QWidget* theParent, - const Config_WidgetAPI* theData, - const std::string& theParentId) - : ModuleBase_ModelWidget(theParent, theData, theParentId) + const Config_WidgetAPI* theData) +: ModuleBase_ModelWidget(theParent, theData) { - QString aText = QString::fromStdString(theData->getProperty("title")); + QString aText = translate(theData->getProperty("title")); + QString aLabelIcon = QString::fromStdString(theData->getProperty("icon")); myLabel = new QLabel(aText, theParent); + if (!aLabelIcon.isEmpty()) { + myLabel->setPixmap(ModuleBase_IconFactory::loadPixmap(aLabelIcon)); + myLabel->setAlignment(Qt::AlignHCenter | Qt::AlignTop); + } else { + myLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop); + } myLabel->setWordWrap(true); myLabel->setIndent(5); - myLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop); + myLabel->setContentsMargins(0,0,0,4); + QVBoxLayout* aLayout = new QVBoxLayout(this); ModuleBase_Tools::zeroMargins(aLayout); aLayout->addWidget(myLabel); setLayout(aLayout); + + std::string aStyleSheet = theData->getProperty(ATTR_STYLE_SHEET).c_str(); + if (!aStyleSheet.empty()) + myLabel->setStyleSheet(QString("QLabel {%1}").arg(aStyleSheet.c_str())); } ModuleBase_WidgetLabel::~ModuleBase_WidgetLabel() @@ -38,3 +66,23 @@ QList ModuleBase_WidgetLabel::getControls() const return QList(); } +bool ModuleBase_WidgetLabel::restoreValueCustom() +{ + DataPtr aData = myFeature->data(); + AttributeStringPtr aStrAttr = aData->string(attributeID()); + if (aStrAttr.get()) { + std::string aMsg; + if (aStrAttr.get()) { + aMsg = aStrAttr->value(); + } + QString aText = ModuleBase_Tools::translate(myFeature->getKind(), aMsg); + myLabel->setText(aText); + } + return true; +} + +bool ModuleBase_WidgetLabel::focusTo() +{ + restoreValue(); + return false; +}