Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
Component
should be implemented by most if not all UI elements
with an actual on-screen presence, i.e. components which can be
said to have a screen-coordinate bounding box. Virtually all
widgets will need to have Component
implementations provided
for their corresponding Object
class. In short, only UI
elements which are *not* GUI elements will omit this ATK interface.
A possible exception might be textual information with a
transparent background, in which case text glyph bounding box
information is provided by Text
.
Synopsis
- newtype Component = Component (ManagedPtr Component)
- noComponent :: Maybe Component
- class GObject o => IsComponent o
- toComponent :: (MonadIO m, IsComponent o) => o -> m Component
- componentContains :: (HasCallStack, MonadIO m, IsComponent a) => a -> Int32 -> Int32 -> CoordType -> m Bool
- componentGetAlpha :: (HasCallStack, MonadIO m, IsComponent a) => a -> m Double
- componentGetExtents :: (HasCallStack, MonadIO m, IsComponent a) => a -> CoordType -> m (Int32, Int32, Int32, Int32)
- componentGetLayer :: (HasCallStack, MonadIO m, IsComponent a) => a -> m Layer
- componentGetMdiZorder :: (HasCallStack, MonadIO m, IsComponent a) => a -> m Int32
- componentGetPosition :: (HasCallStack, MonadIO m, IsComponent a) => a -> CoordType -> m (Int32, Int32)
- componentGetSize :: (HasCallStack, MonadIO m, IsComponent a) => a -> m (Int32, Int32)
- componentGrabFocus :: (HasCallStack, MonadIO m, IsComponent a) => a -> m Bool
- componentRefAccessibleAtPoint :: (HasCallStack, MonadIO m, IsComponent a) => a -> Int32 -> Int32 -> CoordType -> m (Maybe Object)
- componentRemoveFocusHandler :: (HasCallStack, MonadIO m, IsComponent a) => a -> Word32 -> m ()
- componentSetExtents :: (HasCallStack, MonadIO m, IsComponent a) => a -> Int32 -> Int32 -> Int32 -> Int32 -> CoordType -> m Bool
- componentSetPosition :: (HasCallStack, MonadIO m, IsComponent a) => a -> Int32 -> Int32 -> CoordType -> m Bool
- componentSetSize :: (HasCallStack, MonadIO m, IsComponent a) => a -> Int32 -> Int32 -> m Bool
- type C_ComponentBoundsChangedCallback = Ptr () -> Ptr Rectangle -> Ptr () -> IO ()
- type ComponentBoundsChangedCallback = Rectangle -> IO ()
- afterComponentBoundsChanged :: (IsComponent a, MonadIO m) => a -> ComponentBoundsChangedCallback -> m SignalHandlerId
- genClosure_ComponentBoundsChanged :: ComponentBoundsChangedCallback -> IO Closure
- mk_ComponentBoundsChangedCallback :: C_ComponentBoundsChangedCallback -> IO (FunPtr C_ComponentBoundsChangedCallback)
- noComponentBoundsChangedCallback :: Maybe ComponentBoundsChangedCallback
- onComponentBoundsChanged :: (IsComponent a, MonadIO m) => a -> ComponentBoundsChangedCallback -> m SignalHandlerId
- wrap_ComponentBoundsChangedCallback :: ComponentBoundsChangedCallback -> C_ComponentBoundsChangedCallback
Exported types
Memory-managed wrapper type.
Instances
GObject Component Source # | |
Defined in GI.Atk.Interfaces.Component gobjectType :: Component -> IO GType # | |
IsObject Component Source # | |
Defined in GI.Atk.Interfaces.Component | |
IsComponent Component Source # | |
Defined in GI.Atk.Interfaces.Component |
class GObject o => IsComponent o Source #
Type class for types which can be safely cast to Component
, for instance with toComponent
.
Instances
(GObject a, (UnknownAncestorError Component a :: Constraint)) => IsComponent a Source # | |
Defined in GI.Atk.Interfaces.Component | |
IsComponent Component Source # | |
Defined in GI.Atk.Interfaces.Component | |
IsComponent NoOpObject Source # | |
Defined in GI.Atk.Objects.NoOpObject | |
IsComponent Plug Source # | |
Defined in GI.Atk.Objects.Plug | |
IsComponent Socket Source # | |
Defined in GI.Atk.Objects.Socket |
toComponent :: (MonadIO m, IsComponent o) => o -> m Component Source #
Methods
contains
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> Int32 |
|
-> Int32 |
|
-> CoordType |
|
-> m Bool | Returns: |
Checks whether the specified point is within the extent of the component
.
Toolkit implementor note: ATK provides a default implementation for this virtual method. In general there are little reason to re-implement it.
getAlpha
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> m Double | Returns: An alpha value from 0 to 1.0, inclusive. |
Returns the alpha value (i.e. the opacity) for this
component
, on a scale from 0 (fully transparent) to 1.0
(fully opaque).
Since: 1.12
getExtents
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> CoordType |
|
-> m (Int32, Int32, Int32, Int32) |
Gets the rectangle which gives the extent of the component
.
getLayer
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> m Layer | Returns: an |
Gets the layer of the component.
getMdiZorder
componentGetMdiZorder Source #
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> m Int32 | Returns: a gint which is the zorder of the component, i.e. the depth at which the component is shown in relation to other components in the same container. |
Gets the zorder of the component. The value G_MININT will be returned if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW.
getPosition
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> CoordType |
|
-> m (Int32, Int32) |
Deprecated: Since 2.12. Use componentGetExtents
instead.
Gets the position of component
in the form of
a point specifying component
's top-left corner.
getSize
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> m (Int32, Int32) |
Deprecated: Since 2.12. Use componentGetExtents
instead.
Gets the size of the component
in terms of width and height.
grabFocus
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> m Bool |
Grabs focus for this component
.
refAccessibleAtPoint
componentRefAccessibleAtPoint Source #
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> Int32 |
|
-> Int32 |
|
-> CoordType |
|
-> m (Maybe Object) | Returns: a reference to the accessible child, if one exists |
Gets a reference to the accessible child, if one exists, at the
coordinate point specified by x
and y
.
removeFocusHandler
componentRemoveFocusHandler Source #
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> Word32 |
|
-> m () |
Deprecated: (Since version 2.9.4)If you need to track when an object gains orlose the focus, use the Object
::state-change
"focused" notification instead.
Remove the handler specified by handlerId
from the list of
functions to be executed when this object receives focus events
(in or out).
setExtents
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> Int32 |
|
-> Int32 |
|
-> Int32 |
|
-> Int32 |
|
-> CoordType |
|
-> m Bool |
Sets the extents of component
.
setPosition
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> Int32 |
|
-> Int32 |
|
-> CoordType |
|
-> m Bool | Returns: |
Sets the postition of component
.
setSize
:: (HasCallStack, MonadIO m, IsComponent a) | |
=> a |
|
-> Int32 |
|
-> Int32 |
|
-> m Bool |
Set the size of the component
in terms of width and height.
Signals
boundsChanged
type C_ComponentBoundsChangedCallback = Ptr () -> Ptr Rectangle -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type ComponentBoundsChangedCallback Source #
The 'bounds-changed" signal is emitted when the bposition or size of the component changes.
afterComponentBoundsChanged :: (IsComponent a, MonadIO m) => a -> ComponentBoundsChangedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “bounds-changed
” signal, to be run after the default handler.
When overloading is enabled, this is equivalent to
after
component #boundsChanged callback
genClosure_ComponentBoundsChanged :: ComponentBoundsChangedCallback -> IO Closure Source #
Wrap the callback into a Closure
.
mk_ComponentBoundsChangedCallback :: C_ComponentBoundsChangedCallback -> IO (FunPtr C_ComponentBoundsChangedCallback) Source #
Generate a function pointer callable from C code, from a C_ComponentBoundsChangedCallback
.
noComponentBoundsChangedCallback :: Maybe ComponentBoundsChangedCallback Source #
A convenience synonym for
.Nothing
:: Maybe
ComponentBoundsChangedCallback
onComponentBoundsChanged :: (IsComponent a, MonadIO m) => a -> ComponentBoundsChangedCallback -> m SignalHandlerId Source #
Connect a signal handler for the “bounds-changed
” signal, to be run before the default handler.
When overloading is enabled, this is equivalent to
on
component #boundsChanged callback