Salome HOME
Merge branch 'agy/arch2_ic0'
[modules/smesh.git] / src / SMESHGUI / SMESHGUI.cxx
index 2a6b89a3da18df013ce4697839fa9015f50786f4..ff88035b1238d665f0230d67d0da51ea0eed8203 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>
@@ -2863,7 +2864,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:
@@ -2915,7 +2916,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);
@@ -2947,7 +2948,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;
@@ -2967,7 +2968,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();
@@ -2981,7 +2982,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();
@@ -2994,7 +2995,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();
@@ -3007,7 +3008,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();
@@ -3022,7 +3023,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();
@@ -3040,7 +3041,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;
     }
@@ -3054,7 +3055,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();
 
@@ -3083,7 +3084,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();
@@ -3162,7 +3163,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();
@@ -3261,7 +3262,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
       if ( isStudyLocked() )
         break;
       if ( warnOnGeomModif() )
-        break; // action forbiden as geometry modified
+        break; // action forbidden as geometry modified
 
       EmitSignalDeactivateDialog();
 
@@ -3283,7 +3284,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 );
@@ -3297,7 +3298,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 );
@@ -3358,7 +3359,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;
@@ -3405,7 +3406,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();
@@ -3438,7 +3439,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;
@@ -3466,7 +3467,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();
@@ -3491,7 +3492,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;
@@ -3524,7 +3525,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();
@@ -3539,7 +3540,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();
@@ -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
 
     SALOME_ListIO selected;
     if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() )
@@ -3596,7 +3597,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 );
@@ -3637,7 +3638,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();
@@ -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, 1 ) )->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_TranslationDlg( this ) )->show();
@@ -3684,7 +3685,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();
@@ -3699,7 +3700,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();
@@ -3714,7 +3715,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();
@@ -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_OffsetDlg( 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_SewingDlg( this ) )->show();
@@ -3761,7 +3762,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();
@@ -3776,7 +3777,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();
@@ -3789,7 +3790,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;
 
@@ -3797,7 +3798,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();
@@ -3811,7 +3812,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;
 
@@ -5105,6 +5106,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 );
@@ -5112,6 +5119,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");
@@ -5230,6 +5280,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