Changesets: DarkRadiant
entityinspector e610aa45 17.10.2021 14:08 Details Diff |
0005613: Add first failing test checking the fact that changing a single key in an undoable operation will not trigger the Entity::Observer::onKeyChanged method as it should. This is the reason the Entity Inspector doesn't display the updated values after undo/redo. |
Affected Issues 0005613 |
|
mod - test/Entity.cpp | Diff File | ||
entityinspector af12115a 17.10.2021 07:31 Details Diff |
0005613: Add test covering KeyObservers being notified on Undo/Redo of a single key value change |
Affected Issues 0005613 |
|
mod - test/Entity.cpp | Diff File | ||
entityinspector 27109f78 17.10.2021 07:25 Details Diff |
0005613: Check KeyObserver persistence after undoing an operation. Make KeyValue sealed and noncopyable. |
Affected Issues 0005613 |
|
mod - radiantcore/entity/KeyValue.h | Diff File | ||
mod - test/Entity.cpp | Diff File | ||
entityinspector 0d15e808 17.10.2021 06:16 Details Diff |
0005613: Long integration test covering the Entity::Observer behaviour on undo/redo. It already reveals odd behaviour when EntityKeyValue instances are directly changed in combination with key values being added or removed to a SpawnArgs collection during the same operation. |
Affected Issues 0005613 |
|
mod - test/Entity.cpp | Diff File | ||
entityinspector 66bd95d4 17.10.2021 05:11 Details Diff |
0005613: Tests covering the EntityKeyValue observer behaviour on regular change and removal. |
Affected Issues 0005613 |
|
mod - test/Entity.cpp | Diff File | ||
entityinspector 2effcb45 17.10.2021 04:33 Details Diff |
0005613: More test cases covering key value addition, removal and change |
Affected Issues 0005613 |
|
mod - test/Entity.cpp | Diff File | ||
entityinspector 6f1e2918 17.10.2021 04:21 Details Diff |
0005613: Start creating unit tests covering the Entity::Observer behaviour |
Affected Issues 0005613 |
|
mod - test/Entity.cpp | Diff File | ||
entityinspector f060e712 17.10.2021 04:05 Details Diff |
0005613: Entity KeyValue objects now hold a reference to the owning SpawnArgs instance. This is a preparation to notify the owner on Undo/Redo when just a single key value is being reverted to a previous state - right now the SpawnArgs owner doesn't get notified. |
Affected Issues 0005613 |
|
mod - radiantcore/entity/KeyValue.cpp | Diff File | ||
mod - radiantcore/entity/KeyValue.h | Diff File | ||
mod - radiantcore/entity/SpawnArgs.cpp | Diff File | ||
entityinspector 0429c9cc 17.10.2021 03:49 Details Diff |
0005613: Module setup is not finished by the time the PropertyEditorFactory is registering the built-in types, so the sound module may or may not be available at that time. Disable the sound editor if the module is not present in the editor's constructor instead. |
Affected Issues 0005613 |
|
mod - radiant/ui/einspector/PropertyEditorFactory.cpp | Diff File | ||
mod - radiant/ui/einspector/PropertyEditorFactory.h | Diff File | ||
mod - radiant/ui/einspector/SoundPropertyEditor.cpp | Diff File | ||
mod - test/resources/tdm/maps/entityinspector.map | Diff File | ||
entityinspector a712aa77 17.10.2021 03:43 Details Diff |
0005613: PropertyEditorFactory is no longer a static class and is now owned by the EntityInspector module. |
Affected Issues 0005613 |
|
mod - radiant/ui/einspector/EntityInspector.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.h | Diff File | ||
mod - radiant/ui/einspector/PropertyEditorFactory.cpp | Diff File | ||
mod - radiant/ui/einspector/PropertyEditorFactory.h | Diff File | ||
entityinspector e275e9dd 16.10.2021 18:23 Details Diff |
0005613: Reorganise the whole PropertyEditor framework. Change virtual constructors to factory function object, to be able to use references in the property editor instances. Separate the IPropertyEditorDialog implementations from the editors. |
Affected Issues 0005613 |
|
mod - include/ientity.h | Diff File | ||
mod - include/ui/ientityinspector.h | Diff File | ||
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - libs/selection/EntitySelection.h | Diff File | ||
mod - plugins/dm.editing/AIEditingPanel.cpp | Diff File | ||
mod - plugins/dm.editing/AIHeadPropertyEditor.cpp | Diff File | ||
mod - plugins/dm.editing/AIHeadPropertyEditor.h | Diff File | ||
mod - plugins/dm.editing/AIVocalSetPropertyEditor.cpp | Diff File | ||
mod - plugins/dm.editing/AIVocalSetPropertyEditor.h | Diff File | ||
mod - plugins/dm.editing/plugin.cpp | Diff File | ||
mod - radiant/ui/einspector/AnglePropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/AnglePropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/BooleanPropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/BooleanPropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/ClassnamePropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/ClassnamePropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/ColourPropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/ColourPropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.h | Diff File | ||
mod - radiant/ui/einspector/EntityPropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityPropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/FloatPropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/FloatPropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/ModelPropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/ModelPropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/PropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/PropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/PropertyEditorFactory.cpp | Diff File | ||
mod - radiant/ui/einspector/PropertyEditorFactory.h | Diff File | ||
mod - radiant/ui/einspector/SkinPropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/SkinPropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/SoundPropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/SoundPropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/TexturePropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/TexturePropertyEditor.h | Diff File | ||
mod - radiant/ui/einspector/Vector3PropertyEditor.cpp | Diff File | ||
mod - radiant/ui/einspector/Vector3PropertyEditor.h | Diff File | ||
entityinspector 2f1d9859 16.10.2021 13:50 Details Diff |
0005613: Remove _selectedEntity member from EntityInspector, which supposedly introduces more breakage |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - libs/selection/EntitySelection.h | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.h | Diff File | ||
entityinspector 09905ebc 16.10.2021 12:16 Details Diff |
0005613: Change ownership of the CollectiveSpawnargs helper. It's now owned and listened to by the EntityInspector, the EntitySelection class merely monitors the selection and dispatches the key observer events. |
Affected Issues 0005613 |
|
mod - libs/selection/EntitySelection.h | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.h | Diff File | ||
mod - test/EntityInspector.cpp | Diff File | ||
entityinspector b4b6c10d 16.10.2021 11:28 Details Diff |
0005613: Disengage the existing key value handling code in EntityInspector. Key value addition/removal/update is now exclusively handled by listening to the signals emitted by the CollectiveSpawnargs helper. A couple of things stopped working at this point. |
Affected Issues 0005613 |
|
mod - radiant/ui/einspector/EntityInspector.cpp | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.h | Diff File | ||
entityinspector 54be9e99 16.10.2021 11:09 Details Diff |
0005613: Refactoring to not dereference the raw Entity* pointer which might be stale |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
entityinspector 40be3e61 16.10.2021 10:56 Details Diff |
0005613: Fix signal emission on changed key value |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
entityinspector cc265469 16.10.2021 07:54 Details Diff |
0005613: More tracking and signal emission logic. Some docs. |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - test/EntityInspector.cpp | Diff File | ||
entityinspector 7341bdcf 16.10.2021 07:20 Details Diff |
0005613: Re-arrange the code that checks values for uniqueness on removing a single key and on removing the whole entity, sharing the same logic |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - libs/selection/EntitySelection.h | Diff File | ||
entityinspector c95041f2 16.10.2021 06:14 Details Diff |
0005613: Cover the case that newly selected entities are lacking some keys that had values shared by all entities before. |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - libs/selection/EntitySelection.h | Diff File | ||
mod - test/EntityInspector.cpp | Diff File | ||
entityinspector f51e5371 16.10.2021 05:25 Details Diff |
0005613: Removing key values can change a value set's status again. More test cases. |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - test/EntityInspector.cpp | Diff File | ||
entityinspector 20b508ef 16.10.2021 04:47 Details Diff |
0005613: Working on the key value logic |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - libs/selection/EntitySelection.h | Diff File | ||
mod - radiant/ui/einspector/EntityInspector.cpp | Diff File | ||
entityinspector d122fef5 16.10.2021 04:15 Details Diff |
0005613: Start implementing the easy cases. Fix destruction order problems. |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - libs/selection/EntitySelection.h | Diff File | ||
mod - test/EntityInspector.cpp | Diff File | ||
entityinspector 585880ae 15.10.2021 19:06 Details Diff |
0005613: Signal signatures |
Affected Issues 0005613 |
|
mod - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - test/EntityInspector.cpp | Diff File | ||
entityinspector bcfac235 15.10.2021 18:38 Details Diff |
0005613: Sketched out a few unit test cases. Implementation is still lacking, as is the unit test code making use of it. |
Affected Issues 0005613 |
|
mod - test/EntityInspector.cpp | Diff File | ||
entityinspector a2cedef4 15.10.2021 17:30 Details Diff |
0005613: Start setting up the unit test scenario |
Affected Issues 0005613 |
|
add - libs/selection/CollectiveSpawnargs.h | Diff File | ||
mod - libs/selection/EntitySelection.h | Diff File | ||
add - test/EntityInspector.cpp | Diff File | ||
add - test/resources/tdm/maps/entityinspector.map | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj | Diff File | ||
mod - tools/msvc/Tests/Tests.vcxproj.filters | Diff File | ||
mod - tools/msvc/libs.vcxproj | Diff File | ||
mod - tools/msvc/libs.vcxproj.filters | Diff File |