Salome HOME
Updated copyright comment
[modules/hexablock.git] / src / HEXABLOCKGUI / HEXABLOCKGUI_DocumentItem.cxx
old mode 100755 (executable)
new mode 100644 (file)
index 1530c66..f5c1524
@@ -1,9 +1,9 @@
-// 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;
@@ -38,6 +41,8 @@ QStandardItem()
        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);
@@ -50,10 +55,16 @@ QStandardItem()
                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)
                {
@@ -70,7 +81,7 @@ QStandardItem()
                            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() )
@@ -100,33 +111,30 @@ QStandardItem()
 //---------------------------------------------------------------
 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 );
 }
 
 //---------------------------------------------------------------
@@ -178,17 +186,17 @@ VectorItem::VectorItem( HEXA_NS::Vector* hexaVector, QString entry ):
 {
 }
 
-// ----------------------- 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 ):
@@ -197,10 +205,10 @@ 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 ):
@@ -314,8 +322,6 @@ PropagationItem::PropagationItem( HEXA_NS::Propagation* hexaPropagation ):
   QStandardItem(),
   _hexaPropagation( hexaPropagation )
 {
-//   char pName[12];
-//   QString name = _hexaPropagation->getName(pName);
   QString name = "Propagation";
   setText(name);
   setData( PROPAGATION_TREE, HEXA_TREE_ROLE );