modularize more
[mTask.git] / Devices / mTaskDevice.icl
index 2bd7121..b059b10 100644 (file)
@@ -6,7 +6,7 @@ import iTasks
 import iTasksTTY
 import TTY
 import qualified Data.Map as DM
-import Utils
+import Utils.SDS
 
 import GenBimap
 import Devices.mTaskSerial
@@ -47,5 +47,18 @@ addDevice devices = enterChoice "Device type" [] (map consName{|*|} deviceTypes)
                deviceSettings "SerialDevice" = getmTaskSerialDevice
                deviceSettings "TCPDevice" = getmTaskTCPDevice
 
-deviceTypes :: [MTaskResource]
-deviceTypes = conses{|*|}
+               deviceTypes :: [MTaskResource]
+               deviceTypes = conses{|*|}
+
+viewDevices :: [MTaskDevice] -> Task ()
+viewDevices ds = anyTask [
+               addDevice deviceStore <<@ Title "Add new device" @! ():
+                       [viewDevice d <<@ Title d.deviceName\\d<-ds]]
+       <<@ ArrangeWithTabs @! ()
+
+viewDevice :: MTaskDevice -> Task ()
+viewDevice d = (viewInformation "Device settings" [] d 
+               ||- viewSharedInformation "Channels" [ViewAs dropEmpty] (channels d) @! ()
+               ) <<@ ArrangeHorizontal
+       where
+               dropEmpty (r,s,ss) = (filter ((=!=)MTEmpty) r,s,ss)