Salome HOME
A sample of how to insert links into the main doc page to files, classes, functions...
[modules/paravis.git] / src / PVGUI / PVGUI_Module.h
index 3b9de1455e0646b80253b545dab67c9cec5b6934..ba573470fde78904e49d7844728f40932247b4fa 100644 (file)
 // Author : Sergey ANIKIN
 //
 
+/*!
+  \mainpage
+
+  Insert the content of introduction page here.
+
+  A link to the file documentation PVGUI_Module_actions.cxx
+
+  A link to the file documentation PVGUI_Module_impl.h
+
+  A link to the class documentation PVGUI_Module
+
+  The class name as a text (not a link to its documentation) %PVGUI_Module
+
+  A link to the constructor of the class PVGUI_ViewWindow#PVGUI_ViewWindow or PVGUI_Module::PVGUI_Module()
+
+  A link to the destructor of the class PVGUI_ViewWindow#~PVGUI_ViewWindow
+
+  A link to the member function PVGUI_ViewWindow::getVisualParameters or PVGUI_ViewWindow#getVisualParameters
+
+  Arguments of a function should be specified only for the overloaded functions PVGUI_Module::initialize(CAM_Application*)
+
+  A link to some enumeration values PVGUI_Module::OpenFileId and PVGUI_Module::CreateLookmarkId
+
+  A link to a protected member variable of the class PVGUI_ViewWindow#myModel
+
+  A link to a variable \link PVGUI_ViewWindow#myModel using another text\endlink as a link
+
+*/
+
 #ifndef PVGUI_Module_H
 #define PVGUI_Module_H
 
 #include <LightApp_Module.h>
 
+#include <ostream.h>
+
 class QMenu;
+class QDockWidget;
 class LightApp_Selection;
 class LightApp_SelectionMgr;
 class PVGUI_ProcessModuleHelper;
@@ -43,16 +75,115 @@ class PVGUI_Module : public LightApp_Module
   Q_OBJECT
    
   //! Menu actions
-  /*enum { 
-    lgLoadFile = 931,   //!< load text file
-    lgSaveFile,         //!< save text file
-    lgDisplayLine,      //!< display selected line
-    lgEraseLine,        //!< erase selected line
-    lgEditLine,         //!< edit selected line
-    lgAddLine,          //!< insert new line
-    lgDelLine,          //!< delete selected line
-    lgClear             //!< clear all contents
-    };*/
+  enum { // Menu "File"
+         OpenFileId,
+
+        LoadStateId,
+        SaveStateId,
+
+        SaveDataId,
+        SaveScreenshotId,
+        ExportId,
+
+        SaveAnimationId,
+        SaveGeometryId,
+
+        ConnectId,
+        DisconnectId,
+
+        // Menu "Edit"
+        UndoId,
+        RedoId,
+
+        CameraUndoId,
+        CameraRedoId,
+
+        ChangeInputId,
+        DeleteId,
+        DeleteAllId,
+
+        InteractId,
+        SelectCellsOnId,
+        SelectPointsOnId,
+        SelectCellsThroughId,
+        SelectPointsThroughId,
+        SelectBlockId,
+
+        SettingsId,
+        ViewSettingsId,
+
+        // Menu "View"
+        ResetCameraId,
+        PositiveXId,
+        NegativeXId,
+        PositiveYId,
+        NegativeYId,
+        PositiveZId,
+        NegativeZId,
+
+        ShowCenterId,
+        ResetCenterId,
+        PickCenterId,
+        ShowColorLegendId,
+        EditColorMapId,
+        ResetRangeId,
+
+        AnimationInspectorId,
+        AnimationViewId,
+        ComparativeViewInspectorId,
+        SelectionInspectorId,
+        LookmarkBrowserId,
+        LookmarkInspectorId,
+        ObjectInspectorId,
+        PipelineBrowserId,
+        StatisticsViewId,
+
+        // Menu "Sources"
+        // TODO...
+
+        // Menu "Filters"
+        // TODO...
+
+        // Menu "Animation"
+        FirstFrameId,
+        PreviousFrameId,
+        PlayId,
+        NextFrameId,
+        LastFrameId,
+        LoopId,
+
+        // Menu "Tools" 
+        CreateCustomFilterId,
+        ManageCustomFiltersId,
+        CreateLookmarkId,
+        ManageLinksId,
+        AddCameraLinkId,
+        ManagePluginsExtensionsId,
+        DumpWidgetNamesId,
+        RecordTestId,
+        RecordTestScreenshotId,
+        PlayTestId,
+        MaxWindowSizeId,
+        TimerLogId,
+        OutputWindowId,
+        PythonShellId,
+
+        // Menu "Help" 
+        AboutParaViewId,
+        ParaViewHelpId,
+        EnableTooltipsId
+
+         /*
+         lgLoadFile = 931,   //!< load text file
+        lgSaveFile,         //!< save text file
+        lgDisplayLine,      //!< display selected line
+        lgEraseLine,        //!< erase selected line
+        lgEditLine,         //!< edit selected line
+        lgAddLine,          //!< insert new line
+        lgDelLine,          //!< delete selected line
+        lgClear             //!< clear all contents
+        */
+  };
 
 public:
   PVGUI_Module();
