Last Modified: 2023-12-19
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)
}