Salome HOME
IPAL21120 SIGSEGV on Meshing attached Compound with Automatic Hexadralization
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_AddMeshElementDlg.cxx
index d7b4cb35b97d77674fa25109fd268bf39391c668..3a5cb39c044ec9ec1b6ccdc78218a68f44d318f9 100644 (file)
@@ -1,6 +1,6 @@
-//  SMESH SMESHGUI : GUI for SMESH component
+//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
 //
-//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 //
 //  This library is free software; you can redistribute it and/or
 //  License along with this library; if not, write to the Free Software
 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
-//
+//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+//  SMESH SMESHGUI : GUI for SMESH component
 //  File   : SMESHGUI_AddMeshElementDlg.cxx
 //  Author : Nicolas REJNERI
 //  Module : SMESH
 //  $Header$
-
+//
 #include "SMESHGUI_AddMeshElementDlg.h"
 
 #include "SMESHGUI.h"
@@ -55,6 +54,8 @@
 
 #include "utilities.h"
 
+#include CORBA_SERVER_HEADER(SMESH_MeshEditor)
+
 // OCCT Includes
 #include <TColStd_MapOfInteger.hxx>
 #include <TColStd_IndexedMapOfInteger.hxx>
@@ -247,32 +248,32 @@ SMESHGUI_AddMeshElementDlg::SMESHGUI_AddMeshElementDlg( SMESHGUI* theModule,
   QString elemName;
   if (myNbNodes == 2) {
     elemName = "EDGE";
-    myHelpFileName = "/files/adding_nodes_and_elements.htm#Adding_edges";
+    myHelpFileName = "adding_nodes_and_elements_page.html#adding_edges_anchor";
   }
   else if (myNbNodes == 3) {
     elemName = "TRIANGLE";
-    myHelpFileName = "/files/adding_nodes_and_elements.htm#Adding_triangles";
+    myHelpFileName = "adding_nodes_and_elements_page.html#adding_triangles_anchor";
   }
   else if (myNbNodes == 4)
     if (myElementType == SMDSAbs_Face) {
       elemName = "QUADRANGLE";
-      myHelpFileName = "/files/adding_nodes_and_elements.htm#Adding_quadrangles";
+      myHelpFileName = "adding_nodes_and_elements_page.html#adding_quadrangles_anchor";
     }
     else {
       elemName = "TETRAS";
-      myHelpFileName = "/files/adding_nodes_and_elements.htm#Adding_tetrahedrons";
+      myHelpFileName = "adding_nodes_and_elements_page.html#adding_tetrahedrons_anchor";
     }
   else if (myNbNodes == 8) {
     elemName = "HEXAS";
-    myHelpFileName = "/files/adding_nodes_and_elements.htm#Adding_hexahedrons";
+    myHelpFileName = "adding_nodes_and_elements_page.html#adding_hexahedrons_anchor";
   }
   else if (myElementType == SMDSAbs_Face) {
     elemName = "POLYGON";
     myIsPoly = true;
-    myHelpFileName = "/files/adding_nodes_and_elements.htm#Adding_polygons";
+    myHelpFileName = "adding_nodes_and_elements_page.html#adding_polygons_anchor";
   }
   else if (myElementType == SMDSAbs_Volume) {
-    myHelpFileName = "/files/adding_nodes_and_elements.htm#Adding_polyhedrons";
+    myHelpFileName = "adding_nodes_and_elements_page.html#adding_polyhedrons_anchor";
   }
   
   QString iconName      = tr(QString("ICON_DLG_%1").arg(elemName));
@@ -338,7 +339,7 @@ SMESHGUI_AddMeshElementDlg::SMESHGUI_AddMeshElementDlg( SMESHGUI* theModule,
   QSpacerItem* spacer_9 = new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
   GroupButtonsLayout->addItem(spacer_9, 0, 2);
   buttonOk = new QPushButton(GroupButtons, "buttonOk");
-  buttonOk->setText(tr("SMESH_BUT_OK" ));
+  buttonOk->setText(tr("SMESH_BUT_APPLY_AND_CLOSE" ));
   buttonOk->setAutoDefault(TRUE);
   buttonOk->setDefault(TRUE);
   GroupButtonsLayout->addWidget(buttonOk, 0, 0);
@@ -535,9 +536,15 @@ void SMESHGUI_AddMeshElementDlg::ClickOnHelp()
   if (app) 
     app->onHelpContextModule(mySMESHGUI ? app->moduleName(mySMESHGUI->moduleName()) : QString(""), myHelpFileName);
   else {
+               QString platform;
+#ifdef WIN32
+               platform = "winapplication";
+#else
+               platform = "application";
+#endif
     SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
                           QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
-                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName),
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(myHelpFileName),
                           QObject::tr("BUT_OK"));
   }
 }
@@ -797,3 +804,20 @@ void SMESHGUI_AddMeshElementDlg::CheckBox (int state)
     displaySimulation();
   }
 }
+
+//=================================================================================
+// function : keyPressEvent()
+// purpose  :
+//=================================================================================
+void SMESHGUI_AddMeshElementDlg::keyPressEvent( QKeyEvent* e )
+{
+  QDialog::keyPressEvent( e );
+  if ( e->isAccepted() )
+    return;
+  
+  if ( e->key() == Key_F1 )
+    {
+      e->accept();
+      ClickOnHelp();
+    }
+}