Group Editor
menu.controller.selector.selectGroup is linked to group.controller.selectGroup
local instance = require("components.editor.group.controller.selectGroup")
---
theme: ''
---
classDiagram
commands o-- selectLayer
commands o-- selectGroup
selectors ..> store
selectGroup --> _selectGroup
class _selectGroup{
<<Controller>>
decodede = util.read
layersbox store.set(decodede)
layersTable store.set(decoded)
return instance.new()
}
class add{
<<Controller>>
layersbox:set(decodede)
layersTable:set(decoded)
}
class remove{
<<Controller>>
layersbox:set(decodede)
layersTable:set(decoded)
}
class editorGroup {
+ groupTable as selectbox
+ controlbox
+ buttons
+ layersbox
+ groupTable
}
class groupTable {
+ groups
oncllick()
}
class layersbox {
+ layers
setValue() override
}
layersbox <|.. targetbox
layersbox <|.. targetboxMulti
targetboxMulti --> util
class targetboxMulti{
commandHandler() override
}
class util {
+ setSelection()
}
class layersTable {
+ layers
scrollView = widget.newDragItemsScrollView()
}
class dragitemscrollview{
<<ext>>
}
layersTable --> dragitemscrollview
layersTable --> util
groupTable ..> BTree
editorGroup *-- groupTable
editorGroup *.. layersbox
editorGroup *.. layersTable
editorGroup o.. add
editorGroup o.. remove
editorGroup o.. _selectGroup
groupTable <|.. baseTable
editorGroup *-- conrolbox
conrolbox <|.. baseProps
BTree ..> commands
commands ..> selectGroup
_selectGroup ..> layersbox
_selectGroup ..> layersTable
store ..> baseTable
class selectGroup{
require(group.controller.selectGroup)
}