Salome HOME
Copyright update 2022
[modules/homard.git] / src / HOMARDGUI / MonCreateZone.cxx
index 33aac925d04d08a466b167a818a67e92c37450e8..75a2ba93ff1c6d899dfd6b321bcd790299b00e6a 100644 (file)
@@ -1,9 +1,9 @@
-// Copyright (C) 2011-2013  CEA/DEN, EDF R&D
+// Copyright (C) 2011-2022  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.
+// 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
@@ -199,19 +199,19 @@ void MonCreateZone::InitValZone()
 
   if ( _Orient == 0 ) { pix = resMgr->loadPixmap( "HOMARD", "cylinderpointvector.png" ) ; }
   else                { pix = resMgr->loadPixmap( "HOMARD", "disk.png" ) ;
-                        RBCylinder->setText(QApplication::translate("CreateZone", "Disk", 0, QApplication::UnicodeUTF8));
-                        TLXbase->setText(QApplication::translate("CreateZone", "X centre", 0, QApplication::UnicodeUTF8));
-                        TLYbase->setText(QApplication::translate("CreateZone", "Y centre", 0, QApplication::UnicodeUTF8));
-                        TLZbase->setText(QApplication::translate("CreateZone", "Z centre", 0, QApplication::UnicodeUTF8)); }
+                        RBCylinder->setText(QApplication::translate("CreateZone", "Disk", 0));
+                        TLXbase->setText(QApplication::translate("CreateZone", "X centre", 0));
+                        TLYbase->setText(QApplication::translate("CreateZone", "Y centre", 0));
+                        TLZbase->setText(QApplication::translate("CreateZone", "Z centre", 0)); }
   IS=QIcon(pix) ;
   RBCylinder->setIcon(IS) ;
 
   if ( _Orient == 0 ) { pix = resMgr->loadPixmap( "HOMARD", "pipe.png" ) ; }
   else                { pix = resMgr->loadPixmap( "HOMARD", "diskwithhole.png" ) ;
-                        RBPipe->setText(QApplication::translate("CreateZone", "Disk with hole", 0, QApplication::UnicodeUTF8));
-                        TLXbase_p->setText(QApplication::translate("CreateZone", "X centre", 0, QApplication::UnicodeUTF8));
-                        TLYbase_p->setText(QApplication::translate("CreateZone", "Y centre", 0, QApplication::UnicodeUTF8));
-                        TLZbase_p->setText(QApplication::translate("CreateZone", "Z centre", 0, QApplication::UnicodeUTF8)); }
+                        RBPipe->setText(QApplication::translate("CreateZone", "Disk with hole", 0));
+                        TLXbase_p->setText(QApplication::translate("CreateZone", "X centre", 0));
+                        TLYbase_p->setText(QApplication::translate("CreateZone", "Y centre", 0));
+                        TLZbase_p->setText(QApplication::translate("CreateZone", "Z centre", 0)); }
   IS=QIcon(pix) ;
   RBPipe->setIcon(IS) ;
 
@@ -287,13 +287,9 @@ void MonCreateZone::InitMinMax()
     }
 // Rayons
     SpinBox_Rayon->setSingleStep(_Rayon/10.) ;
-    SpinBox_Rayon->setMinimum(0.) ;
     SpinBox_Radius->setSingleStep(_Rayon/10.) ;
-    SpinBox_Radius->setMinimum(0.) ;
     SpinBox_Radius_int->setSingleStep(_Rayon/20.) ;
-    SpinBox_Radius_int->setMinimum(0.) ;
     SpinBox_Radius_ext->setSingleStep(_Rayon/10.) ;
-    SpinBox_Radius_ext->setMinimum(0.) ;
 // Axe et hauteur
 // Si une coordonnee est constante, inutile de demander l'axe et la hauteur
     if ( _Orient > 0) {
@@ -315,9 +311,7 @@ void MonCreateZone::InitMinMax()
       TLHaut_p->setVisible(0) ;
     }
     else {
-      SpinBox_Haut->setMinimum(0.) ;
       SpinBox_Haut->setSingleStep(_Rayon/10.) ;
-      SpinBox_Haut_p->setMinimum(0.) ;
       SpinBox_Haut_p->setSingleStep(_Rayon/10.) ;
     }
 }
