Skip to content

Commit

Permalink
shadow canvas for SyncSelect mode
Browse files Browse the repository at this point in the history
  • Loading branch information
ravichugh committed Aug 28, 2015
1 parent 3fc7640 commit ad53383
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 17 deletions.
10 changes: 5 additions & 5 deletions src/InterfaceController.elm
Expand Up @@ -210,20 +210,20 @@ upstate evt old = case debugLog "Event" evt of
let n = debugLog "# of live updates" (List.length l) in
let l1 = List.map fst l in
let l2 = delete ++ related ++ [struct] in
let m = SyncSelect old.code 0 (mkOptions l1 l2 revert) in
let m = SyncSelect (old.code, old.slate) 0 (mkOptions l1 l2 revert) in
upstate (TraverseOption 1) { old | mode <- m }
Err e ->
let _ = debugLog ("no live updates: " ++ e) () in
let l2 = delete ++ related ++ [struct] in
let m = SyncSelect old.code 0 (mkOptions [] l2 revert) in
let m = SyncSelect (old.code, old.slate) 0 (mkOptions [] l2 revert) in
upstate (TraverseOption 1) { old | mode <- m }

SelectOption ->
let (SyncSelect prev i options) = old.mode in
let (SyncSelect (prevCode,_) i options) = old.mode in
let ((n1,l1),(n2,l2),revert) = options in
let ((ei,vi),h) =
if | i `between1` ( 0, n1 ) -> (Utils.geti i l1, addToHistory prev old.history)
| i `between1` (n1, n1+n2) -> (Utils.geti (i-n1) l2, addToHistory prev old.history)
if | i `between1` ( 0, n1 ) -> (Utils.geti i l1, addToHistory prevCode old.history)
| i `between1` (n1, n1+n2) -> (Utils.geti (i-n1) l2, addToHistory prevCode old.history)
| otherwise -> (revert, old.history)
in
maybeAdjustShowZones
Expand Down
7 changes: 5 additions & 2 deletions src/InterfaceModel.elm
Expand Up @@ -44,8 +44,11 @@ type alias Model =
}

type Mode
= AdHoc | SyncSelect Code Int PossibleChanges | Live Sync.LiveInfo
| Print RawSvg | SaveDialog Mode -- SaveDialog saves last mode
= AdHoc
| SyncSelect (Code, RootedIndexedTree) Int PossibleChanges
| Live Sync.LiveInfo
| Print RawSvg
| SaveDialog Mode -- SaveDialog saves last mode

type alias DialogInfo = { value : String
, hint : String
Expand Down
32 changes: 22 additions & 10 deletions src/InterfaceView2.elm
Expand Up @@ -149,7 +149,8 @@ buildSvg_ addZones showZones d i =
in
let children = List.map (buildSvg_ addZones showZones d) js in
let mainshape = (LangSvg.svg shape) (LangSvg.compileAttrs attrs') children in
Svg.svg [] (mainshape :: zones)
if | zones == [] -> mainshape
| otherwise -> Svg.svg [] (mainshape :: zones)


--------------------------------------------------------------------------------
Expand Down Expand Up @@ -574,15 +575,26 @@ canvas_ w h model =
(False, Live _) -> True
_ -> False
in
let svg = buildSvg addZones model.showZones model.slate in
Html.toElement w h <|
Svg.svg
[ onMouseUp MouseUp
, Attr.style [ ("width", "100%") , ("height", "100%")
, ("border", params.mainSection.canvas.border)
, highlightThisIf addZones
] ]
[ svg ]
let svg =
let mainCanvas = buildSvg addZones model.showZones model.slate in
case model.mode of
SyncSelect (_,prevSlate) _ _ ->
let old = buildSvg addZones model.showZones prevSlate in
let shadowCanvas = Svg.svg [Attr.style [("opacity", "0.3")]] [old] in
mkSvg addZones (Svg.g [] [shadowCanvas, mainCanvas])
_ ->
mkSvg addZones mainCanvas
in
Html.toElement w h svg

mkSvg hilite svg =
Svg.svg
[ onMouseUp MouseUp
, Attr.style [ ("width", "100%") , ("height", "100%")
, ("border", params.mainSection.canvas.border)
, highlightThisIf hilite
] ]
[ svg ]

middleWidgets w h wWrap hWrap model =
let twoButtons b1 b2 =
Expand Down

0 comments on commit ad53383

Please sign in to comment.