Skip to content
Merged
7 changes: 7 additions & 0 deletions docs/KEYBOARD_SHORTCUTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@ Nudging with the arrow keys (one grid step; Shift: 1 px) also moves selected
routing points, and the routing points of a link whose two ends both move go
with them. One undo step.

## Tables
| Shortcut | Action |
|---|---|
| Ctrl+F | Show or hide the filter row of the table that has the focus (tables of more than 10 rows) |
| Ctrl+D | Data Tables: fill down, the top selected row's value goes to the other selected rows in the current column |
| Ctrl+V | Data Tables, on the grid itself: paste one value into the current column of every selected row |

## Annotation z-order (Model view)
Needs one or more annotations selected. Each command is greyed out when
it would not move anything, so a note already at the front has *Bring to
Expand Down
9 changes: 9 additions & 0 deletions docs/RBDS_FORMAT.md
Original file line number Diff line number Diff line change
Expand Up @@ -545,6 +545,15 @@ element positions and annotation geometry stay put between sessions. A
hand-authored file without it has one derived on open, deterministically,
from the element positions.

**`view`.** `.rbds`-only view options, written once for the whole file
(never per level) so reopening restores the look exactly: `link_routing`
(`straight`, `angled` or `orthogonal`) and `block_labels` (what a block
shows under its name: `mean`, `spread`, `rate` or `off`). A value is written
only when it was set; a file without `view` leaves the viewer's current
settings alone, and an unknown value is ignored. The page flow used by Auto
Layout is per level and lives in `flow_directions` (key: the hierarchy id,
`0` for the top level).

**Anchors.** An annotation placed next to an element or another
annotation (`adjacent_to`, or an arrow's `from_`/`to`) carries an
`anchor` —
Expand Down
2 changes: 1 addition & 1 deletion docs/manual-reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,6 @@ documentation.
[cols="2,8",options="header"]
|===
|Tab |Columns
|Blocks |Name, ID, Failure Dist, Failure Param 1, Failure Param 2, Failure Param 3, # Failure Params, Repair Dist, Repair Param 1, Repair Param 2, Repair Param 3, # Repair Params, PM Frequency, Failure Mean, Failure Std Dev, Repair Mean, Repair Std Dev
|Blocks |Name, ID, Failure Dist, Failure Param 1, Failure Param 2, Failure Param 3, # Failure Params, Repair Dist, Repair Param 1, Repair Param 2, Repair Param 3, # Repair Params, PM Frequency, Failure Mean, Failure Std Dev, Repair Mean, Repair Std Dev, Level
|===

148 changes: 143 additions & 5 deletions docs/manual.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,13 @@ the Inspector shows read-only echoes for those fields. Model-wide fields
Open from *View → Panels → Data Tables*. It edits the model as
spreadsheets, one tab per element type or per section of the `.rbds`
file. Only some cells are editable; invalid values revert on entry.
Blocks, Nodes and Events show the hierarchy level currently on the
canvas; the header says “current level: 8 of 17 blocks…” when the model
has nested levels. Use Model Explorer to reach the others. Model Explorer
highlights the level on screen (Home, or the hierarchy you are inside) and
the window title ends with its name and id, for example
Blocks, Nodes, Events, Sparing and Preventive Maintenance show the
hierarchy level currently on the canvas; the header says “current level:
8 of 17 blocks…” when the model has nested levels. Tick **Whole model**
to see every level at once (see below), or use Model Explorer to reach
the others.
Model Explorer highlights the level on screen (Home, or the hierarchy you
are inside) and the window title ends with its name and id, for example
“— Pump_Hierarchy (id 20)”.

[cols="2,6",options="header"]
Expand Down Expand Up @@ -109,6 +111,115 @@ above
(unavailable), Failure resets — lists only blocks with PM enabled
|===

[[data-tables-whole-model]]
=== Whole model

The **Whole model** box in the bar above the tabs shows the blocks, nodes
and events of *every* level in the same grids, with an extra **Level**
column (`Home`, `Pump Bank`, `Pump Bank / Stage 2`). The header reads
“Whole model (14 blocks across 4 levels)”. Nothing is drawn on the canvas
for the other levels, so it stays quick on large models. Rows on the level
that is open on the canvas stay editable; rows of other levels are
read-only (greyed, with a tooltip) because their edits would act on
elements that are not on screen. Right-click such a row and choose **Go to
level** to open its level and select it on the canvas. The setting lasts
for the session and is not saved in the model. Sorting, filtering and CSV
export work in both modes, and the Level column is exported only while it
is shown.

[[table-filters]]
=== Filtering a table

Tables with more than 10 rows have a filter row under the column headings.
It is hidden until you ask for it: press *Ctrl+F* while the table has the
focus, or right-click the column headings and choose **Filter**. The
Results tables (Capacity, Weak link, Cost, Importance, the per-element
table of the analytical results) and the Data Tables (Blocks, Nodes,
Events, Sparing, Preventive Maintenance) have it. Short tables and the
event log (which has its own filter box) do not.

Type in the box above a column to keep only the rows that match that
column; boxes in several columns must all match. Filtering hides rows
rather than copying data, so it is fast on large tables, and it waits a
moment (about 0.15 s) after you stop typing before it runs. A badge shows
“Showing N of M”. A box that cannot be understood turns red and the table
is left unfiltered. *Clear* empties every box, and closing the filter row
clears the filter.

[cols="2,5",options="header"]
|===
|Type |Matches

|`pump`
|cells containing “pump”, ignoring case

|`"main pump"`
|a phrase, spaces included

|`Pump*`, `*_B`, `P?mp`
|wildcards: `*` is any run of characters, `?` is one character. With a
wildcard the whole cell must match, so `Pump*` means “starts with Pump”
and `*pump*` means “contains”

|`=Pump_A`
|the whole cell equals the text (`=5` compares numerically)

|`!pump`
|does not match: cells that do not contain “pump”

|`>0.9`, `>=5`, `<100`, `<=2`, `=3`, `!=0`
|number comparisons

|`5..10`
|a number from 5 to 10, inclusive

|`blank`, `nonblank`
|empty, or non-empty, cells
|===

Separate terms with a space for AND (all must match) and with `|` or `,`
for OR, which binds loosest: `>5 <10 | blank` means “(more than 5 and less
than 10) or empty”. A number term compares the cell's raw value; where a
cell only has text, the number is read from it, ignoring thousands commas,
a `%`, a leading `>` (a censored result) and a trailing unit such as
“hours”. A cell with no number never matches a number term.

In the Data Tables the filter reads the model's own values (names,
distribution names, parameters, means), not the cell editors, so rows that
are filtered out never build their editors. In the Sparing table only
Name, ID and Sparing Type can be filtered. Export CSV writes only the rows
the filter shows (the dialog says “only N of M rows”). Editing a cell so
that its row stops matching does not hide the row from under your cursor;
it goes at the next filter pass.

