-// Copyright (C) 2009-2012 CEA/DEN, EDF R&D
+// Copyright (C) 2009-2024 CEA, EDF
//
// 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.
+// 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
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+#include "HEXABLOCKGUI_SalomeTools.hxx"
#include "HEXABLOCKGUI_DocumentItem.hxx"
#include "HexShape.hxx"
-#include "HEXABLOCKGUI_SalomeTools.hxx"
+
#include "HEXABLOCKGUI_DocumentModel.hxx"
#include "HexAssoEdge.hxx"
+#ifndef WIN32
#include <inttypes.h>
+#endif
using namespace std;
using namespace HEXABLOCK::GUI;
if (m_DocElt != NULL)
{
setText(m_DocElt->getName());
+ if ( m_DocElt->isAssociated() )
+ setData(QColor(Qt::darkGreen), Qt::ForegroundRole);
}
setData( treeRole, HEXA_TREE_ROLE );
setData( entry, HEXA_DOC_ENTRY_ROLE);
if (m_type == VERTEXITEM) //Vertex
{
HEXA_NS::Vertex* vertex = (HEXA_NS::Vertex*) m_DocElt;
- double assocX, assocY, assocZ;
- vertex->getAssoCoord(assocX, assocY, assocZ);
- entry = QString::number(assocX)+","+QString::number(assocY)+","+QString::number(assocZ);
- setData( entry, HEXA_ASSOC_ENTRY_ROLE );
+ HEXA_NS::VertexShape* assoc = vertex->getAssociation();
+ if (assoc != NULL)
+ {
+ HEXA_NS::NewShape* mainSh = assoc->getParentShape();
+ if (mainSh != NULL)
+ {
+ entry = QString(mainSh->getName())+","+QString::number(assoc->getIdent())+";";
+ setData( entry, HEXA_ASSOC_ENTRY_ROLE );
+ }
+ }
}
else if (m_type == EDGEITEM)
{
geomEdge = anEdgeAssoc->getEdgeShape();
if (geomEdge == NULL) continue;
mainShape = geomEdge->getParentShape();
- if (mainShape == NULL) continue; // => les generatrices ne sont pas gerees pour le moment
+ if (mainShape == NULL) continue;
entries += QString(mainShape->getName())+","+QString::number(geomEdge->getIdent())+";";
}
if ( !entries.isEmpty() )
//---------------------------------------------------------------
QVariant ElementItem::data( int role ) const
{
- if ( role == HEXA_DATA_ROLE ){
- switch(m_type)
- {
- case VERTEXITEM: return QVariant::fromValue( (HEXA_NS::Vertex*)m_DocElt );
- case EDGEITEM: return QVariant::fromValue( (HEXA_NS::Edge*)m_DocElt );
- case QUADITEM: return QVariant::fromValue( (HEXA_NS::Quad*)m_DocElt );
- case HEXAITEM: return QVariant::fromValue( (HEXA_NS::Hexa*)m_DocElt );
- case VECTORITEM: return QVariant::fromValue( (HEXA_NS::Vector*)m_DocElt );
- case CYLINDERITEM: return QVariant::fromValue( (HEXA_NS::Cylinder*)m_DocElt );
- case PIPEITEM: return QVariant::fromValue( (HEXA_NS::Pipe*)m_DocElt );
- case ELEMENTSITEM: return QVariant::fromValue( (HEXA_NS::Elements*)m_DocElt );
- case CROSSELEMENTSITEM: return QVariant::fromValue( (HEXA_NS::CrossElements*)m_DocElt );
- case GEOMSHAPEITEM: return QVariant::fromValue( (HEXA_NS::NewShape*) m_DocElt );
- case GEOMPOINTITEM: return QVariant::fromValue( (HEXA_NS::VertexShape*) m_DocElt );
- case GEOMEDGEITEM: return QVariant::fromValue( (HEXA_NS::EdgeShape*) m_DocElt );
- case GEOMFACEITEM: return QVariant::fromValue( (HEXA_NS::FaceShape*) m_DocElt );
- default: return QVariant::fromValue( m_DocElt );
- }
- }
+ if ( role == HEXA_DATA_ROLE ){
+ switch(m_type)
+ {
+ case VERTEXITEM: return QVariant::fromValue( (HEXA_NS::Vertex*)m_DocElt );
+ case EDGEITEM: return QVariant::fromValue( (HEXA_NS::Edge*)m_DocElt );
+ case QUADITEM: return QVariant::fromValue( (HEXA_NS::Quad*)m_DocElt );
+ case HEXAITEM: return QVariant::fromValue( (HEXA_NS::Hexa*)m_DocElt );
+ case VECTORITEM: return QVariant::fromValue( (HEXA_NS::Vector*)m_DocElt );
+// case CYLINDERITEM: return QVariant::fromValue( (HEXA_NS::Cylinder*)m_DocElt );
+// case PIPEITEM: return QVariant::fromValue( (HEXA_NS::Pipe*)m_DocElt );
+ case ELEMENTSITEM: return QVariant::fromValue( (HEXA_NS::Elements*)m_DocElt );
+// case CROSSELEMENTSITEM: return QVariant::fromValue( (HEXA_NS::CrossElements*)m_DocElt );
+ case GEOMSHAPEITEM: return QVariant::fromValue( (HEXA_NS::NewShape*) m_DocElt );
+ case GEOMPOINTITEM: return QVariant::fromValue( (HEXA_NS::VertexShape*) m_DocElt );
+ case GEOMEDGEITEM: return QVariant::fromValue( (HEXA_NS::EdgeShape*) m_DocElt );
+ case GEOMFACEITEM: return QVariant::fromValue( (HEXA_NS::FaceShape*) m_DocElt );
+ default: return QVariant::fromValue( m_DocElt );
+ }
+ }
- if (role == Qt::ForegroundRole ) {
- if ( m_DocElt->isAssociated() )
- return QColor(Qt::darkGreen);
- else
- return QColor(Qt::black);
- }
- return QStandardItem::data( role );
+ if (role == Qt::ForegroundRole && m_DocElt != NULL && !m_DocElt->isAssociated())
+ return QColor(Qt::black);
+
+ return QStandardItem::data( role );
}
//---------------------------------------------------------------
{
}
-// ----------------------- CYLINDER (BUILDER)
-CylinderItem::CylinderItem( HEXA_NS::Cylinder* hexaCylinder, QString entry):
- StandardElementItem(hexaCylinder, entry, CYLINDERITEM, CYLINDER_TREE)
-{
-}
-
-// ----------------------- PIPE (BUILDER)
-PipeItem::PipeItem( HEXA_NS::Pipe* hexaPipe, QString entry ):
- StandardElementItem(hexaPipe, entry, PIPEITEM, PIPE_TREE)
-{
-}
+//// ----------------------- CYLINDER (BUILDER)
+//CylinderItem::CylinderItem( HEXA_NS::Cylinder* hexaCylinder, QString entry):
+// StandardElementItem(hexaCylinder, entry, CYLINDERITEM, CYLINDER_TREE)
+//{
+//}
+//
+//// ----------------------- PIPE (BUILDER)
+//PipeItem::PipeItem( HEXA_NS::Pipe* hexaPipe, QString entry ):
+// StandardElementItem(hexaPipe, entry, PIPEITEM, PIPE_TREE)
+//{
+//}
// ----------------------- ELEMENTS (NOT USED)
ElementsItem::ElementsItem( HEXA_NS::Elements* hexaElements, QString entry ):
}
// ----------------------- CROSSELEMENTS (NOT USED)
-CrossElementsItem::CrossElementsItem( HEXA_NS::CrossElements* hexaCrossElts, QString entry ):
- StandardElementItem(hexaCrossElts, entry, CROSSELEMENTSITEM, CROSSELEMENTS_TREE)
-{
-}
+//CrossElementsItem::CrossElementsItem( HEXA_NS::CrossElements* hexaCrossElts, QString entry ):
+// StandardElementItem(hexaCrossElts, entry, CROSSELEMENTSITEM, CROSSELEMENTS_TREE)
+//{
+//}
// ----------------------- GEOM (GEOMETRY)
GeomItem::GeomItem( HEXA_NS::EltBase* geomShape, QString entry, HexaType ttype, HexaTreeRole treeRole, HEXA_NS::EltBase* assoc ):
QStandardItem(),
_hexaPropagation( hexaPropagation )
{
-// char pName[12];
-// QString name = _hexaPropagation->getName(pName);
QString name = "Propagation";
setText(name);
setData( PROPAGATION_TREE, HEXA_TREE_ROLE );