// PARAVIS : ParaView wrapper SALOME module
//
-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// Copyright (C) 2010-2022 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// Author : Margarita KARPUNINA
//
-#include "PVGUI_Module_impl.h"
+#include "PVGUI_Module.h"
+#include <PVViewer_GUIElements.h>
+#include <PVViewer_ViewManager.h>
#include <QtxAction.h>
#include <QtxActionMenuMgr.h>
#include <SUIT_Desktop.h>
#include <SUIT_ResourceMgr.h>
#include <SUIT_Session.h>
-#include <SalomeApp_Application.h>
+#include <LightApp_Application.h>
#include <QAction>
#include <QMenu>
#include <QToolBar>
+#include <QFile>
#include <pqApplicationCore.h>
-#include <pqColorScaleToolbar.h>
-#include <pqMainWindowCore.h>
-#include <pqObjectInspectorDriver.h>
-#include <pqPipelineBrowser.h>
-#include <pqProgressManager.h>
-#include <pqRubberBandHelper.h>
-#include <pqScalarBarVisibilityAdaptor.h>
-#include <pqUndoStack.h>
-#include <pqVCRController.h>
-
-#include "PVGUI_Tools.h"
+#include <pqSaveStateReaction.h>
+#include <pqLoadDataReaction.h>
+#include <pqLoadStateReaction.h>
+#include <pqSaveDataReaction.h>
+#include <pqSaveScreenshotReaction.h>
+#include <pqExportReaction.h>
+#include <pqSaveAnimationReaction.h>
+#include <pqSaveAnimationGeometryReaction.h>
+#include <pqServerConnectReaction.h>
+#include <pqServerDisconnectReaction.h>
+#include <pqCameraUndoRedoReaction.h>
+#include <pqUndoRedoReaction.h>
+#include <pqDeleteReaction.h>
+#include <pqChangePipelineInputReaction.h>
+#include <pqApplicationSettingsReaction.h>
+#include <pqIgnoreSourceTimeReaction.h>
+#include <pqCreateCustomFilterReaction.h>
+#include <pqManageLinksReaction.h>
+#include <pqManagePluginsReaction.h>
+#include <pqCameraLinkReaction.h>
+#include <pqManageCustomFiltersReaction.h>
+#include <pqTimerLogReaction.h>
+#include <pqTestingReaction.h>
+#include <pqAboutDialogReaction.h>
+#include <pqHelpReaction.h>
+#include <pqDataQueryReaction.h>
+//#include <pqPythonShellReaction.h>
+
+#include <pqViewManager.h>
+#include <pqViewMenuManager.h>
+#include <pqParaViewMenuBuilders.h>
+#include <pqProxyGroupMenuManager.h>
+#include <pqSetName.h>
+#include <pqRecentFilesMenu.h>
+#include <pqPipelineBrowserWidget.h>
/*!
\brief Create actions for ParaView GUI operations
*/
void PVGUI_Module::pvCreateActions()
{
- SUIT_Desktop* desk = application()->desktop();
SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
QPixmap aPixmap;
QAction* anAction;
- QtxAction* aQtxAction;
// --- Menu "File"
// Open File
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_OPEN_FILE"), false );
- createAction( OpenFileId, tr("TOP_OPEN_FILE"), QIcon(aPixmap),
- tr("MEN_OPEN"), tr("STB_OPEN_FILE"),
- //0, desk, false, &Implementation->Core, SLOT( onFileOpen() ) );
- // This avoids an immediate exception on wrong MED file opening
- 0, desk, false, this, SLOT( onOpenFile() ) );
-
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_OPEN_FILE"), this);
+ anAction->setToolTip(tr("TOP_OPEN_FILE"));
+ anAction->setStatusTip(tr("STB_OPEN_FILE"));
+ registerAction(OpenFileId, anAction);
+ new pqLoadDataReaction(anAction);
+
// Load State
- anAction = createAction( LoadStateId, tr("TOP_LOAD_STATE"), QIcon(),
- tr("MEN_LOAD_STATE"), tr("STB_LOAD_STATE"),
- 0, desk, false, &Implementation->Core, SLOT( onFileLoadServerState() ) );
- connect( &Implementation->Core, SIGNAL( enableFileLoadServerState(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
+ anAction = new QAction(tr("MEN_LOAD_STATE"), this);
+ anAction->setToolTip(tr("TOP_LOAD_STATE"));
+ anAction->setStatusTip(tr("STB_LOAD_STATE"));
+ registerAction(LoadStateId, anAction);
+ new pqLoadStateReaction(anAction);
+
// Save State
- anAction = createAction( SaveStateId, tr("TOP_SAVE_STATE"), QIcon(),
- tr("MEN_SAVE_STATE"), tr("STB_SAVE_STATE"),
- 0, desk, false, &Implementation->Core, SLOT( onFileSaveServerState() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveServerState(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
+ anAction = new QAction(tr("MEN_SAVE_STATE"), this);
+ anAction->setToolTip(tr("TOP_SAVE_STATE"));
+ anAction->setStatusTip(tr("STB_SAVE_STATE"));
+ registerAction(SaveStateId, anAction);
+ new pqSaveStateReaction(anAction);
// Save Data
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SAVE_DATA"), false );
- anAction = createAction( SaveDataId, tr("TOP_SAVE_DATA"), QIcon(aPixmap),
- tr("MEN_SAVE_DATA"), tr("STB_SAVE_DATA"),
- 0, desk, false, &Implementation->Core, SLOT( onFileSaveData() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveData(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_SAVE_DATA"), this);
+ anAction->setToolTip(tr("TOP_SAVE_DATA"));
+ anAction->setStatusTip(tr("STB_SAVE_DATA"));
+ registerAction(SaveDataId, anAction);
+ new pqSaveDataReaction(anAction);
// Save Screenshot
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SAVE_SCREENSHOT"), false );
- anAction = createAction( SaveScreenshotId, tr("TOP_SAVE_SCREENSHOT"), QIcon(aPixmap),
- tr("MEN_SAVE_SCREENSHOT"), tr("STB_SAVE_SCREENSHOT"),
- 0, desk, false, &Implementation->Core, SLOT( onFileSaveScreenshot() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveScreenshot(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_SAVE_SCREENSHOT"), this);
+ anAction->setToolTip(tr("TOP_SAVE_SCREENSHOT"));
+ anAction->setStatusTip(tr("STB_SAVE_SCREENSHOT"));
+ registerAction(SaveScreenshotId, anAction);
+ new pqSaveScreenshotReaction(anAction);
// Export
- anAction = createAction( ExportId, tr("TOP_EXPORT"), QIcon(),
- tr("MEN_EXPORT"), tr("STB_EXPORT"),
- 0, desk, false, &Implementation->Core, SLOT( onFileExport() ) );
- connect( &Implementation->Core, SIGNAL( enableExport(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
+ anAction = new QAction(tr("MEN_EXPORT"), this);
+ anAction->setToolTip(tr("TOP_EXPORT"));
+ anAction->setStatusTip(tr("STB_EXPORT"));
+ registerAction(ExportId, anAction);
+ new pqExportReaction(anAction);
// Save Animation
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SAVE_ANIMATION"), false );
- anAction = createAction( SaveAnimationId, tr("TOP_SAVE_ANIMATION"), QIcon(aPixmap),
- tr("MEN_SAVE_ANIMATION"), tr("STB_SAVE_ANIMATION"),
- 0, desk, false, &Implementation->Core, SLOT( onFileSaveAnimation() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveAnimation(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_SAVE_ANIMATION"), this);
+ anAction->setToolTip(tr("TOP_SAVE_ANIMATION"));
+ anAction->setStatusTip(tr("STB_SAVE_ANIMATION"));
+ registerAction(SaveAnimationId, anAction);
+ new pqSaveAnimationReaction(anAction);
// Save Geometry
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SAVE_GEOMETRY"), false );
- anAction = createAction( SaveGeometryId, tr("TOP_SAVE_GEOMETRY"), QIcon(aPixmap),
- tr("MEN_SAVE_GEOMETRY"), tr("STB_SAVE_GEOMETRY"),
- 0, desk, false, &Implementation->Core, SLOT( onSaveGeometry() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveGeometry(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_SAVE_GEOMETRY"), this);
+ anAction->setToolTip(tr("TOP_SAVE_GEOMETRY"));
+ anAction->setStatusTip(tr("STB_SAVE_GEOMETRY"));
+ registerAction(SaveGeometryId, anAction);
+ new pqSaveAnimationGeometryReaction(anAction);
// Connect
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_CONNECT"), false );
- anAction = createAction( ConnectId, tr("TOP_CONNECT"), QIcon(aPixmap),
- tr("MEN_CONNECT"), tr("STB_CONNECT"),
- 0, desk, false, &Implementation->Core, SLOT( onServerConnect() ) );
- connect( &Implementation->Core, SIGNAL( enableServerConnect(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_CONNECT"), this);
+ anAction->setToolTip(tr("TOP_CONNECT"));
+ anAction->setStatusTip(tr("STB_CONNECT"));
+ registerAction(ConnectId, anAction);
+ new pqServerConnectReaction(anAction);
// Disconnect
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_DISCONNECT"), false );
- anAction = createAction( DisconnectId, tr("TOP_DISCONNECT"), QIcon(aPixmap),
- tr("MEN_DISCONNECT"), tr("STB_DISCONNECT"),
- 0, desk, false, &Implementation->Core, SLOT( onServerDisconnect() ) );
- connect( &Implementation->Core, SIGNAL( enableServerDisconnect(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_DISCONNECT"), this);
+ anAction->setToolTip(tr("TOP_DISCONNECT"));
+ anAction->setStatusTip(tr("STB_DISCONNECT"));
+ registerAction(DisconnectId, anAction);
+ new pqServerDisconnectReaction(anAction);
// --- Menu "Edit"
- pqUndoStack* undoStack = Implementation->Core.getApplicationUndoStack();
-
// Undo
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_UNDO"), false );
- anAction = createAction( UndoId, tr("TOP_UNDO"), QIcon(aPixmap),
- tr("MEN_UNDO"), tr("STB_UNDO"), Qt::CTRL+Qt::Key_Z,
- desk, false, undoStack, SLOT( undo() ) );
- connect( undoStack, SIGNAL( canUndoChanged(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
- connect( undoStack, SIGNAL( undoLabelChanged(const QString&) ),
- this, SLOT( onUndoLabel(const QString&) ) );
- anAction->setEnabled( undoStack->canUndo() );
- onUndoLabel(undoStack->undoLabel());
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_UNDO"), this);
+ anAction->setToolTip(tr("TOP_UNDO"));
+ anAction->setStatusTip(tr("STB_UNDO"));
+ registerAction(UndoId, anAction);
+ new pqUndoRedoReaction(anAction, true);
// Redo
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_REDO"), false );
- anAction = createAction( RedoId, tr("TOP_REDO"), QIcon(aPixmap),
- tr("MEN_REDO"), tr("STB_REDO"), Qt::CTRL+Qt::Key_Y,
- desk, false, undoStack, SLOT( redo() ) );
- connect( undoStack, SIGNAL( canRedoChanged(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
- connect( undoStack, SIGNAL( redoLabelChanged(const QString&) ),
- this, SLOT( onRedoLabel(const QString&) ) );
- anAction->setEnabled( undoStack->canRedo() );
- onRedoLabel(undoStack->redoLabel());
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_REDO"), this);
+ anAction->setToolTip(tr("TOP_REDO"));
+ anAction->setStatusTip(tr("STB_REDO"));
+ registerAction(RedoId, anAction);
+ new pqUndoRedoReaction(anAction, false);
// Camera Undo
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_CAMERA_UNDO"), false );
- anAction = createAction( CameraUndoId, tr("TOP_CAMERA_UNDO"), QIcon(aPixmap),
- tr("MEN_CAMERA_UNDO"), tr("STB_CAMERA_UNDO"), Qt::CTRL+Qt::Key_C+Qt::Key_B,
- desk, false, &Implementation->Core, SLOT( onEditCameraUndo() ) );
- connect( &Implementation->Core, SIGNAL( enableCameraUndo(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
- connect( &Implementation->Core, SIGNAL( cameraUndoLabel(const QString&) ),
- this, SLOT( onCameraUndoLabel(const QString&) ) );
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_CAMERA_UNDO"), this);
+ anAction->setToolTip(tr("TOP_CAMERA_UNDO"));
+ anAction->setStatusTip(tr("STB_CAMERA_UNDO"));
+ registerAction(CameraUndoId, anAction);
+ new pqCameraUndoRedoReaction(anAction, true);
// Camera Redo
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_CAMERA_REDO"), false );
- anAction = createAction( CameraRedoId, tr("TOP_CAMERA_REDO"), QIcon(aPixmap),
- tr("MEN_CAMERA_REDO"), tr("STB_CAMERA_REDO"), Qt::CTRL+Qt::Key_C+Qt::Key_F,
- desk, false, &Implementation->Core, SLOT( onEditCameraRedo() ) );
- connect( &Implementation->Core, SIGNAL( enableCameraRedo(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
- connect( &Implementation->Core, SIGNAL( cameraRedoLabel(const QString&) ),
- this, SLOT( onCameraRedoLabel(const QString&) ) );
-
- pqPipelineBrowser* browser = Implementation->Core.pipelineBrowser();
-
+ anAction = new QAction(QIcon(aPixmap), tr("MEN_CAMERA_REDO"), this);
+ anAction->setToolTip(tr("TOP_CAMERA_REDO"));
+ anAction->setStatusTip(tr("STB_CAMERA_REDO"));
+ registerAction(CameraRedoId, anAction);
+ new pqCameraUndoRedoReaction(anAction, false);
+
+ // Find Data
+ anAction = new QAction(tr("MEN_FIND_DATA"), this);
+ anAction->setToolTip("");
+ anAction->setStatusTip("");
+ registerAction(FindDataId, anAction);
+ new pqDataQueryReaction(anAction);
+
// Change Input
- createAction( ChangeInputId, tr("TOP_CHANGE_INPUT"), QIcon(),
- tr("MEN_CHANGE_INPUT"), tr("STB_CHANGE_INPUT"),
- 0, desk, false, browser, SLOT( changeInput() ) );
+ anAction = new QAction(tr("MEN_CHANGE_INPUT"), this);
+ anAction->setToolTip(tr("TOP_CHANGE_INPUT"));
+ anAction->setStatusTip(tr("STB_CHANGE_INPUT"));
+ registerAction(ChangeInputId, anAction);
+ new pqChangePipelineInputReaction(anAction);
+
+ // Ignore source time
+ anAction = new QAction(tr("MEN_IGNORE_TIME"), this);
+ anAction->setToolTip(tr("TOP_IGNORE_TIME"));
+ anAction->setStatusTip(tr("STB_IGNORE_TIME"));
+ anAction->setCheckable(true);
+ registerAction(IgnoreTimeId, anAction);
+ new pqIgnoreSourceTimeReaction(anAction);
// Delete
- createAction( DeleteId, tr("TOP_DELETE"), QIcon(),
- tr("MEN_DELETE"), tr("STB_DELETE"),
- 0, desk, false, browser, SLOT( deleteSelected() ) );
-
- // Delet All
- createAction( DeleteAllId, tr("TOP_DELETE_ALL"), QIcon(),
- tr("MEN_DELETE_ALL"), tr("STB_DELETE_ALL"),
- 0, desk, false, this, SLOT( onDeleteAll() ) );
-
- // Interact
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_INTERACT"), false );
- anAction = createAction( InteractId, tr("TOP_INTERACT"), QIcon(aPixmap),
- tr("MEN_INTERACT"), tr("STB_INTERACT"), 0, desk, true,
- Implementation->Core.renderViewSelectionHelper(), SLOT( endSelection() ) );
- anAction->setChecked( true ); ///!!!
- connect( Implementation->Core.renderViewSelectionHelper(), SIGNAL( interactionModeChanged(bool) ),
- anAction, SLOT( setChecked(bool) ) );
-
- // Select Cells On
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SELECT_CELLS_ON"), false );
- anAction = createAction( SelectCellsOnId, tr("TOP_SELECT_CELLS_ON"), QIcon(aPixmap),
- tr("MEN_SELECT_CELLS_ON"), tr("STB_SELECT_CELLS_ON"), Qt::Key_S, desk, true,
- Implementation->Core.renderViewSelectionHelper(), SLOT( beginSurfaceSelection() ) );
- connect( Implementation->Core.renderViewSelectionHelper(), SIGNAL( enableSurfaceSelection(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Select Points On
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SELECT_POINTS_ON"), false );
- anAction = createAction( SelectPointsOnId, tr("TOP_SELECT_POINTS_ON"), QIcon(aPixmap),
- tr("MEN_SELECT_POINTS_ON"), tr("STB_SELECT_POINTS_ON"), 0, desk, true,
- Implementation->Core.renderViewSelectionHelper(), SLOT( beginSurfacePointsSelection() ) );
- connect( Implementation->Core.renderViewSelectionHelper(), SIGNAL( enableSurfacePointsSelection(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Select Cells Through
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SELECT_CELLS_THROUGH"), false );
- anAction = createAction( SelectCellsThroughId, tr("TOP_SELECT_CELLS_THROUGH"), QIcon(aPixmap),
- tr("MEN_SELECT_CELLS_THROUGH"), tr("STB_SELECT_CELLS_THROUGH"), 0, desk, true,
- Implementation->Core.renderViewSelectionHelper(), SLOT( beginFrustumSelection() ) );
- connect( Implementation->Core.renderViewSelectionHelper(), SIGNAL( enableFrustumSelection(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Select Points Through
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SELECT_POINTS_THROUGH"), false );
- anAction = createAction( SelectPointsThroughId, tr("TOP_SELECT_POINTS_THROUGH"), QIcon(aPixmap),
- tr("MEN_SELECT_POINTS_THROUGH"), tr("STB_SELECT_POINTS_THROUGH"), 0, desk, true,
- Implementation->Core.renderViewSelectionHelper(), SLOT( beginFrustumPointsSelection() ) );
- connect( Implementation->Core.renderViewSelectionHelper(), SIGNAL( enableFrustumPointSelection(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Select Block
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SELECT_BLOCK"), false );
- anAction = createAction( SelectBlockId, tr("TOP_SELECT_BLOCK"), QIcon(aPixmap),
- tr("MEN_SELECT_BLOCK"), tr("STB_SELECT_BLOCK"), Qt::Key_B, desk, true,
- Implementation->Core.renderViewSelectionHelper(), SLOT( beginBlockSelection() ) );
- connect( Implementation->Core.renderViewSelectionHelper(), SIGNAL( enableBlockSelection(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Create action group for exclusively selected modes
- QActionGroup* aModeGroup = new QActionGroup( desk );
- aModeGroup->addAction( action(InteractId) );
- aModeGroup->addAction( action(SelectCellsOnId) );
- aModeGroup->addAction( action(SelectPointsOnId) );
- aModeGroup->addAction( action(SelectCellsThroughId) );
- aModeGroup->addAction( action(SelectPointsThroughId) );
- aModeGroup->addAction( action(SelectBlockId) );
-
- connect( Implementation->Core.renderViewSelectionHelper(), SIGNAL( selectionModeChanged(int) ),
- this, SLOT( onSelectionModeChanged(int) ) );
- // When a selection is marked, we revert to interaction mode.
- connect( Implementation->Core.renderViewSelectionHelper(), SIGNAL( selectionFinished(int, int, int, int) ),
- Implementation->Core.renderViewSelectionHelper(), SLOT( endSelection() ) );
+ anAction = new QAction(tr("MEN_DELETE"), this);
+ anAction->setToolTip(tr("TOP_DELETE"));
+ anAction->setStatusTip(tr("STB_DELETE"));
+ registerAction(DeleteId, anAction);
+ new pqDeleteReaction(anAction);
+
+ // Delete All
+ anAction = new QAction(tr("MEN_DELETE_ALL"), this);
+ anAction->setToolTip(tr("TOP_DELETE_ALL"));
+ anAction->setStatusTip(tr("STB_DELETE_ALL"));
+ registerAction(DeleteAllId, anAction);
+ new pqDeleteReaction(anAction, true);
+
// Setting
- createAction( SettingsId, tr("TOP_SETTINGS"), QIcon(),
- tr("MEN_SETTINGS"), tr("STB_SETTINGS"),
- 0, desk, false, &Implementation->Core, SLOT( onEditSettings() ) );
+ /*anAction = new QAction(tr("MEN_SETTINGS"), this);
+ anAction->setToolTip(tr("TOP_SETTINGS"));
+ anAction->setStatusTip(tr("STB_SETTINGS"));
+ registerAction(SettingsId, anAction);
+ new pqApplicationSettingsReaction(anAction);*/
// View Settings
- createAction( ViewSettingsId, tr("TOP_VIEW_SETTINGS"), QIcon(),
- tr("MEN_VIEW_SETTINGS"), tr("STB_VIEW_SETTINGS"),
- 0, desk, false, &Implementation->Core, SLOT( onEditViewSettings() ) );
+// anAction = new QAction(tr("MEN_VIEW_SETTINGS"), this);
+// anAction->setToolTip(tr("TOP_VIEW_SETTINGS"));
+// anAction->setStatusTip(tr("STB_VIEW_SETTINGS"));
+// registerAction(ViewSettingsId, anAction);
+// new pqViewSettingsReaction(anAction);
// --- Menu "View"
-
- // Camera submenu -> Reset
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_RESET_CAMERA"), false );
- anAction = createAction( ResetCameraId, tr("TOP_RESET_CAMERA"), QIcon(aPixmap),
- tr("MEN_RESET_CAMERA"), tr("STB_RESET_CAMERA"),
- 0, desk, false, &Implementation->Core, SLOT( resetCamera() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveScreenshot(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Camera submenu -> +X
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_+X"), false );
- anAction = createAction( PositiveXId, tr("TOP_+X"), QIcon(aPixmap),
- tr("MEN_+X"), tr("STB_+X"),
- 0, desk, false, &Implementation->Core, SLOT( resetViewDirectionPosX() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveScreenshot(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Camera submenu -> -X
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_-X"), false );
- anAction = createAction( NegativeXId, tr("TOP_-X"), QIcon(aPixmap),
- tr("MEN_-X"), tr("STB_-X"),
- 0, desk, false, &Implementation->Core, SLOT( resetViewDirectionNegX() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveScreenshot(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Camera submenu -> +Y
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_+Y"), false );
- anAction = createAction( PositiveYId, tr("TOP_+Y"), QIcon(aPixmap),
- tr("MEN_+Y"), tr("STB_+Y"),
- 0, desk, false, &Implementation->Core, SLOT( resetViewDirectionPosY() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveScreenshot(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Camera submenu -> -Y
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_-Y"), false );
- anAction = createAction( NegativeYId, tr("TOP_-Y"), QIcon(aPixmap),
- tr("MEN_-Y"), tr("STB_-Y"),
- 0, desk, false, &Implementation->Core, SLOT( resetViewDirectionNegY() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveScreenshot(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Camera submenu -> +Z
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_+Z"), false );
- anAction = createAction( PositiveZId, tr("TOP_+Z"), QIcon(aPixmap),
- tr("MEN_+Z"), tr("STB_+Z"),
- 0, desk, false, &Implementation->Core, SLOT( resetViewDirectionPosZ() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveScreenshot(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Camera submenu -> -Z
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_-Z"), false );
- anAction = createAction( NegativeZId, tr("TOP_-Z"), QIcon(aPixmap),
- tr("MEN_-Z"), tr("STB_-Z"),
- 0, desk, false, &Implementation->Core, SLOT( resetViewDirectionNegZ() ) );
- connect( &Implementation->Core, SIGNAL( enableFileSaveScreenshot(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Show Center
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SHOW_CENTER"), false );
- aQtxAction = new QtxAction( tr("TOP_SHOW_CENTER"), QIcon(aPixmap),
- tr("MEN_SHOW_CENTER"), 0, desk );
- aQtxAction->setStatusTip( tr( "PRP_APP_SHOW_CENTER" ) );
- aQtxAction->setCheckable( true );
- registerAction( ShowCenterId, aQtxAction );
- connect( aQtxAction, SIGNAL( toggled(bool) ),
- &Implementation->Core, SLOT( setCenterAxesVisibility(bool) ) );
- connect( &Implementation->Core, SIGNAL( enableShowCenterAxis(bool) ),
- this, SLOT( onShowCenterAxisChanged(bool) ), Qt::QueuedConnection );
-
- // Reset Center
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_RESET_CENTER"), false );
- anAction = createAction( ResetCenterId, tr("TOP_RESET_CENTER"), QIcon(aPixmap),
- tr("MEN_RESET_CENTER"), tr("STB_RESET_CENTER"), 0, desk, false,
- &Implementation->Core, SLOT( resetCenterOfRotationToCenterOfCurrentData() ) );
- connect( &Implementation->Core, SIGNAL( enableResetCenter(bool) ),
- anAction, SLOT( setEnabled(bool) ) );
-
- // Pick Center
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_PICK_CENTER"), false );
- aQtxAction = new QtxAction( tr("TOP_PICK_CENTER"), QIcon(aPixmap),
- tr("MEN_PICK_CENTER"), 0, desk );
- aQtxAction->setStatusTip( tr( "PRP_APP_PICK_CENTER" ) );
- aQtxAction->setCheckable( true );
- registerAction( PickCenterId, aQtxAction );
- connect( aQtxAction, SIGNAL( toggled(bool) ),
- &Implementation->Core, SLOT( pickCenterOfRotation(bool) ) );
- connect( &Implementation->Core, SIGNAL( enablePickCenter(bool) ),
- aQtxAction, SLOT( setEnabled(bool) ) );
- connect( &Implementation->Core, SIGNAL( pickingCenter(bool) ),
- aQtxAction, SLOT( setChecked(bool) ) );
-
- // Show Color Legend
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_SHOW_COLOR_LEGEND"), false );
- aQtxAction = new QtxAction( tr("TOP_SHOW_COLOR_LEGEND"), QIcon(aPixmap),
- tr("MEN_SHOW_COLOR_LEGEND"), 0, desk );
- aQtxAction->setStatusTip( tr( "PRP_APP_SHOW_COLOR_LEGEND" ) );
- aQtxAction->setCheckable( true );
- aQtxAction->setEnabled(false);
- registerAction( ShowColorLegendId, aQtxAction );
- pqScalarBarVisibilityAdaptor* sbva = new pqScalarBarVisibilityAdaptor( aQtxAction );
- connect( Implementation->Core.getObjectInspectorDriver(),
- SIGNAL( representationChanged(pqDataRepresentation*, pqView*) ),
- sbva,
- SLOT( setActiveRepresentation(pqDataRepresentation*) ) );
-
- // --- Menu "Sources" and "Filters"
- // As ParaView is responsible for updating "Sources" and "Filters" menus,
- // actions for these menus are created inside the pqMainWindowCore.
- // So, the creation of corresponding QMenu object is in the PVGUI_Module::pvCreateMenus().
-
- // --- Menu "Animation"
-
- pqVCRController* vcrcontroller = &Implementation->Core.VCRController();
-
- // First Frame
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_FIRST_FRAME"), false );
- anAction = createAction( FirstFrameId, tr("TOP_FIRST_FRAME"), QIcon(aPixmap),
- tr("MEN_FIRST_FRAME"), tr("STB_FIRST_FRAME"),
- 0, desk, false, vcrcontroller, SLOT( onFirstFrame() ) );
- connect( vcrcontroller, SIGNAL( enabled(bool) ), anAction, SLOT( setEnabled(bool) ) );
-
- // Previous Frame
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_PREVIOUS_FRAME"), false );
- anAction = createAction( PreviousFrameId, tr("TOP_PREVIOUS_FRAME"), QIcon(aPixmap),
- tr("MEN_PREVIOUS_FRAME"), tr("STB_PREVIOUS_FRAME"),
- 0, desk, false, vcrcontroller, SLOT( onPreviousFrame() ) );
- connect( vcrcontroller, SIGNAL( enabled(bool) ), anAction, SLOT( setEnabled(bool) ) );
-
- // Play
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_PLAY"), false );
- anAction = createAction( PlayId, tr("TOP_PLAY"), QIcon(aPixmap),
- tr("MEN_PLAY"), tr("STB_PLAY"),
- 0, desk, false, vcrcontroller, SLOT( onPlay() ) );
- connect( vcrcontroller, SIGNAL( enabled(bool) ), anAction, SLOT( setEnabled(bool) ) );
-
- // Next Frame
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_NEXT_FRAME"), false );
- anAction = createAction( NextFrameId, tr("TOP_NEXT_FRAME"), QIcon(aPixmap),
- tr("MEN_NEXT_FRAME"), tr("STB_NEXT_FRAME"),
- 0, desk, false, vcrcontroller, SLOT( onNextFrame() ) );
- connect( vcrcontroller, SIGNAL( enabled(bool) ), anAction, SLOT( setEnabled(bool) ) );
-
- // Last Frame
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_LAST_FRAME"), false );
- anAction = createAction( LastFrameId, tr("TOP_LAST_FRAME"), QIcon(aPixmap),
- tr("MEN_LAST_FRAME"), tr("STB_LAST_FRAME"),
- 0, desk, false, vcrcontroller, SLOT( onLastFrame() ) );
- connect( vcrcontroller, SIGNAL( enabled(bool) ), anAction, SLOT( setEnabled(bool) ) );
-
- // Loop
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_LOOP"), false );
- aQtxAction = new QtxAction( tr("TOP_LOOP"), QIcon(aPixmap),
- tr("MEN_LOOP"), 0, desk );
- aQtxAction->setStatusTip( tr( "PRP_APP_LOOP" ) );
- aQtxAction->setCheckable(true);
- registerAction( LoopId, aQtxAction );
- connect( aQtxAction, SIGNAL( toggled(bool) ), vcrcontroller, SLOT( onLoop(bool) ) );
- connect( vcrcontroller, SIGNAL( enabled(bool) ), aQtxAction, SLOT( setEnabled(bool) ) );
- connect( vcrcontroller, SIGNAL( loop(bool) ), aQtxAction, SLOT( setChecked(bool) ) );
-
- connect( vcrcontroller, SIGNAL( playing(bool) ), this, SLOT( onPlaying(bool) ) );
- connect( vcrcontroller, SIGNAL( timeRanges(double, double) ),
- this, SLOT( setTimeRanges(double, double) ) );
+ //pqViewManager* viewManager = qobject_cast<pqViewManager*>(
+ // pqApplicationCore::instance()->manager("MULTIVIEW_WIDGET"));
+
+ //rnv: Commented to implement issue
+ //21318: EDF 1615 ALL: Display in full screen mode
+ //Switching to the "Full screen" mode added in the SALOME GUI module.
+ //if (viewManager) {
+ //anAction = new QAction("Full Screen", this);
+ //anAction->setObjectName("actionFullScreen");
+ //anAction->setShortcut(QKeySequence("F11"));
+ //connect(anAction, SIGNAL(triggered()), viewManager, SLOT(toggleFullScreen()));
+ //registerAction(FullScreenId, anAction);
+ //}
// --- Menu "Tools"
-
// Create Custom Filter
- createAction( CreateCustomFilterId, tr("TOP_CREATE_CUSTOM_FILTER"), QIcon(),
- tr("MEN_CREATE_CUSTOM_FILTER"), tr("STB_CREATE_CUSTOM_FILTER"),
- 0, desk, false, &Implementation->Core, SLOT( onToolsCreateCustomFilter() ) );
-
- // Manage Custom Filters
- createAction( ManageCustomFiltersId, tr("TOP_MANAGE_CUSTOM_FILTERS"), QIcon(),
- tr("MEN_MANAGE_CUSTOM_FILTERS"), tr("STB_MANAGE_CUSTOM_FILTERS"),
- 0, desk, false, &Implementation->Core, SLOT( onToolsManageCustomFilters() ) );
+ anAction = new QAction(tr("MEN_CREATE_CUSTOM_FILTER"), this);
+ anAction->setToolTip(tr("TOP_CREATE_CUSTOM_FILTER"));
+ anAction->setStatusTip(tr("STB_CREATE_CUSTOM_FILTER"));
+ registerAction(CreateCustomFilterId, anAction);
+ new pqCreateCustomFilterReaction(anAction << pqSetName("actionToolsCreateCustomFilter"));
- // Create Lookmark
- createAction( CreateLookmarkId, tr("TOP_CREATE_LOOKMARK"), QIcon(),
- tr("MEN_CREATE_LOOKMARK"), tr("STB_CREATE_LOOKMARK"),
- 0, desk, false, &Implementation->Core, SLOT( onToolsCreateLookmark() ) );
+ // Manage Custom Filters
+ anAction = new QAction(tr("MEN_MANAGE_CUSTOM_FILTERS"), this);
+ anAction->setToolTip(tr("TOP_MANAGE_CUSTOM_FILTERS"));
+ anAction->setStatusTip(tr("STB_MANAGE_CUSTOM_FILTERS"));
+ registerAction(ManageCustomFiltersId, anAction);
+ new pqManageCustomFiltersReaction(anAction << pqSetName("actionToolsManageCustomFilters"));
// Manage Links
- createAction( ManageLinksId, tr("TOP_MANAGE_LINKS"), QIcon(),
- tr("MEN_MANAGE_LINKS"), tr("STB_MANAGE_LINKS"),
- 0, desk, false, &Implementation->Core, SLOT( onToolsManageLinks() ) );
+ anAction = new QAction(tr("MEN_MANAGE_LINKS"), this);
+ anAction->setToolTip(tr("TOP_MANAGE_LINKS"));
+ anAction->setStatusTip(tr("STB_MANAGE_LINKS"));
+ registerAction(ManageLinksId, anAction);
+ new pqManageLinksReaction(anAction << pqSetName("actionToolsManageLinks"));
// Add Camera Link
- createAction( AddCameraLinkId, tr("TOP_ADD_CAMERA_LINK"), QIcon(),
- tr("MEN_ADD_CAMERA_LINK"), tr("STB_ADD_CAMERA_LINK"),
- 0, desk, false, this, SLOT( onAddCameraLink() ) );
+ anAction = new QAction(tr("MEN_ADD_CAMERA_LINK"), this);
+ anAction->setToolTip(tr("TOP_ADD_CAMERA_LINK"));
+ anAction->setStatusTip(tr("STB_ADD_CAMERA_LINK"));
+ registerAction(AddCameraLinkId, anAction);
+ new pqCameraLinkReaction(anAction << pqSetName("actionToolsAddCameraLink"));
// Manage Plugins/Extensions
- createAction( ManagePluginsExtensionsId, tr( "TOP_MANAGE_PLUGINS" ), QIcon(),
- tr( "MEN_MANAGE_PLUGINS" ), tr( "STB_MANAGE_PLUGINS" ),
- 0, desk, false, &Implementation->Core, SLOT( onManagePlugins() ) );
-
- // Dump Widget Names
- createAction( DumpWidgetNamesId, tr( "TOP_DUMP_WIDGET_NAMES" ), QIcon(),
- tr( "MEN_DUMP_WIDGET_NAMES" ), tr( "STB_DUMP_WIDGET_NAMES" ),
- 0, desk, false, &Implementation->Core, SLOT( onToolsDumpWidgetNames() ) );
+ anAction = new QAction(tr("MEN_MANAGE_PLUGINS"), this);
+ anAction->setToolTip(tr("TOP_MANAGE_PLUGINS"));
+ anAction->setStatusTip(tr("STB_MANAGE_PLUGINS"));
+ registerAction(ManagePluginsExtensionsId, anAction);
+ new pqManagePluginsReaction(anAction << pqSetName("actionManage_Plugins"));
// Record Test
- createAction( RecordTestId, tr( "TOP_RECORD_TEST" ), QIcon(),
- tr( "MEN_RECORD_TEST" ), tr( "STB_RECORD_TEST" ),
- 0, desk, false, &Implementation->Core, SLOT( onToolsRecordTest() ) );
-
- // Record Test Screenshot
- createAction( RecordTestScreenshotId, tr( "TOP_RECORD_TEST_SCREENSHOT" ), QIcon(),
- tr( "MEN_RECORD_TEST_SCREENSHOT" ), tr( "STB_RECORD_TEST_SCREENSHOT" ),
- 0, desk, false, &Implementation->Core, SLOT( onToolsRecordTestScreenshot() ) );
-
+ anAction = new QAction(tr("MEN_RECORD_TEST"), this);
+ anAction->setToolTip(tr("TOP_RECORD_TEST"));
+ anAction->setStatusTip(tr("STB_RECORD_TEST"));
+ registerAction(RecordTestId, anAction);
+ new pqTestingReaction(anAction << pqSetName("actionToolsRecordTest"), pqTestingReaction::RECORD);
+
// Play Test
- createAction( PlayTestId, tr( "TOP_PLAY_TEST" ), QIcon(),
- tr( "MEN_PLAY_TEST" ), tr( "STB_PLAY_TEST" ),
- 0, desk, false, &Implementation->Core, SLOT( onToolsPlayTest() ) );
+ anAction = new QAction(tr("MEN_PLAY_TEST"), this);
+ anAction->setToolTip(tr("TOP_PLAY_TEST"));
+ anAction->setStatusTip(tr("STB_PLAY_TEST"));
+ registerAction(PlayTestId, anAction);
+ new pqTestingReaction(anAction << pqSetName("actionToolsPlayTest"), pqTestingReaction::PLAYBACK);
// Max Window Size
- aQtxAction = new QtxAction( tr("TOP_MAX_WINDOW_SIZE"), QIcon(),
- tr("MEN_MAX_WINDOW_SIZE"), 0, desk );
- aQtxAction->setStatusTip( tr( "PRP_APP_MAX_WINDOW_SIZE" ) );
- aQtxAction->setCheckable(true);
- registerAction( MaxWindowSizeId, aQtxAction );
- connect( aQtxAction, SIGNAL( toggled(bool) ), &Implementation->Core, SLOT( enableTestingRenderWindowSize(bool) ) );
+ anAction = new QAction(tr("MEN_MAX_WINDOW_SIZE"), this);
+ anAction->setToolTip(tr("TOP_MAX_WINDOW_SIZE"));
+ anAction->setStatusTip(tr("PRP_APP_MAX_WINDOW_SIZE"));
+ anAction->setCheckable(true);
+ registerAction(MaxWindowSizeId, anAction);
+ new pqTestingReaction(anAction << pqSetName("actionTesting_Window_Size"),
+ pqTestingReaction::LOCK_VIEW_SIZE);
+
+ // Custom Window Size
+ anAction = new QAction(tr("MEN_CUSTOM_WINDOW_SIZE"), this);
+ anAction->setToolTip(tr(""));
+ anAction->setStatusTip(tr(""));
+ anAction->setCheckable(true);
+ registerAction(CustomWindowSizeId, anAction);
+ new pqTestingReaction(anAction << pqSetName("actionTesting_Window_Size_Custom"),
+ pqTestingReaction::LOCK_VIEW_SIZE_CUSTOM);
// Timer Log
- createAction( TimerLogId, tr( "TOP_TIMER_LOG" ), QIcon(),
- tr( "MEN_TIMER_LOG" ), tr( "STB_TIMER_LOG" ),
- 0, desk, false, &Implementation->Core, SLOT( onToolsTimerLog() ) );
-
- // Output Window
- createAction( OutputWindowId, tr( "TOP_OUTPUT_WINDOW" ), QIcon(),
- tr( "MEN_OUTPUT_WINDOW" ), tr( "STB_OUTPUT_WINDOW" ),
- 0, desk, false, &Implementation->Core, SLOT( onToolsOutputWindow() ) );
-
+ anAction = new QAction(tr("MEN_TIMER_LOG"), this);
+ anAction->setToolTip(tr("TOP_TIMER_LOG"));
+ anAction->setStatusTip(tr("STB_TIMER_LOG"));
+ registerAction(TimerLogId, anAction);
+ new pqTimerLogReaction(anAction << pqSetName("actionToolsTimerLog"));
+
// Python Shell
- createAction( PythonShellId, tr( "TOP_PYTHON_SHELL" ), QIcon(),
- tr( "MEN_PYTHON_SHELL" ), tr( "STB_PYTHON_SHELL" ),
- 0, desk, false, &Implementation->Core, SLOT( onToolsPythonShell() ) );
+ // ???
+ // No more pqPythonShellReaction class, but there is a pqPythonShell class.
+ // Is that equivalent? I don't know what to do at this stage.
+ anAction = new QAction(tr("MEN_PYTHON_SHELL"), this);
+ anAction->setToolTip(tr("TOP_PYTHON_SHELL"));
+ anAction->setStatusTip(tr("STB_PYTHON_SHELL"));
+ registerAction(PythonShellId, anAction);
+ /*
+ new pqPythonShellReaction(anAction << pqSetName("actionToolsPythonShell"));
+ */
+
+ //Show Trace
+ anAction = new QAction(tr("MEN_SHOW_TRACE"), this);
+ anAction->setToolTip(tr("TOP_SHOW_TRACE"));
+ anAction->setStatusTip(tr("STB_SHOW_TRACE"));
+ connect(anAction, SIGNAL(triggered()), this, SLOT(onShowTrace()));
+ registerAction(ShowTraceId, anAction);
+
+ //Restart Trace
+ anAction = new QAction(tr("MEN_RESTART_TRACE"), this);
+ anAction->setToolTip(tr("TOP_RESTART_TRACE"));
+ anAction->setStatusTip(tr("STB_RESTART_TRACE"));
+ connect(anAction, SIGNAL(triggered()), this, SLOT(onRestartTrace()));
+ registerAction(RestartTraceId, anAction);
// --- Menu "Help"
// About
- createAction( AboutParaViewId, tr( "TOP_ABOUT" ), QIcon(),
- tr( "MEN_ABOUT" ), tr( "STB_ABOUT" ),
- 0, desk, false, this, SLOT( onHelpAbout() ) );
+ anAction = new QAction(tr("MEN_ABOUT"), this);
+ anAction->setToolTip(tr("TOP_ABOUT"));
+ anAction->setStatusTip(tr("STB_ABOUT"));
+ registerAction(AboutParaViewId, anAction);
+ new pqAboutDialogReaction(anAction << pqSetName("actionAbout"));
+#ifdef HAS_PV_DOC
// Native ParaView user documentation
aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_PARAVIEW_HELP"), false );
- createAction( ParaViewHelpId, tr( "TOP_PARAVIEW_HELP" ), QIcon(aPixmap),
- tr( "MEN_PARAVIEW_HELP" ), tr( "STB_PARAVIEW_HELP" ),
- 0, desk, false, this, SLOT( onParaViewHelp() ) );
-
- // Enable Tooltips
- aQtxAction = new QtxAction( tr("TOP_ENABLE_TOOLTIPS"), QIcon(),
- tr("MEN_ENABLE_TOOLTIPS"), 0, desk );
- aQtxAction->setStatusTip( tr( "PRP_APP_ENABLE_TOOLTIPS" ) );
- aQtxAction->setCheckable(true);
- aQtxAction->setChecked(true);
- registerAction( EnableTooltipsId, aQtxAction );
+ anAction = new QAction(tr("MEN_PARAVIEW_HELP"), this);
+ anAction->setToolTip(tr("TOP_PARAVIEW_HELP"));
+ anAction->setStatusTip(tr("STB_PARAVIEW_HELP"));
+ registerAction(ParaViewHelpId, anAction);
+ new pqHelpReaction(anAction);
+#endif
}
/*!
*/
void PVGUI_Module::pvCreateMenus()
{
+ SUIT_Desktop* desk = application()->desktop();
+
// --- Menu "File"
int aPVMnu = createMenu( tr( "MEN_DESK_FILE" ), -1, -1 );
createMenu( OpenFileId, aPVMnu, 5 );
// Recent Files
- int aMenuId = createMenu( tr( "MEN_RECENT_FILES" ), aPVMnu, -1, 5 );
- QMenu* aMenu = menuMgr()->findMenu( aMenuId );
- Implementation->RecentFilesMenu = new pqRecentFilesMenu( *aMenu, getApp()->desktop() );
- connect( Implementation->RecentFilesMenu, SIGNAL( serverConnectFailed() ),
- &Implementation->Core, SLOT( makeDefaultConnectionIfNoneExists() ) );
- QList<QAction*> anActns = aMenu->actions();
- for (int i = 0; i < anActns.size(); ++i)
- createMenu( anActns.at(i), aMenuId );
-
+ myRecentMenuId = createMenu( tr( "MEN_RECENT_FILES" ), aPVMnu, -1, 5 );
+ QMenu* aMenu = menuMgr()->findMenu( myRecentMenuId );
+ /*pqRecentFilesMenu* aRecentFilesMenu = */new pqRecentFilesMenu( *aMenu, getApp()->desktop() );
+ QList<QAction*> anActns = aMenu->actions();
+ for (int i = 0; i < anActns.size(); ++i)
+ createMenu( anActns.at(i), myRecentMenuId );
createMenu( separator(), aPVMnu, -1, 5 );
createMenu( CameraRedoId, aPVMnu );
createMenu( separator(), aPVMnu );
+ createMenu( FindDataId, aPVMnu );
createMenu( ChangeInputId, aPVMnu );
+ createMenu( IgnoreTimeId, aPVMnu );
createMenu( DeleteId, aPVMnu );
createMenu( DeleteAllId, aPVMnu );
createMenu( separator(), aPVMnu );
- createMenu( InteractId, aPVMnu );
- createMenu( SelectCellsOnId, aPVMnu );
- createMenu( SelectPointsOnId, aPVMnu );
- createMenu( SelectCellsThroughId, aPVMnu );
- createMenu( SelectPointsThroughId, aPVMnu );
- createMenu( SelectBlockId, aPVMnu );
- createMenu( separator(), aPVMnu );
-
- createMenu( SettingsId, aPVMnu );
- createMenu( ViewSettingsId, aPVMnu );
+ //createMenu( SettingsId, aPVMnu );
+ //createMenu( ViewSettingsId, aPVMnu );
createMenu( separator(), aPVMnu );
// --- Menu "View"
aPVMnu = createMenu( tr( "MEN_DESK_VIEW" ), -1, -1 );
- int aCameraMnu = createMenu( tr( "MEN_CAMERA" ), aPVMnu );
- createMenu( ResetCameraId, aCameraMnu );
- createMenu( PositiveXId, aCameraMnu );
- createMenu( NegativeXId, aCameraMnu );
- createMenu( PositiveYId, aCameraMnu );
- createMenu( NegativeYId, aCameraMnu );
- createMenu( PositiveZId, aCameraMnu );
- createMenu( NegativeZId, aCameraMnu );
- createMenu( separator(), aPVMnu );
-
- createMenu( ShowCenterId, aPVMnu );
- createMenu( ResetCenterId, aPVMnu );
- createMenu( PickCenterId, aPVMnu );
- createMenu( ShowColorLegendId, aPVMnu );
- createMenu( separator(), aPVMnu );
-
+ createMenu( FullScreenId, aPVMnu );
+
// --- Menu "Sources"
-
// Install ParaView managers for "Sources" menu
QMenu* aRes = 0;
- mySourcesMenuId = createMenu( tr( "MEN_DESK_SOURCES" ), -1, -1, 60 );
- if ( (aRes = getMenu( mySourcesMenuId )) ) {
- Implementation->Core.setSourceMenu( aRes );
- connect( &Implementation->Core, SIGNAL( enableSourceCreate(bool) ),
- aRes, SLOT( setEnabled(bool) ) );
- }
+ PVViewer_GUIElements * guiElements = PVViewer_GUIElements::GetInstance(desk);
+ aRes = guiElements->getSourcesMenu();
+ mySourcesMenuId = createMenu( tr( "MEN_DESK_SOURCES" ), -1, -1, 60, -1, aRes);
// --- Menu "Filters"
-
// Install ParaView managers for "Filters" menu
- myFiltersMenuId = createMenu( tr( "MEN_DESK_FILTERS" ), -1, -1, 70 );
- if ( (aRes = getMenu( myFiltersMenuId )) ) {
- Implementation->Core.setFilterMenu( aRes );
- connect( &Implementation->Core, SIGNAL( enableFilterCreate(bool) ),
- aRes, SLOT( setEnabled(bool) ) );
- }
-
- // --- Menu "Animation"
- int anAnimationMnu = createMenu( tr( "MEN_DESK_ANIMATION" ), -1, -1, 80 );
-
- createMenu( FirstFrameId, anAnimationMnu );
- createMenu( PreviousFrameId, anAnimationMnu );
- createMenu( PlayId, anAnimationMnu );
- createMenu( NextFrameId, anAnimationMnu );
- createMenu( LastFrameId, anAnimationMnu );
- createMenu( LoopId, anAnimationMnu );
+ aRes = guiElements->getFiltersMenu();
+ myFiltersMenuId = createMenu( tr( "MEN_DESK_FILTERS" ), -1, -1, 70, -1, aRes);
+ // --- Menu "Macros"
+ aRes = guiElements->getMacrosMenu();
+ myMacrosMenuId = createMenu( tr( "MEN_MACROS" ), -1, -1, 80, -1, aRes);
+
// --- Menu "Tools"
-
int aToolsMnu = createMenu( tr( "MEN_DESK_TOOLS" ), -1, -1, 90 );
createMenu( CreateCustomFilterId, aToolsMnu );
+ createMenu( AddCameraLinkId, aToolsMnu );
+ createMenu( separator(), aToolsMnu );
createMenu( ManageCustomFiltersId, aToolsMnu );
- createMenu( CreateLookmarkId, aToolsMnu );
createMenu( ManageLinksId, aToolsMnu );
- createMenu( AddCameraLinkId, aToolsMnu );
createMenu( ManagePluginsExtensionsId, aToolsMnu );
createMenu( separator(), aToolsMnu );
- createMenu( DumpWidgetNamesId, aToolsMnu );
createMenu( RecordTestId, aToolsMnu );
- createMenu( RecordTestScreenshotId, aToolsMnu );
createMenu( PlayTestId, aToolsMnu );
createMenu( MaxWindowSizeId, aToolsMnu );
+ createMenu( CustomWindowSizeId, aToolsMnu );
createMenu( separator(), aToolsMnu );
createMenu( TimerLogId, aToolsMnu );
- createMenu( OutputWindowId, aToolsMnu );
createMenu( separator(), aToolsMnu );
-
+
createMenu( PythonShellId, aToolsMnu );
+ createMenu( separator(), aToolsMnu );
+ createMenu( ShowTraceId, aToolsMnu );
+ createMenu( RestartTraceId, aToolsMnu );
+
+ // --- Menu "Catalyst"
+ aRes = guiElements->getCatalystMenu();
+ myCatalystMenuId = createMenu( tr( "MEN_DESK_CATALYST" ), -1, -1, 100, -1, aRes);
// --- Menu "Help"
int aHelpMnu = createMenu( tr( "MEN_DESK_HELP" ), -1, -1 );
-
- createMenu( AboutParaViewId, aHelpMnu );
- createMenu( ParaViewHelpId, aHelpMnu );
- createMenu( separator(), aHelpMnu );
- createMenu( EnableTooltipsId, aHelpMnu );
-
+ int aUsersGuide = createMenu( tr( "User's Guide" ), aHelpMnu, -1 );
+ int aPVHelpMnu = createMenu( tr( "ParaViS module" ), aUsersGuide, -1, 5 );
+#ifdef HAS_PV_DOC
+ createMenu( ParaViewHelpId, aPVHelpMnu );
+ createMenu( separator(), aPVHelpMnu );
+#endif
+ createMenu( AboutParaViewId, aPVHelpMnu );
+
+ // -- Context menu in the pipeline browser
+ pqPipelineBrowserWidget * pq = guiElements->getPipelineBrowserWidget();
+ pqParaViewMenuBuilders::buildPipelineBrowserContextMenu( *(pq->contextMenu()) );
}
/*!
void PVGUI_Module::pvCreateToolBars()
{
SUIT_Desktop* desk = application()->desktop();
- SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr();
-
- QPixmap aPixmap;
- QtxAction* aQtxAction;
-
- // --- Toolbar "Main Controls"
-
- int aToolId = createTool( tr("TOOL_MAIN_CONTROLS") );
-
- createTool( OpenFileId, aToolId );
- createTool( SaveDataId, aToolId );
- createTool( separator(), aToolId );
- createTool( ConnectId, aToolId );
- createTool( DisconnectId, aToolId );
- createTool( separator(), aToolId );
- createTool( ParaViewHelpId, aToolId );
-
- // --- Toolbar "Selection Controls"
-
- mySelectionControlsTb = createTool( tr("TOOL_SELECTION_CONTROLS") );
-
- createTool( InteractId, mySelectionControlsTb );
- createTool( SelectCellsOnId, mySelectionControlsTb );
- createTool( SelectPointsOnId, mySelectionControlsTb );
- createTool( SelectCellsThroughId, mySelectionControlsTb );
- createTool( SelectPointsThroughId, mySelectionControlsTb );
- createTool( SelectBlockId, mySelectionControlsTb );
-
- // --- Toolbar "Undo/Redo Controls"
-
- aToolId = createTool( tr("TOOL_UNDOREDO_CONTROLS") );
-
- createTool( UndoId, aToolId );
- createTool( RedoId, aToolId );
-
- // --- Toolbar "VCR Controls"
-
- aToolId = createTool( tr("TOOL_VCR_CONTROLS") );
-
- createTool( FirstFrameId, aToolId );
- createTool( PreviousFrameId, aToolId );
- createTool( PlayId, aToolId );
- createTool( NextFrameId, aToolId );
- createTool( LastFrameId, aToolId );
- createTool( LoopId, aToolId );
-
- pqProgressManager* progress_manager = pqApplicationCore::instance()->getProgressManager();
- progress_manager->addNonBlockableObject( toolMgr()->toolBar( aToolId ) );
-
- // --- Toolbar "Active Variable Controls"
-
- aToolId = createTool( tr("TOOL_ACTIVE_VARIABLE_CONTROLS") );
- QToolBar* aTB = toolMgr()->toolBar( aToolId );
-
- createTool( ShowColorLegendId, aToolId );
-
- // To set up the color map tool buttons.
- pqColorScaleToolbar* colorScale = Implementation->Core.getColorScaleEditorManager();
-
- // Edit Color Map
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_EDIT_COLOR_MAP"), false );
- aQtxAction = new QtxAction( tr("TOP_EDIT_COLOR_MAP"), QIcon(aPixmap),
- tr("MEN_EDIT_COLOR_MAP"), 0, desk );
- aQtxAction->setStatusTip( tr( "PRP_APP_EDIT_COLOR_MAP" ) );
- registerAction( EditColorMapId, aQtxAction );
- connect( &Implementation->Core, SIGNAL( enableVariableToolbar(bool) ),
- aQtxAction, SLOT( setEnabled(bool) ) );
- colorScale->setColorAction( aQtxAction ); /// !!!
- createTool( EditColorMapId, aToolId );
-
- // Reset Range
- aPixmap = resMgr->loadPixmap( "ParaView", tr("ICON_RESET_RANGE"), false );
- aQtxAction = new QtxAction( tr("TOP_RESET_RANGE"), QIcon(aPixmap),
- tr("MEN_RESET_RANGE"), 0, desk );
- aQtxAction->setStatusTip( tr( "PRP_APP_RESET_RANGE" ) );
- registerAction( ResetRangeId, aQtxAction );
- connect( &Implementation->Core, SIGNAL( enableVariableToolbar(bool) ),
- aQtxAction, SLOT( setEnabled(bool) ) );
- colorScale->setRescaleAction( aQtxAction ); /// !!!
- createTool( ResetRangeId, aToolId );
-
- Implementation->Core.setupVariableToolbar(aTB);
- QList<QAction*> anActns = aTB->actions();
- for (int i = 0; i < anActns.size(); ++i)
- if ( anActns.at(i) != action(ShowColorLegendId) ) {
- createTool( anActns.at(i), aToolId );
- connect( &Implementation->Core, SIGNAL( enableVariableToolbar(bool) ),
- anActns.at(i), SLOT( setEnabled(bool) ) );
- }
-
- // --- Toolbar "Representation"
-
- aToolId = createTool( tr("TOOL_REPRESENTATION") );
- aTB = toolMgr()->toolBar( aToolId );
-
- Implementation->Core.setupRepresentationToolbar(aTB);
- anActns = aTB->actions();
- for (int i = 0; i < anActns.size(); ++i) {
- createTool( anActns.at(i), aToolId );
- connect( &Implementation->Core, SIGNAL( enableVariableToolbar(bool) ),
- anActns.at(i), SLOT( setEnabled(bool) ) );
- }
-
- // --- Toolbar "Camera Controls"
-
- aToolId = createTool( tr("TOOL_CAMERA_CONTROLS") );
-
- createTool( ResetCameraId, aToolId );
- createTool( PositiveXId, aToolId );
- createTool( NegativeXId, aToolId );
- createTool( PositiveYId, aToolId );
- createTool( NegativeYId, aToolId );
- createTool( PositiveZId, aToolId );
- createTool( NegativeZId, aToolId );
-
- // --- Toolbar "Center Axes Controls"
-
- aToolId = createTool( tr("TOOL_CENTER_AXES_CONTROLS") );
-
- createTool( ShowCenterId, aToolId );
- createTool( ResetCenterId, aToolId );
- createTool( PickCenterId, aToolId );
-
- // --- Toolbar "Common Filters"
-
- aToolId = createTool( tr("TOOL_COMMON_FILTERS") );
- aTB = toolMgr()->toolBar( aToolId );
-
- Implementation->Core.setupCommonFiltersToolbar(aTB);
- anActns = aTB->actions();
- for (int i = 0; i < anActns.size(); ++i)
- createTool( anActns.at(i), aToolId );
-
- // --- Toolbar "Lookmarks"
-
- aToolId = createTool( tr("TOOL_LOOKMARKS") );
- aTB = toolMgr()->toolBar(aToolId);
-
- aTB->setContextMenuPolicy(Qt::CustomContextMenu);
- aTB->setOrientation(Qt::Vertical);
- aTB->setAllowedAreas(Qt::RightToolBarArea);
- toolMgr()->mainWindow()->addToolBar(Qt::RightToolBarArea,aTB);
- Implementation->Core.setupLookmarkToolbar(aTB);
-}
-
-/*!
- \brief Returns QMenu by its id.
-*/
-QMenu* PVGUI_Module::getMenu( const int id )
-{
- QMenu* res = 0;
- SalomeApp_Application* anApp = getApp();
- SUIT_Desktop* desk = anApp->desktop();
- if ( desk ){
- QtxActionMenuMgr* menuMgr = desk->menuMgr();
- res = menuMgr->findMenu( id );
- }
- return res;
+// pqParaViewMenuBuilders::buildToolbars(*desk);
+ PVViewer_GUIElements * guiElements = PVViewer_GUIElements::GetInstance(desk);
+ guiElements->setToolBarVisible(true);
}