]> SALOME platform Git repositories - modules/paravis.git/commitdiff
Salome HOME
More doc
authorabn <adrien.bruneton@cea.fr>
Tue, 17 Mar 2015 14:05:27 +0000 (15:05 +0100)
committerabn <adrien.bruneton@cea.fr>
Tue, 17 Mar 2015 14:05:27 +0000 (15:05 +0100)
doc/dev/index.rst

index 2c4b027b28b532b4da203f89c19b2e03307411b4..20228205830155496863891645aff2f003c271ce 100644 (file)
@@ -144,13 +144,21 @@ This folder hence deals with:
   writing the pipeline, some menus, and other elements are very hard to connect *after* having set up a 3D view. They are
   however not wanted when the user just requested a 3D view, outside the ParaVis interface. We hence create those elements
   any way, but hide them, so that we can later show them again, once the ParaVis module is activated.
+  The class ``PVViewer_GUIElements`` is in charge of this.
+
+The PVViewer follows otherwise the standard structure of a Salome's view (SUIT model).
+
+A special trick is used to make ``PVGUI_ViewWindow`` the parent of the ``pqViewManager`` widget. 
+It is created initally by ``pqMainWindowCore`` 
+with the desktop as a parent, so when it is shown, a ``PVGUI_ViewWindow`` instance is passed to its ``setParent()`` method. 
+In the destructor ``PVGUI_ViewWindow::~PVGUI_ViewWindow()``the parent is nullified to avoid deletion
+of the ``pqViewManager`` widget (that would break the ``pqMainWindowCore`` class).
 
-The class ``PVViewer_GUIElements`` is in charge of this.
 
 ParaVis graphical interface
 %%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-The initialization of the viewer takes part of instantiating the most important widgets, notably:
+The initialization of the viewer (see previous section) takes part of instantiating the most important widgets, notably:
 
 * the pipeline
 * the dynamic menus (filters and sources)
@@ -158,6 +166,9 @@ The initialization of the viewer takes part of instantiating the most important
 * the Properties panel
 * and finally the toolbars
 
+All those menus are dynamic in the sense that they are automatically populated when a plugin/a configuration is loaded
+(this is also they need to be connected so early by the ``PVViewer_GUIElements`` class seen before).
+
 In the ParaVis module, the class ``PVGUI_Module`` represents the GUI client compliant with the usual architecture of
 a SALOME GUI module. The implementation is split in three ``cxx`` files:
 
@@ -249,6 +260,7 @@ then it can be defined with the help of the PARAVIS_OPTIONS environment variable
 
 If it is necessary to define several command line parameters, these parameters have to be separated by the “:” character.
 
+
 Various TODO
 %%%%%%%%%%%%