gtk- Binding to the Gtk+ 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


class GObjectClass o => ObjectClass o Source


ObjectClass Builder 
ObjectClass FileFilter 
ObjectClass CellRendererProgress 
ObjectClass CellRendererToggle 
ObjectClass CellRendererCombo 
ObjectClass CellRendererSpin 
ObjectClass CellRendererAccel 
ObjectClass CellRendererText 
ObjectClass CellRendererPixbuf 
ObjectClass CellRendererSpinner 
ObjectClass CellRenderer 
ObjectClass TreeViewColumn 
ObjectClass Tooltips 
ObjectClass IMContextSimple 
ObjectClass IMMulticontext 
ObjectClass IMContext 
ObjectClass Adjustment 
ObjectClass ProgressBar 
ObjectClass Invisible 
ObjectClass VSeparator 
ObjectClass HSeparator 
ObjectClass Separator 
ObjectClass VScrollbar 
ObjectClass HScrollbar 
ObjectClass Scrollbar 
ObjectClass VScale 
ObjectClass HScale 
ObjectClass Scale 
ObjectClass Range 
ObjectClass VRuler 
ObjectClass HRuler 
ObjectClass Ruler 
ObjectClass SpinButton 
ObjectClass Entry 
ObjectClass Spinner 
ObjectClass DrawingArea 
ObjectClass CellView 
ObjectClass Calendar 
ObjectClass TreeView 
ObjectClass Toolbar 
ObjectClass TextView 
ObjectClass Table 
ObjectClass Socket 
ObjectClass Notebook 
ObjectClass MenuBar 
ObjectClass RecentChooserMenu 
ObjectClass Menu 
ObjectClass MenuShell 
ObjectClass Layout 
ObjectClass IconView 
ObjectClass VPaned 
ObjectClass HPaned 
ObjectClass Paned 
ObjectClass Fixed 
ObjectClass Statusbar 
ObjectClass FileChooserButton 
ObjectClass Combo 
ObjectClass InfoBar 
ObjectClass HBox 
ObjectClass FileChooserWidget 
ObjectClass FontSelection 
ObjectClass ColorSelection 
ObjectClass RecentChooserWidget 
ObjectClass VBox 
ObjectClass VButtonBox 
ObjectClass HButtonBox 
ObjectClass ButtonBox 
ObjectClass Box 
ObjectClass SeparatorToolItem 
ObjectClass RadioToolButton 
ObjectClass ToggleToolButton 
ObjectClass MenuToolButton 
ObjectClass ToolButton 
ObjectClass ToolItem 
ObjectClass ComboBoxEntry 
ObjectClass ComboBox 
ObjectClass Expander 
ObjectClass Viewport 
ObjectClass ScrolledWindow 
ObjectClass HandleBox 
ObjectClass EventBox 
ObjectClass Plug 
ObjectClass MessageDialog 
ObjectClass FontSelectionDialog 
ObjectClass FileChooserDialog 
ObjectClass FileSelection 
ObjectClass ColorSelectionDialog 
ObjectClass AboutDialog 
ObjectClass Dialog 
ObjectClass OffscreenWindow 
ObjectClass Assistant 
ObjectClass Window 
ObjectClass SeparatorMenuItem 
ObjectClass ImageMenuItem 
ObjectClass TearoffMenuItem 
ObjectClass RadioMenuItem 
ObjectClass CheckMenuItem 
ObjectClass MenuItem 
ObjectClass OptionMenu 
ObjectClass FontButton 
ObjectClass ColorButton 
ObjectClass RadioButton 
ObjectClass CheckButton 
ObjectClass ToggleButton 
ObjectClass LinkButton 
ObjectClass VolumeButton 
ObjectClass ScaleButton 
ObjectClass Button 
ObjectClass AspectFrame 
ObjectClass Frame 
ObjectClass Alignment 
ObjectClass Bin 
ObjectClass ToolItemGroup 
ObjectClass ToolPalette 
ObjectClass Container 
ObjectClass Image 
ObjectClass Arrow 
ObjectClass AccelLabel 
ObjectClass Label 
ObjectClass Misc 
ObjectClass HSV 
ObjectClass Widget 
ObjectClass RecentFilter 
ObjectClass Object 


makeNewObject :: ObjectClass obj => (ForeignPtr obj -> obj, FinalizerPtr obj) -> IO (Ptr obj) -> IO objSource

Weak references

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

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


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.