@@ -65,6 +196,12 @@ public:
 
   pqViewManager*         getMultiViewManager() const;
 
+  virtual bool           eventFilter( QObject*, QEvent* );
+
+  //! Compares the contents of the window with the given reference image, returns true if they "match" within some tolerance
+  bool                   compareView( const QString& ReferenceImage, double Threshold,
+                                     ostream& Output, const QString& TempDirectory );
+
 protected:
   //virtual CAM_DataModel* createDataModel();
 
@@ -75,14 +212,62 @@ private:
   static void            pvShutdown();   
  
   //! Create actions for ParaView GUI operations
-  //! duplicating menus and toolbars in pqMainWindow ParaView class
-  void                   pvCreateActions();  
+  void                   pvCreateActions();
+
+  //! Create menus for ParaView GUI operations
+  //! duplicating menus in pqMainWindow ParaView class
+  void                   pvCreateMenus();
+
+  //! Create toolbars for ParaView GUI operations
+  //! duplicating toolbars in pqMainWindow ParaView class
+  void                   pvCreateToolBars();
 
   //! Create dock widgets for ParaView widgets
   void                   setupDockWidgets();
 
+  //! Create dock widgets context menus
+  void                   setupDockWidgetsContextMenu();
+
+  //! Save states of dockable ParaView widgets
+  void                   saveDockWidgetsState();
+
+  //! Restore states of dockable ParaView widgets
+  void                   restoreDockWidgetsState();
+
   //! Shows or hides ParaView view window
-  void                   showView( bool );         
+  void                   showView( bool );    
+
+  //! Returns QMenu object for a given menu id
+  QMenu*                 getMenu( const int );
+
+private slots:
+  void onUndoLabel( const QString& );
+  void onRedoLabel( const QString& );
+  
+  void onCameraUndoLabel( const QString& );
+  void onCameraRedoLabel( const QString& );
+
+  void onDeleteAll();
+
+  void onSelectionModeChanged( int mode );
+
+  void onShowCenterAxisChanged( bool );
+
+  void setTimeRanges( double, double );
+
+  void onPlaying( bool );
+  
+  void onAddCameraLink();
+  
+  void onHelpAbout();
+
+  void showHelpForProxy( const QString& proxy );
+  void makeAssistant();
+  void assistantError( const QString& err );
+  
+  void onPreAccept();
+  void onPostAccept();
+  void endWaitCursor();
 
 public slots:
   virtual bool           activateModule( SUIT_Study* );
@@ -90,7 +275,13 @@ public slots:
 
 private:
   class pqImplementation;
-  pqImplementation*                 Implementation;
+  pqImplementation*      Implementation;
+
+  int                    mySelectionControlsTb;
+  int                    mySourcesMenuId;
+  int                    myFiltersMenuId;
+
+  QList<QDockWidget*>    myDockWidgets;
 };
 
 #endif // PVGUI_Module_H