module Main (main) where import Data.IORef -- external libraries import LittleGtk -- hiding (Frame, Function, Style, buttonPressed, fill, lineWidth, -- disconnect, function) -- sifflet modules import CBMgr import Examples import Expr import GtkUtil import TreeLayout import WindowManagement import Workspace import UITypes -- --------------------------------------------------------------------- -- Environment initialEnv :: Env initialEnv = exampleEnv main :: IO () main = do { -- scim-bridge causes many errors, so don't use it suppressScimBridge -- Initialize GTK ; _ <- initGUI -- create the user interface ; vpui <- vpuiNew wstyle initialEnv ; let vpui' = vpui {vpuiToolkits = defaultVPUIToolkits} workId = "Sifflet Workspace" ; uiref <- newIORef vpui' -- Create wome windows ; let cbmgr = mkCBMgr uiref ; vpui'' <- showWorkWin vpui' workId cbmgr ; writeIORef uiref vpui'' ; showFunctionPadWindow cbmgr vpui'' >>= writeIORef uiref -- run GTK ; mainGUI ; return () }