Salome HOME
bos #29864 Irrelevant assert in test.
[modules/yacs.git] / doc / gui_components.rst
index 6a4293eb61eae17fdab38decd43748929d85edf3..6997e162449d0333099b5b6e2cd7304c73b41c7b 100644 (file)
@@ -11,7 +11,14 @@ The Object Browser is a reusable SALOME GUI component. All schemas created or im
 
 The SALOME Object Browser is only used to publish the run of the schema as a whole, i.e. just a name for the run, and under this name, the outputs of the run that are published in study for the use of other SALOME modules.
 
-To see an example of the Object Browser data structure refer to the :ref:`mainwindow`.
+
+.. image:: images/objectBrowser.png
+  :align: center
+
+.. centered::
+  **SALOME Object Browser tab**
+
+The Object Browser is in a tab, with tree_view: see the :ref:`Main window <mainwindow>`.
 
 .. _tree_view:
 
@@ -29,9 +36,8 @@ The proposed YACS tree view organization in edition mode is shown on figure belo
 
 
 
-.. image:: images/tree_view_0.jpg
+.. image:: images/tree_view_edition.png
   :align: center
-  :width: 40ex
 
 
 
@@ -55,45 +61,96 @@ The description of each object type is given in the table below.
 .. |stream| image:: images/stream_link.png
 
 
-============================================================= ======================================= =====================================
-**Object**                                                              **Icon**                          **Description** 
-============================================================= ======================================= =====================================
-Schema_Name [note_]                                             |schema|                               A schema object, which has the same name as a name of loaded XML file of a graph, or 'Schema1', 'Schema2', etc. if this is a new created schema. The corresponding object is published as SObject in Object Browser for normal operation of SALOMEDS study persistence. The study persistence consists in saving the xml file of the schema. 
+==================================== ======================================= =======================================================
+**Object**                                     **Icon**                          **Description** 
+==================================== ======================================= =======================================================
+Schema_Name [note_]                     |block|                                A schema object, which has the same name as a name of 
+                                                                               loaded XML file of a graph, or 
+                                                                               'Schema1', 'Schema2', etc. if this is a new 
+                                                                               created schema. The corresponding object is 
+                                                                               published as SObject in Object Browser for 
+                                                                               normal operation of SALOMEDS study persistence.
+                                                                               The study persistence consists in saving the xml file 
+                                                                               of the schema. 
+                                                                               The list of nodes included into the edited
+                                                                               schema is represented.
+
+Types                                                                          A folder under which a list of data types 
+                                                                               defined in the schema is represented. 
+
+Block_Name [note_]                      |block|                                A block node object. This object is published as a 
+                                                                               label under the schema/another composed node object 
+                                                                               in which it includes. A block node object is created 
+                                                                               when the corresponding schema object containing this 
+                                                                               block node is imported or a new block node is created 
+                                                                               inside this schema. 
+
+Loop_Name [note_]                       |loop|                                 A loop node object. This object is published as a label 
+                                                                               under the schema/another composed node object in which it 
+                                                                               includes. A loop node object is created when the 
+                                                                               corresponding schema object containing this loop node is 
+                                                                               imported or a new loop node is created inside this schema. 
+
+Switch_Name [note_]                     |switch|                               A switch node object. This object is published as a label 
+                                                                               under the schema/another composed node object in which it 
+                                                                               includes. A switch node object is created when the 
+                                                                               corresponding schema object containing this switch node 
+                                                                               is imported or a new switch node is created inside 
+                                                                               this schema. 
+
+Node_Name [note_]                       |node|                                 An elementary node object. This object is published as a 
+                                                                               label under the schema or composed node object in which 
+                                                                               it includes. An elementary node object is created when 
+                                                                               the corresponding schema object containing this node is 
+                                                                               imported or a new elementary node is created inside 
+                                                                               this schema. 
+
+Input_Port_Name                         |inport|                               An input port object. It is published in the edition tree 
+                                                                               view under the node which is belong to. 
+
+Output_Port_Name                        |outport|                              An output port object. It is published in the edition tree 
+                                                                               view under the node which is belong to. 
+==================================== ======================================= =======================================================
 
