Graphics.UI.Gtk.Abstract.Object

gtk-0.12.4: Binding to the Gtk+ graphical user interface library.

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net
Safe Haskell | None

Graphics.UI.Gtk.Abstract.Object

Contents

- Detail
- Class Hierarchy
- Types
- Methods
- Weak references
- Signals

Description

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.

Synopsis

- 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

data Object

Instances

Eq Object |
Ord Object |
GObjectClass Object |
ObjectClass Object |

class GObjectClass o => ObjectClass o

Instances

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 |

castToObject :: GObjectClass obj => obj -> Object

gTypeObject :: GType

toObject :: ObjectClass o => o -> Object

# Methods

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

# Weak references

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

objectWeakref :: ObjectClass o => o -> IO () -> IO GWeakNotify

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

objectWeakunref :: ObjectClass o => o -> GWeakNotify -> IO ()

Detach a weak destroy callback function

# Signals

objectDestroy :: ObjectClass self => Signal self (IO ())

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 ())

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.