From 9f79bee910097dd75b837f88992d721eb1ccb4e9 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 19:38:10 +0000 Subject: [PATCH 1/3] AGENTS.md: summarize CustomApp/CustomExt structure Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg --- AGENTS.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index e36f049..a1178ab 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -120,6 +120,13 @@ and the deprecated `CustomApp` / `CustomExt` hooks `setup_docks` and `setup_menu ## 4. Dashboard extensions (`CustomExt`) +Structure: `CustomApp(QObject, ActionManager, ParameterManager)` gives actions with their toolbar/menu placement, +the settings tree (`params`, `settings`, `value_changed`), the dock area, the status bar, `h5_manager` and +`thread_manager`; `CustomExt(CustomApp)` adds `dashboard`, `modules_manager` and the Dashboard toolbar. A worker +(`ExtensionWorker`) runs in its own thread with a `SaverWorker`; talk to workers with signals only. The three patterns +(standalone app, Dashboard extension, app embedding control modules) are drawn, with text versions, in the PyMoDAQ +documentation page "Custom App" (`docs/src/developer_folder/custom_app.rst`). + - Entry point group `pymodaq.extensions` in `pyproject.toml`; each module in `extensions/` defines `EXTENSION_NAME` (menu label), `CLASS_NAME` (class name) and a class derived from `CustomExt`. - Import: `from pymodaq.utils.custom_ext import CustomExt`. From c2e62a81473fe0ea68045d1babdfb850d2525274 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 20:07:19 +0000 Subject: [PATCH 2/3] AGENTS.md: embedding control modules in a CustomApp is not advised Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg --- AGENTS.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a1178ab..87ab5ee 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -123,8 +123,9 @@ and the deprecated `CustomApp` / `CustomExt` hooks `setup_docks` and `setup_menu Structure: `CustomApp(QObject, ActionManager, ParameterManager)` gives actions with their toolbar/menu placement, the settings tree (`params`, `settings`, `value_changed`), the dock area, the status bar, `h5_manager` and `thread_manager`; `CustomExt(CustomApp)` adds `dashboard`, `modules_manager` and the Dashboard toolbar. A worker -(`ExtensionWorker`) runs in its own thread with a `SaverWorker`; talk to workers with signals only. The three patterns -(standalone app, Dashboard extension, app embedding control modules) are drawn, with text versions, in the PyMoDAQ +(`ExtensionWorker`) runs in its own thread with a `SaverWorker`; talk to workers with signals only. Two patterns: a standalone app +(`CustomApp`, no instrument) or a Dashboard extension (`CustomExt`, any use of instruments); embedding control modules in +a `CustomApp` is possible but not advised. They are drawn, with text versions, in the PyMoDAQ documentation page "Custom App" (`docs/src/developer_folder/custom_app.rst`). - Entry point group `pymodaq.extensions` in `pyproject.toml`; each module in `extensions/` defines From cb6d4e59e92473302b67057981f0e191d983c47c Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 20:08:49 +0000 Subject: [PATCH 3/3] AGENTS.md: use the new title of the PyMoDAQ docs page Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01Tdiso1u1ZhikSutj2Qs5Cg --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 87ab5ee..9e24a56 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -126,7 +126,7 @@ the settings tree (`params`, `settings`, `value_changed`), the dock area, the st (`ExtensionWorker`) runs in its own thread with a `SaverWorker`; talk to workers with signals only. Two patterns: a standalone app (`CustomApp`, no instrument) or a Dashboard extension (`CustomExt`, any use of instruments); embedding control modules in a `CustomApp` is possible but not advised. They are drawn, with text versions, in the PyMoDAQ -documentation page "Custom App" (`docs/src/developer_folder/custom_app.rst`). +documentation page "CustomApp and CustomExt" (`docs/src/developer_folder/custom_app.rst`). - Entry point group `pymodaq.extensions` in `pyproject.toml`; each module in `extensions/` defines `EXTENSION_NAME` (menu label), `CLASS_NAME` (class name) and a class derived from `CustomExt`.