Salome HOME
Show/Hide trihedron command
[modules/gui.git] / src / VTKViewer / VTKViewer_ViewWindow.cxx
index 6739715d9713d27b0e71e48f9c48bdb37d1c4f86..0d7e7fc19aa00d28876fade5b7190c4adc99b1db 100755 (executable)
@@ -13,7 +13,6 @@
 
 #include "SUIT_Tools.h"
 #include "SUIT_ResourceMgr.h"
-#include "SUIT_FileDlg.h"
 
 #include <qapplication.h>
 
@@ -270,12 +269,19 @@ void VTKViewer_ViewWindow::createActions()
   aAction->setStatusTip(tr("DSC_RESET_VIEW"));
   connect(aAction, SIGNAL(activated()), this, SLOT(onResetView()));
   myActionsMap[ ResetId ] = aAction;
+
+  aAction = new QtxAction(tr("MNU_SHOW_TRIHEDRON"), aResMgr->loadPixmap( "VTKViewer", tr( "ICON_VTKVIEWER_VIEW_TRIHEDRON" ) ),
+                           tr( "MNU_SHOW_TRIHEDRON" ), 0, this);
+  aAction->setStatusTip(tr("DSC_SHOW_TRIHEDRON"));
+  connect(aAction, SIGNAL(activated()), this, SLOT(onTrihedronShow()));
+  myActionsMap[ TrihedronShowId ] = aAction;
 }
 
 //****************************************************************
 void VTKViewer_ViewWindow::createToolBar()
 {
   myActionsMap[DumpId]->addTo(myToolBar);
+  myActionsMap[TrihedronShowId]->addTo(myToolBar);
 
   SUIT_ToolButton* aScaleBtn = new SUIT_ToolButton(myToolBar);
   aScaleBtn->AddAction(myActionsMap[FitAllId]);
@@ -393,20 +399,19 @@ void VTKViewer_ViewWindow::onDumpView()
   QApplication::setOverrideCursor( Qt::waitCursor );
   QPixmap px = QPixmap::grabWindow(myRenderWindow->winId());
   QApplication::restoreOverrideCursor();
-  
-  QString fileName = SUIT_FileDlg::getFileName(this,
-                                              QString::null,
-                                              tr("VTK_IMAGE_FILES"),
-                                              tr("INF_APP_DUMP_VIEW"),
-                                              false);
-  if (!fileName.isNull()) {
+  SUIT_Application* app = getViewManager()->study()->application();
+
+  QString aFileName = app->getFileName( false, QString::null, tr("VTK_IMAGE_FILES"), tr("INF_APP_DUMP_VIEW"), 0 );
+  if ( !aFileName.isNull() ) {
     QApplication::setOverrideCursor( Qt::waitCursor );
-    QString fmt = SUIT_Tools::extension( fileName ).upper();
+    QString fmt = SUIT_Tools::extension( aFileName ).upper();
     if (fmt.isEmpty())
       fmt = QString("BMP"); // default format
     if (fmt == "JPG")
       fmt = "JPEG";
-    bool bOk = px.save(fileName, fmt.latin1());
+    bool bOk = px.save(aFileName, fmt.latin1());
     QApplication::restoreOverrideCursor();
     if (!bOk) {
       SUIT_MessageBox::error1(this, tr("ERROR"), tr("ERR_DOC_CANT_SAVE_FILE"), tr("BUT_OK"));
@@ -555,3 +560,13 @@ void VTKViewer_ViewWindow::MoveActor( VTKViewer_Actor* theActor)
   RemoveActor(theActor);
   InsertActor(theActor,true);
 }
+
+//****************************************************************
+void VTKViewer_ViewWindow::onTrihedronShow()
+{
+  if (isTrihedronDisplayed())
+    myTrihedron->VisibilityOff();
+  else
+    myTrihedron->VisibilityOn();
+  myRenderWindow->update();
+}