Repository navigation
Data Tables: Whole model, multi-row edit, button spacing; document the filters - #176
Merged
Merged
Conversation
…e filters Whole model shows every level's blocks, nodes, events, sparing and PM rows with a Level column (read-only for levels that are not open; Go to level by id). Selecting several rows and editing one cell changes the column on all of them in one undo step and one rule-gate pass, with a banner, a first-use confirmation, Ctrl+D fill down and paste-fill. The Data Tables bar and the other button rows that had no spacing get it. The manual documents the filter language, Whole model, multi-row edit, clipboard, stacked-element warning, the view key and the new shortcuts.
When the shown rows did not fill the window (or none matched), rowAt answered -1 and every row was treated as in view, so a selective filter built the cell widgets of all the hidden rows: about 55 s on a 3,844-block model. Only rows a filter leaves showing are realized now (0.04 s).
…-tables-whole-model # Conflicts: # raptor/gui/ui/data_tables.py
…at/data-tables-whole-model # Conflicts: # raptor/gui/ui/data_tables.py # raptor/gui/ui/dialogs.py
…ixes for the empty mypy baseline The window-level Ctrl+V now gives a focused Data Tables grid the clipboard text before the canvas. The grid's dict/paste_text typing is explicit so the branch is clean against the emptied baseline of #160.
…ing-node tests delete their canvases with Qt
This was referenced Nov 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #175. Stacked on #172 (filter bar), which is stacked on #151: merge those first. The documentation also describes #165/#170 (clipboard) and #168 (view key, stacked-elements warning), so merge those before this.
Whole model. A box in the Data Tables bar shows every level's blocks, nodes, events, Sparing and PM rows with a Level column (hidden otherwise; filterable, sortable, exported only when shown). Scope label: 'Whole model (N blocks across M levels)'. Rows of the open level stay editable; other levels are read-only (greyed, tooltip) because the edit paths act on the open level's elements. Decision: read-only plus a 'Go to level' menu entry that navigates by id (two levels can share a name). Source: the file rows, typed on demand; nothing is built on the canvas.
Multi-row edit. Select several rows, edit one cell: the column changes on every selected row (visible rows only, open-level rows only in Whole model), in one macro: one undo step and one rule-gate pass (a refusal reverts every row). Banner 'N rows selected. Editing a cell will change all N.'; status bar 'Set to on N rows'. First use per session asks 'Apply to N rows?' with Don't ask again (session only). A distribution change goes to all rows; a Param k edit skips rows without a k-th parameter and says so; names and computed columns are never multi-edited. Ctrl+D fills down; Ctrl+V on the grid pastes one value into the selected rows (a cell editor still pastes text). Covers Blocks (distribution, params, PM frequency), PM flags, Events (distro, param, stream), Nodes (k), Sparing (type, pool, resource). Not covered: New Spares/Order Interval (two coupled cells) and the keyed pool/trigger tables. On the full tip the window-level Ctrl+V route must offer the grid first; this branch only handles the grid's own key press.
Spacing. The Data Tables bar had no spacing (a nested layout under a zero-spacing parent). Fixed, and the same fix on the other button rows with that flaw (results bars, batch/analytic/empirical/phasing/help dialogs).
Docs. manual.adoc/html: Whole model, filter language (verified against table_filter.py), multi-row edit, copy/paste between models, stacked elements; RBDS_FORMAT.md: view key; KEYBOARD_SHORTCUTS.md: Ctrl+F, Ctrl+D, Ctrl+V on tables.
Tests: test_gui_data_tables_whole_model.py, test_gui_data_tables_multi_edit.py (23); related Data Tables/filter/export tests pass (145).
Merge order note. This branch has #160 (empty mypy baseline), #148, #149/#163, #165/#170/#174 merged into it, with their conflicts (
data_tables.py,dialogs.py) already resolved here, so merge those first and this last of the Data Tables group. It also carries the glue between them: the window-level Ctrl+V offers a focused Data Tables grid its value before the canvas, and the grid's typing is clean against the empty baseline.