Source codeContentsIndex
Wish
Synopsis
wish :: Wish
evalTclScript :: TclScript -> IO String
execTclScript :: TclScript -> IO ()
execCmd :: TclCmd -> IO ()
evalCmd :: TclCmd -> IO String
data Wish = Wish {
commands :: (Channel TclScript)
wishLock :: BSem
eventQueue :: (EqGuardedChannel BindTag EventInfo)
coQueue :: (EqGuardedChannel CallBackId ())
bindTags :: (MVar BindTag)
readWish :: (GuardedEvent (EqMatch TclMessageType) (TclMessageType, String))
writeWish :: (CStringLen -> IO ())
destroyWish :: (IO ())
bufferedCommands :: (MVar (Int, TclScript))
oID :: ObjectID
}
type TclCmd = String
type TclScript = [TclCmd]
data TclMessageType
= OKType
| ERType
| COType
| EVType
data BindTag
bindTagS :: BindTag -> String
succBindTag :: BindTag -> BindTag
data WishEvent = WishEvent [WishEventModifier] WishEventType
data WishEventModifier
= Control
| Shift
| Lock
| CommandKey
| Meta
| M
| Alt
| Mod1
| Mod2
| Mod3
| Mod4
| Mod5
| Button1
| Button2
| Button3
| Button4
| Button5
| Double
| Triple
data WishEventType
= Activate
| ButtonPress (Maybe BNo)
| ButtonRelease (Maybe BNo)
| Circulate
| Colormap
| Configure
| Deactivate
| Destroy
| Enter
| Expose
| FocusIn
| FocusOut
| Gravity
| KeyPress (Maybe KeySym)
| KeyRelease (Maybe KeySym)
| Motion
| Leave
| Map
| Property
| Reparent
| Unmap
| Visibility
mkBoundCmdArg :: BindTag -> EventInfoSet -> String
newtype KeySym = KeySym String
newtype CallBackId = CallBackId ObjectID
showP :: (Show a) => a -> String -> String
isTixAvailable :: IO Bool
tixAvailable :: Bool
cleanupWish :: IO ()
delayWish :: IO a -> IO a
Documentation
wish :: Wish
evalTclScript :: TclScript -> IO String
Used for commands which expect an answer.
execTclScript :: TclScript -> IO ()
Used for commands which do not expect an answer
execCmd :: TclCmd -> IO ()
execCmd is used for commands which don't expect an answer and calls execTclScript
evalCmd :: TclCmd -> IO String
evalCmd is used for commands which expect an answer, and calls evalTclScript.
data Wish
Constructors
Wish
commands :: (Channel TclScript)
wishLock :: BSem
eventQueue :: (EqGuardedChannel BindTag EventInfo)
coQueue :: (EqGuardedChannel CallBackId ())
bindTags :: (MVar BindTag)
readWish :: (GuardedEvent (EqMatch TclMessageType) (TclMessageType, String))
writeWish :: (CStringLen -> IO ())
destroyWish :: (IO ())
bufferedCommands :: (MVar (Int, TclScript))
oID :: ObjectID
Instances
Object Wish
Destroyable Wish
type TclCmd = String
type TclScript = [TclCmd]
data TclMessageType
Constructors
OKType
ERType
COType
EVType
data BindTag
bindTagS :: BindTag -> String
succBindTag :: BindTag -> BindTag
data WishEvent
Constructors
WishEvent [WishEventModifier] WishEventType
Instances
Show WishEvent
data WishEventModifier
Constructors
Control
Shift
Lock
CommandKey
Meta
M
Alt
Mod1
Mod2
Mod3
Mod4
Mod5
Button1
Button2
Button3
Button4
Button5
Double
Triple
data WishEventType
Constructors
Activate
ButtonPress (Maybe BNo)
ButtonRelease (Maybe BNo)
Circulate
Colormap
Configure
Deactivate
Destroy
Enter
Expose
FocusIn
FocusOut
Gravity
KeyPress (Maybe KeySym)
KeyRelease (Maybe KeySym)
Motion
Leave
Map
Property
Reparent
Unmap
Visibility
mkBoundCmdArg :: BindTag -> EventInfoSet -> String
newtype KeySym
Constructors
KeySym String
newtype CallBackId
Constructors
CallBackId ObjectID
showP :: (Show a) => a -> String -> String
isTixAvailable :: IO Bool
tixAvailable :: Bool
cleanupWish :: IO ()
delayWish :: IO a -> IO a
delayWish does an action, with the proviso that wish commands executed within the action by this or any other thread may be delayed. This can (allegedly) be faster.
Produced by Haddock version 0.3