@@ -475,6 +469,9 @@ bool MonCreateZone::PushOnApply()
       return false;
     }
   }
+//
+// Création ou mise à jour de la zone
+//
   bool bOK = CreateOrUpdateZone() ;
 
   if ( bOK ) { HOMARD_UTILS::updateObjBrowser() ; }
@@ -483,11 +480,12 @@ bool MonCreateZone::PushOnApply()
 
 }
 // ---------------------------------------------------
-bool MonCreateZone:: CreateOrUpdateZone()
+bool MonCreateZone::CreateOrUpdateZone()
 //----------------------------------------------------
 //  Creation de la zone
 {
-  MESSAGE("CreateOrUpdateZone _Type ="<<_Type);
+  MESSAGE("Debut de CreateOrUpdateZone avec _Type ="<<_Type<<", _Name ="<<_Name.toStdString().c_str()<<" et LEName ="<<LEName->text().trimmed().toStdString().c_str());
+//
   if (_Name != LEName->text().trimmed())
   {
     _Name = LEName->text().trimmed() ;
@@ -495,17 +493,17 @@ bool MonCreateZone:: CreateOrUpdateZone()
     {
       switch (_Type)
       {
-        case 11 : // il s agit d un rectangle
+        case 11 : // il s agit d un rectangle, dans le plan (X,Y)
         { aZone = myHomardGen->CreateZoneBox2D(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneXmin, _ZoneXmax, _ZoneYmin, _ZoneYmax, _Orient );
           break;
         }
-        case 12 : // il s agit d un rectangle
+        case 12 : // il s agit d un rectangle, dans le plan (Y,Z)
         { aZone = myHomardGen->CreateZoneBox2D(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneYmin, _ZoneYmax, _ZoneZmin, _ZoneZmax, _Orient );
           break;
         }
-        case 13 : // il s agit d un rectangle
+        case 13 : // il s agit d un rectangle, dans le plan (Z,X)
         { aZone = myHomardGen->CreateZoneBox2D(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneZmin, _ZoneZmax, _ZoneXmin, _ZoneXmax, _Orient );
           break;
@@ -520,17 +518,17 @@ bool MonCreateZone:: CreateOrUpdateZone()
           _ZoneXcentre, _ZoneYcentre, _ZoneZcentre, _ZoneRayon );
           break;
         }
-        case 31 : // il s agit d un disque issu d'un cylindre
+        case 31 : // il s agit d un disque issu d'un cylindre, dans le plan (X,Y)
         { aZone = myHomardGen->CreateZoneDisk(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneXcentre, _ZoneYcentre, _ZoneRayon, _Orient );
           break;
           }
-        case 32 : // il s agit d un disque issu d'un cylindre
+        case 32 : // il s agit d un disque issu d'un cylindre, dans le plan (Y,Z)
         { aZone = myHomardGen->CreateZoneDisk(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneYcentre, _ZoneZcentre, _ZoneRayon, _Orient );
           break;
         }
-        case 33 : // il s agit d un disque issu d'un cylindre
+        case 33 : // il s agit d un disque issu d'un cylindre, dans le plan (Z,X)
         { aZone = myHomardGen->CreateZoneDisk(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneZcentre, _ZoneXcentre, _ZoneRayon, _Orient );
           break;
@@ -540,26 +538,26 @@ bool MonCreateZone:: CreateOrUpdateZone()
           _ZoneXcentre, _ZoneYcentre, _ZoneZcentre, _ZoneXaxis, _ZoneYaxis, _ZoneZaxis, _ZoneRayon, _ZoneHaut );
           break;
         }
-        case 61 : // il s agit d un disque avec trou
+        case 61 : // il s agit d un disque avec trou, dans le plan (X,Y)
         { aZone = myHomardGen->CreateZoneDiskWithHole(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneXcentre, _ZoneYcentre, _ZoneRayon, _ZoneRayonInt, _Orient );
           break;
-          }
-        case 62 : // il s agit d un disque avec trou
+        }
+        case 62 : // il s agit d un disque avec trou, dans le plan (Y,Z)
         { aZone = myHomardGen->CreateZoneDiskWithHole(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneYcentre, _ZoneZcentre, _ZoneRayon, _ZoneRayonInt, _Orient );
           break;
-          }
-        case 63 : // il s agit d un disque avec trou
+        }
+        case 63 : // il s agit d un disque avec trou, dans le plan (Z,X)
         { aZone = myHomardGen->CreateZoneDiskWithHole(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneZcentre, _ZoneXcentre, _ZoneRayon, _ZoneRayonInt, _Orient );
           break;
-          }
+        }
         case 7 : // il s agit d un tuyau
         { aZone = myHomardGen->CreateZonePipe(CORBA::string_dup(_Name.toStdString().c_str()), \
           _ZoneXcentre, _ZoneYcentre, _ZoneZcentre, _ZoneXaxis, _ZoneYaxis, _ZoneZaxis, _ZoneRayon, _ZoneHaut, _ZoneRayonInt );
           break;
-          }
+        }
       }
     }
     catch( SALOME::SALOME_Exception& S_ex )
