sifflet-0.1.5: sifflet.hs
module Main (main) where
import Data.IORef
-- external libraries
import Graphics.UI.Gtk
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 ()
}