3.1 Diagram Editor
 | See
also the Menu Reference, Section
7.6. |
The
Diagram Editor
is a tool for creating, managing and
maintaining graphs as
diagrams. With a Diagram Editor you
can view and edit graphs as well as make or view explosions and decompositions
between several graphs. Basically, except for the notation of the selected
method, the tool always looks the same. For example, in
Figure 3-1 we have two Diagram Editors
open, containing different types of graph, i.e. graphs from different methods.

Figure 3-1. Two Diagram Editors.
3.1.1 Diagrams
Opening diagrams with a Diagram Editor
To open a Diagram Editor:
1) | Choose
Editors | Diagram Editor... in the Launcher.
|

Figure 3-2. Selecting a graph to open.
2) | Select
a graph from the dialog (e.g. ‘Sales system’) that will appear
(Figure 3-2), and click the OK
button.
|
3) | Select the
available representation from the dialog that appears, and
click OK (Figure 3-3). If you
want to make a new representation select ‘Create new diagram’ (the
last item in the list). This selection opens the selected graph but allows you
to make a different representation version of it. Thus, you can have a different
layout and subset of the contents of the graph. |

Figure 3-3. Selecting a diagram to open.
 | The
dialog for representation selection does not necessarily appear. It depends on
the representations available and the current dialog options (see Section
2.1.3 Options
Tool). |
As a result, you should now have a
Diagram Editor open on the selected graph. If you selected ‘Sales
system’ from the ‘demo’ repository the Diagram Editor window
is shown as in
Figure 3-4. Depending on
your preferences a toolbar may open below the menu bar.
 | By
keeping shift pressed during the open operation, you can open the graph without
locking it. This is especially useful in a multi-user environment when you just
want to view the graph and allow another user to change it at the same
time. |

Figure 3-4. Diagram Editor opened on a graph.
Creating diagrams
To create a new diagram:
1) | Choose
Editors | Diagram Editor in the
Launcher. |
2) | Select
the last item ‘create new graph’ from the dialog that opens (see
Figure 3-2), and click OK. You
can also double-click the item on the list to make a selection and accept
it. |
3) | As a
result a dialog like that in Figure 3-5
appears asking you to select a method. Choose one from the method list and click
OK. |
4) | After
selecting a method a new graph is created and you are
prompted for its properties, e.g. its name: fill them in and click
OK. |

Figure 3-5. Selecting a graph type to create.
As a result,
you should now have an empty Diagram Editor open on a new graph of the selected
method.
Managing diagrams
As in all editors in MetaEdit+, the Graph menu allows
users to create, open and edit graphs. For example, the same function that was
previously used to open a diagram can be accessed from Graph | Open... as
well. Similarly, new diagrams can be created by selecting Graph | New...
and by following the same instructions as described above.
To edit the
properties of the graph
itself select
Graph | Properties..., and a dialog similar to that in
Figure 3-6 will appear. In the dialog,
properties of the graph can be edited and modifications accepted by selecting
OK. See Section
2.3.1 for more
information on such property dialogs.

Figure 3-6. Property dialog for a graph.
The Graph menu
also includes functions to view a diagram in other representations (i.e. as a
matrix or as a table) or to browse the diagram in a Graph Browser. Basically,
the Graph | View functions open this graph in the tool chosen. The other
editors, i.e. Matrix Editor and Table Editor, are described in later
sections.
You can also open the Info Tool for the graph by selecting
Graph | Info... (see Section
2.3.3).
Importing existing graph elements into a Diagram
Editor
The Diagram Editor also allows you to update a diagram
representation of a graph with information that has been added in another
representation of the same graph.
To update a diagram with changes made to the same graph in
a Matrix Editor or other tool select Graph | Import Graph. This function
automatically fetches and adds all representations of new objects and their
relationships to the Diagram Editor so that the user can edit or move them to
the positions he or she wants.
Note that this function is called automatically when
opening a new diagram on an existing graph.
Printing a diagram
To print the diagram select
Graph | Print.... You are
first asked for the printer, then for the scale of the printout or how many
pages you want to print over (see
Figure 3-7). By default, printing is of
the whole used area of the diagram at a single page.

