2.2 Browsers and Graph Manager
Browsers are tools for viewing and editing the contents of the
projects in the repository and for manipulating the projects themselves. Through
the browsers the user has access to all available graphs and their currently
loaded elements, such as their objects, relationships, roles, and properties.
Graph Manager allows to inspect contents and links between selected graphs and
export them to another MetaEdit+ Repository.
MetaEdit+ provides two kinds of browsers for viewing
design elements: the Type Browser allows you to browse already loaded elements
by their type, and the Graph Browser allows you to browse all elements by the
graphs which they are in.
 | Browsers
often form the most natural way to find and open graphs, when the graph lists
presented by the individual editors accessed from the Launcher become too
long. |
2.2.1 Type Browser
 | See
also the Menu Reference, Section
7.3. |
The
Type Browser allows you to view and open editors on the elements of methods,
including graph, object, relationship and role types. You can view design
elements of these types by project, and open editors on the design elements. In
addition, you can open, close and create projects. Thus, Type Browser is used
both for working with methods, and for working with graphs and their elements,
in the case that the user knows the type of the element.
To open a
Type Browser click the
Types button from the MetaEdit+ Launcher (or alternatively select
Browsers | Type Browser).
Figure 2-15 shows a Type Browser window.
The
browser window contains three main elements: a list of
projects, a list of types, and a list of instances.

Figure 2-15. Type Browser.
The left-hand list shows all the
projects
that are currently opened in the MetaEdit+
client. Highlighted project names (like ‘Tutorial’ in the figure)
indicate which of the projects are selected for browsing in the repository, i.e.
which projects the instances in the right hand window belong to. Note that
selecting a project only affects what is visible in this browser, and does not
actually open or close any project.
The list in the middle then shows all the available method
types of that kind. You may determine which kind of types (graph, object,
relationship, role or property types) are visible in the middle list from the
pull-down list labelled
Show. By default all the graph types are shown,
as in
Figure 2-15.
 | Note
that the type list is not restricted by the project selections in the left-hand
list. |
Selecting a type in the middle list
fills the right hand list with all the currently loaded instances of that type
that are in the selected projects. The contents of the instances list on the
right thus change according to the selections made in the other two lists and in
the Show pull-down list. For example, in
Figure 2-15 the user is browsing all
‘Class Diagram [UML]’ graphs in the ‘Tutorial’
project.
 | If
there are no projects selected, no instances will be visible in the instance
list when you choose a type! |
To help
browsing when there are many types or instances two additional fields at the
bottom of the window can be used to set filters for the lists. By typing
‘B*’ in the field below the instance list
(
Figure 2-15), you can filter the list
to show only instances starting with a capital letter B. Wildcards can be used:
‘*’ to represent any sequence of characters, and ‘#’ to
represent any single character.
Default project
The default project field shows in which project new graphs
will be stored. New graph representations and design elements are automatically
stored into the same project as their graphs.
Only one project can be set as the default (e.g. Tutorial
in
Figure 2-15) but multiple projects
can be open for example for viewing and reuse purposes. Thus, the default
project
setting is generally the project that you are
actually working on: i.e. in which you add new graphs, objects etc.
You can set the default project by choosing the project
name from the Default project pull-down list under the project
list.
Load More Repository
In general, browsing design data by type will only show that
data that has already been read from the repository (all graphs in a project and
their immediately contained objects, roles and relationships are read
automatically when the project is opened). Because MetaEdit+ intelligently loads
information from the repository only as it is accessed, and flushes little-used
objects when memory is low to improve performance, some objects may not be found
when accessed by their type. Especially at the start of a session, searches by
type on data other than graphs is likely to miss many objects, as they have not
yet been loaded.
Load More Repository allows
you to load more of the repository contents, and can be used if you think there
should be an instance available but MetaEdit+ does not list it. Another way is
to access the object by following links from objects already loaded, e.g.
opening graphs or property dialogs.
Managing projects
Through the
project pop-up menu you can
choose the projects which you want open. To open projects:
1) | Open
the project list’s pop-up menu with the right mouse
button. |
2) | Choose
Open... from the menu. |
As a result a
dialog opens with a list of possible projects to be opened
(
Figure 2-16). The projects available
are those to which you have access rights, and which are not yet open. If a
project has not yet been explicitly opened, but you have already referenced some
data there (often methods), the project will be marked with an asterisk
‘*’. Opening projects may take a little while, depending on their
size.