-Data Types                                                                                             A folder under which a list of data types defined in the schema is represented. 
-Simple                                                                                                 A folder under which simple data types (Double, Int, String, Bool) are published. 
-Objref                                                                                                 A folder under which object reference data types are published. Objref data type is a predefined YACS data type for reference objects. It is obtained from a Catalog of Data Types. 
-Sequence                                                                                               A folder under which sequence data types are published. Sequence data type is a predefined YACS data type for sequence objects. 
-Array                                                                                                  A folder under which array data types are published. Array data type is a predefined YACS data type for array objects. 
-Struct                                                                                                 A folder under which struct data types are published. Struct data type is a predefined YACS data type for struct objects. 
-Nodes                                                                                                  A folder under which a list of nodes included into the edited schema is represented.
+.. _description_of_link_objects:
 
-Block_Name [note_]                                               |block|                               A block node object. This object is published as a label under the schema/another composed node object in which it includes. A block node object is created when the corresponding schema object containing this block node is imported or a new block node is created inside this schema. 
+Links, containers and components table.
 
-Loop_Name [note_]                                                |loop|                                A loop node object. This object is published as a label under the schema/another composed node object in which it includes. A loop node object is created when the corresponding schema object containing this loop node is imported or a new loop node is created inside this schema. 
-Switch_Name [note_]                                              |switch|                              A switch node object. This object is published as a label under the schema/another composed node object in which it includes. A switch node object is created when the corresponding schema object containing this switch node is imported or a new switch node is created inside this schema. 
-Node_Name [note_]                                                |node|                                An elementary node object. This object is published as a label under the schema or composed node object in which it includes. An elementary node object is created when the corresponding schema object containing this node is imported or a new elementary node is created inside this schema. 
-Input_Port_Name                                                  |inport|                              An input port object. It is published in the edition tree view under the node which is belong to. 
-Output_Port_Name                                                 |outport|                             An output port object. It is published in the edition tree view under the node which is belong to. 
-============================================================= ======================================= =====================================
+======================================= ======================================= ==============================================================================
+**Object**                                       **Icon**                                **Description** 
+======================================= ======================================= ==============================================================================
+Links                                                                            A folder under which links are published. Links internal to a 
+                                                                                 block (composed node) are represented under the block. Three kinds 
+                                                                                of links (control, dataflow, datastream) can be put directly into 
+                                                                                the 'Links' folder under the block if they exist. 
+                                                                                **NB!** A link is called internal to a block if it has its input and 
+                                                                                output on nodes inside the block. These concept and representation 
+                                                                                is convenient for cut and paste operations of block. 
 
-.. _description_of_link_objects:
+Node_From -->> Node_To                      |control|                            A control link object with a symbolic name. This object is published as 
+                                                                                 a label under the corresponding 'Links' folder. 
 
-Links, containers and components table.
+Node.Port_From -> Node.Port_To              |data|                               A data link object with a symbolic name. This object is published as 
+                                                                                 a label under the corresponding 'Links' folder. 
+
+Node.Port_From -> Node.Port_To              |stream|                             A datastream link object with a symbolic name. This object is published as 
+                                                                                 a label under the corresponding 'Links' folder. 
+
+Containers                                                                       A folder under which a set of containers referenced from the currently 
+                                                                                 edited schema is represented. 
+
+Container_Name [note_]                      |container|                          A container definition (not instanciated during the edition). This object 
+                                                                                 is published as a label under Containers parent object, and gives access 
+                                                                                by the corresponding property page to its properties (cf. SALOME life 
+                                                                                cycle CORBA & Container manager). 
+
+SALOME_Component_Name [note_]               |component|                          A SALOME component instance definition (not instanciated during the edition). 
+                                                                                 This object is published as a label under the container definition in which 
+                                                                                it includes. 
 
-============================================================= ======================================= =====================================
-**Object**                                                              **Icon**                          **Description** 
-============================================================= ======================================= =====================================
-Links                                                                                                  A folder under which links are published. Links internal to a block (composed node) are represented under the block. Three kinds of links (control, dataflow, datastream) can be put directly into the 'Links' folder under the block if they exist. **NB!** A link is called internal to a block if it has its input and output on nodes inside the block. These concept and representation is convenient for cut and paste operations of block. 
-Node_From_Name --> Node_To_Name                                  |control|                             A control link object with a symbolic name. This object is published as a label under the corresponding 'Links' folder. 
-Node_From_Name.Port_From_Name --> Node_To_Name.Port_To_Name      |data|                                A data link object with a symbolic name. This object is published as a label under the corresponding 'Links' folder. 
-Node_From_Name.Port_From_Name --> Node_To_Name.Port_To_Name      |stream|                              A datastream link object with a symbolic name. This object is published as a label under the corresponding 'Links' folder. 
-Containers                                                                                             A folder under which a set of containers referenced from the currently edited schema is represented. 
-Container_Name [note_]                                           |container|                           A container definition (not instanciated during the edition). This object is published as a label under Containers parent object, and gives acces by the corresponding property page to its properties (cf. SALOME life cycle CORBA & Container manager). 
-SALOME_Component_Name [note_]                                    |component|                           A SALOME component instance definition (not instanciated during the edition). This object is published as a label under the container definition in which it includes. 
-CORBA_Component_Name [note_]                                     |component|                           A CORBA component object, which has the same name as a name of created component. This object is published as a label under the 'Containers' folder directly. 
-\*Node_Name                                                                                            A reference to the service node published above. This object is published under the component object from which its service is taken.
-============================================================= ======================================= =====================================
+\*Node_Name                                                                      A reference to the service node published above. This object is published 
+                                                                                 under the component object from which its service is taken.
+======================================= ======================================= ==============================================================================
 
 .. _note:
 
