-// Copyright (C) 2014-2017 CEA/DEN, EDF R&D
+// 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
//
// 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
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#include "XGUI_InspectionPanel.h"
#include <ModuleBase_ViewerPrs.h>
#include <ModuleBase_Tools.h>
+#include <ModelAPI_ResultField.h>
#include <ModelAPI_Result.h>
#include <QHeaderView>
#include <QTextBrowser>
#include <QResizeEvent>
+#include <QSplitter>
#include <BRepBndLib.hxx>
#include <TopoDS_Iterator.hxx>
setObjectName(INSPECTION_PANEL);
setStyleSheet("::title { position: relative; padding-left: 5px; text-align: left center }");
- QScrollArea* aScrollArea = new QScrollArea(this);
- setWidget(aScrollArea);
+ QSplitter* aSplitter = new QSplitter(Qt::Vertical, this);
// Create an internal widget
- myMainWidget = new QWidget(aScrollArea);
-
- myMainLayout = new QVBoxLayout(myMainWidget);
- myMainLayout->setContentsMargins(5, 5, 5, 5);
-
- QWidget* aNameWgt = new QWidget(myMainWidget);
+ QWidget* aNameWgt = new QWidget(aSplitter);
QHBoxLayout* aNameLayout = new QHBoxLayout(aNameWgt);
- aNameLayout->setContentsMargins(0, 0, 0, 0);
+ aNameLayout->setContentsMargins(3, 0, 3, 0);
aNameLayout->addWidget(new QLabel(tr("Object"), aNameWgt));
myNameEdt = new QLineEdit(aNameWgt);
myNameEdt->setReadOnly(true);
aNameLayout->addWidget(myNameEdt);
- myMainLayout->addWidget(aNameWgt);
+ aSplitter->addWidget(aNameWgt);
// Table with sub-shapes
- mySubShapesTab = new QTableWidget(9, 2, myMainWidget);
+ mySubShapesTab = new QTableWidget(9, 2, aSplitter);
mySubShapesTab->setFocusPolicy(Qt::NoFocus);
mySubShapesTab->verticalHeader()->hide();
QStringList aTitles;
mySubShapesTab->setHorizontalHeaderLabels(aTitles);
QStringList aSubShapes;
- aSubShapes << "SHAPE" << "COMPOUND" << "COMPSOLID" <<
- "SOLID" << "SHELL" << "FACE" << "WIRE" << "EDGE" << "VERTEX";
+ aSubShapes << tr("SHAPE") << tr("COMPOUND") << tr("COMPSOLID") <<
+ tr("SOLID") << tr("SHELL") << tr("FACE") << tr("WIRE") << tr("EDGE") << tr("VERTEX");
int i = 0;
foreach(QString aType, aSubShapes) {
QTableWidgetItem* aItem = new QTableWidgetItem(aType);
mySubShapesTab->setColumnWidth(0, 90);
mySubShapesTab->setColumnWidth(1, 70);
- mySubShapesTab->setMaximumWidth(170);
- mySubShapesTab->setMinimumHeight(300);
-
- myMainLayout->addWidget(mySubShapesTab);
+ aSplitter->addWidget(mySubShapesTab);
// Type of object
- QWidget* aTypeWgt = new QWidget(myMainWidget);
+ QWidget* aTypeWgt = new QWidget(aSplitter);
QHBoxLayout* aTypeLayout = new QHBoxLayout(aTypeWgt);
- aTypeLayout->setContentsMargins(0, 0, 0, 0);
+ aTypeLayout->setContentsMargins(3, 0, 3, 0);
aTypeLayout->addWidget(new QLabel(tr("Type:"), aTypeWgt));
myTypeLbl = new QLabel("", aTypeWgt);
aTypeLayout->addWidget(myTypeLbl);
- myMainLayout->addWidget(aTypeWgt);
+ aSplitter->addWidget(aTypeWgt);
- myTypeParams = new QTextBrowser(myMainWidget);
- myTypeParams->setFixedWidth(170);
+ myTypeParams = new QTextBrowser(aSplitter);
myTypeParams->setReadOnly(true);
myTypeParams->setFocusPolicy(Qt::NoFocus);
- myTypeParams->setFrameStyle(QFrame::NoFrame);
myTypeParams->viewport()->setBackgroundRole(QPalette::Window);
- myMainLayout->addWidget(myTypeParams, 1);
+ aSplitter->addWidget(myTypeParams);
+
+ aSplitter->setCollapsible(0, false);
+ aSplitter->setCollapsible(1, false);
+ aSplitter->setCollapsible(2, false);
+ aSplitter->setCollapsible(3, false);
+
+ QList<int> aSizes;
+ aSizes << 10 << 140 << 10;
+ aSplitter->setSizes(aSizes);
- aScrollArea->setWidget(myMainWidget);
+ setWidget(aSplitter);
connect(mySelectionMgr, SIGNAL(selectionChanged()), SLOT(onSelectionChanged()));
}
if (aSelectedList.count() > 0) {
ModuleBase_ViewerPrsPtr aPrs = aSelectedList.first();
+ FieldStepPtr aStep =
+ std::dynamic_pointer_cast<ModelAPI_ResultField::ModelAPI_FieldStep>(aPrs->object());
+ if (aStep)
+ return;
TopoDS_Shape aShape = ModuleBase_Tools::getSelectedShape(aPrs);
if (aShape.IsNull()) {
ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(aPrs->object());
{
myTypeParams->setText(theText);
}
-
-void XGUI_InspectionPanel::resizeEvent(QResizeEvent* theEvent)
-{
- QSize aSize = theEvent->size();
-
- int aHeight = aSize.height();
-
- if (aHeight > 450) // 450 is a a minimal height
- myMainWidget->setFixedHeight(aHeight - 30);
-}
\ No newline at end of file