Figure 3-7. Print settings dialog.
When you press
OK
in the print scale dialog the output is sent to the printer. You may also use a
print preview tool by pressing
Preview button. The preview tool shows the
output a page at a time. Pressing the
Print button actually sends the
output to the printer and closing the window cancels printing. You can choose to
print only the visible area of the diagram or the whole used area of the
diagram, at a specific scale or over a certain number of pages. These more
advanced features are described in Section
4.2.
Exporting diagrams
Diagrams can be exported in several formats. The choice of
format will largely depend on the capabilities of the program in which you want
to import the resulting picture.
Clipboard as Bitmap lets you select an area of the
visible diagram and export it as a bitmap to the system Clipboard. The exporting
function asks you to frame the area to export by clicking at its top left corner
and dragging to its bottom right corner.
GIF file... exports the whole diagram with the
current zoom factor into a GIF file. GIF files are the standard format for
diagram-like pictures on the World Wide Web.
PICT file... exports the whole diagram at 100% zoom
into a PICT vector graphics .pct file. PICT files can be imported and edited as
vector graphics by most word processing, desktop publishing and graphics
software.
In all exporting formats, the current view filtering
(View | Selected...) settings in the Diagram Editor will be applied to
the exported diagram.
Accessing reports
All reporting functions can be accessed through the Graph |
Reports menu. To select a report to be run:
1) | Select
Graph | Reports | Run....
|
2) | Select a
report from the dialog list. Note that the reports are listed indented under the
graph types that define them: choosing a graph type instead of a report will
have no effect. Figure 3-8 shows an
example of a dialog list for choosing a report. |

Figure 3-8. Choosing a report to run.
After you have
selected a report, the tool runs it and opens a window showing the report
output, or a dialog showing the file(s) to which report output has been sent
(see
Figure 3-9).

Figure 3-9. Dialog showing report output files.
You
can also access the report definition tool to make new reports or to modify
existing ones. To do this choose
Graph | Reports | Create. The reporting
tools are explained in more detail in Section
4.1.4.
Closing a Diagram Editor
To exit the Diagram Editor select
Graph | Exit or use
some other platform dependent closing mechanism: e.g. double-clicking the
top-left corner of the window.
3.1.2 Objects
In general, all the basic functions needed to create, edit,
link and delete elements in a diagram are collected in pop-up menus. Elements of
a diagram include objects, relationships, roles and their properties. Management
of each element is discussed in the following. More detailed descriptions of
these elements can be found from Section
5.2.
Moreover, because diagrams normally have multiple elements
and design situations differ, pop-up menus are implemented so that they
automatically provide the right alternatives for selection. For example when you
have selected an object the possible functions, and therefore also the object
related pop-up menu, are different from when you have selected a relationship.
In the following we shall explain how different elements
of a diagram can be created, updated and deleted.
Adding objects
Objects are the basic elements of graphs. Examples of objects
are an entity ‘Order’ in an Entity-Relationship Diagram, or a
process ‘Verify order’ in a Data Flow Diagram.
To add an object in the Diagram Editor:
1) | Click
the left mouse button at the place that you want to add an object.
|
| If
you are creating the first object, or you have not selected any objects
previously from the Types menu or the toolbar, a dialog opens showing
possible object types to be added.
Figure 3-10 shows such a dialog for a
Data Flow Diagram. Select the object type and press
OK. |

Figure 3-10. Selecting the object type to create.
2) | An
empty dialog opens allowing you to enter design information about the selected
object. In the case of adding a Store in a Data Flow Diagram the dialog looks
like Figure 3-11. Enter a description of
the object and click OK. |

