X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=metaeditor%2FMetaType.icl;fp=metaeditor%2FMetaType.icl;h=9e776bcfb9697d73bb4ad242ec37753ac86b8160;hb=3d178c7c12e836d3791180034d029cbd3897921a;hp=4d891b9e6972024e71684d1468f79b8c724b7c06;hpb=9e76dc6627279fc2a754ef4a0482fe5b4da209ec;p=clean-tests.git diff --git a/metaeditor/MetaType.icl b/metaeditor/MetaType.icl index 4d891b9..9e776bc 100644 --- a/metaeditor/MetaType.icl +++ b/metaeditor/MetaType.icl @@ -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