Commit 12d043b
committed
Refresh the merged variables of a group shown in the properties panel when the group is edited elsewhere
The variables of a group are not stored anywhere: they are the variables
common to all its objects, merged into a temporary container displayed by the
properties panel. This container is now stable while the group is edited
(it's only rebuilt when another group is selected), so it must be explicitly
rebuilt when the objects of the group - and so their common variables - are
changed from somewhere else. Otherwise the panel would show, and compute the
next refactoring against, a stale state - which could notably re-create, on
the objects, variables that were removed in the object group editor dialog.
The group properties editor now exposes a refreshVariables() method, called
by the properties editor container as part of its forceUpdate() - the method
SceneEditor already calls (through forceUpdatePropertiesEditor) whenever the
project state changed and the panel must re-read it, like after an undo/redo.
Closing the object group editor dialog now also calls
forceUpdatePropertiesEditor. The container is also rebuilt when an object is
added to or removed from the group in the panel, as this changes the
variables the objects have in common.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015aTvsAxmtZZ1V6bNtXsga61 parent f605cc2 commit 12d043b
3 files changed
Lines changed: 452 additions & 372 deletions
File tree
- newIDE/app/src
- ObjectGroupEditor
- SceneEditor
0 commit comments