bork
[clean-tests.git] / metaeditor / MetaType.icl
index 4d891b9..9e776bc 100644 (file)
@@ -12,6 +12,7 @@ import Data.Functor
 import Data.Tuple
 import Data.Either
 import Data.List
+import Data.Maybe
 import iTasks
 import iTasks.UI.Editor
 import iTasks.UI.Editor.Containers
@@ -82,8 +83,12 @@ where
        typeToEditor` (MADT []) = emptyEditor
        typeToEditor` (MADT [(k, v)]) = bijectEditorValue (\(IADT 0 m)->m) (IADT 0)
                $ row k (containerL (map typeToEditor` v) <<@ directionAttr Horizontal)
-       typeToEditor` (MADT kvs) = abort "blurp"/*bijectEditorValue (\(IADT i m)->(i, m)) (uncurry IADT)
-               $ choose [(k, containerL (map typeToEditor` v) <<@ directionAttr Horizontal)\\(k,v)<-kvs]*/
+       typeToEditor` (MADT kvs) = bijectEditorValue (\(IADT i m)->(i, m)) (uncurry IADT)
+               $ containerc
+                       (chooseWithDropdown [k\\(k,_)<-kvs])
+                       [(maybe undef id
+                       , containerL (map typeToEditor` v) <<@ directionAttr Horizontal
+                       )\\(k,v)<-kvs]
        typeToEditor` x = abort $ "Nomatch: " +++ toString x
 
 enterValueOfType :: MetaType -> Task MetaInst