finetune share viewing
authorMart Lubbers <mart@martlubbers.net>
Mon, 27 Feb 2017 16:39:49 +0000 (17:39 +0100)
committerMart Lubbers <mart@martlubbers.net>
Mon, 27 Feb 2017 16:39:49 +0000 (17:39 +0100)
Shares/mTaskShare.dcl
Shares/mTaskShare.icl
miTask.icl

index 0f476d5..a9c6f39 100644 (file)
@@ -9,4 +9,6 @@ import iTasks
                realShare :: String
        }
 
-viewShares :: [MTaskShare] -> Task ()
+instance zero MTaskShare
+
+manageShares :: [MTaskShare] -> Task ()
index 836b504..0bb6265 100644 (file)
@@ -2,10 +2,23 @@ implementation module Shares.mTaskShare
 
 import Utils.SDS
 import iTasks
+from Data.Func import $
+
+manageShares :: [MTaskShare] -> Task ()
+manageShares shares = forever (enterChoice "Choose share to update" [ChooseFromGrid id] shares
+       >&^ \st->whileUnchanged st $ \msh->case msh of
+               Nothing = viewShares shares @! zero
+               Just sh = viewSharedInformation "View value" [] (getSDSStore sh)
+                       >>= \_->return sh
+       ) @! ()
 
 viewShares :: [MTaskShare] -> Task ()
-viewShares st = anyTask (map viewer st)
+viewShares sh = anyTask (map viewShare sh) <<@ ArrangeHorizontal @! ()
 
-viewer :: MTaskShare -> Task ()
-viewer m = viewSharedInformation "" [] (getSDSStore m)
+viewShare :: MTaskShare -> Task ()
+viewShare m = viewSharedInformation "" [] (getSDSStore m)
        <<@ Title ("SDS: " +++ toString m.identifier) @! ()
+
+instance zero MTaskShare where
+       zero = {initValue=0,withTask="",identifier=0,realShare=""}
+
index 09fb5dd..8faca2f 100644 (file)
@@ -33,7 +33,7 @@ Start world = startEngine (mTaskManager
 mTaskManager :: Task ()
 mTaskManager = anyTask 
                [ viewmTasks @! ()
-               , whileUnchanged sdsStore viewShares
+               , whileUnchanged sdsStore manageShares
                , whileUnchanged deviceStore $ manageDevices process
                ] <<@ ApplyLayout (sequenceLayouts 
                        [ arrangeWithSideBar 0 LeftSide 260 True