Figure 2-16. A dialog for selecting projects to be opened.
Similarly,
you can close projects by c
hoosing
Close... from
the project pop-up menu and selecting them in the list dialog that opens. If you
close all projects, you will be prompted to open another project. If you close
the default project, you will be prompted to choose another project as the
default.
The Type Browser also allows
you to
create new projects by selecting
New... from the project’s pop-up
menu. Check with your system administrator about project creation and naming
conventions. Note that you must remember to set the new project as default in
order to add graphs and related design information to it.
Managing types
Types shown in the middle list can be selected through the
Show pull-down list: selecting Graphs shows all graph types in the list,
Objects all object types, Relationships all relationship types, Roles all role
types and Properties all property types respectively.
The pop-up menu for the types list allows you to view, get
information, temporarily remove, and salvage removed types. The types in the
list are organised according to their inheritance structure: Hide/Show
Hierarchy on the pop-up menu will hide or show all subtypes of the selected
type.
In addition, all graph types have pop-up menu function for
creating new graphs. To create a graph in the Type Browser:
1) | Select
‘Graphs’ from the Show pull-down menu (if not already
selected). |
2) | Select
a method (e.g. Class Diagram [UML]) with the left mouse
button. |
3) | Open
the pop-up menu with the right mouse
button. |
4) | Choose
Create Graph... from the
menu. |
A property dialog appears asking
information about the graph to be created. After entering information and
pressing OK a new graph with the given properties appears in the list on
the right.
 | The
graph will not be shown if the default project is not selected in the projects
list, or if the instances list has a filter which does not match the
graph’s name. |
The list of the
instances on the right also has a pop-up menu.
Figure 2-17 shows the menu opened when
viewing graphs.

Figure 2-17. Menu for managing graph instances.
Managing graphs
From the menu of the instance list you can view the properties
of instances and open an Info Tool. If graph types are browsed, i.e. Graphs is
selected from the Show pull-down list, you can open graphs in editors,
delete them and their representations, as well as access the reporting tools.
This menu is largely similar to the Graph menu in the editors. However,
the Type Browser also allows you to delete graphs and their representations. The
latter function is especially useful if you have created multiple
representations of the same graph or made it with several editors and want to
delete some of them.
To delete a graph:
1) | Select
a graph from the list (with the left mouse
button). |
2) | Open
the pop-up menu (with the right mouse
button). |
3) | Select
Delete Graph..., and the tool will ask you for
confirmation for the operation. |
Similarly, you
can delete some or all representations of a graph, but leave the conceptual
graph. Note that if you delete all representations, all relationships will be
deleted, and objects may be deleted depending on your current deletion settings.
If you want to keep the conceptual relationships and objects, open a new diagram
representation on the graph first, and do not delete that. Alternatively, you
could open a Diagram Editor and select and copy the elements you want to keep.
After deleting the unwanted representations, you can open a new diagram for that
graph and paste the copied elements there.
To delete representations of a graph:
1) | Select
a graph from the list (with the left mouse
button). |
2) | Open
the pop-up menu (with the right mouse
button). |
3) | Select
Delete
Representation... |
A
list dialog opens for selecting the representations to be deleted
(
Figure 2-18).
4) | Choose
the representations to delete and press
OK. |

Figure 2-18. Select representations to be deleted.
Managing other instances
Objects, roles and relationships have two menu selections:
Properties... for viewing the properties of the given element, and
Info... for inspecting in which graphs and their representations the
current element is used. These functions are available in many tools of
MetaEdit+, and are explained in more detail in Sections
2.3.1 and
2.3.3.
2.2.2 Graph Browser
 | See
