Layouts: every Layouts.xml parameter tested on desktop and web #23
4 changed files with 25 additions and 5 deletions
|
|
@ -41,7 +41,7 @@ Rules:
|
||||||
| Deploy / remove display files, export HTML, validate and search with `jwuiutl` | `tasks/deploy-displays.md` | verified |
|
| Deploy / remove display files, export HTML, validate and search with `jwuiutl` | `tasks/deploy-displays.md` | verified |
|
||||||
| Trend: pen sources (history group, aggregates), every pen and chart setting, desktop vs HTML display, 50-pen web workaround (`add_trend_spares.ps1`), Micro Trend | `tasks/trend.md` | verified (desktop); web workaround verified; Micro Trend open (ISS-055) |
|
| Trend: pen sources (history group, aggregates), every pen and chart setting, desktop vs HTML display, 50-pen web workaround (`add_trend_spares.ps1`), Micro Trend | `tasks/trend.md` | verified (desktop); web workaround verified; Micro Trend open (ISS-055) |
|
||||||
| Open and check a display in the browser (HTML display / Mobile Operator) | `tasks/deploy-displays.md` §4 | verified |
|
| Open and check a display in the browser (HTML display / Mobile Operator) | `tasks/deploy-displays.md` §4 | verified |
|
||||||
| Operator layouts (`Layouts.xml`): windows, menus, toolbars, frames, popups, kiosk screens; open displays in frames and layouts; every parameter and command, desktop vs web (§6) | `tasks/layouts.md` | verified (dual screen, per-user layout from docs; modal, maximumOpen, translations, debug key open) |
|
| Operator layouts (`Layouts.xml`): windows, menus, toolbars, frames, popups, kiosk screens; open displays in frames and layouts; every parameter and command, desktop vs web (§6) | `tasks/layouts.md` | verified (dual screen, per-user layout from docs; tab options not tested) |
|
||||||
| Dataset forms (`*Dia.xml`) and the form description language | R30 summary §3 | from docs |
|
| Dataset forms (`*Dia.xml`) and the form description language | R30 summary §3 | from docs |
|
||||||
| Symbols, parameters, actions, localisation, record/playback | C50 summary §1, §4, §5 | from docs |
|
| Symbols, parameters, actions, localisation, record/playback | C50 summary §1, §4, §5 | from docs |
|
||||||
| AOG library (styles, symbols, faceplates, templates) | C60 summary | from docs |
|
| AOG library (styles, symbols, faceplates, templates) | C60 summary | from docs |
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
task: Configure operator layouts (Layouts.xml): windows, menus, toolbars, frames, popups; open displays in frames and layouts
|
task: Configure operator layouts (Layouts.xml): windows, menus, toolbars, frames, popups; open displays in frames and layouts
|
||||||
version: R1.03
|
version: R1.03
|
||||||
source: Layouts.readme (installed, %TLS_WAP_PATH%\cfg\operatorInterfaces\DEPLOY\layouts); IM 36K10R30-01EN §1, §4.7; IM 36K10C50-01EN §4.12; practiced with CI-Eng-Sample (layout CIENG_Operator) in the Operator Interface (desktop) and the HTML display 2026-10-01; parameter-by-parameter test (§6) on both clients 2026-10-02, web behaviour also read from the installed web client code (mobileoperator fasttools.min.js)
|
source: Layouts.readme (installed, %TLS_WAP_PATH%\cfg\operatorInterfaces\DEPLOY\layouts); IM 36K10R30-01EN §1, §4.7; IM 36K10C50-01EN §4.12; practiced with CI-Eng-Sample (layout CIENG_Operator) in the Operator Interface (desktop) and the HTML display 2026-10-01; parameter-by-parameter test (§6) on both clients 2026-10-02, web behaviour also read from the installed web client code (mobileoperator fasttools.min.js)
|
||||||
status: verified (parameter test: rounds 1–3 done; modal, maximumOpen, translations, debugActivationKey, atCursor/awayFromCursor and the bottom toolbar still open)
|
status: verified (parameters tested on desktop and web 2026-10-02 except `<tab>` options, print orientation/margins, playback and multi-screen positions)
|
||||||
---
|
---
|
||||||
|
|
||||||
# Operator layouts
|
# Operator layouts
|
||||||
|
|
@ -170,7 +170,7 @@ browser and in the web client code. "n/a" = the browser window is the main layou
|
||||||
| `$` in `tooltip` | resolved | resolved |
|
| `$` in `tooltip` | resolved | resolved |
|
||||||
| Toolbar `position="top"` | shown | shown |
|
| Toolbar `position="top"` | shown | shown |
|
||||||
| Toolbar `left` / `right` | shown | **not shown** |
|
| Toolbar `left` / `right` | shown | **not shown** |
|
||||||
| Toolbar `bottom` | not seen (open) | not shown |
|
| Toolbar `bottom` | **not shown** (two layouts tried) | not shown |
|
||||||
| Toolbar item `combo`, `editableCombo`, `dropdownList` | shown | shown |
|
| Toolbar item `combo`, `editableCombo`, `dropdownList` | shown | shown |
|
||||||
| Status line, all 8 types | shown | shown |
|
| Status line, all 8 types | shown | shown |
|
||||||
|
|
||||||
|
|
@ -193,7 +193,26 @@ browser and in the web client code. "n/a" = the browser window is the main layou
|
||||||
| `playback record` (check) / `view` | — | not supported (view disabled) |
|
| `playback record` (check) / `view` | — | not supported (view disabled) |
|
||||||
| `help` | **error** *Unrecognized keyword* | — |
|
| `help` | **error** *Unrecognized keyword* | — |
|
||||||
|
|
||||||
"—" = not checked yet.
|
"—" = not checked.
|
||||||
|
|
||||||
|
### 6.5 Layouts opened from a display, translations, debug key
|
||||||
|
|
||||||
|
Tested with a launcher display (copy of `CIENG_Menu` whose buttons use *Open display* with a
|
||||||
|
layout and frame `default`).
|
||||||
|
|
||||||
|
| Parameter | Desktop | Web |
|
||||||
|
|---|---|---|
|
||||||
|
| `modal="true"` | dialog window (no min/max); the opener is disabled until it closes | in-page window with a full-page lock; centred |
|
||||||
|
| `maximumOpen="2"` | 2 windows; the 3rd click: *The display '…' cannot be activated because the maximum number of windows is reached* | same (in-page windows, same message) |
|
||||||
|
| Popup size (`initialSize="pixels"`) | applied | applied (500×350, 450×300) |
|
||||||
|
| `initialPosition="centreFrame"` | **at 0,0** (not centred) | centred in the page |
|
||||||
|
| `initialPosition="centreLayout"` | near the opener, not exactly centred (opener partly off-screen) | centred in the page |
|
||||||
|
| `atCursor` / `awayFromCursor` | opened at 1677,363 near the launcher click (cursor position not logged) / at 10,890, the far bottom-left corner | — |
|
||||||
|
| `<translations name="<locale>">` | applied for the exact JVM locale (`en_AU` here): layout `title`, menu and toolbar `label`, `tooltip`; **no fallback** from `en_AU` to `en` | browser locale `en-US`: neither `en_AU` nor `en` applied |
|
||||||
|
| `debugActivationKey` (`CONTROL SHIFT F6`) | opens the *Graphics debugger* (connections and parameters of the display) | not supported (see §5) |
|
||||||
|
|
||||||
|
Keys: `<layout name>.title`, `<item name>.label|tooltip|mnemonic|accelerator`. The desktop
|
||||||
|
locale comes from Windows (the start script sets no `-Duser.language`).
|
||||||
|
|
||||||
## Verified (CI-Eng-Sample, 2026-10-01)
|
## Verified (CI-Eng-Sample, 2026-10-01)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -85,3 +85,4 @@ development system (see "Test system" in `progress.md`); they do not exist on ot
|
||||||
| ISS-063 | 2026-10-02 | GRAPHICS (layouts) | The readme does not say that menu items with the commands `toolbar`, `statusline` and `playback record` must be `type="check"`. With a normal item the Operator Interface does not start (*INITFAILED*, `JMenuItem cannot be cast to JCheckBoxMenuItem` in `MenuToolbarOption.checkState`); the web client just drops check items. | open | Rule added to the task. Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §6 (done) |
|
| ISS-063 | 2026-10-02 | GRAPHICS (layouts) | The readme does not say that menu items with the commands `toolbar`, `statusline` and `playback record` must be `type="check"`. With a normal item the Operator Interface does not start (*INITFAILED*, `JMenuItem cannot be cast to JCheckBoxMenuItem` in `MenuToolbarOption.checkState`); the web client just drops check items. | open | Rule added to the task. Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §6 (done) |
|
||||||
| ISS-064 | 2026-10-02 | GRAPHICS (layouts) | Readme: `rows`/`cols` `n*` values share the remaining space by fraction (as HTML frames). Observed: the desktop ignores the fractions (`2*,1*` gave 800:88 px, sizes follow the displays); the web client turns every `n*` into its single *main* panel, so two `n*` overwrite each other. | open | Use one `n*` per frame set, all other divisions in pixels or `fitDisplay`. Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §6 (done) |
|
| ISS-064 | 2026-10-02 | GRAPHICS (layouts) | Readme: `rows`/`cols` `n*` values share the remaining space by fraction (as HTML frames). Observed: the desktop ignores the fractions (`2*,1*` gave 800:88 px, sizes follow the displays); the web client turns every `n*` into its single *main* panel, so two `n*` overwrite each other. | open | Use one `n*` per frame set, all other divisions in pixels or `fitDisplay`. Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §6 (done) |
|
||||||
| ISS-065 | 2026-10-02 | GRAPHICS (layouts, web) | The web client (HTML display) supports only part of `Layouts.xml`: nested frame sets only in the parent's main (`n*`) slot (other placements hang on *Loading…*), frame `zoom` and navigate zoom ignored, `zoom`/`print`/`login`/`toolbar`/`statusline`/`lookfeel`/`playback` not supported, menu `sub`/`check`/`radio` items and left/right/bottom toolbars not shown, a layout without `title` shows *undefined*. Not described in the readme or IM 36K10R30. | open | Documented in the task (§6, tested and read from the web client code). Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §6 (done) |
|
| ISS-065 | 2026-10-02 | GRAPHICS (layouts, web) | The web client (HTML display) supports only part of `Layouts.xml`: nested frame sets only in the parent's main (`n*`) slot (other placements hang on *Loading…*), frame `zoom` and navigate zoom ignored, `zoom`/`print`/`login`/`toolbar`/`statusline`/`lookfeel`/`playback` not supported, menu `sub`/`check`/`radio` items and left/right/bottom toolbars not shown, a layout without `title` shows *undefined*. Not described in the readme or IM 36K10R30. | open | Documented in the task (§6, tested and read from the web client code). Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §6 (done) |
|
||||||
|
| ISS-066 | 2026-10-02 | GRAPHICS (layouts) | Readme options that do not work as described in R1.03: a toolbar with `position="bottom"` is not shown (desktop and web; left/right work on the desktop); `initialPosition="centreFrame"` opens the window at 0,0 on the desktop; translations are used only for the exact locale (no fallback from `en_AU` to `en`). | open | Documented in the task. Close when the user confirms. | `.claude/skills/graphics/tasks/layouts.md` §6 (done) |
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,7 @@ now come before classes and objects (phase 6), and the other interfaces follow a
|
||||||
| C50 | Build a display in the Edit Module, check the XML ([task](../.claude/skills/graphics/tasks/create-display.md)) | passed | passed | User built `CIENG_Tank` (HTML mode): text, number field, alarm overview, trend. File stores item name + id; after a sample reload (id 248 → 268) validation still passed and a new session showed live values. |
|
| C50 | Build a display in the Edit Module, check the XML ([task](../.claude/skills/graphics/tasks/create-display.md)) | passed | passed | User built `CIENG_Tank` (HTML mode): text, number field, alarm overview, trend. File stores item name + id; after a sample reload (id 248 → 268) validation still passed and a new session showed live values. |
|
||||||
| C50/R30 | Deploy/remove, `jwuiutl` HTML export, validate, search; HTML display in the browser ([task](../.claude/skills/graphics/tasks/deploy-displays.md)) | passed | passed | Scripts `displays/deploy_displays.cmd` / `remove_displays.cmd`; command-line HTML identical to the Edit Module's. Number field live in the browser; HTML trend draws no line (ISS-041). Browser page reload ends the session; the display menu *View > Reload* keeps it (user). |
|
| C50/R30 | Deploy/remove, `jwuiutl` HTML export, validate, search; HTML display in the browser ([task](../.claude/skills/graphics/tasks/deploy-displays.md)) | passed | passed | Scripts `displays/deploy_displays.cmd` / `remove_displays.cmd`; command-line HTML identical to the Edit Module's. Number field live in the browser; HTML trend draws no line (ISS-041). Browser page reload ends the session; the display menu *View > Reload* keeps it (user). |
|
||||||
| R30/C50 | Operator layout `CIENG_Operator` (menu, toolbar, navigation/main/banner frames, status line) added with `layout.ps1`; navigation display `CIENG_Menu`; open displays in frames, layouts and the `popup` layout ([task](../.claude/skills/graphics/tasks/layouts.md)) | passed | passed | Desktop: second 1600 x 900 window, frame navigation and Back, popup on top and minimised with its parent, F11 within taskbar limits; the Operator Interface must be restarted after `Layouts.xml` changes; factory `default` layout unchanged for Admin. Web: `?d=CIENG_Tank&l=CIENG_Operator`. Status line/command names not in the readme (ISS-042). A stray trend property connection caused a desktop error (ISS-041 update). |
|
| R30/C50 | Operator layout `CIENG_Operator` (menu, toolbar, navigation/main/banner frames, status line) added with `layout.ps1`; navigation display `CIENG_Menu`; open displays in frames, layouts and the `popup` layout ([task](../.claude/skills/graphics/tasks/layouts.md)) | passed | passed | Desktop: second 1600 x 900 window, frame navigation and Back, popup on top and minimised with its parent, F11 within taskbar limits; the Operator Interface must be restarted after `Layouts.xml` changes; factory `default` layout unchanged for Admin. Web: `?d=CIENG_Tank&l=CIENG_Operator`. Status line/command names not in the readme (ISS-042). A stray trend property connection caused a desktop error (ISS-041 update). |
|
||||||
| R30/C50 | Layout parameters one by one on test layouts (`LT_*`): frames, window options, menu/toolbar/status line, all commands ([task](../.claude/skills/graphics/tasks/layouts.md) §6) | passed (rounds 1–3) | n/a | 2026-10-02. Desktop via `jwuipoi -layout`, web via `&l=`; desktop login temporarily *Automatic*. Web limits and readme differences: ISS-062..065. Open: `modal`, `maximumOpen`, `translations`, `debugActivationKey`, `atCursor`/`awayFromCursor`, bottom toolbar on the desktop. Test layouts need no project data (not added to CI-Eng-Sample). |
|
| R30/C50 | Layout parameters one by one on test layouts (`LT_*`): frames, window options, menu/toolbar/status line, all commands ([task](../.claude/skills/graphics/tasks/layouts.md) §6) | passed | n/a | 2026-10-02. Desktop via `jwuipoi -layout`, web via `&l=`; desktop login temporarily *Automatic*; popups, modal, maximumOpen via launcher display `LT_Launcher`. Readme differences and web limits: ISS-062..066. Not tested: `<tab>` options, print orientation/margins, playback, multi-screen positions. Test layouts need no project data (not added to CI-Eng-Sample). |
|
||||||
| C50/R30 | Trend settings one by one on `CIENG_TrendLab` (pen source, type, scale, axis, grid, limits; time range, performance, appearance, time axis, legend, pen panel; property sheet listed) ([task](../.claude/skills/graphics/tasks/trend.md)) | passed (desktop) | passed | 2026-10-02, user confirmed each round with screenshots. Pen limits, pen title and `backgroundPaint` had no effect (ISS-056). Internal items need `trend_feed.ps1` after a restart. |
|
| C50/R30 | Trend settings one by one on `CIENG_TrendLab` (pen source, type, scale, axis, grid, limits; time range, performance, appearance, time axis, legend, pen panel; property sheet listed) ([task](../.claude/skills/graphics/tasks/trend.md)) | passed (desktop) | passed | 2026-10-02, user confirmed each round with screenshots. Pen limits, pen title and `backgroundPaint` had no effect (ISS-056). Internal items need `trend_feed.ps1` after a restart. |
|
||||||
| C50/R30 | HTML trend: cause of the empty web trend and 50-pen workaround (`add_trend_spares.ps1`); Micro Trend ([task](../.claude/skills/graphics/tasks/trend.md) §6) | passed (workaround) | passed | Web code always builds 50 columns (ISS-041). Padded `CIENG_TrendLab` draws in the browser with a clean legend; web ignores *Show in legend* (ISS-056). Micro Trend drew once, then blank (ISS-055). |
|
| C50/R30 | HTML trend: cause of the empty web trend and 50-pen workaround (`add_trend_spares.ps1`); Micro Trend ([task](../.claude/skills/graphics/tasks/trend.md) §6) | passed (workaround) | passed | Web code always builds 50 columns (ISS-041). Padded `CIENG_TrendLab` draws in the browser with a clean legend; web ignores *Show in legend* (ISS-056). Micro Trend drew once, then blank (ISS-055). |
|
||||||
| C50/R30 | Web check of each trend setting (4 batches on a padded scratch copy, checked in the browser by Claude) ([task](../.claude/skills/graphics/tasks/trend.md) §6) | passed | passed | 2026-10-02. Works / ignored / different table in the task; matches IM 36K10C50 Table 2.27-28 except `timeShift` (error message) and *Show in legend* (ISS-056). A hidden real pen breaks the 50-pen workaround (confirmed). |
|
| C50/R30 | Web check of each trend setting (4 batches on a padded scratch copy, checked in the browser by Claude) ([task](../.claude/skills/graphics/tasks/trend.md) §6) | passed | passed | 2026-10-02. Works / ignored / different table in the task; matches IM 36K10C50 Table 2.27-28 except `timeShift` (error message) and *Show in legend* (ISS-056). A hidden real pen breaks the 50-pen workaround (confirmed). |
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue