Multiwindow - New Scicos multi-window editor
A serious limitation of the Scicos editor has been its inability to
handle more than one diagram at a time. This limitation has been
lifted; it is now possible to open and edit multiple diagrams as
long as they are sub-diagrams of the same Scicos model. In most cases,
the multi-window editing is needed in this situation. The extension
that would allow the simultaneous editing of multiple Scicos models is
forthcoming.
There are a number of new functionalities available in the new editor
for taking advantage of its muti-windows capabilites. This document
gives a brief description of these functionalities.
In the new editor multiple diagrams can be simultaneously
open. Standard object editing capabilities are available in all of the
diagrams as usual (but not palettes which are read only). But editing
across diagrams is also allowed. For example a block can be ``copied''
in one diagram and ``pasted'' to another one.
Any action on a diagram window, such as clicking or selecting a menu,
activates the diagram. In most cases the user does not care which
diagram is active because most operations activate the diagram in
which the action has taken place immediately in a completely
transparent manner.
When a diagram is activated, all the necessary steps are taken by
Scicos to make sure that the environment of the diagram is up to
date. In particular, the symbolic parameters defined in the context of
the diagram and all other diagrams above it are available. This
implies that the user can start editing the diagram without any risk
of inconsistency with the rest of the model.
In most cases, inactive diagrams are also up to date. There is however
an exception. If the number of input/output ports of a Super Block is
modified, the parent diagram is affected. If the parent diagram is
open, it should be updated. This modification however is not
materialized until either the first diagram is closed or the parent
diagram is activated. Once again there is no risk in creating any
inconsistency because the parent diagram, which may not be up to date
at a given time, cannot be edited without being activated.
It is very easy to lose track of the topology of a model when many
diagrams are open at the same time. To obtain a hierachical view of
the structure of the model, a Browser functionality has been made
available. The Browser gives a global view of the full model as a tree
like structure. It also indicates the node corresponding to the active
diagram (diagram in which the Browser operation has been launched).
The Browser is more than just a viewing facility. By double clicking
on a node in the Browser, the corresponding diagram is activated
(opened first if not already open). The main diagram, which
is the root of the tree like structure in the Browser, is not a
node. To activate the main diagram use the
``Diagram/Up_to_Main_diagram'' menu.
Note that the Browser display is not updated dynamically as the diagram is
edited. So if a Super Block is removed or a new one is created, the
tree structure would no longer be correct. In that case the Browser must
be launched again.
Scicos has always had a single step undo facility. This has not
been really improved in the new editor, however, now each diagram has
its own single step undo facility. In most cases the undo operations
are independent from one window to another, but there is an
exception. If a low-level diagram of a diagram is edited, the undo
operation in this latter diagram can undo all the editing done in the
low-level diagram since it has been opened. To avoid loss of work by an
inadvertent undo operation, a warning message is displayed in such situations.
One of the most important features of the new editor is that it allows the user
to activate the Scilab shell without really leaving Scicos. Such a
functionality did exist previously through the Calc command. But Calc activated
the Scilab shell under the pause environment. Even though user could have used this
environment to perform calculations, the result was lost upon leaving the shell
back to Scicos. This was particularly annoying for loaded functions which were
not usable in Scicos.
The Activate Scilab Window operation in Tools menu activates the Scilab prompt
at normal level. This operation is particularly useful for From/To workspace
blocks. For most usages, except perhaps very advanced debugging, this operation
replaces the Calc operation.
Ramine Nikoukhah INRIA