gtk3-0.14.8: Binding to the Gtk+ 3 graphical user interface library
Portabilityportable (depends on GHC)
Safe HaskellNone




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.



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.

Object has been removed in Gt3k, but this module still provides useful functions.

Class Hierarchy

| GObject
| +----Object
| +----Widget
| +----Adjustment
| +----CellRenderer
| +----FileFilter
| +----ItemFactory
| +----Tooltips
| +----TreeViewColumn


makeNewObject :: GObjectClass obj => (ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO obj Source #

Weak references

type GWeakNotify = FunPtr (Ptr () -> Ptr GObject -> IO ()) Source #

objectWeakref :: GObjectClass o => o -> IO () -> IO GWeakNotify Source #

Attach a callback that will be called after the destroy hooks have been called

objectWeakunref :: GObjectClass o => o -> GWeakNotify -> IO () Source #

Detach a weak destroy callback function


objectDestroy :: WidgetClass 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 :: GObjectClass 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.