]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
DCQ : Merge PAL + Debug
authordcq <dcq@opencascade.com>
Mon, 5 Apr 2004 09:15:16 +0000 (09:15 +0000)
committerdcq <dcq@opencascade.com>
Mon, 5 Apr 2004 09:15:16 +0000 (09:15 +0000)
49 files changed:
src/BasicGUI/BasicGUI_ArcDlg.cxx
src/BasicGUI/BasicGUI_CircleDlg.cxx
src/BasicGUI/BasicGUI_EllipseDlg.cxx
src/BasicGUI/BasicGUI_LineDlg.cxx
src/BasicGUI/BasicGUI_PlaneDlg.cxx
src/BasicGUI/BasicGUI_PointDlg.cxx
src/BasicGUI/BasicGUI_VectorDlg.cxx
src/BasicGUI/BasicGUI_WorkingPlaneDlg.cxx
src/BooleanGUI/BooleanGUI_CutDlg.cxx
src/BuildGUI/BuildGUI_FaceDlg.cxx
src/BuildGUI/BuildGUI_ShellDlg.cxx
src/BuildGUI/BuildGUI_ShellDlg.h
src/EntityGUI/EntityGUI.cxx
src/GEOM/GEOM_Gen_i.cc
src/GEOMBase/GEOMBase.cxx
src/GEOMContext/GEOMContext.cxx
src/GEOMContext/GEOMContext.h
src/GEOMContext/GEOM_msg_en.po
src/GEOMContext/GEOM_msg_fr.po
src/GEOMGUI/GeometryGUI.cxx
src/GEOMToolsGUI/GEOMToolsGUI.cxx
src/GEOM_SWIG/batchmode_geompy.py
src/GEOM_SWIG/geompy.py
src/GenerationGUI/GenerationGUI_FillingDlg.cxx
src/GenerationGUI/GenerationGUI_PipeDlg.cxx
src/GenerationGUI/GenerationGUI_PrismDlg.cxx
src/GenerationGUI/GenerationGUI_RevolDlg.cxx
src/MeasureGUI/MeasureGUI_WhatisDlg.cxx
src/OperationGUI/OperationGUI_ArchimedeDlg.cxx
src/OperationGUI/OperationGUI_ChamferDlg.cxx
src/OperationGUI/OperationGUI_ChamferDlg.h
src/OperationGUI/OperationGUI_FilletDlg.cxx
src/OperationGUI/OperationGUI_FilletDlg.h
src/PrimitiveGUI/PrimitiveGUI.cxx
src/PrimitiveGUI/PrimitiveGUI_BoxDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_ConeDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_SphereDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_TorusDlg.cxx
src/PrimitiveGUI/PrimitiveGUI_TorusDlg.h
src/RepairGUI/RepairGUI.cxx
src/RepairGUI/RepairGUI_OrientationDlg.cxx
src/RepairGUI/RepairGUI_SewingDlg.cxx
src/TransformationGUI/TransformationGUI_MirrorDlg.cxx
src/TransformationGUI/TransformationGUI_MultiRotationDlg.cxx
src/TransformationGUI/TransformationGUI_MultiTranslationDlg.cxx
src/TransformationGUI/TransformationGUI_RotationDlg.cxx
src/TransformationGUI/TransformationGUI_ScaleDlg.cxx
src/TransformationGUI/TransformationGUI_TranslationDlg.cxx

index 33f929e3d3044a05a647818a4e78446e11a646ab..751a6e686a41b6e0e668093429b760edd779b2a2 100644 (file)
@@ -137,6 +137,7 @@ void BasicGUI_ArcDlg::ClickOnOk()
 //=================================================================================
 void BasicGUI_ArcDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index b29e778fe2fbb0f8ff47d23026fd770857a46658..14b866419329f212910b0677e64ef756ede94700 100644 (file)
@@ -147,6 +147,7 @@ void BasicGUI_CircleDlg::ClickOnOk()
 //=================================================================================
 void BasicGUI_CircleDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 6093d492b59d09feea8cab9de6724fe1c53d6ce8..e7ea7199f855cbbd644afc635afe3f042867d86c 100644 (file)
@@ -153,6 +153,7 @@ void BasicGUI_EllipseDlg::ClickOnOk()
 //=================================================================================
 void BasicGUI_EllipseDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index b5b6498214c2e17164512a244a2503285e25959c..fe9f75b50a70b7960bec368bf33633660f949ee8 100644 (file)
@@ -135,6 +135,7 @@ void BasicGUI_LineDlg::ClickOnOk()
 //=================================================================================
 void BasicGUI_LineDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index cd429b1bcbe60a7c30042259ac9c4883784cb597..b280bfeae37fec572ecb52a33e2141df68adb4f3 100644 (file)
@@ -273,6 +273,7 @@ void BasicGUI_PlaneDlg::ClickOnOk()
 //=================================================================================
 void BasicGUI_PlaneDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 51b287dd25b73c6d78ec7bfd6fc5bf72b9702cf4..52128eeac78095bad0b0d0aae258fe034b232eee 100644 (file)
@@ -259,6 +259,7 @@ void BasicGUI_PointDlg::ClickOnOk()
 //=================================================================================
 void BasicGUI_PointDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if(mySimulationTopoDs.IsNull())
     return;
index 6d4eb0d24e861e0004ccda39a7e48f52bbce0a3f..03baf4300601573d889b7ac8628d9f39d04e52e0 100644 (file)
@@ -237,6 +237,7 @@ void BasicGUI_VectorDlg::ClickOnOk()
 //=================================================================================
 void BasicGUI_VectorDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 1403f8f02c915234e7a64d58532671ce09a4d866..51526930295a3b13e778220676670e6ec1ffed2c 100644 (file)
@@ -127,6 +127,7 @@ void BasicGUI_WorkingPlaneDlg::ClickOnOk()
 //=================================================================================
 void BasicGUI_WorkingPlaneDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if(myOkPlane)
     myBasicGUI->MakeWorkingPlane(myLoc, myDir);