@@ -574,26 +572,32 @@ bool MonCreateZone:: CreateOrUpdateZone()
 
     return true;
   }
-  else { return false ; }
+  else {
+    QMessageBox::warning( 0, QObject::tr("HOM_WARNING"),
+                             QObject::tr("HOM_SELECT_OBJECT_4") );
+    return false ;
+  }
+  MESSAGE("Fin de CreateOrUpdateZone");
 }
 // ------------------------------------------------------------------------
 void MonCreateZone::PushOnOK()
 // ------------------------------------------------------------------------
 {
-     if (PushOnApply()) this->close() ;
+    if (PushOnApply()) this->close() ;
 }
 // ------------------------------------------------------------------------
 void MonCreateZone::PushOnHelp()
 // ------------------------------------------------------------------------
 {
-  char* LanguageShort = myHomardGen->GetLanguageShort();
-  HOMARD_UTILS::PushOnHelp(QString("gui_create_zone.html"), QString(""), QString(LanguageShort));
+  std::string LanguageShort = myHomardGen->GetLanguageShort();
+  HOMARD_UTILS::PushOnHelp(QString("gui_create_zone.html"), QString(""), QString(LanguageShort.c_str()));
 }
 
 // -----------------------------------
 void MonCreateZone::SetNewName()
 // -----------------------------------
 {
+  MESSAGE("SetNewName");
 // Recherche d'un nom par defaut qui n'existe pas encore
 
   HOMARD::listeZones_var  MyObjects = myHomardGen->GetAllZonesName() ;
@@ -613,11 +617,13 @@ void MonCreateZone::SetNewName()
    }
   }
   LEName->setText(aName);
+  MESSAGE("SetNewName aName ="<<aName.toStdString().c_str());
 }
 // ------------------------------------------------------------------------
 void MonCreateZone::SetBox()
 // ------------------------------------------------------------------------
 {
+  MESSAGE("Debut de SetBox")
   gBBox->setVisible(1) ;
   gBSphere->setVisible(0) ;
   gBCylindre->setVisible(0) ;
@@ -635,6 +641,7 @@ void MonCreateZone::SetBox()
   if ( _Zincr > 0 ) { SpinBox_Zmini->setValue(_Zcentre-10*_Zincr) ;
                       SpinBox_Zmaxi->setValue(_Zcentre+10*_Zincr) ; }
   else { _Type=11 ; }
+  MESSAGE("Fin de SetBox")
 }
 // ------------------------------------------------------------------------
 void MonCreateZone::SetSphere()