@@ -19,7 +19,7 @@ import Data.Text qualified as T
1919import Foreign.C.String (CString )
2020import Foreign.Marshal.Utils (fromBool , toBool )
2121import GHCSpecter.Data.GHC.Hie (ModuleHieInfo (.. ))
22- import GHCSpecter.Graphics.DSL (Scene (.. ), Stage ( .. ) )
22+ import GHCSpecter.Graphics.DSL (Scene (.. ))
2323import GHCSpecter.Server.Types
2424 ( HieState (.. ),
2525 ServerState (.. ),
@@ -39,7 +39,7 @@ import GHCSpecter.UI.Types.Event
3939import GHCSpecter.Worker.CallGraph (getReducedTopLevelDecls )
4040import Handler (sendToControl )
4141import ImGui qualified
42- import Render.Common (renderComponent )
42+ import Render.Common (renderComponent , withStage )
4343import STD.Deletable (delete )
4444import Util.GUI
4545 ( defTableFlags ,
@@ -55,33 +55,29 @@ import Util.Render
5555
5656render :: UIState -> ServerState -> StateT (SharedState UserEvent ) IO ()
5757render ui ss = do
58- vec1 <- liftIO $ ImGui. newImVec2 400 0
59- vec2 <- liftIO $ ImGui. newImVec2 400 0
60- vec3 <- liftIO $ ImGui. newImVec2 400 0
58+ zero <- liftIO $ ImGui. newImVec2 0 0
6159 whenM (toBool <$> liftIO (ImGui. beginTable (" ##table" :: CString ) 3 defTableFlags)) $ do
6260 liftIO $ ImGui. tableSetupColumn_ (" graph" :: CString )
6361 liftIO $ ImGui. tableNextRow 0
6462 liftIO $ ImGui. tableSetColumnIndex 0
65- _ <- liftIO $ ImGui. beginChild (" #module-tree" :: CString ) vec1 (fromBool False ) windowFlagsNoScrollbar
63+ _ <- liftIO $ ImGui. beginChild (" #module-tree" :: CString ) zero (fromBool False ) windowFlagsNoScrollbar
6664 renderModuleTree srcUI ss
6765 liftIO ImGui. endChild
6866 --
6967 liftIO $ ImGui. tableSetColumnIndex 1
70- _ <- liftIO $ ImGui. beginChild (" #source-view" :: CString ) vec2 (fromBool False ) windowFlagsNoScroll
68+ _ <- liftIO $ ImGui. beginChild (" #source-view" :: CString ) zero (fromBool False ) windowFlagsNoScroll
7169 for_ mexpandedModu $ \ modu ->
7270 renderSourceTextView modu ss
7371 liftIO ImGui. endChild
7472 --
7573 liftIO $ ImGui. tableSetColumnIndex 2
76- _ <- liftIO $ ImGui. beginChild (" #supp-view" :: CString ) vec3 (fromBool False ) windowFlagsNoScroll
74+ _ <- liftIO $ ImGui. beginChild (" #supp-view" :: CString ) zero (fromBool False ) windowFlagsNoScroll
7775 for_ mexpandedModu $ \ modu ->
7876 renderSuppViewPanel modu srcUI ss
7977 liftIO ImGui. endChild
8078 --
8179 liftIO ImGui. endTable
82- liftIO $ delete vec1
83- liftIO $ delete vec2
84- liftIO $ delete vec3
80+ liftIO $ delete zero
8581 where
8682 srcUI = ui. _uiModel. _modelSourceView
8783 mexpandedModu = srcUI. _srcViewExpandedModule
@@ -102,9 +98,7 @@ renderSourceTextView modu ss = do
10298 let topLevelDecls = getReducedTopLevelDecls modHieInfo
10399 src = modHieInfo. _modHieSource
104100 renderState <- mkRenderState
105- shared <- get
106- let Stage stage = shared. sharedStage
107- for_ (L. find ((== " source-view" ) . sceneId) stage) $ \ stage_source ->
101+ withStage " source-view" $ \ stage_source ->
108102 runImRender renderState $
109103 renderComponent
110104 True
@@ -149,9 +143,7 @@ renderSuppViewPanel modu srcUI ss = do
149143renderSuppViewContents :: Text -> SourceViewUI -> ServerState -> StateT (SharedState UserEvent ) IO ()
150144renderSuppViewContents modu srcUI ss = do
151145 renderState <- mkRenderState
152- shared <- get
153- let Stage stage = shared. sharedStage
154- for_ (L. find ((== " supple-view-contents" ) . sceneId) stage) $ \ stage_supp -> do
146+ withStage " supple-view-contents" $ \ stage_supp ->
155147 runImRender renderState $ do
156148 renderComponent
157149 True
0 commit comments