also the Menu Reference, Section
7.4. |
Another
browser is the Graph Browser. It provides a graph hierarchy based view on the
repository. Thus, browsing is done according to the selected graph, in contrast
to the Type Browser, which shows the elements of a given type. The Graph Browser
allows you to inspect the contents of the selected graph, and perform operations
on the graph and its contents.
To open a
Graph Browser click the
Graphs button from the MetaEdit+ Launcher.
Figure 2-19 shows a Graph Browser
window.

Figure 2-19. Graph Browser.
The list on the left shows open
projects, in the same way as the Type Browser. The highlighted projects in the
list form the criteria for viewing graphs in the middle list.
The middle list shows all the available graphs that belong
to the chosen projects, and the list on the right shows the elements of the
selected graph. You may determine which elements (objects, relationships, or
roles) of the selected graph are visible in the right hand list from the
pull-down list labelled
Show. Currently in
Figure 2-19 all objects of the graph
‘Inventory use cases’ are shown.
To help browsing when there are many types and instances
two additional fields at the bottom of the window can be used to set filters for
the lists. The default filter ‘*: *’ shows all instances and all
types. For example, to view all use cases starting with a capital letter P from
a selected graph enter ‘P*: Use case [UML]’. The wildcard
‘*’ represents any sequence of characters, and ‘#’
represents any single character.
Browsing graph hierarchies
Graph Browser also allows you to inspect hierarchies between
graphs. Whether the hierarchy shown is that of decomposition, explosion, both of
them (the default setting) or none can be changed from the
Tree pull-down
list. In
Figure 2-19 the hierarchy is
shown according to explosion structures: e.g. ‘Inventory use cases’
graph has one direct subgraph called ‘Product
availability’.
 | Note
that a graph may occur more than once in the hierarchy, e.g. if it is used as a
decomposition of an object in several different graphs. In this case, the
hierarchy below that graph is shown only the first time it occurs: only the
graph itself is shown below each graph for which it is a
subgraph. |
Default project
The default project field shows in which project new graphs
and types will be stored. New graph representations and design elements are
automatically stored into the same project as their graphs.
Only one project can be set as the default but multiple
projects can be open for example for viewing and reuse purposes. Thus, the
default project
setting is generally the project that you
are actually working on: i.e. in which you add new graphs, objects etc.
You can set the default project by choosing the project
name from the Default project pull-down list under the project
list.
Managing projects
The project list menu provides the same functions as the Type
Browser: with the Graph Browser you can open, create and close projects from the
client as well as choose projects to be viewed in the browser.
Managing graphs
The pop-up menu for the Graphs list is similar to that in the
instances list of a Type Browser showing Graphs (see
Figure 2-17 and the description of the
menu there). The graph list is organised by the hierarchical structure of graphs
and their subgraphs:
Hide/Show Hierarchy on the pop-up menu will hide or
show all subgraphs of the selected graph. If a different kind of hierarchy is
selected from the
Tree pull-down list, all hidden graphs are shown
again.
If no graph is currently selected, the menu allows you to
create a new graph. You can then select that graph and open it in an
editor.
Managing other elements
The element list on the right has two operations: inspecting
the properties of the element, and its use in different models. To open a
property dialog for a given element in a Graph Browser:
1) | Double
click the element with the left mouse button.
Or |
1) | Select
an element with the left mouse button.
|
2) | Open the
pop-up menu (shown on the right in
Figure 2-20).
|
3) | Select
Properties... |

Figure 2-20. Opening a dialog for an element in browser.
The
property dialog for the selected object opens. In our example of
Figure 2-20 the dialog would open for
Actor ‘Foreman’, allowing you to edit its properties. Similarly, you
can open an Info Tool for the selected object by choosing
Info from the
pop-up menu. Property dialogs and the Info Tool are described in more detail in
sections
2.3.1 and
2.3.3.
2.2.3 Graph Manager
 | See
also the Menu Reference, Section
7.5. |
Graph
Manager is a tool for inspecting links between graphs and graph elements, and
for exporting graphs into an external file. To open Graph Manager select
Browsers | Graph Manager.
Figure 2-21 shows a Graph Manager
Window.