Figure 3-11. Property dialog for a Store.
An object can
also be added with Create Object... from the pop-up menu available when
no element is selected. This is useful when you want to add an object inside the
area of a larger, probably transparent, object: clicking there normally would
simply select the larger object.
Adding existing objects
In many cases it is more practical to reuse design elements
already defined and stored in the repository than to create new elements. To add
objects into the diagram that are already defined elsewhere use the ‘add
existing’ function:
1) | Keep
the shift button pressed and click the left mouse button in a selected place of
the drawing area. Note that none of the elements in the diagram must be
selected. |
As a result a dialog, like that
in
Figure 3-12, opens allowing you to
pick objects that are already defined in the graph that you are using.
Note
that all of them are not necessarily represented in the opened diagram as they
can be represented e.g. in a matrix or in another representation diagram of the
same graph (see Section
5.2.2). The figure below
shows all the objects of the ‘Sales system’ Data Flow
Diagram.
2) | Choose
any of the objects in the list and press
OK. |
As a result, the chosen object will
be added to the graph.

Figure 3-12. Selecting an existing object to add.
The
dialog in
Figure 3-12 also has
additional functions for more complex reuse situations: to fetch information
from other graphs, even if they have other representations, i.e. a matrix or a
table. These options can be selected from the last two items in the
list.
The first of these, ‘
Get an object from another
graph’ opens a new dialog
(
Figure 3-13) for selecting a source
graph from which elements are to be reused.

Figure 3-13. Selecting the source graph for reuse.
 | Please
note that only those objects can be reused whose type is legal in the target
diagram. For example in a Data Flow Diagram you can only fetch processes,
stores, externals, or notes. Thus, if you select an incompatible graph such as a
Class Diagram, there will be no objects available from there for reuse in the
Data Flow Diagram. Depending on your dialog answer preferences (see Section
2.1.3) the tool will not add any objects
to the diagram, or it will open an empty dialog showing that no objects can be
reused from that graph. |
The second reuse
option, ‘
Get an object of a type legal in this graph’, first
offers a dialog for selecting the object type to be reused (similar to that in
Figure 3-10) and then offers a list of
all the objects of the selected type currently loaded in MetaEdit+.
For example, in a Data Flow Diagram when the selected
object type is ‘Process’ a dialog list like that in
Figure 3-14 opens. It contains a list of
all processes that are used in any loaded graph.
 | The
dialog also includes those processes that are part of the diagram that is
already opened in the Diagram Editor. Also, objects of that type may exist that
have not yet been loaded, and hence not appear in the
dialog. |

Figure 3-14. List of all processes to be reused.
When you
press OK, the selected object will be added into the diagram. If you edit any of
these objects, i.e. change the information about the object through a property
dialog, the change will be immediately propagated to that object elsewhere, and
therefore also available to all graphs and tools that use the same
object.
An existing object can also be added with Add Existing
Object... from the pop-up menu available when no element is selected. This
is useful when you want to add an existing object inside the area of a larger,
probably transparent, object: shift-clicking there normally would simply select
the larger object.
Editing objects
Information about each object can be edited by selecting
Properties... from the element’s pop-up menu. To do this:
1) | Select
an object and open the pop-up menu that is related to the selected element (with
the right mouse button).
|
2) | Select
Properties... from that menu.
Figure 3-15 shows an example of this
menu
selection. |
 | You
can change the behaviour of the right mouse button to select an element first,
then open the pop-up menu for it. Ssee Section
2.1.3 Options
Tool. |

Figure 3-15. Opening pop-up menu for an object.
 | You
can also use a shortcut key for opening a property dialog: select the object
with the mouse and then press
Enter. |
As a result a property
dialog opens showing information about the selected object
(
Figure 3-16). Changes to the property
fields in the dialog will update information related to the selected object
(i.e. ‘Verify orders’) in the repository and in all related tools
representing the particular object
. See Section
2.3.1 for more information on property
dialogs.