@@ -107,9 +164,8 @@ Run mode of the Tree View
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
-.. image:: images/tree_view_1.jpg
+.. image:: images/tree_view_1.png
   :align: center
-  :width: 40ex
 
 
 
@@ -133,15 +189,18 @@ There are three modes which are available in the run mode of the schema. They ar
 
 .. _viewer:
 
+
 2D Viewer
 ---------
-The user can display a presentation of the schema in the 2D Viewer based on the Qt drawing capabilities. The high-level 2D Viewer classes from SALOME GUI QxGraph package are used for this purpose. QxGraph classes also support interactive selection/hilighting in 2D View with the mouse, however selection capabilities will not be used in YACS GUI for SALOME 4.1.
+The user can display a presentation of the schema in the 2D Viewer based on the Qt drawing capabilities. The high-level 2D Viewer classes from SALOME GUI QxGraph package are used for this purpose. QxGraph classes also support interactive selection/hilighting in 2D View with the mouse.
 
 
 
-.. image:: images/2d_viewer_0.jpg
+.. image:: images/2d_viewer_0.png
   :align: center
 
+.. centered::
+  **2D Viewer**
 
 
 .. _view_operations_toolbar:
@@ -173,7 +232,7 @@ The 2D Viewer has its own View Operations toolbar, which contains buttons for th
 
 Input Panel
 -----------
-The properties of each object type, such as container, component, schema, node and link (for the future version!), are displayed within the Input Panel placed in the right part of the desktop.
+The properties of each object type, such as container, component, schema, node and link, are displayed within the Input Panel placed in the right part of the desktop.
 
 The Input Panel is a dock window and consists of the several property pages. Each property page allows seeing or modifying the properties of the object with the certain type (see :ref:`edit_object` section). The user can see property pages of the several types of objects at the same time (for example, property page for a service node and for a container).
 The selection of an object either in the Tree View or 2D Viewer will display its property page in the Input Panel.
@@ -184,9 +243,8 @@ As an example, there are two property pages for inline script node on the pictur
 
 
 
-.. image:: images/input_panel_0.jpg
+.. image:: images/input_panel_0.png
   :align: center
-  :width: 47ex
 
 
 .. centered::
@@ -195,34 +253,29 @@ As an example, there are two property pages for inline script node on the pictur
 
 
 
-.. image:: images/input_panel_1.jpg
+.. image:: images/input_panel_1.png
   :align: center
-  :width: 47ex
 
 
 .. centered::
   **Node property page in run mode**
 
 
-Python Console
---------------
-The Python Console permits the user to invoke some YACS functionality from Python, for example, import XML graph with old format (SALOME Supervisor) from Python Console. Example of usage:
-
-
-
-.. image:: images/python_console_0.jpg
-  :align: center
-
-
 
+.. _catalogs_tree_view:
 
-Log Window
-----------
-The Log Window permits the user to follow the execution process of the schema. The YACS engine console output, including error messages, is redirected to the Log Window.
+Catalogs Tree View
+------------------
+The Catalog tree give acces to data types and node types from several catalogs. By default, the Builtin Catalog, the Session Catalog and the
+Preference Catalog are available. Builtin Catalog provides standard data types, standard elementary node types and all the Composed Nodes types.
+Session Catalog is built with all the Module Catalogs defined in the current SALOME Session. Preference Catalog is defined in the preferences.
+Any existing YACS schema file can be imported as a catalog, to allow reutilization of data types or component definition. 
 
 
-
-.. image:: images/log_window_0.jpg
+.. image:: images/catalogs.png
   :align: center
 
 
+.. centered::
+  **Catalog Tree View**
+