Using the Diagram View

From ProcessDB
Jump to navigation Jump to search

This page contains tips, tricks, and some details on how to use the diagram view in ProcessDB. This only works for ProcessDB releases based on yFiles, not releases based on TSP (Tom Sawyer Perspectives). See the Help->About within ProcessDB to see which graph layout library your release uses.

Quick Reference

The following table has a quick reference of the key modifiers and mouse gestures along with the actions they perform. More details can be found later on this page.


Selection Mouse Gesture Windows Key Modifiers macOS Key Modifiers Action
empty Drag anywhere Ctrl Command Pan diagram
Process creation and modification related
empty Drag from process to state none none Add state as product of process
empty Drag from empty space (or place) to state none none Create process with state as only product
empty Drag from state to process none none Add state as reactant or modifier. A dialog will appear for selecting the role.
Selection related
any Click state or process or place none none Select only the clicked state/process/place
any Click state or process or place Ctrl Command Add or subtract clicked state/process to selection
Other
not empty Drag from any selected item none none Move all selected items together. This will reparent the items to a new place if the mouse cursor ends in a different place.
not empty Drag from any selected item Shift Shift Move all selected items together. No reparenting will happen. The boundaries of the current parent place may be expanded.

In Relation to TSP

If you are using the Tom Sawyer Perspectives (TSP) version of ProcessDB in conjunction with the yFiles version (you can ignore this section if you don't know about TSP) then this section describes things to know about going between the two.

All edits and creations of things in the TSP version of ProcessDB are available in the yFiles version of ProcessDB. The only requirement is to save the changes in the TSP version and reload or restart the yFiles version (a reload should be sufficient). This includes creation of molecules/places/models/processes, edits to diagrams, and deletions of anything. It includes notes.

There are some things that are not yet displayed in the yFiles version of ProcessDB. As of this writing, things like the shapes of states. These will not be displayed in ProcessDB yF no matter what until the code has been written to display them.

Diagram layouts are not shared between TSP and yFiles. These layouts are also independent. So a TSP diagram layout will be preserved even if a yFiles layout is saved to the database and vice versa.

Be careful when editing in both versions of ProcessDB at the same time. The edits can conflict and overwrite each other. For instance, if you add a state as a product to a process in the ProcessDB yF and remove that process in ProcessDB TSP, and do both these things without saving, then you may encounter a problem. Save in ProcessDB yF and then in ProcessDB TSP and the process will just be gone and the added product will not be present either. Though the state will remain in the model if it is involved in another process.

Features and Future Direction

The diagram view in ProcessDB yF is a work in progress (as of January, 2024). This section documents the completed features and future direction (features to be completed).

Features Completed and Todo
Feature Description Completed
Add molecule as state yes
Add existing process yes
Create new process yes
Connect state as reactant or modifier to existing process yes
Connect process to state to create new product for process yes
Delete state yes
Delete process yes
Remove product from process todo
Remove reactant or modifier from process todo
Add place to model todo
Change place's parent place todo
Create new model todo

Navigating / Selecting / Moving

Here are a list of tasks and how to accomplish these tasks in the diagram view.

Zooming

Zoom using the mouse wheel on a mouse or two finger up/down gesture on a trackpad. Pinch to zoom is not supported.

Panning

Press Ctrl + click-drag using a mouse or trackpad on Windows. Press Command + click-drag on macOS. Without the Ctrl or Command another action will be initiated depending on what is clicked and dragged. See Selecting / Deselecting and Moving Objects.

Selecting / Deselecting

  • Click a state, process, place, or edge to select it and clear the previous selection.
  • Use Ctrl + click on Windows (Command + click on macOS) to add or subtract something from the selection.
  • Click and drag from any non-selected node / area in the graph to use a lasso selection. This will also clear the previous selection.

Moving Objects

  1. Select one or more objects. See Selecting / Deselecting
  2. Click and drag starting on a selected object.

If you initiate the click and drag on an object or area that isn't selected then a different action will be initiated and no objects will be moved.

Unselected Object Actions

When an object (state, process, or place) is _not selected_ and you click and drag on it, the specific action that occurs depends on the object. Sometimes you may want the object to be moved, see previous section for instructions on doing that. There is no specific list of what happens in each case when clicking and dragging on an unselected object. Instead, this document talks about higher level actions you may wish to accomplish and how to do that. Please read on to learn about how to do different things.

Editing

This section is about adding, removing, and editing states, places, and processes to/from model diagrams.

States

Adding States

A state is a molecule in a place and can be added by dragging a molecule from the molecules pane to a place in the model.

Deleting States

Not currently supported. Use ProcessDB TSP or wait for this feature to be complete.

Processes

Adding Processes

Processes may be added by dragging from the process pane to the model diagram.

Creating Processes

A new process may be created by dragging from a state to another state. This must be done when the state is _not selected_.


Adding States As Participants In Process

A state may be a reactant, product, or modifier in a process and the approach to adding a state as one of these is slightly different depending on the desired result. This is for processes that already exist in the model and states that were either recently added or present on load of the model.

Add Product to Process

While the process is _not selected_ drag from the process to the state.

Add Reactant or Modifier to Process

This is not implemented yet, but when it is, it will work as follows...

While the state is _not selected_ drag from the state to the process. A dialog will appear and you may select the role the state should have in the process. This will include "reactant" as well as all the different modifier roles.