mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-09 11:12:51 -06:00
GF/src is now for 2.9, and the new sources are in src-3.0 - keep it this way until the release of GF 3
This commit is contained in:
59
src-3.0/GF/Fudgets/FudgetOps.hs
Normal file
59
src-3.0/GF/Fudgets/FudgetOps.hs
Normal file
@@ -0,0 +1,59 @@
|
||||
----------------------------------------------------------------------
|
||||
-- |
|
||||
-- Module : FudgetOps
|
||||
-- Maintainer : AR
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/04/21 16:22:17 $
|
||||
-- > CVS $Author: bringert $
|
||||
-- > CVS $Revision: 1.4 $
|
||||
--
|
||||
-- auxiliary Fudgets for GF syntax editor
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
module GF.Fudgets.FudgetOps where
|
||||
|
||||
import Fudgets
|
||||
|
||||
-- save and display
|
||||
|
||||
showAndSaveF fud = (writeFileF >+< textWindowF) >==< saveF fud
|
||||
|
||||
saveF :: F a String -> F (Either String a) (Either (String,String) String)
|
||||
saveF fud =
|
||||
absF (saveSP "EMPTY")
|
||||
>==<
|
||||
(popupStringInputF "Save" "foo.tmp" "Save to file:" >+< fud)
|
||||
|
||||
saveSP :: String -> SP (Either String String) (Either (String,String) String)
|
||||
saveSP contents = getSP $ \msg -> case msg of
|
||||
Left file -> putSP (Left (file,contents)) (saveSP contents)
|
||||
Right string -> putSP (Right string) (saveSP string)
|
||||
|
||||
textWindowF = writeOutputF
|
||||
|
||||
-- | to replace stringInputF by a pop-up slot behind a button
|
||||
popupStringInputF :: String -> String -> String -> F String String
|
||||
popupStringInputF label deflt msg =
|
||||
mapF snd
|
||||
>==<
|
||||
(popupSizeP $ stringPopupF deflt)
|
||||
>==<
|
||||
mapF (\_ -> (Just msg,Nothing))
|
||||
>==<
|
||||
decentButtonF label
|
||||
>==<
|
||||
mapF (\_ -> Click)
|
||||
|
||||
decentButtonF = spacerF (sizeS (Point 80 20)) . buttonF
|
||||
|
||||
popupSizeP = spacerF (sizeS (Point 240 100))
|
||||
|
||||
--- the Unicode stuff should be inserted here
|
||||
|
||||
writeOutputF = moreF >==< mapF lines
|
||||
|
||||
writeInputF = stringInputF
|
||||
|
||||
|
||||
Reference in New Issue
Block a user