| Safe Haskell | Safe-Infered | 
|---|
Sifflet.UI.Types
- data  VPUI  = VPUI {
- vpuiWindows :: Map WinId VPUIWindow
 - vpuiToolkits :: [(String, VPToolkit)]
 - vpuiFilePath :: Maybe FilePath
 - vpuiStyle :: Style
 - vpuiInitialEnv :: Env
 - vpuiGlobalEnv :: Env
 - vpuiFileEnv :: Env
 
 - type WinId = String
 - data VPUIWindow
 - vpuiFileChanged :: VPUI -> Bool
 - vpuiUserEnvAList :: VPUI -> [(String, Value)]
 - vpuiInsertWindow :: VPUI -> WinId -> VPUIWindow -> VPUI
 - vpuiTryGetWindow :: VPUI -> WinId -> Maybe VPUIWindow
 - vpuiGetWindow :: VPUI -> WinId -> VPUIWindow
 - vpuiUpdateWindow :: VPUI -> WinId -> (VPUIWindow -> VPUIWindow) -> VPUI
 - vpuiReplaceWindow :: VPUI -> WinId -> VPUIWindow -> VPUI
 - vpuiUpdateWindowIO :: WinId -> (VPUIWindow -> IO VPUIWindow) -> VPUI -> IO VPUI
 - vpuiRemoveVPUIWindow :: WinId -> VPUI -> VPUI
 - vpuiWindowLookupCanvas :: VPUIWindow -> Maybe VCanvas
 - vpuiWindowGetCanvas :: VPUIWindow -> VCanvas
 - vpuiWindowSetCanvas :: VPUIWindow -> VCanvas -> VPUIWindow
 - vpuiWindowModCanvas :: VPUIWindow -> (VCanvas -> VCanvas) -> VPUIWindow
 - vpuiWindowModCanvasIO :: VPUIWindow -> (VCanvas -> IO VCanvas) -> IO VPUIWindow
 - vpuiModCanvas :: VPUI -> WinId -> (VCanvas -> VCanvas) -> VPUI
 - vpuiModCanvasIO :: VPUI -> WinId -> (VCanvas -> IO VCanvas) -> IO VPUI
 - vpuiWindowWindow :: VPUIWindow -> Window
 - data  VPToolkit  = VPToolkit {
- toolkitName :: String
 - toolkitWidth :: Int
 - toolkitRows :: [[Tool]]
 
 - data Toolbox = Toolbox {}
 - data Tool = Tool {}
 - data ToolContext
 - type CanvasToolOp = VCanvas -> ToolContext -> [Modifier] -> Double -> Double -> IO VCanvas
 - type ToolOp = VPUI -> WinId -> ToolContext -> [Modifier] -> Double -> Double -> IO VPUI
 - toToolOpVW :: CanvasToolOp -> ToolOp
 - data  Workspace  = Workspace {
- wsBox :: VBox
 - wsCanvas :: VCanvas
 - wsButtonBar :: HBox
 - wsStatusbar :: Statusbar
 
 - data FunctionEditor = FunctionEditor {}
 - fedFunctionName :: FunctionEditor -> String
 - data VCanvas = VCanvas {}
 - data  Selection 
- = SelectionNode { }
 - | SelectionInlet { }
 - | SelectionOutlet { 
- selNode :: Node
 - selOutEdge :: WEdge
 
 
 - data Dragging = Dragging {}
 
Documentation
VPUI: Sifflet (formerly VisiProg) User Interface The initialEnv is apt to contain builtin functions; it's preserved here so that when writing to a file, we can skip the functions that were in the initial env.
Constructors
| VPUI | |
Fields 
  | |
data VPUIWindow Source
Constructors
| VPUIWorkWin Workspace Window | |
| FunctionPadWindow Window [(String, RPanel)] | 
vpuiFileChanged :: VPUI -> BoolSource
Tell whether the global environmkent has changed since the last file open or save
vpuiUserEnvAList :: VPUI -> [(String, Value)]Source
Extract from the environment the part defined by the user But you probably want to use Sifflet.UI.Window.UserFunctions instead of this.
Operations on a VPUI involving its window
vpuiInsertWindow :: VPUI -> WinId -> VPUIWindow -> VPUISource
Insert a window in the window map
vpuiTryGetWindow :: VPUI -> WinId -> Maybe VPUIWindowSource
Try to get the VPUIWindow with the given window ID, return Just result or Nothing
vpuiGetWindow :: VPUI -> WinId -> VPUIWindowSource
Get the VPUIWindow with the given window ID; it is an error if this fails.
vpuiUpdateWindow :: VPUI -> WinId -> (VPUIWindow -> VPUIWindow) -> VPUISource
Apply an update function to a VPUIWindow with given window ID; it is an error if this fails.
vpuiReplaceWindow :: VPUI -> WinId -> VPUIWindow -> VPUISource
Replace a VPUIWindow with given window ID; it is an error if this fails.
vpuiUpdateWindowIO :: WinId -> (VPUIWindow -> IO VPUIWindow) -> VPUI -> IO VPUISource
Apply an update IO action to a VPUIWindow with given window ID; it is an error if this fails.
vpuiRemoveVPUIWindow :: WinId -> VPUI -> VPUISource
Remove a window from the windows map; it has already been destroyed in the GUI
Operations on a window involving its canvas
vpuiWindowLookupCanvas :: VPUIWindow -> Maybe VCanvasSource
Try to find canvas; fail gracefully
vpuiWindowGetCanvas :: VPUIWindow -> VCanvasSource
Find canvas or fail dramatically
vpuiWindowModCanvas :: VPUIWindow -> (VCanvas -> VCanvas) -> VPUIWindowSource
vpuiWindowModCanvasIO :: VPUIWindow -> (VCanvas -> IO VCanvas) -> IO VPUIWindowSource
Operation on a VPUI involving the canvas of its window
vpuiModCanvas :: VPUI -> WinId -> (VCanvas -> VCanvas) -> VPUISource
Update the canvas of the specified window, without IO
vpuiModCanvasIO :: VPUI -> WinId -> (VCanvas -> IO VCanvas) -> IO VPUISource
Update the canvas of the specified window, with IO
Other operations on a window
Toolkit functions are organized in groups (rows) for presentation in a toolbox
Constructors
| VPToolkit | |
Fields 
  | |
A Toolbox is a framed VBox with a set of Toolbars attached
Constructors
| Toolbox | |
Fields 
  | |
data ToolContext Source
ToolContext: The way a tool should be applied depends on where it is being used
Constructors
| TCWorkspace | |
| TCCallFrame CanvFrame | |
| TCEditFrame CanvFrame | |
| TCExprNode | 
type CanvasToolOp = VCanvas -> ToolContext -> [Modifier] -> Double -> Double -> IO VCanvasSource
type ToolOp = VPUI -> WinId -> ToolContext -> [Modifier] -> Double -> Double -> IO VPUISource
ToolOp a is intended for a = VPUIWindow or VCanvas type ToolOp a = VPUI -> a -> ToolContext -> [Modifier] -> Double -> Double -> IO a
toToolOpVW :: CanvasToolOp -> ToolOpSource
A helper for making toolOps from actions on VCanvas
Constructors
| Workspace | |
Fields 
  | |
data FunctionEditor Source
Constructors
| FunctionEditor | |
Fields 
  | |
A canvas that can display multiple boxes representing expressions or function definitions or calls
Constructors
| SelectionNode | |
| SelectionInlet | |
| SelectionOutlet | |
Fields 
  | |