index 1cc08269d418ae5e35046e0bb73dda0dc8b4293e..4123fed7242a2407107c7a53576cd764efbe9f78 100644 (file)
@@ -52,8 +52,8 @@ BooleanGUI_CutDlg::BooleanGUI_CutDlg(QWidget* parent, const char* name, BooleanG
 
   GroupCut = new DlgRef_2Sel_QTD(this, "GroupCut");
   GroupCut->GroupBox1->setTitle(tr("GEOM_ARGUMENTS"));
-  GroupCut->TextLabel1->setText(tr("GEOM_OBJECT_I").arg("1"));
-  GroupCut->TextLabel2->setText(tr("GEOM_OBJECT_I").arg("2"));
+  GroupCut->TextLabel1->setText(tr("GEOM_MAIN_OBJECT"));
+  GroupCut->TextLabel2->setText(tr("GEOM_TOOL_OBJECT"));
   GroupCut->PushButton1->setPixmap(image1);
   GroupCut->PushButton2->setPixmap(image1);
 
index 2edaf57b90e539f515949d54cbdd42ea4abd11d4..19723141452493df16cd84dcf6f89296eec7c93c 100644 (file)
@@ -52,7 +52,7 @@ BuildGUI_FaceDlg::BuildGUI_FaceDlg(QWidget* parent, const char* name, BuildGUI*
 
   GroupPoints = new DlgRef_1Sel1Check_QTD(this, "GroupPoints");
   GroupPoints->GroupBox1->setTitle(tr("GEOM_FACE_FFW"));
-  GroupPoints->TextLabel1->setText(tr("GEOM_WIRE"));
+  GroupPoints->TextLabel1->setText(tr("GEOM_WIRES"));
   GroupPoints->CheckButton1->setText(tr("GEOM_FACE_OPT"));
   GroupPoints->PushButton1->setPixmap(image1);
 
index 8a33f4cf62b112fc6300b830770e43ddf5d954f8..1f4df38cf183a5cb75d628286c391461b213da52 100644 (file)
@@ -87,7 +87,7 @@ void BuildGUI_ShellDlg::Init()
   myEditCurrentArgument = GroupShell->LineEdit1;
   myOkListShapes = false;
 
-  myFaceFilter = new GEOM_FaceFilter(StdSelect_Plane, myGeom);
+  myFaceFilter = new GEOM_ShapeTypeFilter(TopAbs_FACE, myGeom);
   /* Filter for the next selection */
   mySelection->AddFilter(myFaceFilter) ;
 
@@ -163,10 +163,8 @@ void BuildGUI_ShellDlg::SelectionIntoArgument()
 //=================================================================================
 void BuildGUI_ShellDlg::SetEditCurrentArgument()
 {
-  QPushButton* send = (QPushButton*)sender();
-  mySelection->ClearFilters() ;
+  mySelection->ClearFilters();
   GroupShell->LineEdit1->setFocus();
-  myEditCurrentArgument = GroupShell->LineEdit1;
   mySelection->AddFilter(myFaceFilter);
   this->SelectionIntoArgument();
   return;
index 87f3d428ec9ffb3f47da06a8683495558a462895..3bb8608572de9bac9075fde6345eb64af9f0aa6d 100644 (file)
@@ -34,7 +34,7 @@
 
 #include "BuildGUI.h"
 
-#include "GEOM_FaceFilter.hxx"
+#include "GEOM_ShapeTypeFilter.hxx"
 
 //=================================================================================
 // class    : BuildGUI_ShellDlg
@@ -54,7 +54,7 @@ private:
 
     BuildGUI* myBuildGUI;
 
-    Handle(GEOM_FaceFilter) myFaceFilter;    /* Filters selection */
+    Handle(GEOM_ShapeTypeFilter) myFaceFilter;    /* Filters selection */
     GEOM::GEOM_Gen::ListOfIOR myListShapes;
     bool myOkListShapes;          /* to check when arguments is defined */
 
@@ -64,7 +64,6 @@ private slots:
     void ClickOnOk();
     void ClickOnApply();
     void SetEditCurrentArgument();
-    void LineEditReturnPressed();
     void SelectionIntoArgument();
     void ActivateThisDialog();
 
index 4234a8477415a9d9a98bd3bca83bda3962a680b2..f83cec33cf86f12a8a6cf7950addeb200ddaf4a8 100644 (file)
@@ -579,7 +579,7 @@ bool EntityGUI::OnSubShapeGetAll(const TopoDS_Shape& ShapeTopo, const char* Shap
     } 
     else {
       aResult->NameType(tr("GEOM_SHAPE"));
-      sprintf(nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->GetNbGeom()++);
+      sprintf(nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->myNbGeom++);
     }
     SALOMEDS::SObject_var SO = aStudy->FindObjectIOR(aResult->Name());
 
@@ -814,7 +814,7 @@ bool EntityGUI::OnSubShapeGetSelected(const TopoDS_Shape& ShapeTopo, const char*
       } 
       else {
        aResult->NameType(tr("GEOM_SHAPE"));
-       sprintf (nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->GetNbGeom()++);
+       sprintf (nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->myNbGeom++);
       }
       result = new GEOM_AISShape(Exp.Current(), nameG);
       IO = new GEOM_InteractiveObject(aResult->Name(), myGeomGUI->GetFatherior(), "GEOM");
@@ -823,10 +823,10 @@ bool EntityGUI::OnSubShapeGetSelected(const TopoDS_Shape& ShapeTopo, const char*
   else {
     if ( myGeomBase->GetShapeTypeString(compound,Type)) {
       aResult->NameType(Type);
-      sprintf (nameG, "%s_%d", Type, myGeomGUI->GetNbGeom()++);
+      sprintf (nameG, "%s_%d", Type, myGeomGUI->myNbGeom++);
     } else {
       aResult->NameType(tr("GEOM_SHAPE"));
-      sprintf (nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->GetNbGeom()++);
+      sprintf (nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->myNbGeom++);
     }
     result = new GEOM_AISShape(compound, nameG);
     IO = new GEOM_InteractiveObject(aResult->Name(), myGeomGUI->GetFatherior(), "GEOM");
index 4bf747c5a82175e055d0f64c8f7a9b5174a62b11..b94999df0011efecca055cd23d44f9c440bce029 100644 (file)
@@ -614,7 +614,7 @@ CORBA::Boolean GEOM_Gen_i::CanCopy(SALOMEDS::SObject_ptr theObject) {
 //============================================================================
 SALOMEDS::TMPFile* GEOM_Gen_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID) {
   // Declare a sequence of the byte to store the copied object
-  SALOMEDS::TMPFile_var aStreamFile;
+  SALOMEDS::TMPFile_var aStreamFile = new SALOMEDS::TMPFile;
 
   // Try to get GEOM_Shape object by given SObject
   SALOMEDS::GenericAttribute_var anAttr;
@@ -911,7 +911,15 @@ void GEOM_Gen_i::InsertInLabelMoreArguments(TopoDS_Shape main_topo,
 //=================================================================================
 CORBA::Short GEOM_Gen_i::NbLabels()
 {
-  return TDF_Tool::NbLabels( myCurrentOCAFDoc->Main() );
+  TDF_ChildIterator ChildIterator(myCurrentOCAFDoc->Main());
+  unsigned int i = 1;
+  
+  while (ChildIterator.More()) {
+    i++;
+    ChildIterator.Next();
+  }
+  return i;
+  //  return TDF_Tool::NbLabels( myCurrentOCAFDoc->Main() );
 }
 
 
@@ -2334,7 +2342,6 @@ GEOM::GEOM_Gen::ListOfGeomShapes* GEOM_Gen_i::SubShapesAll(GEOM::GEOM_Shape_ptr
   return listOfGeomShapes._retn() ;
 }
 
-
 //=================================================================================
 // function : MakeBoolean()
 // purpose  : Boolean operation according to the type 'operation'
@@ -2348,7 +2355,7 @@ GEOM::GEOM_Shape_ptr GEOM_Gen_i::MakeBoolean(GEOM::GEOM_Shape_ptr shape1,
   TopoDS_Shape shape ;
   TopoDS_Shape aShape1  ;
   TopoDS_Shape aShape2  ;
-  
+
   try {
     aShape1 = GetTopoShape(shape1) ;
     aShape2 = GetTopoShape(shape2) ;
@@ -3598,6 +3605,7 @@ GEOM::GEOM_Shape_ptr GEOM_Gen_i::MakeVertex(CORBA::Double x,
   if (tds.IsNull()) {
     THROW_SALOME_CORBA_EXCEPTION("Make Vertex/Point aborted", SALOME::BAD_PARAM);
   }
+  tds.Infinite(true);
   result = CreateObject(tds) ;
   const char *entry = InsertInLabel(tds, result->Name(), myCurrentOCAFDoc) ;
   result->ShapeId(entry);
@@ -3814,6 +3822,7 @@ GEOM::GEOM_Shape_ptr GEOM_Gen_i::MakeLine(const GEOM::PointStruct& pstruct,
     THROW_SALOME_CORBA_EXCEPTION("Make Line aborted : null shape", SALOME::BAD_PARAM);
   }
   else {
+    tds.Infinite(true);
     result = CreateObject(tds) ;
     const char *entry = InsertInLabel(tds, result->Name(), myCurrentOCAFDoc) ;
     result->ShapeId(entry);
index fd8b537af27f2d2297e347d35fd2e26427f4f852..c8ff0a0c29ac390b77c77e85be78e51700938401 100644 (file)
@@ -506,11 +506,11 @@ bool GEOMBase::Display(GEOM::GEOM_Shape_ptr aShape, Standard_CString name)
       Standard_CString type;
       GetShapeTypeString(shape,type);
       aShape->NameType(type);
-      nameG += TCollection_AsciiString(type) + TCollection_AsciiString("_") + TCollection_AsciiString(myGeomGUI->GetNbGeom()++) + TCollection_AsciiString("\0");
+      nameG += TCollection_AsciiString(type) + TCollection_AsciiString("_") + TCollection_AsciiString(myGeomGUI->myNbGeom++) + TCollection_AsciiString("\0");
     } 
     else
-      nameG += TCollection_AsciiString(aShape->NameType()) + TCollection_AsciiString("_") + TCollection_AsciiString(myGeomGUI->GetNbGeom()++) + TCollection_AsciiString("\0");
-  } 
+      nameG += TCollection_AsciiString(aShape->NameType()) + TCollection_AsciiString("_") + TCollection_AsciiString(myGeomGUI->myNbGeom++) + TCollection_AsciiString("\0");
+  }
   else 
     nameG = TCollection_AsciiString(name);
   
index 210807916b7d1389f1eee823fcc56348f896de37..aed81c294472510a479f3be96ca72b9f9516ec15 100644 (file)
@@ -84,6 +84,12 @@ GEOMContext* GEOMContext::GetOrCreateGeomGUI(QAD_Desktop* desktop)
     GeomGUI->myNbGeom = GeomGUI->myComponentGeom->NbLabels();
   }
 
+  /* GetCurrentStudy */
+  int studyId = desktop->getActiveStudy()->getStudyId();
+  GeomGUI->myComponentGeom->GetCurrentStudy(studyId);
+
+  //GeomGUI->myNbGeom = GeomGUI->myComponentGeom->NbLabels();
+
   return GeomGUI;
 }
 
index d31f1b6dc9ed135b1b59bbb31b3520f8c9403c71..f5746fc2ffcc310432dc4f6aaa99c68d50f355b9 100644 (file)
@@ -49,12 +49,13 @@ public :
 
 private :
   QDialog* myActiveDialogBox; /* Unique active dialog box */
-  int myNbGeom; /* Unique name for a geom entity */
   GEOM_Client myShapeReader;
   Standard_CString myFatherior;
   Sketch mySketcher;
 
 public :
+  int myNbGeom; /* Unique name for a geom entity */
+
   static GEOMContext* GetOrCreateGeomGUI(QAD_Desktop* desktop);
   static GEOMContext* GetGeomGUI();
 
index 1b91d57f8789fb6889ce6a65ed301cbcca51ec07..34834bc660abe320038e8384dd6b452b4a9ef109 100644 (file)
@@ -662,6 +662,10 @@ msgstr "Vertex"
 msgid "GEOM_WIRE"
 msgstr "Wire"
 
+#Wire(s)
+msgid "GEOM_WIRES"
+msgstr "Wire(s)"
+
 #Parameter
 msgid "GEOM_PARAMETER"
 msgstr "Parameter :"
@@ -937,6 +941,10 @@ msgstr "Keep Object"
 msgid "GEOM_PARTITION_ORIENTATION"
 msgstr "Change Orientation"
 
+#: GeometryGUI_PartitionDlg.cxx:45
+msgid "SUPPRESS_RESULT"
+msgstr "Suppress Result"
+
 #: GeometryGUI_PipeDlg.cxx:47
 msgid "GEOM_PIPE_TITLE"
 msgstr "Pipe Construction"
@@ -1299,3 +1307,10 @@ msgstr "Values"
 
 msgid "GEOM_SKETCHER_TYPE"
 msgstr "Type"
+
+msgid "GEOM_FILLET_ABORT"
+msgstr "Fillet can't be computed with radius %1"
+
+msgid "GEOM_CHAMFER_ABORT"
+msgstr "Chamfer can't be computed with %1 and %2"
+
index fdeb94661fd7e544336ae2ff31e896061e7e3595..f502017f4c8a460ac28493b7cce161ad223d3c7e 100644 (file)
@@ -49,7 +49,7 @@ msgstr "&Exploser"
 
 #: GeometryGUI.cxx:563
 msgid "GEOM_INF_LOADED"
-msgstr "Le fichier %1 est chargé."
+msgstr "Le fichier %1 est chargé."
 
 #
 #==============================================================================
@@ -57,15 +57,15 @@ msgstr "Le fichier %1 est charg
 
 #: GeometryGUI.cxx:3069
 msgid "GEOM_PRP_COMMAND"
-msgstr "Pas de commande associée à l'id = %1."
+msgstr "Pas de commande associée à l'id = %1."
 
 #: GeometryGUI.cxx:4977
 msgid "GEOM_PRP_ABORT"
-msgstr "L'opération a echoué"
+msgstr "L'opération a echoué"
 
 #: GeometryGUI.cxx:5058
 msgid "GEOM_PRP_DONE"
-msgstr "Opération effectuée"
+msgstr "Opération effectuée"
 
 #: GeometryGUI.cxx:3717
 msgid "GEOM_PRP_LOADING"
@@ -73,11 +73,11 @@ msgstr "Chargement de %1 ..."
 
 #: GeometryGUI.cxx:1412
 msgid "GEOM_PRP_NULLSHAPE"
-msgstr "Erreur, objet inconsistant ou inapproprié !"
+msgstr "Erreur, objet inconsistant ou inapproprié !"
 
 #: GeometryGUI.cxx:5072
 msgid "GEOM_PRP_READY"
-msgstr "Prêt..."
+msgstr "Prêt..."
 
 #: GeometryGUI.cxx:1690
 msgid "GEOM_PRP_SELECT_SUBSHAPES"
@@ -127,11 +127,11 @@ msgstr "Angle :"
 
 #: GeometryGUI.cxx:3941
 msgid "GEOM_MEN_COMPONENT"
-msgstr "Géometrie"
+msgstr "Géometrie"
 
 #: GeometryGUI.cxx:4389
 msgid "GEOM_MEN_ENTER_ANGLE"
-msgstr "Saisir un angle en degrés"
+msgstr "Saisir un angle en degrés"
 
 #: GeometryGUI.cxx:3758
 msgid "GEOM_MEN_EXPORT"
@@ -250,7 +250,7 @@ msgstr "Objet %1"
 
 #Object and result
 msgid "GEOM_OBJECT_RESULT"
-msgstr "Objet Et Résultat"
+msgstr "Objet Et Résultat"
 
 #Point
 msgid "GEOM_POINT"
@@ -310,7 +310,7 @@ msgstr "poids"
 
 #Coordinates
 msgid "GEOM_COORDINATES"
-msgstr "Coordonnées"
+msgstr "Coordonnées"
 
 #Coor.
 msgid "GEOM_COOR"
@@ -362,11 +362,11 @@ msgstr "Base"
 
 #Water Density
 msgid "GEOM_WATER_DENSITY"
-msgstr "Densité de l'eau :"
+msgstr "Densité de l'eau :"
 
 #Meshing Deflection
 msgid "GEOM_MESHING_DEFLECTION"
-msgstr "Déflection Du Maillage :"
+msgstr "Déflection Du Maillage :"
 
 #Dimensions
 msgid "GEOM_DIMENSIONS"
@@ -374,11 +374,11 @@ msgstr "Dimensions"
 
 #Precision
 msgid "GEOM_PRECISION"
-msgstr "Précision :"
+msgstr "Précision :"
 
 #Selection
 msgid "GEOM_SELECTION"
-msgstr "Sélection"
+msgstr "Sélection"
 
 #Nb. Times
 msgid "GEOM_NB_TIMES"
@@ -414,7 +414,7 @@ msgstr "Partition"
 
 #Tolerance
 msgid "GEOM_TOLERANCE"
-msgstr "Tolérance"
+msgstr "Tolérance"
 
 #Orientation
 msgid "GEOM_ORIENTATION"
@@ -426,7 +426,7 @@ msgstr "Pipe"
 
 #Revolution
 msgid "GEOM_REVOLUTION"
-msgstr "Révolution"
+msgstr "Révolution"
 
 #Rotation
 msgid "GEOM_ROTATION"
@@ -434,7 +434,7 @@ msgstr "Rotation"
 
 #Archimede
 msgid "GEOM_ARCHIMEDE"
-msgstr "Archimède"
+msgstr "Archimède"
 
 #Common
 msgid "GEOM_COMMON"
@@ -594,7 +594,7 @@ msgstr "Solide"
 
 #Sphere
 msgid "GEOM_SPHERE"
-msgstr "Sphère"
+msgstr "Sphère"
 
 #Conical Face
 msgid "GEOM_SURFCONE"
@@ -606,7 +606,7 @@ msgstr "Face Cylindrique"
 
 #Spherical Face
 msgid "GEOM_SURFSPHERE"
-msgstr "Face Sphèrique"
+msgstr "Face Sphèrique"
 
 #Toroidal Face
 msgid "GEOM_SURFTORUS"
@@ -638,7 +638,7 @@ msgstr "Wire"
        
 #Parameter
 msgid "GEOM_PARAMETER"
-msgstr "Paramètre :"
+msgstr "Paramètre :"
 
 
 #
@@ -691,7 +691,7 @@ msgstr "D2 :"
 
 #: GeometryGUI.cxx
 msgid "GEOM_STEP_TITLE"
-msgstr "Increment par défaut lors des constructions"
+msgstr "Increment par défaut lors des constructions"
 
 #: GeometryGUI_ArcDlg.cxx:45
 msgid "GEOM_ARC_TITLE"
@@ -699,7 +699,7 @@ msgstr "Construction d'un Arc"
 
 #: GeometryGUI_ArchimedeDlg.cxx:55
 msgid "GEOM_ARCHIMEDE_TITLE"
-msgstr "Construction d'Archimède"
+msgstr "Construction d'Archimède"
 
 #: GeometryGUI_BndBoxDlg.cxx:59
 msgid "GEOM_BNDBOX_TITLE"
@@ -739,7 +739,7 @@ msgstr "Construction d'un Cercle"
 
 #: GeometryGUI_CenterMassDlg.cxx:77
 msgid "GEOM_CMASS_TITLE"
-msgstr "Centre De Gravité"
+msgstr "Centre De Gravité"
 
 msgid "GEOM_PLANE_SIZE"
 msgstr "Taille du plan :"
@@ -750,7 +750,7 @@ msgstr "BOOLEEN : Jonction De Deux Objets"
 
 #: GeometryGUI_CompoundDlg.cxx:44
 msgid "GEOM_COMPOUND_TITLE"
-msgstr "Création d'un Compound"
+msgstr "Création d'un Compound"
 
 #: GeometryGUI_ConeDlg.cxx:49
 msgid "GEOM_CONE_TITLE"
@@ -782,27 +782,27 @@ msgstr "Objets Et Resultats"
 
 #: GeometryGUI_EdgeDlg.cxx:47
 msgid "GEOM_EDGE_TITLE"
-msgstr "Création d'un Edge"
+msgstr "Création d'un Edge"
 
 #: GeometryGUI_FilletDlg.cxx:58
 msgid "GEOM_FILLET_TITLE"
-msgstr "Construction d'un Congé"
+msgstr "Construction d'un Congé"
 
 #: GeometryGUI_FilletDlg.cxx:58
 msgid "GEOM_FILLET_ALL"
-msgstr "Congé sur toute la Shape"
+msgstr "Congé sur toute la Shape"
 
 #: GeometryGUI_FilletDlg.cxx:58
 msgid "GEOM_FILLET_EDGES"
-msgstr "Congé sur Edges de la Shape"
+msgstr "Congé sur Edges de la Shape"
 
 #: GeometryGUI_FilletDlg.cxx:58
 msgid "GEOM_FILLET_FACES"
-msgstr "Congé sur Faces de la Shape"
+msgstr "Congé sur Faces de la Shape"
 
 #: GeometryGUI_FaceDlg.cxx:49
 msgid "GEOM_FACE_TITLE"
-msgstr "Création d'une Face"
+msgstr "Création d'une Face"
 
 #: GeometryGUI_FaceDlg.cxx:78
 msgid "GEOM_FACE_FFW"
@@ -810,7 +810,7 @@ msgstr "Face a partir d'un wire"
 
 #: GeometryGUI_FaceDlg.cxx:103
 msgid "GEOM_FACE_OPT"
-msgstr "Création d'une Face plane"
+msgstr "Création d'une Face plane"
 
 #: GeometryGUI_FillingDlg.cxx:53
 msgid "GEOM_FILLING_TITLE"
@@ -912,6 +912,10 @@ msgstr "Objet garde"
 msgid "GEOM_PARTITION_ORIENTATION"
 msgstr "Change l'orientation"
 
+#: GeometryGUI_PartitionDlg.cxx:45
+msgid "SUPPRESS_RESULT"
+msgstr "Suppress Result"
+
 #: GeometryGUI_PipeDlg.cxx:47
 msgid "GEOM_PIPE_TITLE"
 msgstr "Construction d'une Pipe"
@@ -1115,7 +1119,7 @@ msgid "GEOM_MULTIROTATION_DOUBLE"
 msgstr "Multi Rotation Double"
 
 msgid "GEOM_PARAM_POINT"
-msgstr "Point paramétrique"
+msgstr "Point paramétrique"
 
 #
 #==============================================================================
@@ -1127,4 +1131,11 @@ msgstr "Filaire"
 
 #: GeometryGUI.cxx:4613
 msgid "GEOM_MEN_SHADING"
-msgstr "Ombré"
+msgstr "Ombré"
+
+msgid "GEOM_FILLET_ABORT"
+msgstr "Le congé ne peut-être realisé avec un rayon de %1 "
+
+msgid "GEOM_CHAMFER_ABORT"
+msgstr "Le chanfrein ne peut-être realisé avec %1 et %2 "
+
index 357507e17aef52a342c17ea19f8c2e5a60beea0d..8180cf578b9d522c1bb8c5a0fbc4528746ee7b96 100644 (file)
@@ -507,6 +507,7 @@ void GeometryGUI::activeStudyChanged(QAD_Desktop* parent)
 
   if(GeomGUI != 0) {
     QMenuBar* Mb = QAD_Application::getDesktop()->getMainMenuBar();
+    GeomGUI->myNbGeom = GeomGUI->myComponentGeom->NbLabels();
     if(GeomGUI->myState == 2) {
       Mb->setItemEnabled(405, false);//SKETCHER
       GeomGUI->GetSketcher().Clear();
index a977323fc3e5b4b3445bec24033f3d119d2154f4..08a0e7d8c7d8b1274a0be63d11e7b05d12a30a67 100644 (file)
@@ -163,7 +163,7 @@ bool GEOMToolsGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
        } 
        else {
          Quantity_Color Default = Quantity_Color();
-         color = QColor ((int)Default.Red()  * 255.0, (int)Default.Green()* 255.0, (int)Default.Blue() * 255.0);
+         color = QColor ((int)( Default.Red() * 255.0 ), (int)( Default.Green() * 255.0 ), (int)( Default.Blue() * 255.0 ) );
        }
        
        QColor c = QColorDialog::getColor(color, QAD_Application::getDesktop());
@@ -372,7 +372,7 @@ bool GEOMToolsGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
            Quantity_Color CSFColor;
            Shape->Color(CSFColor);
            
-           QColor c = QColorDialog::getColor(QColor(CSFColor.Red()  * 255.0, CSFColor.Green()* 255.0, CSFColor.Blue() * 255.0), QAD_Application::getDesktop());
+           QColor c = QColorDialog::getColor(QColor((int)(CSFColor.Red() * 255.0), (int)(CSFColor.Green() * 255.0), (int)(CSFColor.Blue() * 255.0)), QAD_Application::getDesktop());
            
            if(c.isValid()) {
              CSFColor = Quantity_Color (c.red()/255., c.green()/255., c.blue()/255., Quantity_TOC_RGB);
@@ -478,13 +478,50 @@ bool GEOMToolsGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
            while(useSubItems?anIter->More():!anAttr->_is_nil()) { 
              if(!obj->FindAttribute(anAttr, "AttributeIOR") &&
                  obj->FindAttribute(anAttr, "AttributePersistentRef")) {
-               // load
-               Engines::Component_var comp = QAD_Application::getDesktop()->getEngine("FactoryServer","GEOM");
-               if (!CORBA::is_nil(comp)) {
-                 SALOMEDS::Driver_var driver = SALOMEDS::Driver::_narrow(comp);
-                 SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder();
-                 aStudyBuilder->LoadWith(aStudy->FindComponent("GEOM"),driver);
-               } 
+               
+               SALOMEDS::SComponent_var FComp = obj->GetFatherComponent();
+               if (!CORBA::is_nil(FComp)) {
+                 if (FComp->FindAttribute(anAttr, "AttributeName")) {
+                   SALOMEDS::AttributeName_var aName = SALOMEDS::AttributeName::_narrow(anAttr);
+                   QString compName = parent->getComponentName(aName->Value());
+                   //              parent->loadComponentData(parent->getComponentName(aName->Value()));
+                   Engines::Component_var comp ;
+                   if ( compName.compare("SUPERV") == 0 ) {
+                     comp = parent->getEngine( "SuperVisionContainer", compName) ;
+                   }
+                   else {
+                     comp = parent->getEngine( "FactoryServer", compName);
+                     if ( comp->_is_nil() )
+                       comp = parent->getEngine( "FactoryServerPy", compName);
+                   }
+
+                   if (!CORBA::is_nil(comp)) {
+                     SALOMEDS::Driver_var   driver = SALOMEDS::Driver::_narrow(comp);
+                     if (!CORBA::is_nil(driver)) {
+                       SALOMEDS::StudyBuilder_var  B = aStudy->NewBuilder();
+                       if (!CORBA::is_nil(B)) {
+                         B->LoadWith(FComp,driver);
+                       } else {
+                         return false;
+                       }
+                     } else {
+                       MESSAGE("loadComponentData(): Driver is null");
+                       return false;
+                     }
+                   } else {
+                     MESSAGE("loadComponentData(): Engine is null");
+                     return false;
+                   }
+                   //          // load
+                   //          Engines::Component_var comp = QAD_Application::getDesktop()->getEngine("FactoryServer","GEOM");
+                   //          if (!CORBA::is_nil(comp)) {
+                   //            SALOMEDS::Driver_var driver = SALOMEDS::Driver::_narrow(comp);
+                   //            SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder();
+                   //            SALOMEDS::SComponent_var SC = aStudy->FindComponent("GEOM");
+                   //            if (!CORBA::is_nil(SC))
+                   //              aStudyBuilder->LoadWith(SC,driver);
+                 } 
+               }
                else {
                  MESSAGE("Component is null");
                }
@@ -752,7 +789,7 @@ bool GEOMToolsGUI::Import(int aState)
 //      if (aLocked) return false;
     father->ComponentIOR(myGeomGUI->GetFatherior());
 
-    QString nameShape = QAD_Tools::getFileNameFromPath(file,false) +  QString("_%1").arg(myGeomGUI->GetNbGeom()++);
+    QString nameShape = QAD_Tools::getFileNameFromPath(file,false) +  QString("_%1").arg(myGeomGUI->myNbGeom++);
 
     if(myGeomBase->Display(aShape, strdup(nameShape.latin1()))) {
       QAD_Application::getDesktop()->getActiveStudy()->setMessage( tr("GEOM_INF_LOADED").arg(QAD_Tools::getFileNameFromPath( file )) );
index 4bb742a89b03e65578fd8d0ee18313e3508cd679..1f0a4e5fb234bccad7986c2a29202b30e1c784bb 100644 (file)
@@ -152,6 +152,12 @@ def MakeCircle(p1,d1,radius):
     anObj._set_Name(ior)
     return anObj
 
+def MakeEllipse(p1,d1,radiusMaj,radiusMin):  
+    anObj = geom.MakeEllipse(p1,d1,radiusMaj, radiusMin)
+    ior = orb.object_to_string(anObj)
+    anObj._set_Name(ior)
+    return anObj
+
 def MakePlane(p1,d1,trimsize): 
     anObj = geom.MakePlane(p1,d1,trimsize)
     ior = orb.object_to_string(anObj)
index 4746e7d62039381e3d9e76879018d26b7d545ba3..93ef60c3b2c8361d5a4f3fd12baf7049c02e5246 100644 (file)
@@ -178,6 +178,12 @@ def MakeCircle(p1,d1,radius):
     anObj._set_Name(ior)
     return anObj
 
+def MakeEllipse(p1,d1,radiusMaj,radiusMin):  
+    anObj = geom.MakeEllipse(p1,d1,radiusMaj, radiusMin)
+    ior = orb.object_to_string(anObj)
+    anObj._set_Name(ior)
+    return anObj
+
 def MakePlane(p1,d1,trimsize): 
     anObj = geom.MakePlane(p1,d1,trimsize)
     ior = salome.orb.object_to_string(anObj)
index 968e4df57e8b74ec6d004d3dd9d49dc4d9ae7de8..fc32ef9806b878d94462c601ada321e4f798d93f 100644 (file)
@@ -172,6 +172,7 @@ void GenerationGUI_FillingDlg::ClickOnOk()
 //=================================================================================
 void GenerationGUI_FillingDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index dae7c23f6aa9033b51fcc686a88c8c44178e6a87..d1bc9969e0a6bdbf3df5392a7664e86d48366cc1 100644 (file)
@@ -187,7 +187,7 @@ void GenerationGUI_PipeDlg::SelectionIntoArgument()
   }
   else if(myEditCurrentArgument == GroupPoints->LineEdit2) {
     myOkShape2 = false;
-    if(S.ShapeType() != TopAbs_COMPSOLID && S.ShapeType() != TopAbs_COMPOUND && S.ShapeType() != TopAbs_SOLID && S.ShapeType() != TopAbs_SHAPE && S.ShapeType() != TopAbs_VERTEX) {
+    if(S.ShapeType() == TopAbs_WIRE || S.ShapeType() == TopAbs_EDGE ) {
       myGeomShape2 = myGeomBase->ConvertIOinGEOMShape(IO, testResult);
       if(!testResult)
        return;
index f2b9ea58ff2e7c910447e6882bff91dbae183d7c..b9c8057ec3e3b509cc3d18a1efc73cf334655d3a 100644 (file)
@@ -146,6 +146,7 @@ void GenerationGUI_PrismDlg::ClickOnOk()
 //=================================================================================
 void GenerationGUI_PrismDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 79e7e1bac5bc58a4fa900720ed73701543b49c09..69d69205c3916b6fe683d8dee02cdf20b9e9caf6 100644 (file)
@@ -145,6 +145,7 @@ void GenerationGUI_RevolDlg::ClickOnOk()
 //=================================================================================
 void GenerationGUI_RevolDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 23c2895c3796403e0b035756c85729301bd5449a..6c3f1a91ca566f415a4909390e620631177fd424 100644 (file)
@@ -37,6 +37,8 @@ using namespace std;
 
 #include <qtextedit.h>
 
+#include <BRep_Tool.hxx>
+
 //=================================================================================
 // class    : MeasureGUI_WhatisDlg()
 // purpose  : Constructs a MeasureGUI_WhatisDlg which is a child of 'parent', with the 
@@ -211,8 +213,15 @@ void MeasureGUI_WhatisDlg::CalculateWhatis(const TopoDS_Shape& S)
     return;
 
   TCollection_AsciiString Astr; 
-  Astr = Astr + " Number of shapes in " + strdup(SelectedName.latin1()) + " : \n";
 
+  if ( S.ShapeType() == TopAbs_EDGE ) {
+    if( BRep_Tool::Degenerated(TopoDS::Edge(S)) ) {
+      Astr = Astr + " " + strdup(SelectedName.latin1()) + " is a degenerated edge \n";
+    }
+  }
+  
+  Astr = Astr + " Number of shapes in " + strdup(SelectedName.latin1()) + " : \n";
+  
   try {
     int iType, nbTypes [TopAbs_SHAPE];
     for(iType = 0; iType < TopAbs_SHAPE; ++iType)
index 77468ea95ea3fade45d41d16b14a272360ea6263..7e272e91db9d02ee50b0ab36c24e3acf99dd9894 100644 (file)
@@ -152,6 +152,7 @@ void OperationGUI_ArchimedeDlg::ClickOnOk()
 //=================================================================================
 void OperationGUI_ArchimedeDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if(myOkIO)
     myOperationGUI->Archimede(myIO, myWeight, myWaterDensity, myMeshingDeflection);
index 92085d2290554577aa719305a9c841c691fc3589..3698d3ffadc71b41aad21813cfd69b1cbc042e0f 100644 (file)
@@ -30,6 +30,7 @@ using namespace std;
 #include "OperationGUI_ChamferDlg.h"
 
 #include "DisplayGUI.h"
+#include "QAD_MessageBox.h"
 
 #include <AIS_InteractiveContext.hxx>
 #include <BRepFilletAPI_MakeChamfer.hxx>
@@ -38,6 +39,9 @@ using namespace std;
 #include <TopExp.hxx>
 #include <Precision.hxx>
 
+#include <Standard_ErrorHandler.hxx> 
+#include <Standard_Failure.hxx>
+
 //=================================================================================
 // class    : OperationGUI_ChamferDlg()
 // purpose  : Constructs a OperationGUI_ChamferDlg which is a child of 'parent', with the 
@@ -68,23 +72,7 @@ OperationGUI_ChamferDlg::OperationGUI_ChamferDlg(QWidget* parent, const char* na
   Group1->TextLabel3->setText(tr("GEOM_D2"));
   Group1->PushButton1->setPixmap(image3);
 
-  Group2 = new DlgRef_1Sel2Spin(this, "Group2");
-  Group2->GroupBox1->setTitle(tr("GEOM_CHAMFER_EDGES"));
-  Group2->TextLabel1->setText(tr("GEOM_MAIN_OBJECT"));
-  Group2->TextLabel2->setText(tr("GEOM_D1"));
-  Group2->TextLabel3->setText(tr("GEOM_D2"));
-  Group2->PushButton1->setPixmap(image3);
-
-  Group3 = new DlgRef_1Sel2Spin(this, "Group3");
-  Group3->GroupBox1->setTitle(tr("GEOM_CHAMFER_FACES"));
-  Group3->TextLabel1->setText(tr("GEOM_MAIN_OBJECT"));
-  Group3->TextLabel2->setText(tr("GEOM_D1"));
-  Group3->TextLabel3->setText(tr("GEOM_D2"));
-  Group3->PushButton1->setPixmap(image3);
-
   Layout1->addWidget(Group1, 1, 0);
-  Layout1->addWidget(Group2, 1, 0);
-  Layout1->addWidget(Group3, 1, 0);
   /***************************************************************/
 
   /* Initialisations */
@@ -123,18 +111,10 @@ void OperationGUI_ChamferDlg::Init(Handle (AIS_InteractiveContext) ic)
   double SpecificStep = 10.0;
   /* min, max, step and decimals for spin boxes */
   Group1->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
-  Group2->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
-  Group3->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
   Group1->SpinBox_DY->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
-  Group2->SpinBox_DY->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
-  Group3->SpinBox_DY->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
 
   Group1->SpinBox_DX->SetValue(myD1);
-  Group2->SpinBox_DX->SetValue(myD1);
-  Group3->SpinBox_DX->SetValue(myD1);
   Group1->SpinBox_DY->SetValue(myD2);
-  Group2->SpinBox_DY->SetValue(myD2);
-  Group3->SpinBox_DY->SetValue(myD2);
 
   /* signals and slots connections */
   connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel()));
@@ -146,32 +126,16 @@ void OperationGUI_ChamferDlg::Init(Handle (AIS_InteractiveContext) ic)
   connect(GroupConstructors, SIGNAL(clicked(int)), this, SLOT(ConstructorsClicked(int)));
 
   connect(Group1->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
-  connect(Group2->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
-  connect(Group3->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
-
   connect(Group1->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
-  connect(Group2->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
-  connect(Group3->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
 
   connect(Group1->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
-  connect(Group2->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
-  connect(Group3->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
   connect(Group1->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
-  connect(Group2->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
-  connect(Group3->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
-  
   connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group1->SpinBox_DX, SLOT(SetStep(double)));
-  connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group2->SpinBox_DX, SLOT(SetStep(double)));
-  connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group3->SpinBox_DX, SLOT(SetStep(double)));
   connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group1->SpinBox_DY, SLOT(SetStep(double)));
-  connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group2->SpinBox_DY, SLOT(SetStep(double)));
-  connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group3->SpinBox_DY, SLOT(SetStep(double)));
 
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 
   /* displays Dialog */
-  Group2->hide();
-  Group3->hide();
   Group1->show();
   this->show();
 
@@ -200,52 +164,33 @@ void OperationGUI_ChamferDlg::ConstructorsClicked(int constructorId)
     myUseLocalContext = false;
   }
 
+  if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() != VIEW_OCC) {
+    myConstructorId = constructorId = 0; //No subshape selection if viewer is not OCC
+    RadioButton1->setChecked(TRUE);
+  }
+
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
+  Group1->LineEdit1->setText("");
+  Group1->SpinBox_DX->SetValue(myD1);
+  Group1->SpinBox_DY->SetValue(myD2);
   switch (constructorId)
     {
     case 0: /* Chamfer All */
       {
-       Group2->hide();
-       Group3->hide();
-       resize(0, 0);
-       Group1->show();
-
-       myEditCurrentArgument = Group1->LineEdit1;
-       Group1->LineEdit1->setText("");
+       Group1->GroupBox1->setTitle(tr("GEOM_CHAMFER_ALL"));
        myShapeType = -1;
-
-       Group1->SpinBox_DX->SetValue(myD1);
-       Group1->SpinBox_DY->SetValue(myD2);
        break;
       }
     case 1: /* Chamfer edges */
       {
-       Group1->hide();
-       Group3->hide();
-       resize(0, 0);
-       Group2->show();
-
-       myEditCurrentArgument = Group2->LineEdit1;
-       Group2->LineEdit1->setText("");
+       Group1->GroupBox1->setTitle(tr("GEOM_CHAMFER_EDGES"));
        myShapeType = 6;
-
-       Group2->SpinBox_DX->SetValue(myD1);
-       Group2->SpinBox_DY->SetValue(myD2);
        break;
       }
     case 2: /* Chamfer Faces */
       {
-       Group1->hide();
-       Group2->hide();
-       resize(0, 0);
-       Group3->show();
-
-       myEditCurrentArgument = Group3->LineEdit1;
-       Group3->LineEdit1->setText("");
+       Group1->GroupBox1->setTitle(tr("GEOM_CHAMFER_FACES"));
        myShapeType = 4;
-
-       Group3->SpinBox_DX->SetValue(myD1);
-       Group3->SpinBox_DY->SetValue(myD2);
        break;
       }
     }
@@ -271,6 +216,7 @@ void OperationGUI_ChamferDlg::ClickOnOk()
 //=================================================================================
 void OperationGUI_ChamferDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QApplication::setOverrideCursor(Qt::waitCursor);
   QAD_Application::getDesktop()->putInfo(tr(""));
   myGeomBase->EraseSimulationShape();
@@ -372,7 +318,7 @@ void OperationGUI_ChamferDlg::SelectionIntoArgument()
        }
       }
     }
-    if(myConstructorId == 0)
+    if(myOkShape && QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_OCC && myConstructorId == 0)
       this->MakePreview();
 
   }
@@ -388,27 +334,6 @@ void OperationGUI_ChamferDlg::SelectionIntoArgument()
 }
 
 
-//=================================================================================
-// function : LineEditReturnPressed()
-// purpose  :
-//=================================================================================
-void OperationGUI_ChamferDlg::LineEditReturnPressed()
-{
-  QLineEdit* send = (QLineEdit*)sender();
-  if(send == Group1->LineEdit1)
-    myEditCurrentArgument = Group1->LineEdit1;
-  else if (send == Group2->LineEdit1)
-    myEditCurrentArgument = Group2->LineEdit1;
-  else if (send == Group3->LineEdit1)
-    myEditCurrentArgument = Group3->LineEdit1;
-  else
-    return;
-
-  GEOMBase_Skeleton::LineEditReturnPressed();
-  return;
-}
-
-
 //=================================================================================
 // function : SetEditCurrentArgument()
 // purpose  :
@@ -417,18 +342,9 @@ void OperationGUI_ChamferDlg::SetEditCurrentArgument()
 {
   QPushButton* send = (QPushButton*)sender();  
 
-  if(send == Group1->PushButton1) {
+  if(send == Group1->PushButton1)
     Group1->LineEdit1->setFocus();
-    myEditCurrentArgument = Group1->LineEdit1;
-  }
-  else if(send == Group2->PushButton1) {
-    Group2->LineEdit1->setFocus();
-    myEditCurrentArgument = Group2->LineEdit1;
-  }
-  else if(send == Group3->PushButton1) {
-    Group3->LineEdit1->setFocus();
-    myEditCurrentArgument = Group3->LineEdit1;
-  }
+
   this->SelectionIntoArgument();
   return;
 }
@@ -489,24 +405,20 @@ void OperationGUI_ChamferDlg::closeEvent(QCloseEvent* e)
 // function : ValueChangedInSpinBox()
 // purpose  :
 //=================================================================================
-void OperationGUI_ChamferDlg::ValueChangedInSpinBox( double newValue )
+void OperationGUI_ChamferDlg::ValueChangedInSpinBox(double newValue)
 {
   myGeomBase->EraseSimulationShape(); 
   mySimulationTopoDs.Nullify();
 
   QObject* send = (QObject*)sender();
-  if(send == Group1->SpinBox_DX || send == Group2->SpinBox_DX || send == Group3->SpinBox_DX) { /* D1 */
+  if(send == Group1->SpinBox_DX /* D1 */
     myD1 = newValue;
-    if(myConstructorId == 0)
-      this->MakePreview();
-    return ;
-  } 
-  else if(send == Group1->SpinBox_DY || send == Group2->SpinBox_DY || send == Group3->SpinBox_DY) { /* D2 */
+  else if(send == Group1->SpinBox_DY)  /* D2 */
     myD2 = newValue;
-    if(myConstructorId == 0)
-      this->MakePreview();
-    return;
-  }
+
+  if(myOkShape && QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_OCC && myConstructorId == 0)
+    this->MakePreview();
+
   return;
 }
 
@@ -539,48 +451,44 @@ void OperationGUI_ChamferDlg::ResetStateOfDialog()
 void OperationGUI_ChamferDlg::MakePreview()
 {
   QApplication::setOverrideCursor(Qt::waitCursor);
-
-  if(!myOkShape) {
-    QApplication::restoreOverrideCursor();
-    return;
-  }
-
-  GEOM::GEOM_Shape::ListOfSubShapeID_var ListOfID = new GEOM::GEOM_Shape::ListOfSubShapeID;
-  ListOfID->length(0);
-
-  SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
-  SALOMEDS::SObject_var theObj = aStudy->FindObjectIOR(myShapeIOR);
-  if(theObj->_is_nil()) {
-    QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_SHAPE_IN_STUDY"));
-    QApplication::restoreOverrideCursor();
-    return;
-  }
+  TopoDS_Shape tds;
 
   try {
-    if(myD1 <= Precision::Confusion() || myD2 <= Precision::Confusion()) {
-      QApplication::restoreOverrideCursor();
-      return;
-    }
+    BRepFilletAPI_MakeChamfer MC(myShape);
+    switch(myConstructorId)
+      {
+      case 0: /* Chamfer All */
+       {
+         TopTools_IndexedDataMapOfShapeListOfShape M;
+         TopExp::MapShapesAndAncestors(myShape, TopAbs_EDGE, TopAbs_FACE, M);
+         for(int i = 1; i <= M.Extent(); i++) {
+           TopoDS_Edge E = TopoDS::Edge(M.FindKey(i));
+           TopoDS_Face F = TopoDS::Face(M.FindFromIndex(i).First());
+           if(!BRepTools::IsReallyClosed(E, F) && !BRep_Tool::Degenerated(E))
+             MC.Add(myD1, myD2, E, F);
+         }
+         tds = MC.Shape();
+         break;
+       }
+      //    case 1: /* Chamfer edges */
+      //    case 2: /* Chamfer Faces */
+      }
 
-    GEOM::GEOM_Shape_var aShape = myGeom->GetIORFromString(myShapeIOR);
-    GEOM::GEOM_Shape_var result = myGeom->MakeChamfer(aShape, myD1, myD2, myShapeType, ListOfID);
-    if(result->_is_nil()) {
-      QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_ABORT"));
-      QApplication::restoreOverrideCursor();
-      return;
+    if(!tds.IsNull()) {
+      mySimulationTopoDs = tds;
+      myGeomBase->DisplaySimulationShape(mySimulationTopoDs); 
     }
-
-    TopoDS_Shape S = myGeomGUI->GetShapeReader().GetShape(myGeom, result);
-
-    mySimulationTopoDs = S;
-    myGeomBase->DisplaySimulationShape(mySimulationTopoDs);
   }
   catch(Standard_Failure) {
-    MESSAGE("Exception catched in MakePreview");
     QApplication::restoreOverrideCursor();
-    return;
+    QAD_MessageBox::warn1 (QAD_Application::getDesktop(), tr("GEOM_WRN_WARNING"), tr("GEOM_CHAMFER_ABORT").arg(myD1).arg(myD2), tr("GEOM_BUT_OK"));
+    QApplication::setOverrideCursor(Qt::waitCursor);
+    myGeomBase->EraseSimulationShape(); 
+    mySimulationTopoDs.Nullify();
+    Group1->SpinBox_DX->SetValue(5.0);
+    Group1->SpinBox_DY->SetValue(5.0);
   }
+
   QApplication::restoreOverrideCursor();
   return;
-
 }
index 46e114443b51c2cc63d83ad6ef5f9e8d1b9f4f3a..320bc37c9a19c446097e42d122d0e8703c52026c 100644 (file)
@@ -72,8 +72,6 @@ private :
     double myD2;
     
     DlgRef_1Sel2Spin* Group1;
-    DlgRef_1Sel2Spin* Group2;
-    DlgRef_1Sel2Spin* Group3;
 
 private slots:
     void ClickOnOk();
@@ -81,7 +79,6 @@ private slots:
     void ClickOnCancel();
     void ActivateThisDialog();
     void DeactivateActiveDialog();
-    void LineEditReturnPressed();
     void SelectionIntoArgument();
     void SetEditCurrentArgument();
     void ValueChangedInSpinBox(double newValue);
index 746c9eb08d04493ad1155d791657e017f06de199..75827e00e1483c2b346d57f4ec6b90b748cedf01 100644 (file)
@@ -30,12 +30,16 @@ using namespace std;
 #include "OperationGUI_FilletDlg.h"
 
 #include "DisplayGUI.h"
+#include "QAD_MessageBox.h"
 
 #include <AIS_InteractiveContext.hxx>
 #include <TopExp_Explorer.hxx>
 #include <BRepFilletAPI_MakeFillet.hxx>
 #include <Precision.hxx>
 
+#include <Standard_ErrorHandler.hxx> 
+#include <Standard_Failure.hxx>
+
 //=================================================================================
 // class    : OperationGUI_FilletDlg()
 // purpose  : Constructs a OperationGUI_FilletDlg which is a child of 'parent', with the 
@@ -65,21 +69,7 @@ OperationGUI_FilletDlg::OperationGUI_FilletDlg(QWidget* parent, const char* name
   Group1->TextLabel2->setText(tr("GEOM_RADIUS"));
   Group1->PushButton1->setPixmap(image3);
 
-  Group2 = new DlgRef_1Sel1Spin(this, "Group2");
-  Group2->GroupBox1->setTitle(tr("GEOM_FILLET_EDGES"));
-  Group2->TextLabel1->setText(tr("GEOM_MAIN_OBJECT"));
-  Group2->TextLabel2->setText(tr("GEOM_RADIUS"));
-  Group2->PushButton1->setPixmap(image3);
-
-  Group3 = new DlgRef_1Sel1Spin(this, "Group3");
-  Group3->GroupBox1->setTitle(tr("GEOM_FILLET_FACES"));
-  Group3->TextLabel1->setText(tr("GEOM_MAIN_OBJECT"));
-  Group3->TextLabel2->setText(tr("GEOM_RADIUS"));
-  Group3->PushButton1->setPixmap(image3);
-
   Layout1->addWidget(Group1, 1, 0);
-  Layout1->addWidget(Group2, 1, 0);
-  Layout1->addWidget(Group3, 1, 0);
   /***************************************************************/
 
   /* Initialisations */
@@ -117,12 +107,7 @@ void OperationGUI_FilletDlg::Init(Handle(AIS_InteractiveContext) ic)
   double SpecificStep = 10.0;
   /* min, max, step and decimals for spin boxes */
   Group1->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
-  Group2->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
-  Group3->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3);
-
   Group1->SpinBox_DX->SetValue(myRadius);
-  Group2->SpinBox_DX->SetValue(myRadius);
-  Group3->SpinBox_DX->SetValue(myRadius);
 
   /* signals and slots connections */
   connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel()));
@@ -134,26 +119,14 @@ void OperationGUI_FilletDlg::Init(Handle(AIS_InteractiveContext) ic)
   connect(GroupConstructors, SIGNAL(clicked(int)), this, SLOT(ConstructorsClicked(int)));
 
   connect(Group1->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
-  connect(Group2->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
-  connect(Group3->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
-
   connect(Group1->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
-  connect(Group2->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
-  connect(Group3->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
 
   connect(Group1->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
-  connect(Group2->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
-  connect(Group3->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double)));
-  
   connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group1->SpinBox_DX, SLOT(SetStep(double)));
-  connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group2->SpinBox_DX, SLOT(SetStep(double)));
-  connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group3->SpinBox_DX, SLOT(SetStep(double)));
 
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 
   /* displays Dialog */
-  Group2->hide();
-  Group3->hide();
   Group1->show();
   this->show();
 
@@ -181,49 +154,32 @@ void OperationGUI_FilletDlg::ConstructorsClicked(int constructorId)
     myUseLocalContext = false;
   }
 
+  if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() != VIEW_OCC) {
+    myConstructorId = constructorId = 0; //No subshape selection if viewer is not OCC
+    RadioButton1->setChecked(TRUE);
+  }
+  
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
+  Group1->LineEdit1->setText("");
+  Group1->SpinBox_DX->SetValue(myRadius);
   switch (constructorId)
     {
     case 0: /* Fillet All */
       {
-       Group2->hide();
-       Group3->hide();
-       resize(0, 0);
-       Group1->show();
-
-       myEditCurrentArgument = Group1->LineEdit1;
-       Group1->LineEdit1->setText("");
+       Group1->GroupBox1->setTitle(tr("GEOM_FILLET_ALL"));
        myShapeType = -1;
-
-       Group1->SpinBox_DX->SetValue(myRadius);
        break;
       }
     case 1: /* Fillet edges */
       {
-       Group1->hide();
-       Group3->hide();
-       resize(0, 0);
-       Group2->show();
-
-       myEditCurrentArgument = Group2->LineEdit1;
-       Group2->LineEdit1->setText("");
+       Group1->GroupBox1->setTitle(tr("GEOM_FILLET_EDGES"));
        myShapeType = 6;
-
-       Group2->SpinBox_DX->SetValue(myRadius);
        break;
       }
     case 2: /* Fillet Faces */
       {
-       Group1->hide();
-       Group2->hide();
-       resize(0, 0);
-       Group3->show();
-
-       myEditCurrentArgument = Group3->LineEdit1;
-       Group3->LineEdit1->setText("");
+       Group1->GroupBox1->setTitle(tr("GEOM_FILLET_FACES"));
        myShapeType = 4;
-
-       Group3->SpinBox_DX->SetValue(myRadius);
        break;
       }
     }
@@ -249,6 +205,7 @@ void OperationGUI_FilletDlg::ClickOnOk()
 //=================================================================================
 void OperationGUI_FilletDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QApplication::setOverrideCursor(Qt::waitCursor);
   QAD_Application::getDesktop()->putInfo(tr(""));
   myGeomBase->EraseSimulationShape();
@@ -348,7 +305,7 @@ void OperationGUI_FilletDlg::SelectionIntoArgument()
        }
       }
     }
-    if(myConstructorId == 0)
+    if(myOkShape && QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_OCC && myConstructorId == 0)
       this->MakePreview();
   }
   else 
@@ -363,27 +320,6 @@ void OperationGUI_FilletDlg::SelectionIntoArgument()
 }
 
 
-//=================================================================================
-// function : LineEditReturnPressed()
-// purpose  :
-//=================================================================================
-void OperationGUI_FilletDlg::LineEditReturnPressed()
-{
-  QLineEdit* send = (QLineEdit*)sender();
-  if(send == Group1->LineEdit1)
-    myEditCurrentArgument = Group1->LineEdit1;
-  else if (send == Group2->LineEdit1)
-    myEditCurrentArgument = Group2->LineEdit1;
-  else if (send == Group3->LineEdit1)
-    myEditCurrentArgument = Group3->LineEdit1;
-  else
-    return;
-
-  GEOMBase_Skeleton::LineEditReturnPressed();
-  return;
-}
-
-
 //=================================================================================
 // function : SetEditCurrentArgument()
 // purpose  :
@@ -392,18 +328,9 @@ void OperationGUI_FilletDlg::SetEditCurrentArgument()
 {
   QPushButton* send = (QPushButton*)sender();  
 
-  if(send == Group1->PushButton1) {
+  if(send == Group1->PushButton1)
     Group1->LineEdit1->setFocus();
-    myEditCurrentArgument = Group1->LineEdit1;
-  }
-  else if(send == Group2->PushButton1) {
-    Group2->LineEdit1->setFocus();
-    myEditCurrentArgument = Group2->LineEdit1;
-  }
-  else if(send == Group3->PushButton1) {
-    Group3->LineEdit1->setFocus();
-    myEditCurrentArgument = Group3->LineEdit1;
-  }
+
   this->SelectionIntoArgument();
   return;
 }
@@ -492,7 +419,7 @@ void OperationGUI_FilletDlg::ValueChangedInSpinBox(double newValue)
 
   myRadius = newValue;
 
-  if(myConstructorId == 0)
+  if(myOkShape && QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_OCC && myConstructorId == 0)
     this->MakePreview();
   return;
 }
@@ -505,46 +432,57 @@ void OperationGUI_FilletDlg::ValueChangedInSpinBox(double newValue)
 void OperationGUI_FilletDlg::MakePreview()
 {
   QApplication::setOverrideCursor(Qt::waitCursor);
+  TopoDS_Shape tds;
 
-  if(!myOkShape) {
-    QApplication::restoreOverrideCursor();
-    return;
-  }
-
-  GEOM::GEOM_Shape::ListOfSubShapeID_var ListOfID = new GEOM::GEOM_Shape::ListOfSubShapeID;
-  ListOfID->length(0);
-
-  SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
-  SALOMEDS::SObject_var theObj = aStudy->FindObjectIOR(myShapeIOR);
-  if(theObj->_is_nil()) {
-    QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_SHAPE_IN_STUDY"));
-    QApplication::restoreOverrideCursor();
-    return;
-  }
-  
   try {
-    if(myRadius <= Precision::Confusion()) {
-      QApplication::restoreOverrideCursor();
-      return;
-    }
+    BRepFilletAPI_MakeFillet fill(myShape);
+    switch(myConstructorId) 
+      {
+      case 0: /* Fillet All */
+       {
+         TopExp_Explorer Exp(myShape, TopAbs_EDGE);
+         for(Exp; Exp.More(); Exp.Next()) {
+           TopoDS_Edge E = TopoDS::Edge(Exp.Current());
+           fill.Add(E);
+         }
+         
+         for(int i = 1; i <= fill.NbContours(); i++) {
+           try {
+             //fill.SetRadius(myRadius,i,i);
+             fill.SetRadius(myRadius,i);
+           }  
+           catch(Standard_Failure) {
+             QApplication::restoreOverrideCursor();
+             QAD_MessageBox::warn1 (QAD_Application::getDesktop(), tr("GEOM_WRN_WARNING"), tr("GEOM_FILLET_ABORT").arg(myRadius), tr("GEOM_BUT_OK"));
+             QApplication::setOverrideCursor(Qt::waitCursor);
+             myGeomBase->EraseSimulationShape(); 
+             mySimulationTopoDs.Nullify();
+             Group1->SpinBox_DX->SetValue(5.0);
+             QApplication::restoreOverrideCursor();
+             return;
+           }
+         }
+         tds = fill.Shape();
+         break;
+       }
+      //    case 1: /* Fillet edges */
+      //    case 2: /* Fillet Faces */
+      }
 
-    GEOM::GEOM_Shape_var aShape = myGeom->GetIORFromString(myShapeIOR);
-    GEOM::GEOM_Shape_var result = myGeom->MakeFillet(aShape, myRadius, myShapeType, ListOfID);
-    if(result->_is_nil()) {
-      QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_ABORT"));
-      QApplication::restoreOverrideCursor();
-      return;
+    if(!tds.IsNull()) {
+      mySimulationTopoDs = tds;
+      myGeomBase->DisplaySimulationShape(mySimulationTopoDs);
     }
-    TopoDS_Shape S = myGeomGUI->GetShapeReader().GetShape(myGeom, result);
-
-    mySimulationTopoDs = S;
-    myGeomBase->DisplaySimulationShape(mySimulationTopoDs); 
-  }
+  }  
   catch(Standard_Failure) {
-    MESSAGE("Exception catched in MakePreview");
     QApplication::restoreOverrideCursor();
-    return;
+    QAD_MessageBox::warn1 (QAD_Application::getDesktop(), tr("GEOM_WRN_WARNING"), tr("GEOM_FILLET_ABORT").arg(myRadius), tr("GEOM_BUT_OK"));
+    QApplication::setOverrideCursor(Qt::waitCursor);
+    myGeomBase->EraseSimulationShape(); 
+    mySimulationTopoDs.Nullify();
+    Group1->SpinBox_DX->SetValue(5.0);
   }
+
   QApplication::restoreOverrideCursor();
   return;
 }
index 76fbab6f5ca368bdc84d03771d905b00fb059f4b..3756f82b2825a27253f6c18dc95f7d8cc430070a 100644 (file)
@@ -71,8 +71,6 @@ private :
     double myRadius;
     
     DlgRef_1Sel1Spin* Group1;
-    DlgRef_1Sel1Spin* Group2;
-    DlgRef_1Sel1Spin* Group3;
 
 private slots:
     void ClickOnOk();
@@ -80,7 +78,6 @@ private slots:
     void ClickOnCancel();
     void ActivateThisDialog();
     void DeactivateActiveDialog();
-    void LineEditReturnPressed();
     void SelectionIntoArgument();
     void SetEditCurrentArgument();
     void ValueChangedInSpinBox(double newValue);
index 343759a6ab32a02093e93c1e8db0106a3e25dc2a..e28c3f6f67aa8e4110c81f137252991bab6844d0 100644 (file)
@@ -216,14 +216,17 @@ void PrimitiveGUI::MakeConeAndDisplay(const gp_Pnt BasePoint, const gp_Dir aDir,
                                     const double Radius1, const double Radius2, const double aHeight)
 {
   try {
-    if((Radius1 <= Precision::Confusion() && Radius2 <= Precision::Confusion()) || aHeight <= Precision::Confusion())
+    double myRadius2 = Radius2;
+    if(myRadius2 < Precision::Confusion())
+      myRadius2 = Precision::Confusion();
+    if(Radius1 <= Precision::Confusion() || aHeight <= Precision::Confusion())
       return;
 
     GEOM::PointStruct pstruct = myGeom->MakePointStruct(BasePoint.X(), BasePoint.Y(), BasePoint.Z());
     GEOM::PointStruct d = myGeom->MakePointStruct(aDir.X(), aDir.Y(), aDir.Z());
     GEOM::DirStruct dstruct = myGeom->MakeDirection(d);
 
-    GEOM::GEOM_Shape_var result = myGeom->MakeCone(pstruct, dstruct, Radius1, Radius2, aHeight);  
+    GEOM::GEOM_Shape_var result = myGeom->MakeCone(pstruct, dstruct, Radius1, myRadius2, aHeight);  
     if(result->_is_nil()) {
       QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_ABORT"));
       return;
index 39e12f88c2064c8eea0680f1b25c8b75dadce8ba..24b638432fe06bbeaf396e4f0bddc7c4b608f036 100644 (file)
@@ -221,6 +221,7 @@ void PrimitiveGUI_BoxDlg::ClickOnOk()
 //=================================================================================
 void PrimitiveGUI_BoxDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 480eca52d047196280f64861d36db8b9d31ca77b..641feabfea513232db7b9da948f4aa146d2a74d1 100644 (file)
@@ -120,11 +120,11 @@ void PrimitiveGUI_ConeDlg::Init()
   step = St.toDouble();
 
   /* min, max, step and decimals for spin boxes & initial values */
-  GroupPoints->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, step, 3);
-  GroupPoints->SpinBox_DY->RangeStepAndValidator(0.001, 999.999, step, 3);
+  GroupPoints->SpinBox_DX->RangeStepAndValidator(0.000, 999.999, step, 3);
+  GroupPoints->SpinBox_DY->RangeStepAndValidator(0.000, 999.999, step, 3);
   GroupPoints->SpinBox_DZ->RangeStepAndValidator(-999.999, 999.999, step, 3);
-  GroupDimensions->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, step, 3);
-  GroupDimensions->SpinBox_DY->RangeStepAndValidator(0.001, 999.999, step, 3);
+  GroupDimensions->SpinBox_DX->RangeStepAndValidator(0.000, 999.999, step, 3);
+  GroupDimensions->SpinBox_DY->RangeStepAndValidator(0.000, 999.999, step, 3);
   GroupDimensions->SpinBox_DZ->RangeStepAndValidator(-999.999, 999.999, step, 3);
 
   GroupPoints->SpinBox_DX->SetValue(myRadius1);
@@ -247,6 +247,7 @@ void PrimitiveGUI_ConeDlg::ClickOnOk()
 //=================================================================================
 void PrimitiveGUI_ConeDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 0826eef58ae79129147828a16e59754a1512726e..4eaf7d976092e76b8cccfc5bc118fdfb0fdd0e8a 100644 (file)
@@ -234,6 +234,7 @@ void PrimitiveGUI_CylinderDlg::ClickOnOk()
 //=================================================================================
 void PrimitiveGUI_CylinderDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index a26177ca11e643dbc406b0861c76942d9f771e81..d13352dc208077696af7b51200c7815477850127 100644 (file)
@@ -205,6 +205,7 @@ void PrimitiveGUI_SphereDlg::ClickOnOk()
 //=================================================================================
 void PrimitiveGUI_SphereDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if(mySimulationTopoDs.IsNull())
     return;
index e67d4ae54b19085b9f14831a9259dbcfb291a136..3a2c44ff92e6a9da65a89b0d1f820d47ca757833 100644 (file)
@@ -102,7 +102,6 @@ void PrimitiveGUI_TorusDlg::Init()
 
   myRadius1 = 300.0;
   myRadius2 = 100.0;
-  myOkRadius1 = myOkRadius2 = true;
   myOkPoint1 = myOkDir = false;
 
   myEdgeFilter = new GEOM_EdgeFilter(StdSelect_Line, myGeom);
@@ -167,7 +166,6 @@ void PrimitiveGUI_TorusDlg::ConstructorsClicked(int constructorId)
   mySelection->ClearFilters();
   myGeomBase->EraseSimulationShape();
   disconnect(mySelection, 0, this, 0);
-  myOkRadius1 = myOkRadius2 = true;
   myRadius1 = 300.0;
   myRadius2 = 100.0;
 
@@ -230,13 +228,14 @@ void PrimitiveGUI_TorusDlg::ClickOnOk()
 //=================================================================================
 void PrimitiveGUI_TorusDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
   myGeomBase->EraseSimulationShape();
   mySimulationTopoDs.Nullify();
 
-  if(myOkPoint1 && myOkDir && myOkRadius1 && myOkRadius2 )       
+  if(myOkPoint1 && myOkDir)      
     myPrimitiveGUI->MakeTorusAndDisplay(myPoint1, myDir, myRadius1, myRadius2); 
   return ;
 }
@@ -278,7 +277,7 @@ void PrimitiveGUI_TorusDlg::SelectionIntoArgument()
     myOkDir = true;
   }
 
-  if(myOkPoint1 && myOkDir && myOkRadius1 && myOkRadius2)
+  if(myOkPoint1 && myOkDir)
     MakeTorusSimulationAndDisplay();
   return;
 }
@@ -374,15 +373,23 @@ void PrimitiveGUI_TorusDlg::ValueChangedInSpinBox(double newValue)
   QObject* send = (QObject*)sender();
   
   if(send == GroupPoints->SpinBox_DX || send == GroupDimensions->SpinBox_DX) {
-    myRadius1 = newValue;
-    myOkRadius1 = true;
+    if(newValue > myRadius2)
+      myRadius1 = newValue;
+    else {
+      GroupPoints->SpinBox_DX->SetValue(myRadius1);
+      GroupDimensions->SpinBox_DX->SetValue(myRadius1);
+    }
   }
   else if(send == GroupPoints->SpinBox_DY || send == GroupDimensions->SpinBox_DY) {
-    myRadius2 = newValue;
-    myOkRadius2 = true;
+    if(newValue < myRadius1)
+      myRadius2 = newValue;
+    else {
+      GroupPoints->SpinBox_DY->SetValue(myRadius2);
+      GroupDimensions->SpinBox_DY->SetValue(myRadius2);
+    }
   }
   
-  if(myOkPoint1 && myOkDir && myOkRadius1 && myOkRadius2)
+  if(myOkPoint1 && myOkDir)
     MakeTorusSimulationAndDisplay();
   return;
 }
index 2eb3b32b5b213537cfbffb6fe8d0a07a9f43171f..84068f432b75fdb395cc394bc7fcc1d54ceafcd9 100644 (file)
@@ -72,8 +72,6 @@ private:
 
     Standard_Real myRadius1;
     Standard_Real myRadius2;
-    bool myOkRadius1;
-    bool myOkRadius2;
 
     DlgRef_2Sel2Spin* GroupPoints;
     DlgRef_2Spin* GroupDimensions;
index 0c456bdd721f84c4254d6a6c956b9d1e078c7c4e..b13756881d8701b45b7e67221a70ee501885f3b2 100644 (file)
@@ -311,11 +311,11 @@ bool RepairGUI::OnSuppressFaces(const TopoDS_Shape& ShapeTopo, const char* Shape
     Standard_CString Type;
     if(myGeomBase->GetShapeTypeString(S, Type)) {
       aShellOrFace->NameType(Type);
-      sprintf (nameG, "%s_%d", Type, myGeomGUI->GetNbGeom()++);
+      sprintf (nameG, "%s_%d", Type, myGeomGUI->myNbGeom++);
     }
     else {
       aShellOrFace->NameType(tr("GEOM_SHAPE"));
-      sprintf (nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->GetNbGeom()++);
+      sprintf (nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->myNbGeom++);
     }
     
     /* Display with name */
index 7b877f19e105b0ca40a13eae3eb62daf9165445a..6571d351c9ad4a4fbf9a7a4f1eb2bf0a7ad628dc 100644 (file)
@@ -140,6 +140,7 @@ void RepairGUI_OrientationDlg::ClickOnOk()
 //=================================================================================
 void RepairGUI_OrientationDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 2cc0e2066b464148164a89f6e832204af2b9f8dd..d36dedea09ab436b0ca0ca8f3f09abcb85d1e3cc 100644 (file)
@@ -134,6 +134,7 @@ void RepairGUI_SewingDlg::ClickOnOk()
 //=================================================================================
 void RepairGUI_SewingDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if(myOkListShapes)  
     myRepairGUI->MakeSewingAndDisplay(myListShapes, myPrecision);
index 6a968659cb170893f1a5b78c73a5ee44136b38f3..ef5b63648f4b0474793f2379260eb0db39e4f073 100644 (file)
@@ -131,6 +131,7 @@ void TransformationGUI_MirrorDlg::ClickOnOk()
 //=================================================================================
 void TransformationGUI_MirrorDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index c347d7256b5ea103732fa565688fdf089d7a7669..479bd01164850eef6d0565c57bd2ef5ab7bf0a1d 100644 (file)
@@ -258,6 +258,7 @@ void TransformationGUI_MultiRotationDlg::ClickOnOk()
 //=================================================================================
 void TransformationGUI_MultiRotationDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
@@ -429,13 +430,13 @@ void TransformationGUI_MultiRotationDlg::ValueChangedInSpinBox(double newValue)
   QObject* send = (QObject*)sender();
 
   if(send == GroupPoints->SpinBox_DX || send == GroupDimensions->SpinBox_DY1)
-    myNbTimes1 = newValue;
+    myNbTimes1 = (int)newValue;
   else if(send == GroupDimensions->SpinBox_DX1)
     myAng = newValue;
   else if(send == GroupDimensions->SpinBox_DX2)
     myStep = newValue;
   else if(send == GroupDimensions->SpinBox_DY2)
-    myNbTimes2 = newValue;
+    myNbTimes2 = (int)newValue;
 
   if(myOkBase && myOkDir)
     this->MakeMultiRotationSimulationAndDisplay();
index 5e89231e291ec731a754239d0bd7bb5fa12d09ff..39646b6e39b9e6b49aecb80b2c06fca314d58c4b 100644 (file)
@@ -269,6 +269,7 @@ void TransformationGUI_MultiTranslationDlg::ClickOnOk()
 //=================================================================================
 void TransformationGUI_MultiTranslationDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
@@ -488,7 +489,7 @@ void TransformationGUI_MultiTranslationDlg::ValueChangedInSpinBox(double newValu
        if(send == GroupPoints->SpinBox_DX)
          myStep1 = newValue;
        else if(send == GroupPoints->SpinBox_DY)
-         myNbTimes1 = newValue;
+         myNbTimes1 = (int)newValue;
        if(myOkBase && myOkDir1)
          this->MakeMultiTranslationSimulationAndDisplay();
        break;
@@ -498,11 +499,11 @@ void TransformationGUI_MultiTranslationDlg::ValueChangedInSpinBox(double newValu
        if(send == GroupDimensions->SpinBox_DX1)
          myStep1 = newValue;
        else if(send == GroupDimensions->SpinBox_DY1)
-         myNbTimes1 = newValue;
+         myNbTimes1 = (int)newValue;
        else if(send == GroupDimensions->SpinBox_DX2)
          myStep2 = newValue;
        else if(send == GroupDimensions->SpinBox_DY2)
-         myNbTimes2 = newValue;
+         myNbTimes2 = (int)newValue;
        if(myOkBase && myOkDir1 && myOkDir2)
          this->MakeMultiTranslationSimulationAndDisplay();
        break;
index 4c410e4c492cd970ec4649bea75d6294809a78a2..6fefe1d7842a01917b8aa491ea07b0c50138a74d 100644 (file)
@@ -142,6 +142,7 @@ void TransformationGUI_RotationDlg::ClickOnOk()
 //=================================================================================
 void TransformationGUI_RotationDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 6f408cff1afe319407dcda858ae5fccbd7de6dc8..3edcbf8b09a494d7ed4bd11f8bff69d8552801b5 100644 (file)
@@ -140,6 +140,7 @@ void TransformationGUI_ScaleDlg::ClickOnOk()
 //=================================================================================
 void TransformationGUI_ScaleDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;
index 46778b0c7bfe3f015bbce1973447dc0c7a35acb6..2a38b49eb1688b1a42f9f9a3cd325a5da7137c57 100644 (file)
@@ -148,6 +148,7 @@ void TransformationGUI_TranslationDlg::ClickOnOk()
 //=================================================================================
 void TransformationGUI_TranslationDlg::ClickOnApply()
 {
+  buttonApply->setFocus();
   QAD_Application::getDesktop()->putInfo(tr(""));
   if (mySimulationTopoDs.IsNull())
     return;