Ui reorg layout
First stab at converting the UI to an intermediate representation and back.
uiToRefs :: UI -> TaskUITree
creates the tree on which to match.
taskUILayoutToUI :: (TaskUILayout a) -> UI
creates the skeleton tree with "direction"
and "origin"
attributes. Direction being either Horizontal
or Vertical
, and origin being the NodePath
from which the node came.
It is up to the user to define a function f :: TaskUITree -> TaskUILayout a
. For this, the new Layout
class can be used.
Right now the implementation only supports above and beside, but that should be sufficient for now.