Figure 3-16. An example of property dialog for an object.
Moving objects
You can also move the positions of objects in the diagram. To
do this:
1) | Select
the object to be moved with the left mouse button and keep the button pressed.
|
2) | Drag the
object to a new location. |
You can select
multiple objects for moving by selecting the first object by clicking it with
the left mouse button, then holding shift down while you click each of the other
objects. Alternatively, you can select all design elements in an area by holding
Ctrl down while you click and drag with the left mouse button to define the area
you want to select.
To move multiple selected objects, click and drag in one
of the selected objects.
Scaling object symbols and aligning them to the grid is
described at the end of Section
3.1.5.
Deleting objects
To remove an object:
1) | Select
it with the left mouse
button. |
2) | Open
the pop-up menu with the right mouse
button. |
3) | Choose
Delete. |
As a result of the operation
the object disappears from the diagram. There are, however, further actions that
may happen if the object is not represented in any other representation of this
graph, depending on the different deletion policies that you can choose through
the Options Tool (see Section
2.1.3).
3.1.3 Relationships and Roles
Selecting relationships and roles
To select a relationship or role, you must click with mouse in
or near one of its selection areas. The selection areas are marks at line
segments: red dots allow to select roles and blue dots allow to select
relationships. If the relationship has graphical symbols or label texts no blue
dot is shown: you can select the relationship by clicking the symbol or label
text area.
When a relationship is selected, the selection area is
visible as the rectangle defined by black filled squares around its symbol or
label, or a single black square at the relationships position (a vertex on the
line or the midpoint if the line is straight).
When a role is selected, the selection areas are visible
as hollow red squares at each vertex of the role line segment, and at the
midpoints of the segments.
Managing relationships
Relationships are connections between objects. In the Diagram
Editor these are represented as lines, possibly with an associated symbol.
Examples of relationships are ‘Inheritance’ in an Object Diagram, or
‘Flow’ in a Data Flow Diagram.
Relationships can be viewed and
edited similarly to objects. To edit the properties of a
relationship:
1) | Click
on a selection area of the relationship (text label, symbol, or blue
dot). |
2) | Open the
relationship’s pop-up menu (with the right mouse button) and select
Properties... Alternatively you may use a keyboard shortcut by pressing
Enter. |
 | You
can change the behaviour of the right mouse button to first select an element
then open the pop-up menu for it. See Section
2.1.3 Options
Tool. |

Figure 3-17. A dialog for editing properties of a relationship.
As
a result a property dialog appears allowing you to edit the information about
the relationship.
Figure 3-17
illustrates an example of a property dialog for a flow named
‘Orders’.
Adding relationships
To add a new relationship:
1) | Optionally,
select the type for the relationship from the Types menu or
toolbar. This choice stays in effect for future
relationship creations in this Diagram Editor, until you click the same
relationship type again (i.e. unselect it to allow any relationship to be
created), or another relationship
type. |
2) | Select
the first object in the
relationship. |
3) | Open
the pop-up menu with the right mouse
button. |
4) | Select
Connect from the pop-up menu.
|
5) | If you want a
relationship other than a straight line, click the left mouse button where you
want each of the break points to be. If the break point would be inside another
object, e.g. a large enclosing object, you must hold shift down while you click
to create a break point. If you want to abandon relationship creation, press the
right mouse button (be careful not to hold it so long that you open a pop-up
menu and choose an
action!). |
6) | Select
the second object in the relationship. |
As a
result a dialog window opens with possible relationships to be added. Each item
is a binding of a relationship and the roles that will be created with the
relationship, and which object will be in which role. Depending on your
preference settings for relationship creation (Section
2.1.3), the order in which you select
objects may affect the choices and assignment of roles to objects. If only one
combination of relationships and roles is possible the tool bypasses this dialog
and the property dialog appears immediately. This dialog contains a notebook
allowing you to enter design information about the relationship and roles.
 | If
a relationship or a role does not have properties, the tab label text on the
notebook page is italicised. The tab label for roles also shows the name of the
object to which that role attaches.
|
7) | Fill
in the properties of the new relationship and roles. Use the tab labels of the
notebook to move between relationship and role
pages. |
8) | Accept
the new relationship by clicking All OK.
|
There is, however, another way to create a
relationship: first select all the objects that belong to the relationship (with
the shift key pressed and clicking the left mouse button) and then select
Connect. In this case you are prompted for the centre point of the
relationship, where any relationship symbol will appear.
 | If
