Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
0b60237
wip
tlambert03 Jun 24, 2025
db619c8
use dev prop table
tlambert03 Jun 24, 2025
a94126c
feat: enhance ConfigTreeModel to support settings and update header data
tlambert03 Jun 24, 2025
b8b550e
fix init
tlambert03 Jun 24, 2025
c5a1e7d
fix bug
tlambert03 Jun 24, 2025
e735fad
two way updates
tlambert03 Jun 24, 2025
32ca961
feat: add custom delegate for Setting value editing in ConfigTreeModel
tlambert03 Jun 24, 2025
3b599d7
refactor: improve duplicate group handling and name validation in Con…
tlambert03 Jun 24, 2025
66d2d8b
move example
tlambert03 Jun 24, 2025
ba00699
move example
tlambert03 Jun 24, 2025
a3f03cb
updates
tlambert03 Jun 24, 2025
05ff08f
feat: enhance ConfigGroupsEditor with tree view and layout adjustments~
tlambert03 Jun 25, 2025
3692bb4
breaking into two
tlambert03 Jun 25, 2025
bced4e3
feat: restructure configuration editor and update device property han…
tlambert03 Jun 26, 2025
24eef51
future import
tlambert03 Jun 26, 2025
1ed09ec
docs
tlambert03 Jun 26, 2025
0423d05
feat: add methods to retrieve QModelIndex for groups and presets in Q…
tlambert03 Jun 27, 2025
8b21d73
wip: preset-table
tlambert03 Jun 27, 2025
eacc052
better table
tlambert03 Jun 28, 2025
6f25cb5
better table
tlambert03 Jun 28, 2025
6ed116b
more improvements
tlambert03 Jun 30, 2025
ae6940d
more improvements
tlambert03 Jun 30, 2025
0f71c16
starting tests
tlambert03 Jun 30, 2025
17f2450
Merge branch 'main' into q-config
tlambert03 Jun 30, 2025
443deb2
remove config props
tlambert03 Jun 30, 2025
8946e74
Merge branch 'main' into q-config
tlambert03 Jul 1, 2025
65088a7
move file
tlambert03 Jul 1, 2025
b951b88
remove file
tlambert03 Jul 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions examples/config_groups_editor.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
from pymmcore_plus import CMMCorePlus
from qtpy.QtCore import QModelIndex
from qtpy.QtWidgets import QApplication, QSplitter

from pymmcore_widgets import ConfigGroupsEditor, ConfigGroupsTree

app = QApplication([])
core = CMMCorePlus()
core.loadSystemConfiguration()

cfg = ConfigGroupsEditor.create_from_core(core)
cfg.setCurrentPreset("Channel", "FITC")

# right-hand tree view showing the *same* model
tree = ConfigGroupsTree()
tree.setModel(cfg._model)
tree.expandRecursively(QModelIndex())


splitter = QSplitter()
splitter.addWidget(cfg)
splitter.addWidget(tree)
splitter.resize(1400, 800)
splitter.setSizes([900, 500])
splitter.show()

app.exec()
2 changes: 2 additions & 0 deletions src/pymmcore_widgets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"ChannelGroupWidget",
"ChannelTable",
"ChannelWidget",
"ConfigGroupsEditor",
"ConfigGroupsTree",
"ConfigWizard",
"ConfigurationWidget",
Expand Down Expand Up @@ -49,6 +50,7 @@
from ._install_widget import InstallWidget
from ._log import CoreLogWidget
from .config_presets import (
ConfigGroupsEditor,
ConfigGroupsTree,
GroupPresetTableWidget,
ObjectivesPixelConfigurationWidget,
Expand Down
2 changes: 2 additions & 0 deletions src/pymmcore_widgets/config_presets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
from ._qmodel._config_model import QConfigGroupsModel
from ._views._config_groups_tree import ConfigGroupsTree
from ._views._config_presets_table import ConfigPresetsTable
from ._views._config_views import ConfigGroupsEditor

__all__ = [
"ConfigGroupsEditor",
"ConfigGroupsTree",
"ConfigPresetsTable",
"GroupPresetTableWidget",
Expand Down
Loading