From 2bcabb3e338d39653c71d1ffbfad1bce04229df2 Mon Sep 17 00:00:00 2001 From: Greg Shuflin Date: Wed, 1 Mar 2023 18:32:59 -0800 Subject: [PATCH] WIP work on the clock rendering --- app/Main.hs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/app/Main.hs b/app/Main.hs index 64b4d37..cf1c5e4 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -19,13 +19,31 @@ data AppEvent = AppInit | AppIncrease deriving (Show, Eq) makeLenses 'AppModel +clockWidget :: WidgetNode s e +clockWidget = clockWidget_ def + +clockWidget_ def = defaultWidgetNode "clock" newWidget where + newWidget = createSingle () def { + singleMerge = merge, + singleHandleEvent = handleEvent, + singleHandleMessage = handleMessage, + singleGetSizeReq = getSizeReq, + singleRender = render + } + + merge wenv node oldNode oldState = result where + newNode = node + & L.widget .~ makeCanvas cfg oldState + result = resultNode newNode + + buildUI :: WidgetEnv AppModel AppEvent -> AppModel -> WidgetNode AppModel AppEvent buildUI _wenv model = widgetTree where widgetTree = vstack [ - label $ "Cur time: " <> showt (model ^. curTimeRepresentation), + label $ showt (model ^. curTimeRepresentation), spacer, hstack [ label $ "Click count: " <> showt (model ^. clickCount),