you are creating an n-ary relationship (i.e. a
relationship that has more than two objects connected to each other) you have to
select all the objects first in this way. Later on you can extend an existing
relationship to include an extra object by selecting Add a New Role...
from the pop-up menu of the relationship. |
Adding existing relationships
As with objects you can also add a relationship that was
already defined and stored in another representation of this graph, e.g. in a
Matrix Editor or another Diagram Editor.
To add an existing relationship:
1) | Select
the objects to be connected (with the shift key pressed and clicking the left
mouse
button). |
2) | Open
the pop-up menu with the right mouse
button. |
3) | Choose
Add existing connection... from the
menu. |
As a result of the operation the tool
inserts an available relationship between the chosen objects. If multiple
relationships exist the tool will ask which relationship to add.
Moving relationships
As with objects, relationships can be moved. To do
this:
1) | Click
on the relationship with the left mouse button.
|
 | If
the relationship has no symbol, click on the light blue dot that indicates its
position. If it has a symbol that is currently not visible (e.g. an empty string
property), you can find the relationship’s point by default as the
midpoint of the centre points of the objects
involved. |
2) | Drag
the relationship to a new location. |
The
relationship symbol can be moved to the midpoint between the centres of its
objects, and all existing break points in all roles of the relationship can be
removed by selecting Straighten Line from the pop-up menu of the
relationship.
Scaling relationship symbols and aligning them to the grid
is described at the end of Section
3.1.5.
Management of roles
Relationships are connected to objects through roles.
Typically each relationship has at least two roles and they too can have
properties. An example of a property for a role is a cardinality constraint in
Entity-Relationship-Attribute Diagrams.
Because roles are attached to relationships their
management is closely related to the management of relationships. When a
relationship is created, you are also asked for values for its roles, and when a
relationship is removed the roles too are removed.
Property dialogs for roles can be accessed similarly than
with relationships. To edit roles:
1) | Select
the role by clicking the role selection area (red
dot). |
 | You
can change the behaviour of the right mouse button to first select an element
and then open the pop-up menu for it. See Section
2.1.3 Options
Tool. |
2) | Open
the pop-up menu (with the right mouse button). As a result of the selection a
role part of the relationship is marked with small squares.
Figure 3-18 shows the Diagram Editor
with a role
selected. |
3) | Select
Properties... |
 | As
in other editors, you may also use press Enter to open the property
dialog for the selected role. |
If the role
has properties a dialog opens.
Figure 3-19 shows an example of a
role-related property dialog. It is taken from the object diagram that has
aggregation structures in which the ‘whole’ part of the structure is
specified with a property called ‘Amount/Range’. The dialog shows
that selected amount is ‘0,M’. The property list also includes some
other predefined values that could be used as a value for the
property.

Figure 3-18. Role selected.
Moving roles
Normally roles move together with the relationship and
objects. At some later time after drawing a relationship the relationship line
may need additional
break points. To add a new point to
the existing line:
Select the role by clicking the role selection area (red
dot) with the left mouse button.
1) | To
add a new point, select any of the small red dots at the midpoint of a role line
segment with the left mouse button, and drag it to a new position. To move an
existing point, select the small hollow red square at that point and drag it
with the left mouse button. |