[[data-tables-multi-edit]]
=== Changing several rows at once

Select several rows (click row headings with *Ctrl* or *Shift*, or select
a filtered set), then edit one cell in a selected row: the change is
applied to that column on *every* selected row, in one undo step. While
more than one row is selected the bar says “N rows selected. Editing a
cell will change all N.” and the status bar reports “Set <column> to
<value> on N rows” afterwards. Editing a cell in a row that is not selected
changes that row only. The first time in a session you are asked “Apply to
N rows?” (with a Don't ask again box, which lasts until you quit).

* Only rows that are shown are changed: rows hidden by a filter are never
touched, and in Whole model only rows of the open level are (others are
skipped and counted).
* Changing a distribution gives each row that distribution, re-seeding the
parameters where the old ones no longer fit; a Param *k* edit skips rows
whose distribution has no *k*-th parameter and says so.
* Read-only and computed columns (means, standard deviations, # Params)
and names are never multi-edited.
* All the rows are checked together by the input rules (see
<<input-rules>>): if one value is refused the whole change is refused
and every row reverts.
* *Ctrl+D* (Fill Down) copies the top selected row's value in the current
column to the other selected rows. Pasting a single value with *Ctrl+V*
while the grid (not a cell editor) has the focus fills that column of
all selected rows. In a cell editor Ctrl+V pastes text as usual.

[[block-defaults]]
== Block Defaults

Expand Down Expand Up @@ -148,6 +259,23 @@ stays on after each placement, so one click on the button places as many
elements as you need. Press *Q* or *Esc*, or right-click, to go back to
*Select*.

=== Copy, cut and paste

Copy and Cut are greyed out until something is selected, and Paste is
greyed out unless there is something Raptor can paste. Copying puts the
selection (elements, the links between them, annotations, hierarchies with
their contents) on the system clipboard as well as in the window, so you
can paste into **another model** open in the same window or into **another
copy of RAPTOR Studio**. Pasted elements get new ids and keep the
dependencies between the elements copied together (remapped to the
copies); a dependency on an element that was not copied is dropped. Into a
different model, a block keeps a spare pool, resource or PM trigger only
if the target model also defines one of that name; otherwise the status
bar names what was dropped. Pasting other text into the diagram does
nothing. While you are editing text (an annotation, a rename box, a table
cell) Cut, Copy and Paste work on that text, and pasting a RAPTOR clip
there inserts its plain-text summary.

=== Insert an element on a link

With an Add tool on, point at a link instead of empty canvas:
Expand Down Expand Up @@ -249,6 +377,16 @@ done: 3 selected items on Home" or "Auto Layout done: 12 items in
hierarchy Pumps".

[[input-rules]]
[[stacked-elements]]
== Elements on top of each other

Validation warns (it never blocks) when elements on one level are drawn on
top of each other so that the topology cannot be read: blocks, nodes,
events and hierarchies all count, including a node on a block. The warning
names the element drawn last, which is the one on top, and what it
covers, for example “Node 'N3' is drawn on top of Block 'Pump_A'”. Move
one of them apart, or run Auto Layout.

== Values and links Raptor 7 refuses

RAPTOR Studio applies Raptor 7's own input checks, with Raptor 7's own
Expand Down
Loading
Loading