Portability | portable (depends on GHC) |
---|---|
Stability | provisional |
Maintainer | gtk2hs-users@lists.sourceforge.net |
Safe Haskell | Safe-Infered |
The base class of the Gtk+ type hierarchy.
- Each widget is a represented as a purely abstract data type. It can only be accessed through and the special access functions that are defined in each widget file.
- data Object
- class GObjectClass o => ObjectClass o
- castToObject :: GObjectClass obj => obj -> Object
- gTypeObject :: GType
- toObject :: ObjectClass o => o -> Object
- makeNewObject :: ObjectClass obj => (ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj
- type GWeakNotify = FunPtr (Ptr () -> Ptr GObject -> IO ())
- objectWeakref :: ObjectClass o => o -> IO () -> IO GWeakNotify
- objectWeakunref :: ObjectClass o => o -> GWeakNotify -> IO ()
- objectDestroy :: ObjectClass self => Signal self (IO ())
- notifyProperty :: ObjectClass self => ReadWriteAttr self a b -> Signal self (IO ())
Detail
Object
is the base class for all widgets, and for a few non-widget
objects such as Adjustment
. Object
predates GObject
; non-widgets that
derive from Object
rather than GObject
do so for backward compatibility
reasons.
Class Hierarchy
|GObject
| +----Object | +----Widget
| +----Adjustment
| +----CellRenderer
| +----FileFilter
| +----ItemFactory
| +----Tooltips
| +----TreeViewColumn
Types
class GObjectClass o => ObjectClass o Source
castToObject :: GObjectClass obj => obj -> ObjectSource
toObject :: ObjectClass o => o -> ObjectSource
Methods
makeNewObject :: ObjectClass obj => (ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO objSource
Weak references
objectWeakref :: ObjectClass o => o -> IO () -> IO GWeakNotifySource
Attach a callback that will be called after the destroy hooks have been called
objectWeakunref :: ObjectClass o => o -> GWeakNotify -> IO ()Source
Detach a weak destroy callback function
Signals
objectDestroy :: ObjectClass self => Signal self (IO ())Source
Signals that all holders of a reference to the Object
should release
the reference that they hold. May result in finalization of the object if
all references are released.
notifyProperty :: ObjectClass self => ReadWriteAttr self a b -> Signal self (IO ())Source
Register a notify callback that is triggered when the given property has been modified.
- Note that this callback is triggered even if the actual value of the property has not changed. * Not all attributes are properties. A warning will be generated at runtime if the passed-in attribute is not a property of the class with which it was registered.