Salome HOME
Join modifications from branch OCC_debug_for_3_2_0b1
[modules/visu.git] / src / VISUGUI / VisuGUI_DeformedShapeDlg.cxx
index da99973c16718890daaa60e28ef7efa0a7a0bcd9..30dd444346d4ba1ae4609072f6f0ceb473e6e683 100644 (file)
 
 #include "VisuGUI_DeformedShapeDlg.h"
 
+#include "VisuGUI.h"
 #include "VisuGUI_Tools.h"
 
 #include "VISU_DeformedShape_i.hh"
 
 #include "SalomeApp_Module.h"
+#include "LightApp_Application.h"
 #include "SUIT_Desktop.h"
+#include "SUIT_Session.h"
+#include "SUIT_MessageBox.h"
+#include "SUIT_ResourceMgr.h"
 
 #include <qlayout.h>
 #include <qtabwidget.h>
@@ -113,6 +118,10 @@ VisuGUI_DeformedShapeDlg::VisuGUI_DeformedShapeDlg (SalomeApp_Module* theModule)
   buttonCancel->setAutoDefault(TRUE);
   GroupButtonsLayout->addWidget(buttonCancel, 0, 2);
 
+  QPushButton* buttonHelp = new QPushButton (tr("&Help") , GroupButtons, "buttonHelp");
+  buttonHelp->setAutoDefault(TRUE);
+  GroupButtonsLayout->addWidget(buttonHelp, 0, 3);
+
   // Add Tab box and Buttons to the top layout
   TopLayout->addWidget(aTabBox);
   TopLayout->addWidget(GroupButtons);
@@ -120,6 +129,7 @@ VisuGUI_DeformedShapeDlg::VisuGUI_DeformedShapeDlg (SalomeApp_Module* theModule)
   // signals and slots connections
   connect(buttonOk,     SIGNAL(clicked()), this, SLOT(accept()));
   connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject()));
+  connect(buttonHelp,   SIGNAL(clicked()), this, SLOT(onHelp()));
 }
 
 void VisuGUI_DeformedShapeDlg::initFromPrsObject (VISU::DeformedShape_i* thePrs)
@@ -149,3 +159,19 @@ void VisuGUI_DeformedShapeDlg::reject()
   myScalarPane->deletePreview();
   QDialog::reject();
 }
+
+void VisuGUI_DeformedShapeDlg::onHelp()
+{
+  QString aHelpFileName = "/files/deformed_shape_presentation.htm";
+  LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication());
+  if (app) {
+    VisuGUI* aVisuGUI = dynamic_cast<VisuGUI*>( app->activeModule() );
+    app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName);
+  }
+  else {
+    SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"),
+                          QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE").
+                          arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName),
+                          QObject::tr("BUT_OK"));
+  }
+}