make compilable
[mTask.git] / Shares / mTaskShare.icl
1 implementation module Shares.mTaskShare
2
3 import Utils.SDS
4 import Utils.Devices
5 import iTasks
6 import mTask
7 from Data.Func import $
8
9 manageShares :: [MTaskShare] -> Task ()
10 manageShares shares = forever (enterChoice "Choose share to update" [ChooseFromGrid id] shares)
11 @! ()
12
13
14
15 /*
16 forever (enterChoice "Choose share to update" [ChooseFromGrid id] shares
17 >&^ \st->whileUnchanged st $ \msh->case msh of
18 Nothing = viewShares shares @! zero
19 Just sh = forever (
20 viewSharedInformation "View value" [] (getSDSStore sh)
21 >>* [OnAction (Action "Update") (withValue (Just o updateInformation "New value" []))]
22 >>= updateShare sh
23 )
24
25 ) @! ()*/
26
27 updateShare :: MTaskShare a -> Task MTaskShare | toByteCode, iTask a
28 updateShare sh=:{withTask,identifier} a = getDeviceByName withTask
29 >>= sendMessages [MTUpd identifier $ toString $ toByteCode a]
30 >>| treturn sh
31
32
33 viewShares :: [MTaskShare] -> Task ()
34 viewShares sh = anyTask (map viewShare sh) <<@ ArrangeHorizontal @! ()
35
36 viewShare :: MTaskShare -> Task ()
37 viewShare m = treturn ()//viewSharedInformation "" [] (getSDSStore m)
38 //<<@ Title ("SDS: " +++ toString m.identifier) @! ()
39
40 instance zero MTaskShare where
41 zero = {withTask="",identifier=0,realShare=""}
42