Using the Diagram View
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).
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 |
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
- Select one or more objects. See Selecting / Deselecting
- 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.