Figure 2-21. Graph Manager
Graph Manager shows two lists.
The left-hand list shows the graphs of projects which are currently open in the
MetaEdit+ client. By default the graphs are ordered alphabetically, with no
hierarchy. You may change the ordering from the pull-down list above the graphs
list. Graphs can be ordered according to the hierarchy of explosion and/or
decomposition links. The right-hand list shows all currently loaded graphs and
objects.
Both lists have pop-up menus which allow you to edit the
properties of the element (
Properties...), open it in an editor (
Open
Element...), and ask information about the usage of the current design
element with Info Tool (
Element Info) (see Section
2.3.3 below).
Exporting graphs
MetaEdit+ allows you to export and import design information
and method information between repositories. Graph Manager allows you to export
selected graphs and their elements, along with the necessary method information.
Any user can export graphs, but because importing will overwrite existing method
information with that of the exported graphs, only system administrators can
import graphs. Therefore, guidelines for importing are explained in the System
Administrator’s Guide.
To export graphs:
1) | Open
the projects containing graphs to be exported. You should generally commit or
abandon to ensure that you do not have uncommitted changes. MetaEdit+ warns you
about uncommitted changes during exporting, to help ensure that exported graphs
are in a state which the designer has accepted with commit. You should also
close all open editors while
exporting. |
2) | Select
Browsers | Graph
Manager. |
3) | Select
the graphs to be exported from the left-hand list by clicking them with the left
mouse button. You can select all graphs from the pop-up menu of the list
(Select All).
|
4) | Press the
arrow button between the lists. This updates the right-hand
list by selecting the elements that are included in the selected graphs. This
operation may take some time, especially the first time, when all the data must
first be loaded from the repository. The selected elements are ordered by their
metatype (Graph, Object, Relationship, Role), type name, and identifying
property. You may choose any of the elements from the list on the right to see
the reason why that item was included. Note that graphs reached by explosion,
decomposition or property links will be included along with their properties,
but without their contents; similarly the types of their contents will not be
exported. To export the whole graphs, choose them in the left list.
|
5) | Choose
Save Selected Elements... from the right-hand list’s pop-up
menu. |
6) | Give a
name for the export file (with extension .pat) and for your current repository.
The repository name is needed because target repositories remember the source
repositories from which they have imported models. The use of the same
repository name allows models to be exported from a given source repository to a
given target repository many times, updating the previously imported models. If
the name is different, new graphs, objects etc. will be
created. |
Inspecting element users
Graph Manager allows you to inspect the usage of individual
elements: to see the design elements that refer to the selected element. To
inspect element users:
1) | Open
projects containing the elements to be inspected: both the used element and
possible using elements.
|
2) | Select
Browsers | Graph
Manager. |
3) | Select
graphs from the left-hand list. Normally you should select all graphs (Choose
Select All from the pop-up
menu). |
4) | Press
the arrow button between the lists. This updates the
right-hand list by selecting the elements that are included into the selected
graphs. It also updates the cached list of using elements for each of the
elements in the right-hand
list. |
5) | Select
the element to be inspected by clicking it in the right-hand
list. |
6) | Choose
Show Element Users... from the pop-up menu attached to the selected
element. |
A list dialog opens showing all
elements which refer to the selected element.
Figure 2-22 shows the element usage
window for attribute ‘Height’.

Figure 2-22. Inspecting usage of element ‘Height’ (1).
From
the list you can select one or more referring elements to inspect which elements
in turn use them, or open the elements by holding shift down while pressing
OK.
To inspect where the Attributes property containing
Height, Length and ShelfID is used, select it from the list dialog and press
OK. A new dialog opens
(
Figure 2-23) showing that
‘Height’ is one of the attributes of a class ‘Shelf’.

Figure 2-23. Inspecting usage of element ‘Height’ (2).
To
open the graph in which the class ‘Shelf’ is used, select it from
the list, and click OK while holding shift down. As a result, an editor
opens, scrolling to and selecting the class ‘Shelf’. If the class is
located in several graphs or in several graph representations, you will be asked
to choose which representation to open.