Figure 3-19. Role dialog for cardinality.
All existing
break points in all roles of a relationship can be removed by selecting
Straighten Line from the pop-up menu of the relationship.
Alternatively, individual break points can be removed. To
remove a break point:
1) | Select
the role by clicking the unwanted vertex of the role line segment with the left
mouse
button. |
2) | Start
to drag the vertex role square with the left mouse
button. |
3) | While
dragging, press the shift key. |
As a result,
the vertex in the role line is removed.
Deleting and adding roles
Roles can be deleted by choosing
Delete from the pop-up
menu. Note that if the relationship has only two roles the relationship is
removed as well. Later on you can add a new role to the relationship by
selecting
Add a New Role... from the relationship
related pop-up menu.
Deleting relationships
To delete a relationship:
1) | Select
the relationship (with the left mouse button).
|
2) | Choose
Delete from the relationship’s pop-up
menu. |
When a relationship is deleted the
attached roles are also
deleted.
3.1.4 Subgraphs
Decomposition
Decomposition is an operation that allows the user to perform
an arbitrary diagram levelling. If the method in use uses decomposition,
MetaEdit+ allows the user to decompose elements of a diagram into a new
sub-diagram. You can find out which object types can be decomposed into which
graph types by selecting Help | Method... and the ‘Subgraphs’
help item.
In decomposition, knowledge about the connections of the
decomposed element is stored in the sub-graph as well as the parent graph,
allowing you to maintain consistency between different levels, and to reuse
decompositions with a consistent interface. Thus, decomposition is normally
allowed only between graphs of the same method. A typical example of a method
that uses decomposition to level diagrams is a Data Flow Diagram, in which
Processes can be decomposed into a new Data Flow Diagram. This new diagram
describes the decomposed process in more detail.
In MetaEdit+ two ways of decomposition creation are
supported: decomposing a single object (top-down) or grouping multiple objects
into a new object (bottom-up). In the first case you select a single object and
make a new lower-level subgraph in which you describe its decomposition. In the
latter case you group together a set of objects in a diagram and move them into
a new lower-level subgraph.
1) | Select
an object in a diagram (e.g. process ‘Verify orders’ in a Data Flow
Diagram of the ‘demo’ repository).
|
2) | Open the
object’s pop-up
menu. |
3) | Select
Decompositions....
|
 | Decomposition
is method-dependent. Thus, not all methods use decomposition and diagram
levelling, nor is it necessarily supported in all predefined methods in
MetaEdit+. If decomposition is not allowed for the object the tool opens a
notification dialog. |
Depending on your
dialog answer preferences (see Section
2.1.3) you will be asked whether you
want to attach an existing graph (if any of the right type exist), or create a
new graph as the decomposition graph of the selected object
(
Figure 3-20). If you choose to create a
new graph, you will be prompted for its type, and a property dialog will open on
a new graph of that type. In either case, you will be prompted for which
representation of the decomposition graph you want to open (if there is only one
representation, it will open straight away), or whether you want to create a new
representation.

Figure 3-20. Select the graph type for the new decomposition.
To
view an existing decomposition made according to the previous decomposition
creating guidelines:
1) | Select
the Process (like ‘Verify
orders’), |
2) | Open
the object related pop-up menu with the right mouse
button. |
3) | Select
Decompositions....
|
4) | Select
Open from the dialog that opens
(Figure 3-21). |

Figure 3-21. Opening a decomposition graph.
As can be seen
from
Figure 3-21, you can also replace
an existing decomposition so that the selected object now decomposes to another
graph, or remove an existing decomposition link from that object.
If you choose
Open a new Diagram Editor opens.
Figure 3-22 describes an example of
decomposition in which a process called ‘Verify Orders’ is
decomposed into a sub-diagram.
 | Note
that possible decomposition information for the selected object can be found
from the Info Tool for graphs and from the information bar at the bottom of the
Diagram Editor window. |

Figure 3-22. Decomposition in a Diagram Editor.
Another approach for decomposition
is to select a set of existing objects and their relationships and move them as
a group to a new lower-level diagram. In the parent diagram they are replaced by
a new object whose decomposition is the new lower-level diagram.
To make several objects into a new decomposition
graph:
1) | Select
several objects (by clicking each with the left mouse button with shift held
down, or by holding down ctrl and dragging to outline their
area). |
2) | Select
Make into Decomposition... from the pop-up
menu. |
As a result, a new diagram is created
and the selected objects together with their relationships are moved to this new
diagram. During the decomposition the tool will ask for two sets of
information:
1) | The
type and properties for the new
subgraph. |
2) | The
type and properties for the object to be created to substitute for the elements
moved to the
subgraph. |
 | Note
