- showWindow :: WinId -> CBMgr -> (VPUI -> Window -> IO VPUIWindow) -> (VPUI -> WinId -> CBMgr -> IO ()) -> VPUI -> IO (VPUI, VPUIWindow, Bool)
- newWindowTitled :: String -> IO Window
- showWorkWin :: VPUI -> WinId -> CBMgr -> IO VPUI
- showWorkspaceWindow :: WinId -> CBMgr -> Maybe Function -> VPUI -> IO (VPUI, VPUIWindow, Bool)
- showFedWin :: CBMgr -> String -> [String] -> VPUI -> IO VPUI
- fedWindowTitle :: String -> WinId
- showFunctionPadWindow :: CBMgr -> VPUI -> IO VPUI
- newFunctionDialog :: WinId -> CBMgr -> VPUI -> IO VPUI
- openFilePath :: CBMgr -> FilePath -> VPUI -> IO VPUI
- setWSCanvasCallbacks :: VPUI -> WinId -> CBMgr -> IO ()
- keyBindingsHelpText :: String
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.
Show a workspace window, with a given title, _not_ editing a function
Show a workspace window with a given title and maybe function to edit
Show a function editor window = a workspace window editing a given function. Use argNames for a new function; ignore them if funcName is bound.
Ask user for new function name and arguments, then begin editing the function.
Now that we have a file path, go ahead and open it, loading the function definitions into Sifflet