From 54c72f5ab023c0cdac83eb28dd1f81d4cd35aeae Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 11 Nov 2003 15:44:24 +0000 Subject: Working with interfaces. Working with interfaces. Created new place for grammar parsers. Created new script jgf2+. --- src/GF/Shell/Commands.hs | 7 ++++--- src/GF/Shell/JGF.hs | 32 ++++++++++++++++---------------- 2 files changed, 20 insertions(+), 19 deletions(-) (limited to 'src/GF/Shell') diff --git a/src/GF/Shell/Commands.hs b/src/GF/Shell/Commands.hs index e6f7e9b40..4fb3048ee 100644 --- a/src/GF/Shell/Commands.hs +++ b/src/GF/Shell/Commands.hs @@ -409,8 +409,9 @@ displaySStateIn env state = (tree',msg,menu) where linAll = map lin grs separ = singleton . map unlines . intersperse [replicate 72 '*'] -displaySStateJavaX :: CEnv -> SState -> String -displaySStateJavaX env state = unlines $ tagXML "gfedit" $ concat [ +---- the Boolean is a temporary hack to have two parallel GUIs +displaySStateJavaX :: Bool -> CEnv -> SState -> String +displaySStateJavaX isNew env state = unlines $ tagXML "gfedit" $ concat [ tagXML "linearizations" (concat [tagAttrXML "lin" ("lang", prLanguage lang) ss | (lang,ss) <- lins]), tagXML "tree" tree, @@ -431,7 +432,7 @@ displaySStateJavaX env state = unlines $ tagXML "gfedit" $ concat [ zipper = stateSState state linAll = map lin lgrs gr = firstStateGrammar env - mark = markOptXML -- markOptJava + mark = if isNew then markOptXML else markOptJava langAbstract = language "Abstract" langXML = language "XML" diff --git a/src/GF/Shell/JGF.hs b/src/GF/Shell/JGF.hs index 93c0868ac..309ee40c9 100644 --- a/src/GF/Shell/JGF.hs +++ b/src/GF/Shell/JGF.hs @@ -16,34 +16,34 @@ import UTF8 -- GF editing session controlled by e.g. a Java program. AR 16/11/2001 -sessionLineJ :: ShellState -> IO () -sessionLineJ env = do +---- the Boolean is a temporary hack to have two parallel GUIs +sessionLineJ :: Bool -> ShellState -> IO () +sessionLineJ isNew env = do putStrLnFlush $ initEditMsgJavaX env let env' = addGlobalOptions (options [sizeDisplay "short"]) env - editLoopJ env' (initSState) - -editLoopJ :: CEnv -> SState -> IO () -editLoopJ = editLoopJnewX + editLoopJnewX isNew env' (initSState) -- this is the real version, with XML -editLoopJnewX :: CEnv -> SState -> IO () -editLoopJnewX env state = do +---- the Boolean is a temporary hack to have two parallel GUIs +editLoopJnewX :: Bool -> CEnv -> SState -> IO () +editLoopJnewX isNew env state = do c <- getCommandUTF case c of CQuit -> return () c -> do (env',state') <- execCommand env c state + let inits = initAndEditMsgJavaX isNew env' state' let package = case c of - CCEnvImport _ -> initAndEditMsgJavaX env' state' - CCEnvEmptyAndImport _ -> initAndEditMsgJavaX env' state' - CCEnvOpenTerm _ -> initAndEditMsgJavaX env' state' - CCEnvOpenString _ -> initAndEditMsgJavaX env' state' + CCEnvImport _ -> inits + CCEnvEmptyAndImport _ -> inits + CCEnvOpenTerm _ -> inits + CCEnvOpenString _ -> inits CCEnvEmpty -> initEditMsgJavaX env' - _ -> displaySStateJavaX env' state' + _ -> displaySStateJavaX isNew env' state' putStrLnFlush package - editLoopJnewX env' state' + editLoopJnewX isNew env' state' welcome = "An experimental GF Editor for Java." ++ @@ -56,5 +56,5 @@ initEditMsgJavaX env = encodeUTF8 $ unlines $ tagXML "gfinit" $ concat [tagAttrXML "language" ("file",file) [prLanguage lang] | (file,lang) <- zip (allGrammarFileNames env) (allLanguages env)] -initAndEditMsgJavaX env state = - initEditMsgJavaX env ++++ displaySStateJavaX env state +initAndEditMsgJavaX isNew env state = + initEditMsgJavaX env ++++ displaySStateJavaX isNew env state -- cgit v1.2.3