that this kind of decomposition can only be performed if there are no other
representations of this graph. |
You can
also replace an object with the contents of its decomposition graph
by selecting
Replace with Decomposition either
through the pop-up menu of the object or the
Edit menu. If the
decomposition was originally made from a group of objects in this graph, the
relationships and roles to the decomposed object will be reattached to the
correct objects from the decomposition graph. Note that this does not affect the
decomposition graph itself, which still exists.
Explosions
Explosion forms another way to connect elements of a graph to
other graphs. The difference from decomposition is that explosion creates a
simpler link between an element and a graph whereas decomposition also handles
the relationships attached to the element. Unlike decomposition, explosion is
also possible for relationships and roles. It allows you to make links from a
design element to several graphs, and to have different links for the same
element used in different graphs, whereas an object can have only one
decomposition, which is the same wherever that object is used.
Hence, explosion can also be used between graphs from
different methods. A typical example of explosion can be found from most
object-oriented methods in which an object in a Class Diagram can be exploded
into a State Transition Diagram to describe the behaviour of the object.
Figure 3-23
illustrates the use of explosion: it shows two diagrams, in which an object
‘Passenger’ is exploded to a Object State Diagram which describes
the dynamic part of ‘Passenger’.
To
make, view or remove explosions
select
Explosions... from the object, relationship, or role pop-up menu,
or from the
Edit menu.
 | Note
that any existing explosion information for the selected design element can be
seen from the Info Tool for graphs and from the information bar at the bottom of
the Diagram Editor window. |

Figure 3-23. Explosion in Diagram Editors.
3.1.5 Viewing and formatting
Hiding and showing objects and
relationships
The View function allows you to concentrate on different
aspects of diagrams by hiding or showing selected object or relationship types.
The menu selection
View | Selected... opens a selection dialog, as in
Figure 3-24, allowing you to choose the
object and relationship types to be shown.
To select object or relationship types to be viewed mark
them with a tick ‘ü’. For example, according to the selection
dialog below all components of the Data Flow Diagram are shown except
‘External’ objects.

Figure 3-24. A dialog for selecting object and relationship types
to be shown.
Figure 3-25
shows the result of hiding External objects in a Data Flow Diagram.
Relationships involving hidden objects are only shown if they also involve at
least one object that is not hidden.

Figure 3-25. An example of hiding objects.
Similarly,
View | All shows every object and relationship of a diagram. Hence, this
command automatically ticks every object and relationship type in the selection
dialog (
Figure 3-24).
Zooming
The use of large diagrams necessitates that they can be scaled
to different sizes. By selecting
View | Zoom..., the dialog shown in
Figure 3-26 will appear. By entering a
zoom level, the diagram will be shown scaled to that level. You can also access
zooming through the pop-up menu by pressing the right mouse button when nothing
is selected in the diagram. The current zoom level is shown in the status bar at
the bottom of the Diagram Editor.

Figure 3-26. Selecting the zoom level.
Grid and aligning elements
To help make your diagrams look neater, MetaEdit+ can show a
grid over the diagram, to help you align objects with it. The command
View |
Show Grid allows you to show or hide the grid in the diagram. Merely showing
the grid does not affect object placement, however; the command
View | Align
to Grid aligns
all the object and relationship
centres and role break points according to the selected grid.
You can force the use of the grid when elements are
created or moved by selecting View | Snap to Grid. The centre of
individual elements and role break points will be aligned to the grid in all
operations. If multiple elements are selected and moved, they will maintain
their relative positions to each other, and the whole area will maintain its
relative offset to the grid. Thus elements that were previously aligned with the
grid will still be aligned after the move.
You can change the size of the grid squares using
View
| Choose Grid...
(
Figure 3-27)
.

Figure 3-27. A dialog for selecting a grid size.
As with
zooming you can also access the grid setting through a pop-up menu by pressing
the right mouse button when nothing is selected in the
diagram.
Scaling objects and relationships
You can scale an object or relationship symbol by selecting it
and dragging any of the selection points at its corners or the midpoints of its
sides. To set a particular scale, or scale several elements with the same scale
factor, choose Scale symbol... from the element’s pop-up menu. The
Scale Dialog that opens will initially show the current scale of the (first)
selected object. Pressing Default will remove any scaling, returning the
elements to their default size.