sifflet-lib- Library of modules shared by sifflet and its tests and its exporters.

Safe HaskellSafe-Infered




showWindow :: WinId -> CBMgr -> (VPUI -> Window -> IO VPUIWindow) -> (VPUI -> WinId -> CBMgr -> IO ()) -> VPUI -> IO (VPUI, VPUIWindow, Bool)Source

Finding, creating, and initializing windows (VPUIWindow)

Find and show a window, if it exists. If not, create the window, put it in the vpui's window map, and initialize it and any auxiliary objects using the initWin function. The 3rd argument of initWin will be the window's title. Always presents the window (shows and raises). Returns a 3-tuple: the VPUIWindow contains the Window, and the Bool value is True if the Window is new (and therefore might need some further initialization). The third tuple element is an IORef to the VPUIWindow; it may be useful for setting up signal and event handling.

showWorkWin :: VPUI -> WinId -> CBMgr -> IO VPUISource

Show a workspace window, with a given title, _not_ editing a function

showWorkspaceWindow :: WinId -> CBMgr -> Maybe Function -> VPUI -> IO (VPUI, VPUIWindow, Bool)Source

Show a workspace window with a given title and maybe function to edit

showFedWin :: CBMgr -> String -> [String] -> VPUI -> IO VPUISource

Show a function editor window = a workspace window editing a given function. Use argNames for a new function; ignore them if funcName is bound.

newFunctionDialog :: WinId -> CBMgr -> VPUI -> IO VPUISource

Ask user for new function name and arguments, then begin editing the function.

openFilePath :: CBMgr -> FilePath -> VPUI -> IO VPUISource

Now that we have a file path, go ahead and open it, loading the function definitions into Sifflet

keyBindingsHelpText :: StringSource

Help text built from key bindings