Gamma/GTK

Using Gamma™ with GTK, Version 0.9

Dec 31, 2002

Gamma binds the GTK widget set as object-oriented classes, creating a Linux-based rapid development environment with full GUI support and flexible callbacks.

Note

This document contains many links to the HTML versions of the GTK, GDK and GLIB documentation. For that reason those documents are included in the distribution of this document. Since the GTK, GDK, and GLIB documents are not complete, and since the Gamma mapping of some GTK functions is not complete, you might find gaps in this document. The Gamma/GTK bindings and this document are being made available as a beta release.



Go to the Cogent Web Site.


Table of Contents
I. Programmers Manual
1. Introduction
1.1. Why Gamma and GTK?
1.2. Assumptions about the Reader
1.3. System Requirements
1.4. Where can I get help?
2. Differences between Gamma and C for GTK
2.1. Lists
2.2. Accessing Widget Resources
2.3. GTK_TYPE_STRUCTURENAME
3. Building Applications - a Tutorial
3.1. Create a Window
3.2. Add a Button with a Callback
3.3. Multiple Buttons
3.4. Packing Widgets in Boxes
3.5. Using Tables
A. Example Code
A.1. Main Window
A.2. Button Box
A.3. Buttons
A.4. Check Buttons
A.5. Dialog
A.6. Entry
A.7. File Selection
A.8. Font Selection
A.9. Gamma Curve
A.10. Labels
A.11. Radio Buttons
A.12. Range Controls
A.13. Reparent
A.14. Scrolled Windows
A.15. Spin Button
A.16. Text
A.17. Toggle Buttons
A.18. Timers
B. List of Functions (Non Widget-Specific)
C. The Gtk Widget Hierarchy
II. Reference
I. Gtk Widgets
GtkAccelLabel -- displays an accelerator key on menus etc.
GtkArrow -- points in one of 4 directions.
GtkAspectFrame -- constrains resizing to a given aspect ratio.
GtkBin -- a class of containers that have only one child.
GtkBox -- a parent class for GtkHBox and GtkVBox.
GtkButton -- a parent class for buttons.
GtkButtonBox -- a parent class for GtkHButtonBox and GtkVButtonBox.
GtkCList -- a scrollable list of selectable items with multiple columns.
GtkCTree -- an adjustable, expandable tree of selectable items.
GtkCalendar -- 
GtkCheckButton -- a clickable label with a small toggle button beside it.
GtkCheckMenuItem -- a menu item with a small toggle button beside it.
GtkColorSelection -- lets the user select colors visually or numerically.
GtkColorSelectionDialog -- 
GtkCombo -- a GtkEntry widget combined with a dropdown list.
GtkContainer -- a parent class for container widgets.
GtkCurve -- an editable curve.
GtkDialog -- a pop-up dialog window.
GtkDrawingArea -- lets you create custom GUI elements.
GtkEditable -- a parent class for text widgets.
GtkEntry -- a text-entry field.
GtkEventBox -- gives event-handling capability to windowless widgets.
GtkFileSelection -- lets the user browse and select directories and files.
GtkFixed -- lets you fix child widget sizes and positions.
GtkFontSelection -- lets the user browse and select fonts.
GtkFontSelectionDialog -- a dialog box containing a GtkFontSelection widget.
GtkFrame -- a bin with a border and label (optional).
GtkGammaCurve -- an editable gamma curve.
GtkHBox -- packs its children in a horizontal row.
GtkHButtonBox -- facilitates horizontal layout of buttons.
GtkHPaned -- creates two horizontally-adjustable panes.
GtkHRuler -- a horizontal ruler.
GtkHScale -- a horizontal slider used to select values.
GtkHScrollbar -- a horizontal scrollbar.
GtkHSeparator -- a horizontal separator.
GtkHandleBox -- a container whose children can be detached and moved.
GtkInputDialog -- 
GtkItem -- a parent class for items.
GtkLabel -- displays a text string.
GtkLayout -- 
GtkList -- a scrollable list of selectable items.
GtkListItem -- an item used in a GtkList.
GtkMenu -- a menu.
GtkMenuBar -- displays GtkMenuItems at the top of a window.
GtkMenuItem -- an item used in a GtkMenu.
GtkMisc -- a parent class that handles alignment and padding.
GtkNotebook -- a group of tabbed pages.
GtkOptionMenu -- a menu accessed by a button.
GtkPacker -- 
GtkPaned -- a parent class for adjustable panes.
GtkPixmap -- displays a pixmap image.
GtkPlug -- works with GtkSocket to embed widgets across processes.
GtkPreview -- displays an image's RGB or grayscale data.
GtkProgress -- a parent class for GtkProgressBar.
GtkProgressBar -- a thermometer-style bar display.
GtkRadioButton -- a check button that allows only one selection from a group.
GtkRadioMenuItem -- a menu item that allows only one selection from a group.
GtkRange -- a parent class for GtkScrollbar and GtkScale.
GtkRuler -- a parent class for rulers.
GtkScale -- a parent class for sliders.
GtkScrollbar -- a parent class for scrollbars.
GtkScrolledWindow -- adds scrollbars to a widget.
GtkSeparator -- a parent class for separators.
GtkSocket -- works with GtkPlug to embed widgets across processes.
GtkSpinButton -- facilitates entering numbers.
GtkStatusbar -- displays nonessential messages.
GtkTable -- packs widgets horizontally and vertically.
GtkTearoffMenuItem -- lets the user remove and reposition a menu.
GtkText -- a multi-line text entry and display field.
GtkToggleButton -- a button that retains its on/off state.
GtkToolbar -- creates a toolbar of buttons etc.
GtkTree -- an expandable tree of selectable items.
GtkTreeItem -- an item used in a GtkTree.
GtkVBox -- packs its children in a vertical column.
GtkVButtonBox -- facilitates vertical layout of buttons.
GtkVPaned -- creates two vertically-adjustable panes.
GtkVRuler -- a vertical ruler.
GtkVScale -- a vertical slider used to select values.
GtkVScrollbar -- a vertical scrollbar.
GtkVSeparator -- a vertical separator.
GtkViewport -- lets you add scrollbars to non-scrolling widgets.
GtkWidget -- the parent class of widgets.
GtkWindow -- the parent class of windows.
II. Gtk Non-Widget Classes
GtkAccelEntry -- 
GtkAccelGroup -- 
GtkAdjustment -- 
GtkAllocation -- 
GtkArg -- 
GtkArgInfo -- 
GtkBindingArg -- 
GtkBindingEntry -- 
GtkBindingSet -- 
GtkBindingSignal -- 
GtkBoxChild -- 
GtkCListCellInfo -- 
GtkCListColumn -- 
GtkCListDestInfo -- 
GtkCListRow -- 
GtkCTreeNode -- 
GtkCTreeRow -- 
GtkCell -- 
GtkCellPixText -- 
GtkCellPixmap -- 
GtkCellText -- 
GtkCellWidget -- 
GtkData -- a parent class for data classes.
GtkDitherInfo -- 
GtkEnumValue -- 
GtkFixedChild -- 
GtkFlagValue -- 
GtkFontFilter -- 
GtkImage -- displays an image.
GtkImageClass -- 
GtkItemFactory -- 
GtkItemFactoryEntry -- 
GtkItemFactoryItem -- 
GtkMenuEntry -- 
GtkMenuFactory -- 
GtkMenuPath -- 
GtkMenuShell -- a parent class for GtkMenu and GtkMenuBar.
GtkMenuShellClass -- 
GtkNotebookPage -- 
GtkObject -- the fundamental Gtk parent class.
GtkPackerChild -- 
GtkPatternSpec -- 
GtkPreviewInfo -- 
GtkPropertyMark -- 
GtkRcStyle -- 
GtkRequisition -- 
GtkRulerMetric -- 
GtkSelectionData -- 
GtkSignalQuery -- 
GtkStatusbarMsg -- 
GtkStyle -- 
GtkStyleClass -- 
GtkTableChild -- 
GtkTableRowCol -- 
GtkTargetEntry -- 
GtkTargetList -- 
GtkTargetPair -- 
GtkThemeEngine -- 
GtkTipsQuery -- freezes the GIU to display help tips.
GtkTipsQueryClass -- 
GtkToolbarChild -- 
GtkTooltips -- lets you add help tips to widgets.
GtkTooltipsData -- data associated with GtkTooltips.
GtkTypeClass -- 
GtkTypeInfo -- 
GtkTypeObject -- 
GtkTypeQuery -- 
GtkWidgetAuxInfo -- 
GtkWidgetShapeInfo -- 
III. Gdk Classes
GdkColor -- 
GdkColorContext -- 
GdkColorContextDither -- 
GdkColormap -- 
GdkCursor -- 
GdkDeviceInfo -- 
GdkDeviceKey -- 
GdkDragContext -- 
GdkDrawable -- 
GdkEvent -- 
GdkEventAny -- 
GdkEventButton -- 
GdkEventClient -- 
GdkEventConfigure -- 
GdkEventCrossing -- 
GdkEventDND -- 
GdkEventExpose -- 
GdkEventFocus -- 
GdkEventKey -- 
GdkEventMotion -- 
GdkEventNoExpose -- 
GdkEventProperty -- 
GdkEventProximity -- 
GdkEventSelection -- 
GdkEventVisibility -- 
GdkFont -- 
GdkGC -- 
GdkGCValues -- 
GdkGeometry -- 
GdkICAttr -- 
GdkImage -- 
GdkPoint -- 
GdkRectangle -- 
GdkRegion -- 
GdkSegment -- 
GdkTimeCoord -- 
GdkVisual -- 
GdkWindowAttr -- 
Index
Colophon
Copyright 1995-2002 by Cogent Real-Time Systems, Inc.