Salome HOME
Merge remote-tracking branch 'origin/master' into gni/adaptation
[modules/smesh.git] / src / SMESHGUI / SMESHGUI.cxx
index 937fe27c96d8cdcba6d189e44c5914db171a8842..3b460089d4ab18251c3737e428a49294f5d67e97 100644 (file)
 #include <LightApp_UpdateFlags.h>
 #include <QtxFontEdit.h>
 #include <QtxPopupMgr.h>
+#include <QtxInfoPanel.h>
 #include <SALOME_ListIO.hxx>
 #include <SUIT_Desktop.h>
 #include <SUIT_FileDlg.h>
@@ -2864,7 +2865,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
   case SMESHOp::OpMeshOrder:
   case SMESHOp::OpCreateSubMesh:
     if ( warnOnGeomModif() )
-      break; // action forbiden as geometry modified
+      break; // action forbidden as geometry modified
     // fall through
   case SMESHOp::OpCreateMesh:
   case SMESHOp::OpCompute:
@@ -2916,7 +2917,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       if ( isStudyLocked() )
         break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
 
       /*Standard_Boolean aRes;
       SMESH::SMESH_Mesh_var aMesh = SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(IObject);
@@ -2948,7 +2949,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       if ( isStudyLocked() )
         break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
 
       EmitSignalDeactivateDialog();
       SMESHGUI_MultiEditDlg* aDlg = NULL;
@@ -2968,7 +2969,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_SmoothingDlg( this ) )->show();
@@ -2982,7 +2983,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if (isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if (vtkwnd) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_ExtrusionDlg ( this ) )->show();
@@ -2995,7 +2996,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if (isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if (vtkwnd) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_ExtrusionAlongPathDlg( this ) )->show();
@@ -3008,7 +3009,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_RevolutionDlg( this ) )->show();
@@ -3023,7 +3024,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       if ( isStudyLocked() )
         break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd )
       {
         EmitSignalDeactivateDialog();
@@ -3056,7 +3057,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
   case SMESHOp::OpCreateGeometryGroup:
     {
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       startOperation( theCommandID );
       break;
     }
@@ -3070,7 +3071,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
 
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       EmitSignalDeactivateDialog();
       SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_nil();
 
@@ -3099,7 +3100,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
 
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       EmitSignalDeactivateDialog();
 
       LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
@@ -3178,7 +3179,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
 
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       EmitSignalDeactivateDialog();
 
       LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
@@ -3277,7 +3278,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       if ( isStudyLocked() )
         break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
 
       EmitSignalDeactivateDialog();
 
@@ -3299,7 +3300,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       if ( isStudyLocked() )
         break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
 
       EmitSignalDeactivateDialog();
       SMESHGUI_GroupOpDlg* aDlg = new SMESHGUI_DimGroupDlg( this );
@@ -3313,7 +3314,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       if ( isStudyLocked() )
         break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
 
       EmitSignalDeactivateDialog();
       SMESHGUI_FaceGroupsSeparatedByEdgesDlg* aDlg = new SMESHGUI_FaceGroupsSeparatedByEdgesDlg( this );
@@ -3374,7 +3375,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
 
       LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
       SALOME_ListIO selected;
@@ -3421,7 +3422,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       SUIT_OverrideCursor wc;
 
       LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
@@ -3454,7 +3455,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         SMDSAbs_EntityType type = SMDSEntity_Edge;
@@ -3482,7 +3483,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_CreatePolyhedralVolumeDlg( this ) )->show();
@@ -3507,7 +3508,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         SMDSAbs_EntityType type = SMDSEntity_Last;
@@ -3540,7 +3541,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_RemoveNodesDlg( this ) )->show();
@@ -3555,7 +3556,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_RemoveElementsDlg( this ) )->show();
@@ -3571,7 +3572,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
 
     if(isStudyLocked()) break;
     if ( warnOnGeomModif() )
-      break; // action forbiden as geometry modified
+      break; // action forbidden as geometry modified
 
     SALOME_ListIO selected;
     if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() )
@@ -3612,7 +3613,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       SALOME_ListIO selected;
       if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() )
         aSel->selectedObjects( selected );
@@ -3653,7 +3654,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_RenumberingDlg( this, 0 ) )->show();
@@ -3669,7 +3670,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_RenumberingDlg( this, 1 ) )->show();
@@ -3685,7 +3686,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_TranslationDlg( this ) )->show();
@@ -3700,7 +3701,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_RotationDlg( this ) )->show();
@@ -3715,7 +3716,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if(vtkwnd) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_SymmetryDlg( this ) )->show();
@@ -3730,7 +3731,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_ScaleDlg( this ) )->show();
@@ -3746,7 +3747,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_OffsetDlg( this ) )->show();
@@ -3762,7 +3763,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if(vtkwnd) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_SewingDlg( this ) )->show();
@@ -3777,7 +3778,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if(vtkwnd) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_MergeDlg( this, 0 ) )->show();
@@ -3792,7 +3793,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if (isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if (vtkwnd) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_MergeDlg( this, 1 ) )->show();
@@ -3805,7 +3806,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
 
   case SMESHOp::OpMoveNode: // MAKE MESH PASS THROUGH POINT
     if ( warnOnGeomModif() )
-      break; // action forbiden as geometry modified
+      break; // action forbidden as geometry modified
     startOperation( SMESHOp::OpMoveNode );
     break;
 
@@ -3813,7 +3814,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
     {
       if(isStudyLocked()) break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
       if ( vtkwnd ) {
         EmitSignalDeactivateDialog();
         ( new SMESHGUI_DuplicateNodesDlg( this ) )->show();
@@ -3827,7 +3828,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
 
   case SMESHOp::OpElem0DOnElemNodes: // 0D_ON_ALL_NODES
     if ( warnOnGeomModif() )
-      break; // action forbiden as geometry modified
+      break; // action forbidden as geometry modified
     startOperation( SMESHOp::OpElem0DOnElemNodes );
     break;
 
@@ -5167,6 +5168,12 @@ bool SMESHGUI::reusableOperation( const int id )
   return ( id == SMESHOp::OpCompute || id == SMESHOp::OpPreCompute || id == SMESHOp::OpEvaluate || id == SMESHOp::OpRecompute ) ? false : SalomeApp_Module::reusableOperation( id );
 }
 
+namespace
+{
+  QString wrap(const QString& text, const QString& tag)
+  { return QString("<%1>%2</%3>").arg(tag).arg(text).arg(tag);}
+}
+
 bool SMESHGUI::activateModule( SUIT_Study* study )
 {
   bool res = SalomeApp_Module::activateModule( study );
@@ -5174,6 +5181,49 @@ bool SMESHGUI::activateModule( SUIT_Study* study )
   setMenuShown( true );
   setToolShown( true );
 
+  // Fill in Help Panel
+  SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>( application() );
+  app->infoPanel()->setTitle(tr("INFO_WELCOME_TO_SMESH"));
+
+  int gb = app->infoPanel()->addGroup(tr("INFO_GRP_CREATE_MESH"));
+  QString lab;
+  QStringList items;
+  lab =       tr("INFO_DEFINE_ALGOS") + "<br/>";
+  lab = lab + tr("INFO_DEFINE_HYPOS") + "<br/>";
+  lab = lab + tr("INFO_COMPUTE") + "<br/>";
+  lab = lab + tr("INFO_REFINE") + ":";
+  items << wrap(tr("INFO_REFINE_LOCAL_SIZE"), "li")
+       << wrap(tr("INFO_REFINE_SUBMESH"), "li");
+  lab = lab + wrap(items.join(""), "ul");
+  items.clear();
+
+  app->infoPanel()->addLabel(lab, gb);
+
+  gb = app->infoPanel()->addGroup(tr("INFO_GRP_IMPORT_MESH"));
+  items << wrap("UNV", "li")
+       << wrap("MED", "li")
+       << wrap("STL", "li")
+       << wrap("CGNS", "li")
+       << wrap("SAUV", "li")
+       << wrap("GMF", "li");
+  lab = tr("INFO_AVAILABLE_FORMATS") + ":" + wrap(items.join(""), "ul");
+  items.clear();
+  
+  app->infoPanel()->addLabel(lab, gb);
+    
+  gb = app->infoPanel()->addGroup(tr("INFO_GRP_CHECK_MESH"));
+  lab = tr("INFO_DISPLAY") + "<br/>";
+  items << wrap(tr("INFO_QUALITY_AREA"), "li")
+       << wrap(tr("INFO_QUALITY_VOLUME"), "li")
+       << wrap(tr("INFO_QUALITY_ASPECT_RATION"), "li")
+       << wrap("...", "li");
+  lab = lab + tr("INFO_QUALITY_INFO") + ":" + wrap(items.join(""), "ul");
+  items.clear();
+  lab = lab + tr("INFO_CLIPPING");
+  
+  app->infoPanel()->addLabel(lab, gb);
+  // << Help Panel
+
   // import Python module that manages SMESH plugins (need to be here because SalomePyQt API uses active module)
   PyGILState_STATE gstate = PyGILState_Ensure();
   PyObject* pluginsmanager = PyImport_ImportModuleNoBlock((char*)"salome_pluginsmanager");
@@ -5292,6 +5342,7 @@ void SMESHGUI::windows( QMap<int, int>& aMap ) const
 {
   aMap.insert( SalomeApp_Application::WT_ObjectBrowser, Qt::LeftDockWidgetArea );
   aMap.insert( SalomeApp_Application::WT_NoteBook, Qt::LeftDockWidgetArea );
+  aMap.insert( SalomeApp_Application::WT_InfoPanel, Qt::RightDockWidgetArea);
 #ifndef DISABLE_PYCONSOLE
   aMap.insert( SalomeApp_Application::WT_PyConsole, Qt::BottomDockWidgetArea );
 #endif