repositories
/
clean-tests.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
things
[clean-tests.git]
/
7gui
/
test.icl
diff --git
a/7gui/test.icl
b/7gui/test.icl
index
b76ee57
..
e2b46cb
100644
(file)
--- a/
7gui/test.icl
+++ b/
7gui/test.icl
@@
-1,5
+1,6
@@
module test
module test
+import Graphics.Scalable.Internal.Types
import StdMisc
import Data.Func
import Data.Tuple
import StdMisc
import Data.Func
import Data.Tuple
@@
-21,14
+22,14
@@
import Data.Map.GenJSON
Start w = doTasks gui6 w
gui1 :: Int -> Task Int
Start w = doTasks gui6 w
gui1 :: Int -> Task Int
-gui1 c = viewInformation
"Counter" [] c
+gui1 c = viewInformation
[] c <<@ Label "Counter"
>>* [OnAction (Action "Count") (withValue (Just o gui1 o inc))]
gui2 :: Task Real
gui2 = withShared 42.0 \sh->
>>* [OnAction (Action "Count") (withValue (Just o gui1 o inc))]
gui2 :: Task Real
gui2 = withShared 42.0 \sh->
- updateSharedInformation "Celcius" [] sh
- -|| updateSharedInformation
"Fahrenheit"
- [Update
As (\c->1.8*c+32.0) \_ f->(f-32.0)/1.8] sh
+ (updateSharedInformation [] sh <<@ Label "Celcius")
+ -|| updateSharedInformation
+ [Update
SharedAs (\c->1.8*c+32.0) (\_ f->(f-32.0)/1.8) const] sh <<@ Label "Fahrenheit"
//This should be possible with just a custom editor...
:: Flight
//This should be possible with just a custom editor...
:: Flight
@@
-37,22
+38,22
@@
gui2 = withShared 42.0 \sh->
derive class iTask Flight
gui3 :: Task Flight
gui3 = get currentDate
derive class iTask Flight
gui3 :: Task Flight
gui3 = get currentDate
- >>- \now->editChoice
()
[] ["one-way flight", "return flight"] (Just "one-way flight")
+ >>- \now->editChoice [] ["one-way flight", "return flight"] (Just "one-way flight")
>&> \sh-> whileUnchanged sh \v->case fromJust v of
"one-way flight" = withShared now \sh->
>&> \sh-> whileUnchanged sh \v->case fromJust v of
"one-way flight" = withShared now \sh->
- updateSharedInformation
()
[] sh
- -|| updateSharedInformation
() [UpdateUsing toString
const (gEditor{|*|} <<@ enabledAttr False)] sh
+ updateSharedInformation [] sh
+ -|| updateSharedInformation
[UpdateSharedUsing toString const
const (gEditor{|*|} <<@ enabledAttr False)] sh
>>* [OnAction (Action "Book") $ ifValue (\_->True) $ return o OneWay]
"return flight"
>>* [OnAction (Action "Book") $ ifValue (\_->True) $ return o OneWay]
"return flight"
- = updateInformation
()
[] now
- -&&- updateInformation
()
[] now
+ = updateInformation [] now
+ -&&- updateInformation [] now
>>* [OnAction (Action "Book") $ ifValue (uncurry (<)) $ return o Return]
gui4 :: Timestamp Int -> Task Timestamp
gui4 startTime duration = withShared duration \duration->
>>* [OnAction (Action "Book") $ ifValue (uncurry (<)) $ return o Return]
gui4 :: Timestamp Int -> Task Timestamp
gui4 startTime duration = withShared duration \duration->
-
viewSharedInformation "Elapsed time: " [ViewUsing toProgress progressBar] (currentTimestamp >*< duration
)
- -&&- viewSharedInformation
()
[ViewAs \now->on (-) toInt now startTime] currentTimestamp
- -&&- updateSharedInformation
"Duration: " [UpdateUsing id (const id) $ slider <<@ minAttr 0 <<@ maxAttr 3600] duration
+
(viewSharedInformation [ViewUsing toProgress progressBar] (currentTimestamp >*< duration) <<@ Label "Elapsed time: "
)
+ -&&- viewSharedInformation [ViewAs \now->on (-) toInt now startTime] currentTimestamp
+ -&&- updateSharedInformation
[UpdateSharedUsing id (const id) const $ slider <<@ minAttr 0 <<@ maxAttr 3600] duration <<@ Label "Duration: "
>>* [OnAction (Action "Reset") $ always $ get (currentTimestamp >*< duration) >>- uncurry gui4]
where
toProgress (now, duration) =
>>* [OnAction (Action "Reset") $ always $ get (currentTimestamp >*< duration) >>- uncurry gui4]
where
toProgress (now, duration) =
@@
-66,34
+67,46
@@
instance toString Name where toString n = n.Name.name +++ ", " +++ n.surname
gui5 :: Task (Int, Name)
gui5 = withShared ('DM'.fromList [(0, name "Emil" "Hans"), (1, name "Mustermann" "Max"), (2, name "Tisch" "Roman")]) \data->
gui5 :: Task (Int, Name)
gui5 = withShared ('DM'.fromList [(0, name "Emil" "Hans"), (1, name "Mustermann" "Max"), (2, name "Tisch" "Roman")]) \data->
- enterInformation
"Filter prefix" []
+ enterInformation
[] <<@ Title "Filter prefix"
>&> \v->whileUnchanged (mapRead (fromMaybe " ") v) \filter->
tune ArrangeHorizontal
>&> \v->whileUnchanged (mapRead (fromMaybe " ") v) \filter->
tune ArrangeHorizontal
- $ enterChoiceWithShared
()
[ChooseFromList (toString o snd)] (mapRead 'DM'.toList data)
+ $ enterChoiceWithShared [ChooseFromList (toString o snd)] (mapRead 'DM'.toList data)
>&> \sh->whileUnchanged sh \v->case v of
Nothing = return () @? const NoValue
>&> \sh->whileUnchanged sh \v->case v of
Nothing = return () @? const NoValue
- Just x = updateInformation
()
[UpdateAs snd (tuple o fst)] x
+ Just x = updateInformation [UpdateAs snd (tuple o fst)] x
>^* [ OnAction (Action "new") $ always $ upd (\l->'DM'.put (inc $ maxList $ 'DM'.keys l) (name "-" "-") l) data
, OnAction (Action "update") $ withValue \(i, n)->Just $ upd ('DM'.put i n) data
, OnAction (Action "delete") $ withValue \(i, n)->Just $ upd ('DM'.del i) data
]
>^* [ OnAction (Action "new") $ always $ upd (\l->'DM'.put (inc $ maxList $ 'DM'.keys l) (name "-" "-") l) data
, OnAction (Action "update") $ withValue \(i, n)->Just $ upd ('DM'.put i n) data
, OnAction (Action "delete") $ withValue \(i, n)->Just $ upd ('DM'.del i) data
]
-gui6 :: Task [(
Real, Real, Real
)]
-gui6 = updateInformation
()
+gui6 :: Task [(
Span, Span, Span
)]
+gui6 = updateInformation
[UpdateUsing id (const id) (fromSVGEditor svged)]
[UpdateUsing id (const id) (fromSVGEditor svged)]
- [(
5.0, 5.0,
5.0)]
+ [(
px 5.0, px 5.0, px
5.0)]
-svged :: SVGEditor [(
Real, Real, Real)] [(Real, Real, Real
)]
-svged = {initView=id, renderImage=renderImage, updModel=
const id
}
+svged :: SVGEditor [(
Span, Span, Span)] [(Span, Span, Span
)]
+svged = {initView=id, renderImage=renderImage, updModel=
\m v->v
}
where
renderImage _ images ts
# (_, images) = trace_stdout ("img: ", images)
where
renderImage _ images ts
# (_, images) = trace_stdout ("img: ", images)
- = collage [(px x, px y)\\(_, x, y)<-images] [circle (px r)\\(r, _, _)<-images]
- $ Host $ rect (px 100.0) (px 100.0)
- <@< {fill=toSVGColor "white"}
- <@< {onclick=clicker,local=False}
+ = overlay
+ [(AtMiddleX, AtMiddleY)]
+ [(px 0.0, px 0.0)]
+ [img]
+ $ Host $ rect (px 1000.0) (px 1000.0)
+ <@< {fill=toSVGColor "white"}
+ where
+ img = collage [(x, y)\\(_, x, y)<-images] [circle r\\(r, _, _)<-images]
+ $ Host $ rect (px 100.0) (px 100.0)
+ <@< {fill=toSVGColor "white"}
+ <@< {onclick=clicker,local=False}
- clicker
m = jsTrace "click" [(5.0, 10.0, 10.0
):m]
+ clicker
(x, y) m = [(px 5.0, x, y
):m]
import Debug.Trace, StdDebug
import iTasks.UI.JavaScript
import Debug.Trace, StdDebug
import iTasks.UI.JavaScript
+derive gEq Span, LookupSpan, ImageTag
+derive gText Span, LookupSpan, ImageTag, FontDef`
+derive JSONEncode Span, LookupSpan, ImageTag
+derive JSONDecode Span, LookupSpan, ImageTag
+derive gEditor Span, LookupSpan, ImageTag, FontDef`