[java-gnome] 03/19: Imported Debian patch 4.0.6-1

Tony Mancill tmancill at moszumanska.debian.org
Wed Sep 10 04:12:40 UTC 2014


This is an automated email from the git hooks/post-receive script.

tmancill pushed a commit to branch master
in repository java-gnome.

commit 6ab97980c946a94a908df37443425603d7755927
Merge: 6dd4496 a056229
Author: Manu Mahajan <manu at codepencil.com>
Date:   Mon Mar 24 01:01:11 2008 +0530

    Imported Debian patch 4.0.6-1

 .cdtproject                                        |   69 +
 .classpath                                         |   34 +
 .cproject                                          |   79 +
 .project                                           |   90 +
 .settings/org.eclipse.cdt.core.prefs               |    3 +
 .settings/org.eclipse.jdt.core.prefs               |  258 +
 .settings/org.eclipse.jdt.ui.prefs                 |    6 +
 AUTHORS                                            |   19 +
 HACKING                                            |  211 +
 LICENCE                                            |   88 +
 Makefile                                           |  169 +
 NEWS                                               | 1150 ++++
 README                                             |  376 ++
 build/faster                                       |  549 ++
 build/gcj.make                                     |   42 +
 configure                                          | 1872 ++++++
 debian/changelog                                   |   18 +-
 debian/compat                                      |    2 +-
 debian/control                                     |   80 +-
 debian/copyright                                   |  101 +-
 debian/dirs                                        |    2 +
 debian/docs                                        |    2 +
 debian/rules                                       |   69 +-
 doc/design/1a-Homework.txt                         |  257 +
 doc/design/1b-AllAboutJNI.txt                      |  104 +
 doc/design/2a-ObjectiveAndAudience.txt             |  175 +
 doc/design/2b-DesignConstraints.txt                |  284 +
 doc/design/3a-PackageNames.txt                     |  122 +
 doc/design/3b-VersionNumbers.txt                   |   70 +
 doc/design/4a-TreeViewAndTreeModel.txt             |  103 +
 doc/design/4b-ObjectProperties.txt                 |  237 +
 doc/design/5a-Architecture.txt                     |  372 ++
 doc/design/START                                   |  119 +
 doc/design/TheGreatOwenThread.html                 | 1796 ++++++
 doc/examples/START                                 |   68 +
 doc/examples/button/ExamplePressMe.java            |  143 +
 doc/examples/keyboard/ExampleSnooping.java         |   88 +
 doc/examples/menu/ExampleSimpleMenu.java           |  201 +
 doc/examples/menu/ExampleToolbar.java              |  182 +
 doc/examples/treeview/ExampleTrailHeads.java       |  221 +
 doc/style/CodeFormat.txt                           |   76 +
 doc/style/CommitMessages.txt                       |  136 +
 doc/style/Documentation.txt                        |  115 +
 doc/style/MARKUP                                   |  112 +
 lib/README                                         |   30 +
 lib/utilities/aspell/normalize.pl                  |   80 +
 lib/utilities/markdown/LICENCE                     |   34 +
 lib/utilities/markdown/markdown.php                | 1624 +++++
 lib/utilities/markdown/smartypants.php             |  860 +++
 src/bindings/java-gnome_Icon.png                   |  Bin 0 -> 4017 bytes
 .../bindings/BlacklistedMethodError.java           |   38 +
 .../org/freedesktop/bindings/Constant.java         |   86 +
 src/bindings/org/freedesktop/bindings/Debug.java   |   49 +
 .../org/freedesktop/bindings/Environment.c         |   63 +
 .../org/freedesktop/bindings/Environment.java      |   51 +
 src/bindings/org/freedesktop/bindings/FIXME.java   |   35 +
 src/bindings/org/freedesktop/bindings/Flag.java    |   72 +
 src/bindings/org/freedesktop/bindings/Plumbing.c   |   68 +
 .../org/freedesktop/bindings/Plumbing.java         |  377 ++
 src/bindings/org/freedesktop/bindings/Proxy.java   |   74 +
 src/bindings/org/freedesktop/bindings/Time.c       |  144 +
 src/bindings/org/freedesktop/bindings/Time.java    |  176 +
 src/bindings/org/gnome/atk/Action.java             |   24 +
 src/bindings/org/gnome/atk/Component.java          |   24 +
 src/bindings/org/gnome/atk/CoordType.java          |   29 +
 src/bindings/org/gnome/atk/Document.java           |   24 +
 src/bindings/org/gnome/atk/EditableText.java       |   24 +
 src/bindings/org/gnome/atk/GObjectAccessible.java  |   27 +
 src/bindings/org/gnome/atk/Hyperlink.java          |   29 +
 .../org/gnome/atk/HyperlinkStateFlags.java         |   29 +
 src/bindings/org/gnome/atk/Hypertext.java          |   24 +
 src/bindings/org/gnome/atk/Image.java              |   24 +
 src/bindings/org/gnome/atk/ImplementorIface.java   |   24 +
 src/bindings/org/gnome/atk/KeyEventType.java       |   29 +
 src/bindings/org/gnome/atk/Layer.java              |   29 +
 src/bindings/org/gnome/atk/NoOpObject.java         |   27 +
 src/bindings/org/gnome/atk/NoOpObjectFactory.java  |   27 +
 src/bindings/org/gnome/atk/Object.java             |   29 +
 src/bindings/org/gnome/atk/ObjectFactory.java      |   29 +
 src/bindings/org/gnome/atk/Plumbing.java           |   16 +
 src/bindings/org/gnome/atk/Rectangle.java          |   37 +
 src/bindings/org/gnome/atk/Registry.java           |   29 +
 src/bindings/org/gnome/atk/Relation.java           |   29 +
 src/bindings/org/gnome/atk/RelationSet.java        |   29 +
 src/bindings/org/gnome/atk/RelationType.java       |   29 +
 src/bindings/org/gnome/atk/Role.java               |   29 +
 src/bindings/org/gnome/atk/Selection.java          |   24 +
 src/bindings/org/gnome/atk/StateSet.java           |   29 +
 src/bindings/org/gnome/atk/StateType.java          |   29 +
 src/bindings/org/gnome/atk/StreamableContent.java  |   24 +
 src/bindings/org/gnome/atk/Table.java              |   24 +
 src/bindings/org/gnome/atk/Text.java               |   24 +
 src/bindings/org/gnome/atk/TextAttribute.java      |   29 +
 src/bindings/org/gnome/atk/TextBoundary.java       |   29 +
 src/bindings/org/gnome/atk/TextClipType.java       |   29 +
 src/bindings/org/gnome/atk/TextRange.java          |   37 +
 src/bindings/org/gnome/atk/TextRectangle.java      |   37 +
 src/bindings/org/gnome/atk/Util.java               |   29 +
 src/bindings/org/gnome/atk/Value.java              |   24 +
 src/bindings/org/gnome/atk/package.html            |   32 +
 src/bindings/org/gnome/gdk/AxisUse.java            |   29 +
 src/bindings/org/gnome/gdk/Bitmap.java             |   25 +
 src/bindings/org/gnome/gdk/ByteOrder.java          |   29 +
 src/bindings/org/gnome/gdk/CapStyle.java           |   29 +
 src/bindings/org/gnome/gdk/Color.java              |   88 +
 src/bindings/org/gnome/gdk/Colormap.java           |   29 +
 src/bindings/org/gnome/gdk/Colorspace.java         |   29 +
 src/bindings/org/gnome/gdk/CrossingMode.java       |   29 +
 src/bindings/org/gnome/gdk/Cursor.java             |   86 +
 src/bindings/org/gnome/gdk/CursorType.java         |   78 +
 src/bindings/org/gnome/gdk/Device.java             |   29 +
 src/bindings/org/gnome/gdk/Display.java            |   29 +
 src/bindings/org/gnome/gdk/DisplayManager.java     |   29 +
 src/bindings/org/gnome/gdk/DragAction.java         |   29 +
 src/bindings/org/gnome/gdk/DragContext.java        |   29 +
 src/bindings/org/gnome/gdk/DragProtocol.java       |   29 +
 src/bindings/org/gnome/gdk/Drawable.java           |   29 +
 src/bindings/org/gnome/gdk/Event.java              |   59 +
 src/bindings/org/gnome/gdk/EventAny.java           |   32 +
 src/bindings/org/gnome/gdk/EventButton.java        |   62 +
 src/bindings/org/gnome/gdk/EventConfigure.java     |   27 +
 src/bindings/org/gnome/gdk/EventCrossing.java      |   27 +
 src/bindings/org/gnome/gdk/EventDragAndDrop.java   |   27 +
 src/bindings/org/gnome/gdk/EventExpose.java        |   26 +
 src/bindings/org/gnome/gdk/EventFocus.java         |   27 +
 src/bindings/org/gnome/gdk/EventKey.java           |   65 +
 src/bindings/org/gnome/gdk/EventMask.java          |   29 +
 src/bindings/org/gnome/gdk/EventMotion.java        |   27 +
 src/bindings/org/gnome/gdk/EventProperty.java      |   30 +
 src/bindings/org/gnome/gdk/EventProximity.java     |   27 +
 src/bindings/org/gnome/gdk/EventScroll.java        |   27 +
 src/bindings/org/gnome/gdk/EventSelection.java     |   27 +
 src/bindings/org/gnome/gdk/EventType.java          |  283 +
 src/bindings/org/gnome/gdk/EventVisibility.java    |   38 +
 src/bindings/org/gnome/gdk/EventWindowState.java   |   27 +
 src/bindings/org/gnome/gdk/ExtensionMode.java      |   29 +
 src/bindings/org/gnome/gdk/Fill.java               |   29 +
 src/bindings/org/gnome/gdk/FillRule.java           |   29 +
 src/bindings/org/gnome/gdk/FilterReturn.java       |   29 +
 src/bindings/org/gnome/gdk/Font.java               |   37 +
 src/bindings/org/gnome/gdk/FontType.java           |   29 +
 src/bindings/org/gnome/gdk/Function.java           |   29 +
 src/bindings/org/gnome/gdk/GC.java                 |   29 +
 src/bindings/org/gnome/gdk/GCValues.java           |   37 +
 src/bindings/org/gnome/gdk/GCValuesMask.java       |   29 +
 src/bindings/org/gnome/gdk/Gdk.java                |  115 +
 src/bindings/org/gnome/gdk/GdkColorOverride.c      |   47 +
 src/bindings/org/gnome/gdk/GdkColorOverride.java   |   28 +
 src/bindings/org/gnome/gdk/GdkKeyvalOverride.java  |   54 +
 .../org/gnome/gdk/GdkMouseButtonOverride.java      |   20 +
 src/bindings/org/gnome/gdk/Geometry.java           |   37 +
 src/bindings/org/gnome/gdk/GrabStatus.java         |   29 +
 src/bindings/org/gnome/gdk/Gravity.java            |  102 +
 src/bindings/org/gnome/gdk/InputCondition.java     |   29 +
 src/bindings/org/gnome/gdk/InputMode.java          |   29 +
 src/bindings/org/gnome/gdk/InputSource.java        |   29 +
 src/bindings/org/gnome/gdk/InterpType.java         |   29 +
 src/bindings/org/gnome/gdk/JoinStyle.java          |   29 +
 src/bindings/org/gnome/gdk/Keymap.java             |   29 +
 src/bindings/org/gnome/gdk/KeymapKey.java          |   37 +
 src/bindings/org/gnome/gdk/KeypadKeyval.java       |  102 +
 src/bindings/org/gnome/gdk/Keyval.java             |  438 ++
 src/bindings/org/gnome/gdk/LineStyle.java          |   29 +
 src/bindings/org/gnome/gdk/ModifierType.java       |  192 +
 src/bindings/org/gnome/gdk/MouseButton.java        |   58 +
 src/bindings/org/gnome/gdk/NotifyType.java         |   29 +
 src/bindings/org/gnome/gdk/OverlapType.java        |   29 +
 src/bindings/org/gnome/gdk/OwnerChange.java        |   29 +
 src/bindings/org/gnome/gdk/PangoRenderer.java      |   29 +
 src/bindings/org/gnome/gdk/Pixbuf.java             |  145 +
 src/bindings/org/gnome/gdk/PixbufAlphaMode.java    |   29 +
 src/bindings/org/gnome/gdk/PixbufAnimation.java    |   29 +
 .../org/gnome/gdk/PixbufAnimationIter.java         |   29 +
 src/bindings/org/gnome/gdk/PixbufError.java        |   29 +
 src/bindings/org/gnome/gdk/PixbufFormat.java       |   77 +
 src/bindings/org/gnome/gdk/PixbufLoader.java       |   29 +
 src/bindings/org/gnome/gdk/PixbufRotation.java     |   29 +
 src/bindings/org/gnome/gdk/PixbufSimpleAnim.java   |   27 +
 .../org/gnome/gdk/PixbufSimpleAnimIter.java        |   27 +
 src/bindings/org/gnome/gdk/Pixmap.java             |   27 +
 src/bindings/org/gnome/gdk/PixmapObject.java       |   27 +
 src/bindings/org/gnome/gdk/Plumbing.c              |   44 +
 src/bindings/org/gnome/gdk/Plumbing.java           |  154 +
 src/bindings/org/gnome/gdk/Point.java              |   37 +
 src/bindings/org/gnome/gdk/PropMode.java           |   29 +
 src/bindings/org/gnome/gdk/PropertyState.java      |   29 +
 src/bindings/org/gnome/gdk/Rectangle.java          |   37 +
 src/bindings/org/gnome/gdk/Region.java             |   37 +
 src/bindings/org/gnome/gdk/RgbCmap.java            |   37 +
 src/bindings/org/gnome/gdk/RgbDither.java          |   29 +
 src/bindings/org/gnome/gdk/Screen.java             |   69 +
 src/bindings/org/gnome/gdk/ScrollDirection.java    |   29 +
 src/bindings/org/gnome/gdk/Segment.java            |   37 +
 src/bindings/org/gnome/gdk/SettingAction.java      |   29 +
 src/bindings/org/gnome/gdk/Status.java             |   29 +
 src/bindings/org/gnome/gdk/SubwindowMode.java      |   29 +
 src/bindings/org/gnome/gdk/Trapezoid.java          |   37 +
 src/bindings/org/gnome/gdk/VisibilityState.java    |   53 +
 src/bindings/org/gnome/gdk/Visual.java             |   29 +
 src/bindings/org/gnome/gdk/VisualType.java         |   29 +
 src/bindings/org/gnome/gdk/WMDecoration.java       |   29 +
 src/bindings/org/gnome/gdk/WMFunction.java         |   29 +
 src/bindings/org/gnome/gdk/Window.java             |  150 +
 src/bindings/org/gnome/gdk/WindowAttr.java         |   37 +
 .../org/gnome/gdk/WindowAttributesType.java        |   29 +
 src/bindings/org/gnome/gdk/WindowClass.java        |   29 +
 src/bindings/org/gnome/gdk/WindowEdge.java         |   29 +
 src/bindings/org/gnome/gdk/WindowHints.java        |   29 +
 src/bindings/org/gnome/gdk/WindowObject.java       |   27 +
 src/bindings/org/gnome/gdk/WindowState.java        |   51 +
 src/bindings/org/gnome/gdk/WindowType.java         |   29 +
 src/bindings/org/gnome/gdk/WindowTypeHint.java     |   29 +
 src/bindings/org/gnome/gdk/package.html            |   29 +
 src/bindings/org/gnome/glade/Glade.java            |  160 +
 src/bindings/org/gnome/glade/Plumbing.java         |   16 +
 src/bindings/org/gnome/glade/XML.java              |   63 +
 src/bindings/org/gnome/glade/package.html          |   28 +
 src/bindings/org/gnome/glib/Boxed.java             |   69 +
 src/bindings/org/gnome/glib/GBoxed.c               |   28 +
 src/bindings/org/gnome/glib/GBoxed.java            |   21 +
 src/bindings/org/gnome/glib/GObject.c              |  282 +
 src/bindings/org/gnome/glib/GObject.java           |  115 +
 src/bindings/org/gnome/glib/GValue.c               |  572 ++
 src/bindings/org/gnome/glib/GValue.java            |  196 +
 src/bindings/org/gnome/glib/Glib.java              |  127 +
 src/bindings/org/gnome/glib/GlibException.java     |   62 +
 src/bindings/org/gnome/glib/Object.java            |  222 +
 src/bindings/org/gnome/glib/Plumbing.java          |  350 ++
 src/bindings/org/gnome/glib/Primitive.java         |   28 +
 src/bindings/org/gnome/glib/Signal.java            |   39 +
 src/bindings/org/gnome/glib/Value.java             |  165 +
 src/bindings/org/gnome/glib/package.html           |   25 +
 src/bindings/org/gnome/gnome/Entry.java            |   35 +
 src/bindings/org/gnome/gtk/AboutDialog.java        |  127 +
 src/bindings/org/gnome/gtk/AccelFlags.java         |   29 +
 src/bindings/org/gnome/gtk/AccelGroup.java         |   29 +
 src/bindings/org/gnome/gtk/AccelKey.java           |   37 +
 src/bindings/org/gnome/gtk/AccelLabel.java         |   27 +
 src/bindings/org/gnome/gtk/AccelMap.java           |   29 +
 src/bindings/org/gnome/gtk/Accessible.java         |   29 +
 src/bindings/org/gnome/gtk/Action.java             |  375 ++
 src/bindings/org/gnome/gtk/ActionGroup.java        |  108 +
 src/bindings/org/gnome/gtk/Adjustment.java         |  172 +
 src/bindings/org/gnome/gtk/Alignment.java          |  199 +
 src/bindings/org/gnome/gtk/Allocation.java         |  100 +
 src/bindings/org/gnome/gtk/AnchorType.java         |   29 +
 src/bindings/org/gnome/gtk/ArgFlags.java           |   29 +
 src/bindings/org/gnome/gtk/Arrow.java              |   27 +
 src/bindings/org/gnome/gtk/ArrowType.java          |   29 +
 src/bindings/org/gnome/gtk/AspectFrame.java        |   27 +
 src/bindings/org/gnome/gtk/Assistant.java          |   27 +
 src/bindings/org/gnome/gtk/AssistantPageType.java  |   29 +
 src/bindings/org/gnome/gtk/AttachOptions.java      |   29 +
 src/bindings/org/gnome/gtk/Bin.java                |   34 +
 src/bindings/org/gnome/gtk/Border.java             |   37 +
 src/bindings/org/gnome/gtk/Box.java                |  118 +
 src/bindings/org/gnome/gtk/Button.java             |  281 +
 src/bindings/org/gnome/gtk/ButtonAction.java       |   29 +
 src/bindings/org/gnome/gtk/ButtonBox.java          |  117 +
 src/bindings/org/gnome/gtk/ButtonBoxStyle.java     |   60 +
 src/bindings/org/gnome/gtk/ButtonsType.java        |   85 +
 src/bindings/org/gnome/gtk/Calendar.java           |  211 +
 .../org/gnome/gtk/CalendarDisplayOptions.java      |   76 +
 src/bindings/org/gnome/gtk/CellEditable.java       |   24 +
 src/bindings/org/gnome/gtk/CellLayout.java         |   24 +
 src/bindings/org/gnome/gtk/CellRenderer.java       |  140 +
 src/bindings/org/gnome/gtk/CellRendererAccel.java  |   38 +
 .../org/gnome/gtk/CellRendererAccelMode.java       |   29 +
 src/bindings/org/gnome/gtk/CellRendererCombo.java  |   27 +
 src/bindings/org/gnome/gtk/CellRendererMode.java   |   29 +
 src/bindings/org/gnome/gtk/CellRendererPixbuf.java |   36 +
 .../org/gnome/gtk/CellRendererProgress.java        |   33 +
 src/bindings/org/gnome/gtk/CellRendererSpin.java   |   27 +
 src/bindings/org/gnome/gtk/CellRendererState.java  |   29 +
 src/bindings/org/gnome/gtk/CellRendererText.java   |   91 +
 src/bindings/org/gnome/gtk/CellRendererToggle.java |   27 +
 src/bindings/org/gnome/gtk/CellType.java           |   29 +
 src/bindings/org/gnome/gtk/CellView.java           |   27 +
 src/bindings/org/gnome/gtk/CheckButton.java        |   61 +
 src/bindings/org/gnome/gtk/CheckMenuItem.java      |  158 +
 src/bindings/org/gnome/gtk/Clipboard.java          |   29 +
 src/bindings/org/gnome/gtk/ColorButton.java        |   27 +
 src/bindings/org/gnome/gtk/ColorSelection.java     |   27 +
 .../org/gnome/gtk/ColorSelectionDialog.java        |   27 +
 src/bindings/org/gnome/gtk/ComboBox.java           |  187 +
 src/bindings/org/gnome/gtk/ComboBoxEntry.java      |   72 +
 src/bindings/org/gnome/gtk/Container.java          |  153 +
 src/bindings/org/gnome/gtk/CornerType.java         |   29 +
 src/bindings/org/gnome/gtk/Curve.java              |   27 +
 src/bindings/org/gnome/gtk/CurveType.java          |   29 +
 src/bindings/org/gnome/gtk/DataColumn.java         |  185 +
 src/bindings/org/gnome/gtk/DataColumnBoolean.java  |   32 +
 src/bindings/org/gnome/gtk/DataColumnInteger.java  |   44 +
 src/bindings/org/gnome/gtk/DataColumnLong.java     |   31 +
 src/bindings/org/gnome/gtk/DataColumnPixbuf.java   |   28 +
 .../org/gnome/gtk/DataColumnReference.java         |   54 +
 src/bindings/org/gnome/gtk/DataColumnString.java   |   39 +
 src/bindings/org/gnome/gtk/DebugFlag.java          |   29 +
 src/bindings/org/gnome/gtk/DeleteType.java         |   29 +
 src/bindings/org/gnome/gtk/DestDefaults.java       |   29 +
 src/bindings/org/gnome/gtk/Dialog.java             |  231 +
 src/bindings/org/gnome/gtk/DialogFlags.java        |   36 +
 src/bindings/org/gnome/gtk/DirectionType.java      |   29 +
 src/bindings/org/gnome/gtk/DrawingArea.java        |   27 +
 src/bindings/org/gnome/gtk/Editable.java           |   72 +
 src/bindings/org/gnome/gtk/Entry.java              |  209 +
 src/bindings/org/gnome/gtk/EntryCompletion.java    |   29 +
 src/bindings/org/gnome/gtk/ErrorMessageDialog.java |   36 +
 src/bindings/org/gnome/gtk/EventBox.java           |   81 +
 src/bindings/org/gnome/gtk/Expander.java           |   27 +
 src/bindings/org/gnome/gtk/ExpanderStyle.java      |   29 +
 src/bindings/org/gnome/gtk/FileChooser.java        |  146 +
 src/bindings/org/gnome/gtk/FileChooserAction.java  |   58 +
 src/bindings/org/gnome/gtk/FileChooserButton.java  |  123 +
 .../org/gnome/gtk/FileChooserConfirmation.java     |   29 +
 src/bindings/org/gnome/gtk/FileChooserDialog.java  |  129 +
 src/bindings/org/gnome/gtk/FileChooserError.java   |   29 +
 src/bindings/org/gnome/gtk/FileChooserWidget.java  |   63 +
 src/bindings/org/gnome/gtk/FileFilter.java         |   27 +
 src/bindings/org/gnome/gtk/FileFilterFlags.java    |   29 +
 src/bindings/org/gnome/gtk/FileFolder.java         |   24 +
 src/bindings/org/gnome/gtk/FileInfo.java           |   37 +
 src/bindings/org/gnome/gtk/FileInfoType.java       |   29 +
 src/bindings/org/gnome/gtk/FilePath.java           |   37 +
 src/bindings/org/gnome/gtk/FileSelection.java      |   27 +
 src/bindings/org/gnome/gtk/FileSystem.java         |   24 +
 src/bindings/org/gnome/gtk/FileSystemError.java    |   29 +
 src/bindings/org/gnome/gtk/FileSystemHandle.java   |   29 +
 src/bindings/org/gnome/gtk/Fixed.java              |  120 +
 src/bindings/org/gnome/gtk/FontButton.java         |   27 +
 src/bindings/org/gnome/gtk/FontSelection.java      |   27 +
 .../org/gnome/gtk/FontSelectionDialog.java         |   27 +
 src/bindings/org/gnome/gtk/Frame.java              |   78 +
 src/bindings/org/gnome/gtk/GammaCurve.java         |   27 +
 src/bindings/org/gnome/gtk/Gtk.c                   |  179 +
 src/bindings/org/gnome/gtk/Gtk.java                |  212 +
 src/bindings/org/gnome/gtk/GtkMenuOverride.c       |   67 +
 src/bindings/org/gnome/gtk/GtkMenuOverride.java    |   43 +
 .../org/gnome/gtk/GtkResponseTypeOverride.java     |   36 +
 src/bindings/org/gnome/gtk/GtkTreeIterOverride.c   |   44 +
 .../org/gnome/gtk/GtkTreeIterOverride.java         |   33 +
 .../org/gnome/gtk/GtkTreeModelFilterOverride.c     |  101 +
 .../org/gnome/gtk/GtkTreeModelFilterOverride.java  |   30 +
 src/bindings/org/gnome/gtk/GtkTreeModelOverride.c  |  171 +
 .../org/gnome/gtk/GtkTreeModelOverride.java        |   80 +
 src/bindings/org/gnome/gtk/GtkWidgetOverride.c     |  147 +
 src/bindings/org/gnome/gtk/GtkWidgetOverride.java  |   75 +
 src/bindings/org/gnome/gtk/GtkWindowOverride.c     |  175 +
 src/bindings/org/gnome/gtk/GtkWindowOverride.java  |   31 +
 src/bindings/org/gnome/gtk/HBox.java               |   46 +
 src/bindings/org/gnome/gtk/HButtonBox.java         |   36 +
 src/bindings/org/gnome/gtk/HPaned.java             |   27 +
 src/bindings/org/gnome/gtk/HRuler.java             |   27 +
 src/bindings/org/gnome/gtk/HScale.java             |   47 +
 src/bindings/org/gnome/gtk/HScrollbar.java         |   27 +
 src/bindings/org/gnome/gtk/HSeparator.java         |   35 +
 src/bindings/org/gnome/gtk/HandleBox.java          |   27 +
 src/bindings/org/gnome/gtk/IMContext.java          |   27 +
 src/bindings/org/gnome/gtk/IMContextSimple.java    |   27 +
 src/bindings/org/gnome/gtk/IMMulticontext.java     |   27 +
 src/bindings/org/gnome/gtk/IMPreeditStyle.java     |   29 +
 src/bindings/org/gnome/gtk/IMStatusStyle.java      |   29 +
 src/bindings/org/gnome/gtk/IconFactory.java        |   29 +
 src/bindings/org/gnome/gtk/IconInfo.java           |   37 +
 src/bindings/org/gnome/gtk/IconLookupFlags.java    |   29 +
 src/bindings/org/gnome/gtk/IconSet.java            |   37 +
 src/bindings/org/gnome/gtk/IconSize.java           |   70 +
 src/bindings/org/gnome/gtk/IconSource.java         |   37 +
 src/bindings/org/gnome/gtk/IconTheme.java          |   29 +
 src/bindings/org/gnome/gtk/IconThemeError.java     |   29 +
 src/bindings/org/gnome/gtk/IconView.java           |   27 +
 .../org/gnome/gtk/IconViewDropPosition.java        |   29 +
 src/bindings/org/gnome/gtk/Image.java              |   70 +
 src/bindings/org/gnome/gtk/ImageMenuItem.java      |  111 +
 src/bindings/org/gnome/gtk/ImageType.java          |   64 +
 src/bindings/org/gnome/gtk/InfoMessageDialog.java  |   53 +
 src/bindings/org/gnome/gtk/InputDialog.java        |   27 +
 src/bindings/org/gnome/gtk/Invisible.java          |   25 +
 src/bindings/org/gnome/gtk/Item.java               |   27 +
 src/bindings/org/gnome/gtk/Justification.java      |   59 +
 src/bindings/org/gnome/gtk/Label.java              |  283 +
 src/bindings/org/gnome/gtk/Layout.java             |   27 +
 src/bindings/org/gnome/gtk/LinkButton.java         |   27 +
 src/bindings/org/gnome/gtk/ListStore.java          |  102 +
 src/bindings/org/gnome/gtk/MatchType.java          |   29 +
 src/bindings/org/gnome/gtk/Menu.java               |   95 +
 src/bindings/org/gnome/gtk/MenuBar.java            |   46 +
 src/bindings/org/gnome/gtk/MenuDirectionType.java  |   29 +
 src/bindings/org/gnome/gtk/MenuItem.java           |  127 +
 src/bindings/org/gnome/gtk/MenuShell.java          |   80 +
 src/bindings/org/gnome/gtk/MenuToolButton.java     |   99 +
 src/bindings/org/gnome/gtk/MessageDialog.java      |  187 +
 src/bindings/org/gnome/gtk/MessageType.java        |  109 +
 src/bindings/org/gnome/gtk/MetricType.java         |   29 +
 src/bindings/org/gnome/gtk/Misc.java               |  115 +
 src/bindings/org/gnome/gtk/MovementStep.java       |   29 +
 src/bindings/org/gnome/gtk/Notebook.java           |  135 +
 src/bindings/org/gnome/gtk/NotebookTab.java        |   29 +
 src/bindings/org/gnome/gtk/Object.java             |   42 +
 src/bindings/org/gnome/gtk/ObjectFlags.java        |   45 +
 src/bindings/org/gnome/gtk/Orientation.java        |   39 +
 src/bindings/org/gnome/gtk/PackDirection.java      |   29 +
 src/bindings/org/gnome/gtk/PackType.java           |   29 +
 src/bindings/org/gnome/gtk/PageOrientation.java    |   29 +
 src/bindings/org/gnome/gtk/PageSet.java            |   29 +
 src/bindings/org/gnome/gtk/PageSetup.java          |   29 +
 src/bindings/org/gnome/gtk/Paned.java              |   27 +
 src/bindings/org/gnome/gtk/PaperSize.java          |   37 +
 src/bindings/org/gnome/gtk/PathPriorityType.java   |   29 +
 src/bindings/org/gnome/gtk/PathType.java           |   29 +
 src/bindings/org/gnome/gtk/Plug.java               |   27 +
 src/bindings/org/gnome/gtk/Plumbing.java           |   16 +
 src/bindings/org/gnome/gtk/PolicyType.java         |   47 +
 src/bindings/org/gnome/gtk/PositionType.java       |   52 +
 src/bindings/org/gnome/gtk/PrintContext.java       |   29 +
 src/bindings/org/gnome/gtk/PrintDuplex.java        |   29 +
 src/bindings/org/gnome/gtk/PrintError.java         |   29 +
 src/bindings/org/gnome/gtk/PrintOperation.java     |   29 +
 .../org/gnome/gtk/PrintOperationAction.java        |   29 +
 .../org/gnome/gtk/PrintOperationPreview.java       |   24 +
 .../org/gnome/gtk/PrintOperationResult.java        |   29 +
 src/bindings/org/gnome/gtk/PrintPages.java         |   29 +
 src/bindings/org/gnome/gtk/PrintQuality.java       |   29 +
 src/bindings/org/gnome/gtk/PrintSettings.java      |   29 +
 src/bindings/org/gnome/gtk/PrintStatus.java        |   29 +
 src/bindings/org/gnome/gtk/PrivateFlags.java       |   29 +
 src/bindings/org/gnome/gtk/ProgressBar.java        |   72 +
 .../org/gnome/gtk/ProgressBarOrientation.java      |   29 +
 src/bindings/org/gnome/gtk/ProgressBarStyle.java   |   29 +
 .../org/gnome/gtk/QuestionMessageDialog.java       |   64 +
 src/bindings/org/gnome/gtk/RadioAction.java        |   27 +
 src/bindings/org/gnome/gtk/RadioButton.java        |   27 +
 src/bindings/org/gnome/gtk/RadioMenuItem.java      |   27 +
 src/bindings/org/gnome/gtk/RadioToolButton.java    |   27 +
 src/bindings/org/gnome/gtk/Range.java              |   74 +
 src/bindings/org/gnome/gtk/RcFlags.java            |   29 +
 src/bindings/org/gnome/gtk/RcStyle.java            |   29 +
 src/bindings/org/gnome/gtk/RcTokenType.java        |   29 +
 src/bindings/org/gnome/gtk/RecentChooser.java      |   24 +
 .../org/gnome/gtk/RecentChooserDialog.java         |   27 +
 src/bindings/org/gnome/gtk/RecentChooserError.java |   29 +
 src/bindings/org/gnome/gtk/RecentChooserMenu.java  |   27 +
 .../org/gnome/gtk/RecentChooserWidget.java         |   27 +
 src/bindings/org/gnome/gtk/RecentFilter.java       |   27 +
 src/bindings/org/gnome/gtk/RecentFilterFlags.java  |   29 +
 src/bindings/org/gnome/gtk/RecentInfo.java         |   37 +
 src/bindings/org/gnome/gtk/RecentManager.java      |   29 +
 src/bindings/org/gnome/gtk/RecentManagerError.java |   29 +
 src/bindings/org/gnome/gtk/RecentSortType.java     |   29 +
 src/bindings/org/gnome/gtk/ReliefStyle.java        |   56 +
 src/bindings/org/gnome/gtk/Requisition.java        |   92 +
 src/bindings/org/gnome/gtk/ResizeMode.java         |   29 +
 src/bindings/org/gnome/gtk/ResponseType.java       |  187 +
 src/bindings/org/gnome/gtk/Ruler.java              |   27 +
 src/bindings/org/gnome/gtk/Scale.java              |   61 +
 src/bindings/org/gnome/gtk/ScrollStep.java         |   29 +
 src/bindings/org/gnome/gtk/ScrollType.java         |   29 +
 src/bindings/org/gnome/gtk/Scrollbar.java          |   27 +
 src/bindings/org/gnome/gtk/ScrolledWindow.java     |   64 +
 src/bindings/org/gnome/gtk/SelectionData.java      |   37 +
 src/bindings/org/gnome/gtk/SelectionMode.java      |   63 +
 src/bindings/org/gnome/gtk/SensitivityType.java    |   29 +
 src/bindings/org/gnome/gtk/Separator.java          |   25 +
 src/bindings/org/gnome/gtk/SeparatorMenuItem.java  |   42 +
 src/bindings/org/gnome/gtk/SeparatorToolItem.java  |   61 +
 src/bindings/org/gnome/gtk/Settings.java           |   29 +
 src/bindings/org/gnome/gtk/ShadowType.java         |   29 +
 src/bindings/org/gnome/gtk/SideType.java           |   29 +
 src/bindings/org/gnome/gtk/SignalRunType.java      |   29 +
 src/bindings/org/gnome/gtk/SizeGroup.java          |   82 +
 src/bindings/org/gnome/gtk/SizeGroupMode.java      |   51 +
 src/bindings/org/gnome/gtk/Socket.java             |   27 +
 src/bindings/org/gnome/gtk/SortType.java           |   29 +
 src/bindings/org/gnome/gtk/SpinButton.java         |   27 +
 .../org/gnome/gtk/SpinButtonUpdatePolicy.java      |   29 +
 src/bindings/org/gnome/gtk/SpinType.java           |   29 +
 src/bindings/org/gnome/gtk/StateType.java          |   66 +
 src/bindings/org/gnome/gtk/StatusIcon.java         |  355 ++
 src/bindings/org/gnome/gtk/Statusbar.java          |  160 +
 src/bindings/org/gnome/gtk/Stock.java              |  341 +
 src/bindings/org/gnome/gtk/Style.java              |   29 +
 src/bindings/org/gnome/gtk/Table.java              |  118 +
 src/bindings/org/gnome/gtk/TargetFlags.java        |   29 +
 src/bindings/org/gnome/gtk/TearoffMenuItem.java    |   27 +
 src/bindings/org/gnome/gtk/TextAppearance.java     |   37 +
 src/bindings/org/gnome/gtk/TextAttributes.java     |   37 +
 src/bindings/org/gnome/gtk/TextBuffer.java         |   29 +
 .../org/gnome/gtk/TextBufferTargetInfo.java        |   29 +
 src/bindings/org/gnome/gtk/TextChildAnchor.java    |   29 +
 src/bindings/org/gnome/gtk/TextComboBox.java       |  118 +
 src/bindings/org/gnome/gtk/TextComboBoxEntry.java  |   99 +
 src/bindings/org/gnome/gtk/TextDirection.java      |   29 +
 src/bindings/org/gnome/gtk/TextIter.java           |   37 +
 src/bindings/org/gnome/gtk/TextMark.java           |   29 +
 src/bindings/org/gnome/gtk/TextSearchFlags.java    |   29 +
 src/bindings/org/gnome/gtk/TextTag.java            |   29 +
 src/bindings/org/gnome/gtk/TextTagTable.java       |   29 +
 src/bindings/org/gnome/gtk/TextView.java           |   27 +
 src/bindings/org/gnome/gtk/TextWindowType.java     |   29 +
 src/bindings/org/gnome/gtk/ToggleAction.java       |   27 +
 src/bindings/org/gnome/gtk/ToggleButton.java       |   75 +
 src/bindings/org/gnome/gtk/ToggleToolButton.java   |   92 +
 src/bindings/org/gnome/gtk/ToolButton.java         |  154 +
 src/bindings/org/gnome/gtk/ToolItem.java           |   57 +
 src/bindings/org/gnome/gtk/Toolbar.java            |  102 +
 src/bindings/org/gnome/gtk/ToolbarSpaceStyle.java  |   29 +
 src/bindings/org/gnome/gtk/ToolbarStyle.java       |   29 +
 src/bindings/org/gnome/gtk/Tooltips.java           |   53 +
 src/bindings/org/gnome/gtk/TreeDragDest.java       |   24 +
 src/bindings/org/gnome/gtk/TreeDragSource.java     |   24 +
 src/bindings/org/gnome/gtk/TreeIter.java           |  100 +
 src/bindings/org/gnome/gtk/TreeModel.java          |  452 ++
 src/bindings/org/gnome/gtk/TreeModelFilter.java    |  188 +
 src/bindings/org/gnome/gtk/TreeModelFlags.java     |   29 +
 src/bindings/org/gnome/gtk/TreeModelSort.java      |   80 +
 src/bindings/org/gnome/gtk/TreePath.java           |  108 +
 src/bindings/org/gnome/gtk/TreeRowReference.java   |   78 +
 src/bindings/org/gnome/gtk/TreeSelection.java      |  182 +
 src/bindings/org/gnome/gtk/TreeSortable.java       |   24 +
 src/bindings/org/gnome/gtk/TreeStore.java          |   27 +
 src/bindings/org/gnome/gtk/TreeView.java           |  563 ++
 src/bindings/org/gnome/gtk/TreeViewColumn.java     |  208 +
 .../org/gnome/gtk/TreeViewColumnSizing.java        |   53 +
 .../org/gnome/gtk/TreeViewDropPosition.java        |   29 +
 src/bindings/org/gnome/gtk/TreeViewGridLines.java  |   29 +
 src/bindings/org/gnome/gtk/TreeViewMode.java       |   29 +
 src/bindings/org/gnome/gtk/UIManager.java          |   29 +
 src/bindings/org/gnome/gtk/UIManagerItemType.java  |   29 +
 src/bindings/org/gnome/gtk/Unit.java               |   29 +
 src/bindings/org/gnome/gtk/UpdateType.java         |   29 +
 src/bindings/org/gnome/gtk/VBox.java               |   52 +
 src/bindings/org/gnome/gtk/VButtonBox.java         |   30 +
 src/bindings/org/gnome/gtk/VPaned.java             |   27 +
 src/bindings/org/gnome/gtk/VRuler.java             |   27 +
 src/bindings/org/gnome/gtk/VScale.java             |   36 +
 src/bindings/org/gnome/gtk/VScrollbar.java         |   27 +
 src/bindings/org/gnome/gtk/VSeparator.java         |   35 +
 src/bindings/org/gnome/gtk/Value.java              |   86 +
 src/bindings/org/gnome/gtk/Version.java            |   36 +
 src/bindings/org/gnome/gtk/Viewport.java           |   27 +
 src/bindings/org/gnome/gtk/Visibility.java         |   29 +
 .../org/gnome/gtk/WarningMessageDialog.java        |   57 +
 src/bindings/org/gnome/gtk/Widget.java             |  887 +++
 src/bindings/org/gnome/gtk/WidgetFlags.java        |   35 +
 src/bindings/org/gnome/gtk/WidgetHelpType.java     |   29 +
 src/bindings/org/gnome/gtk/Window.java             |  720 +++
 src/bindings/org/gnome/gtk/WindowGroup.java        |   29 +
 src/bindings/org/gnome/gtk/WindowPosition.java     |   58 +
 src/bindings/org/gnome/gtk/WindowType.java         |   54 +
 src/bindings/org/gnome/gtk/WrapMode.java           |   29 +
 src/bindings/org/gnome/gtk/package.html            |   42 +
 src/bindings/org/gnome/pango/Alignment.java        |   29 +
 src/bindings/org/gnome/pango/Analysis.java         |   37 +
 src/bindings/org/gnome/pango/AttrIterator.java     |   37 +
 src/bindings/org/gnome/pango/AttrList.java         |   37 +
 src/bindings/org/gnome/pango/AttrType.java         |   29 +
 src/bindings/org/gnome/pango/Attribute.java        |   37 +
 src/bindings/org/gnome/pango/Color.java            |   37 +
 src/bindings/org/gnome/pango/Context.java          |   29 +
 src/bindings/org/gnome/pango/CoverageLevel.java    |   29 +
 src/bindings/org/gnome/pango/Direction.java        |   29 +
 src/bindings/org/gnome/pango/EllipsizeMode.java    |   29 +
 src/bindings/org/gnome/pango/Engine.java           |   29 +
 src/bindings/org/gnome/pango/EngineLang.java       |   27 +
 src/bindings/org/gnome/pango/EngineShape.java      |   27 +
 src/bindings/org/gnome/pango/Font.java             |   29 +
 src/bindings/org/gnome/pango/FontDescription.java  |   37 +
 src/bindings/org/gnome/pango/FontFace.java         |   29 +
 src/bindings/org/gnome/pango/FontFamily.java       |   29 +
 src/bindings/org/gnome/pango/FontMap.java          |   29 +
 src/bindings/org/gnome/pango/FontMask.java         |   29 +
 src/bindings/org/gnome/pango/FontMetrics.java      |   37 +
 src/bindings/org/gnome/pango/Fontset.java          |   29 +
 src/bindings/org/gnome/pango/FontsetSimple.java    |   27 +
 src/bindings/org/gnome/pango/GlyphGeometry.java    |   37 +
 src/bindings/org/gnome/pango/GlyphInfo.java        |   37 +
 src/bindings/org/gnome/pango/GlyphString.java      |   37 +
 src/bindings/org/gnome/pango/GlyphUnit.java        |   37 +
 src/bindings/org/gnome/pango/Item.java             |   37 +
 src/bindings/org/gnome/pango/Language.java         |   37 +
 src/bindings/org/gnome/pango/Layout.java           |   29 +
 src/bindings/org/gnome/pango/LayoutIter.java       |   37 +
 src/bindings/org/gnome/pango/LayoutLine.java       |   37 +
 src/bindings/org/gnome/pango/Matrix.java           |   37 +
 src/bindings/org/gnome/pango/Plumbing.java         |   16 +
 src/bindings/org/gnome/pango/Rectangle.java        |   37 +
 src/bindings/org/gnome/pango/RenderPart.java       |   29 +
 src/bindings/org/gnome/pango/Renderer.java         |   29 +
 src/bindings/org/gnome/pango/Script.java           |   29 +
 src/bindings/org/gnome/pango/Stretch.java          |   29 +
 src/bindings/org/gnome/pango/Style.java            |   29 +
 src/bindings/org/gnome/pango/TabAlign.java         |   29 +
 src/bindings/org/gnome/pango/TabArray.java         |   37 +
 src/bindings/org/gnome/pango/Underline.java        |   29 +
 src/bindings/org/gnome/pango/Variant.java          |   29 +
 src/bindings/org/gnome/pango/Weight.java           |   29 +
 src/bindings/org/gnome/pango/WrapMode.java         |   29 +
 src/bindings/org/gnome/pango/package.html          |   27 +
 src/bindings/org/gnome/screenshot/Capture.java     |   15 +
 src/bindings/org/gnome/screenshot/Plumbing.java    |   16 +
 src/bindings/org/gnome/screenshot/Screenshot.java  |   73 +
 .../org/gnome/unixprint/PageSetupUnixDialog.java   |   29 +
 src/bindings/org/gnome/unixprint/Plumbing.java     |   16 +
 .../org/gnome/unixprint/PrintCapabilities.java     |   29 +
 src/bindings/org/gnome/unixprint/PrintJob.java     |   29 +
 .../org/gnome/unixprint/PrintUnixDialog.java       |   29 +
 src/bindings/org/gnome/unixprint/Printer.java      |   29 +
 src/bindings/overview.html                         |   88 +
 src/bindings/stylesheet.css                        |   50 +
 src/defs/AtkAction.defs                            |  121 +
 src/defs/AtkAttributeSet.defs                      |    6 +
 src/defs/AtkComponent.defs                         |  253 +
 src/defs/AtkCoordType.defs                         |   10 +
 src/defs/AtkDocument.defs                          |   28 +
 src/defs/AtkEditableText.defs                      |  139 +
 src/defs/AtkGObjectAccessible.defs                 |   13 +
 src/defs/AtkHyperlink.defs                         |  114 +
 src/defs/AtkHyperlinkStateFlags.defs               |    9 +
 src/defs/AtkHypertext.defs                         |   59 +
 src/defs/AtkImage.defs                             |   74 +
 src/defs/AtkImplementor.defs                       |    5 +
 src/defs/AtkImplementorIface.defs                  |   12 +
 src/defs/AtkKeyEventType.defs                      |   11 +
 src/defs/AtkLayer.defs                             |   15 +
 src/defs/AtkNoOpObject.defs                        |   17 +
 src/defs/AtkNoOpObjectFactory.defs                 |   14 +
 src/defs/AtkObject.defs                            |  330 +
 src/defs/AtkObjectFactory.defs                     |   38 +
 src/defs/AtkRectangle.defs                         |   12 +
 src/defs/AtkRegistry.defs                          |   35 +
 src/defs/AtkRelation.defs                          |   31 +
 src/defs/AtkRelationSet.defs                       |   65 +
 src/defs/AtkRelationType.defs                      |   16 +
 src/defs/AtkRole.defs                              |   78 +
 src/defs/AtkSelection.defs                         |  112 +
 src/defs/AtkStateSet.defs                          |  100 +
 src/defs/AtkStateType.defs                         |   38 +
 src/defs/AtkStreamableContent.defs                 |   51 +
 src/defs/AtkTable.defs                             |  544 ++
 src/defs/AtkText.defs                              |  402 ++
 src/defs/AtkTextAttribute.defs                     |   35 +
 src/defs/AtkTextBoundary.defs                      |   15 +
 src/defs/AtkTextClipType.defs                      |   12 +
 src/defs/AtkTextRange.defs                         |   10 +
 src/defs/AtkTextRectangle.defs                     |   11 +
 src/defs/AtkUtil.defs                              |   33 +
 src/defs/AtkValue.defs                             |   74 +
 src/defs/GdkAtom.defs                              |    7 +
 src/defs/GdkAxisUse.defs                           |   16 +
 src/defs/GdkBitmap.defs                            |    5 +
 src/defs/GdkByteOrder.defs                         |   10 +
 src/defs/GdkCapStyle.defs                          |   12 +
 src/defs/GdkColor.defs                             |   41 +
 src/defs/GdkColormap.defs                          |  126 +
 src/defs/GdkColorspace.defs                        |    9 +
 src/defs/GdkCrossingMode.defs                      |   11 +
 src/defs/GdkCursor.defs                            |   84 +
 src/defs/GdkCursorType.defs                        |   16 +
 src/defs/GdkDevice.defs                            |   91 +
 src/defs/GdkDisplay.defs                           |  306 +
 src/defs/GdkDisplayManager.defs                    |   36 +
 src/defs/GdkDragAction.defs                        |   14 +
 src/defs/GdkDragContext.defs                       |  219 +
 src/defs/GdkDragProtocol.defs                      |   15 +
 src/defs/GdkDrawable.defs                          |  712 +++
 src/defs/GdkEvent.defs                             |  111 +
 src/defs/GdkEventAny.defs                          |   10 +
 src/defs/GdkEventButton.defs                       |   19 +
 src/defs/GdkEventExpose.defs                       |   13 +
 src/defs/GdkEventFocus.defs                        |   12 +
 src/defs/GdkEventKey.defs                          |   18 +
 src/defs/GdkEventMask.defs                         |   30 +
 src/defs/GdkEventType.defs                         |   42 +
 src/defs/GdkEventVisibility.defs                   |   10 +
 src/defs/GdkExtensionMode.defs                     |   11 +
 src/defs/GdkFill.defs                              |   12 +
 src/defs/GdkFillRule.defs                          |   10 +
 src/defs/GdkFilterReturn.defs                      |   11 +
 src/defs/GdkFont.defs                              |  169 +
 src/defs/GdkFontType.defs                          |   10 +
 src/defs/GdkFunction.defs                          |   24 +
 src/defs/GdkGC.defs                                |  284 +
 src/defs/GdkGCValues.defs                          |    5 +
 src/defs/GdkGCValuesMask.defs                      |   26 +
 src/defs/GdkGeometry.defs                          |   18 +
 src/defs/GdkGrabStatus.defs                        |   13 +
 src/defs/GdkGravity.defs                           |   18 +
 src/defs/GdkInputCondition.defs                    |   11 +
 src/defs/GdkInputMode.defs                         |   11 +
 src/defs/GdkInputSource.defs                       |   12 +
 src/defs/GdkInterpType.defs                        |   12 +
 src/defs/GdkJoinStyle.defs                         |   11 +
 src/defs/GdkKeymap.defs                            |   70 +
 src/defs/GdkKeymapKey.defs                         |   10 +
 src/defs/GdkKeyval.defs                            |   87 +
 src/defs/GdkLineStyle.defs                         |   11 +
 src/defs/GdkModifierType.defs                      |   26 +
 src/defs/GdkNotifyType.defs                        |   14 +
 src/defs/GdkOverlapType.defs                       |   11 +
 src/defs/GdkOwnerChange.defs                       |   11 +
 src/defs/GdkPangoAttrEmbossed.defs                 |   10 +
 src/defs/GdkPangoAttrStipple.defs                  |   10 +
 src/defs/GdkPangoRenderer.defs                     |   55 +
 src/defs/GdkPixbuf.defs                            |  491 ++
 src/defs/GdkPixbufAlphaMode.defs                   |   10 +
 src/defs/GdkPixbufAnimation.defs                   |   63 +
 src/defs/GdkPixbufAnimationIter.defs               |   34 +
 src/defs/GdkPixbufError.defs                       |   17 +
 src/defs/GdkPixbufFormat.defs                      |   62 +
 src/defs/GdkPixbufLoader.defs                      |   96 +
 src/defs/GdkPixbufRotation.defs                    |   12 +
 src/defs/GdkPixbufSimpleAnim.defs                  |   28 +
 src/defs/GdkPixbufSimpleAnimIter.defs              |    7 +
 src/defs/GdkPixdata.defs                           |   40 +
 src/defs/GdkPixmap.defs                            |   20 +
 src/defs/GdkPixmapObject.defs                      |    7 +
 src/defs/GdkPoint.defs                             |    9 +
 src/defs/GdkPropMode.defs                          |   11 +
 src/defs/GdkPropertyState.defs                     |   10 +
 src/defs/GdkRectangle.defs                         |   32 +
 src/defs/GdkRegion.defs                            |  156 +
 src/defs/GdkRgbCmap.defs                           |   11 +
 src/defs/GdkRgbDither.defs                         |   11 +
 src/defs/GdkScreen.defs                            |  237 +
 src/defs/GdkScrollDirection.defs                   |   12 +
 src/defs/GdkSegment.defs                           |   11 +
 src/defs/GdkSettingAction.defs                     |   11 +
 src/defs/GdkStatus.defs                            |   13 +
 src/defs/GdkSubwindowMode.defs                     |   10 +
 src/defs/GdkTrapezoid.defs                         |   13 +
 src/defs/GdkVisibilityState.defs                   |   11 +
 src/defs/GdkVisual.defs                            |   40 +
 src/defs/GdkVisualType.defs                        |   14 +
 src/defs/GdkWMDecoration.defs                      |   15 +
 src/defs/GdkWMFunction.defs                        |   14 +
 src/defs/GdkWindow.defs                            |  928 +++
 src/defs/GdkWindowAttr.defs                        |    5 +
 src/defs/GdkWindowAttributesType.defs              |   16 +
 src/defs/GdkWindowClass.defs                       |   10 +
 src/defs/GdkWindowEdge.defs                        |   16 +
 src/defs/GdkWindowHints.defs                       |   17 +
 src/defs/GdkWindowObject.defs                      |    7 +
 src/defs/GdkWindowState.defs                       |   15 +
 src/defs/GdkWindowType.defs                        |   14 +
 src/defs/GdkWindowTypeHint.defs                    |   16 +
 src/defs/GladeXML.defs                             |  107 +
 src/defs/GlibMisc.defs                             |   17 +
 src/defs/GtkAboutDialog.defs                       |  233 +
 src/defs/GtkAccelFlags.defs                        |   11 +
 src/defs/GtkAccelGroup.defs                        |  110 +
 src/defs/GtkAccelKey.defs                          |   62 +
 src/defs/GtkAccelLabel.defs                        |   60 +
 src/defs/GtkAccelMap.defs                          |  123 +
 src/defs/GtkAccessible.defs                        |   18 +
 src/defs/GtkAction.defs                            |  210 +
 src/defs/GtkActionGroup.defs                       |  206 +
 src/defs/GtkAdjustment.defs                        |   77 +
 src/defs/GtkAlignment.defs                         |   56 +
 src/defs/GtkAllocation.defs                        |   11 +
 src/defs/GtkAnchorType.defs                        |   25 +
 src/defs/GtkArgFlags.defs                          |   13 +
 src/defs/GtkArrow.defs                             |   28 +
 src/defs/GtkArrowType.defs                         |   12 +
 src/defs/GtkAspectFrame.defs                       |   33 +
 src/defs/GtkAssistant.defs                         |  225 +
 src/defs/GtkAssistantPageType.defs                 |   13 +
 src/defs/GtkAttachOptions.defs                     |   11 +
 src/defs/GtkBin.defs                               |   16 +
 src/defs/GtkBindingSet.defs                        |   42 +
 src/defs/GtkBorder.defs                            |   21 +
 src/defs/GtkBox.defs                               |  117 +
 src/defs/GtkButton.defs                            |  229 +
 src/defs/GtkButtonAction.defs                      |   12 +
 src/defs/GtkButtonBox.defs                         |   85 +
 src/defs/GtkButtonBoxStyle.defs                    |   13 +
 src/defs/GtkButtonsType.defs                       |   14 +
 src/defs/GtkCalendar.defs                          |  139 +
 src/defs/GtkCalendarDisplayOptions.defs            |   13 +
 src/defs/GtkCellEditable.defs                      |   45 +
 src/defs/GtkCellLayout.defs                        |  145 +
 src/defs/GtkCellRenderer.defs                      |  164 +
 src/defs/GtkCellRendererAccel.defs                 |   33 +
 src/defs/GtkCellRendererAccelMode.defs             |   10 +
 src/defs/GtkCellRendererCombo.defs                 |   14 +
 src/defs/GtkCellRendererMode.defs                  |   11 +
 src/defs/GtkCellRendererPixbuf.defs                |   14 +
 src/defs/GtkCellRendererProgress.defs              |   14 +
 src/defs/GtkCellRendererSpin.defs                  |   14 +
 src/defs/GtkCellRendererState.defs                 |   13 +
 src/defs/GtkCellRendererText.defs                  |   32 +
 src/defs/GtkCellRendererToggle.defs                |   52 +
 src/defs/GtkCellType.defs                          |   13 +
 src/defs/GtkCellView.defs                          |   64 +
 src/defs/GtkCheckButton.defs                       |   42 +
 src/defs/GtkCheckMenuItem.defs                     |  121 +
 src/defs/GtkClipboard.defs                         |  221 +
 src/defs/GtkColorButton.defs                       |   92 +
 src/defs/GtkColorSelection.defs                    |  150 +
 src/defs/GtkColorSelectionDialog.defs              |   23 +
 src/defs/GtkComboBox.defs                          |  261 +
 src/defs/GtkComboBoxEntry.defs                     |   49 +
 src/defs/GtkContainer.defs                         |  353 ++
 src/defs/GtkCornerType.defs                        |   12 +
 src/defs/GtkCurve.defs                             |   75 +
 src/defs/GtkCurveType.defs                         |   11 +
 src/defs/GtkDebugFlag.defs                         |   15 +
 src/defs/GtkDeleteType.defs                        |   16 +
 src/defs/GtkDestDefaults.defs                      |   12 +
 src/defs/GtkDialog.defs                            |  153 +
 src/defs/GtkDialogFlags.defs                       |   11 +
 src/defs/GtkDirectionType.defs                     |   14 +
 src/defs/GtkDrawingArea.defs                       |   25 +
 src/defs/GtkEditable.defs                          |  196 +
 src/defs/GtkEntry.defs                             |  324 +
 src/defs/GtkEntryCompletion.defs                   |  203 +
 src/defs/GtkEventBox.defs                          |   44 +
 src/defs/GtkExpander.defs                          |  112 +
 src/defs/GtkExpanderStyle.defs                     |   12 +
 src/defs/GtkFileChooser.defs                       |  404 ++
 src/defs/GtkFileChooserAction.defs                 |   12 +
 src/defs/GtkFileChooserButton.defs                 |   68 +
 src/defs/GtkFileChooserConfirmation.defs           |   11 +
 src/defs/GtkFileChooserDialog.defs                 |   37 +
 src/defs/GtkFileChooserError.defs                  |   10 +
 src/defs/GtkFileChooserWidget.defs                 |   18 +
 src/defs/GtkFileFilter.defs                        |   80 +
 src/defs/GtkFileFilterFlags.defs                   |   12 +
 src/defs/GtkFilePath.defs                          |    6 +
 src/defs/GtkFileSelection.defs                     |   95 +
 src/defs/GtkFixed.defs                             |   51 +
 src/defs/GtkFontButton.defs                        |  109 +
 src/defs/GtkFontSelection.defs                     |   52 +
 src/defs/GtkFontSelectionDialog.defs               |   63 +
 src/defs/GtkFrame.defs                             |   90 +
 src/defs/GtkGammaCurve.defs                        |   21 +
 src/defs/GtkHBox.defs                              |   18 +
 src/defs/GtkHButtonBox.defs                        |   14 +
 src/defs/GtkHPaned.defs                            |   14 +
 src/defs/GtkHRuler.defs                            |   14 +
 src/defs/GtkHScale.defs                            |   29 +
 src/defs/GtkHScrollbar.defs                        |   17 +
 src/defs/GtkHSeparator.defs                        |   14 +
 src/defs/GtkHandleBox.defs                         |   75 +
 src/defs/GtkIMContext.defs                         |  216 +
 src/defs/GtkIMContextSimple.defs                   |   25 +
 src/defs/GtkIMMulticontext.defs                    |   23 +
 src/defs/GtkIMPreeditStyle.defs                    |   11 +
 src/defs/GtkIMStatusStyle.defs                     |   10 +
 src/defs/GtkIconFactory.defs                       |   45 +
 src/defs/GtkIconInfo.defs                          |   82 +
 src/defs/GtkIconLookupFlags.defs                   |   11 +
 src/defs/GtkIconSet.defs                           |   68 +
 src/defs/GtkIconSize.defs                          |   15 +
 src/defs/GtkIconSource.defs                        |  163 +
 src/defs/GtkIconTheme.defs                         |  140 +
 src/defs/GtkIconThemeError.defs                    |   10 +
 src/defs/GtkIconView.defs                          |  471 ++
 src/defs/GtkIconViewDropPosition.defs              |   14 +
 src/defs/GtkImage.defs                             |  253 +
 src/defs/GtkImageMenuItem.defs                     |   60 +
 src/defs/GtkImageType.defs                         |   15 +
 src/defs/GtkInputDialog.defs                       |   30 +
 src/defs/GtkInvisible.defs                         |   39 +
 src/defs/GtkItem.defs                              |   40 +
 src/defs/GtkJustification.defs                     |   12 +
 src/defs/GtkLabel.defs                             |  382 ++
 src/defs/GtkLayout.defs                            |  114 +
 src/defs/GtkLinkButton.defs                        |   33 +
 src/defs/GtkListStore.defs                         |  209 +
 src/defs/GtkMatchType.defs                         |   14 +
 src/defs/GtkMenu.defs                              |  172 +
 src/defs/GtkMenuBar.defs                           |   44 +
 src/defs/GtkMenuDirectionType.defs                 |   12 +
 src/defs/GtkMenuItem.defs                          |  148 +
 src/defs/GtkMenuShell.defs                         |  149 +
 src/defs/GtkMenuToolButton.defs                    |   59 +
 src/defs/GtkMessageDialog.defs                     |   79 +
 src/defs/GtkMessageType.defs                       |   13 +
 src/defs/GtkMetricType.defs                        |   11 +
 src/defs/GtkMisc.defs                              |   47 +
 src/defs/GtkMovementStep.defs                      |   18 +
 src/defs/GtkNotebook.defs                          |  491 ++
 src/defs/GtkNotebookTab.defs                       |   10 +
 src/defs/GtkObject.defs                            |  250 +
 src/defs/GtkObjectFlags.defs                       |   12 +
 src/defs/GtkOrientation.defs                       |   10 +
 src/defs/GtkPackDirection.defs                     |   12 +
 src/defs/GtkPackType.defs                          |   10 +
 src/defs/GtkPageOrientation.defs                   |   12 +
 src/defs/GtkPageSet.defs                           |   11 +
 src/defs/GtkPageSetup.defs                         |  171 +
 src/defs/GtkPageSetupUnixDialog.defs               |   49 +
 src/defs/GtkPaned.defs                             |  124 +
 src/defs/GtkPaperSize.defs                         |  126 +
 src/defs/GtkPathPriorityType.defs                  |   14 +
 src/defs/GtkPathType.defs                          |   11 +
 src/defs/GtkPlug.defs                              |   47 +
 src/defs/GtkPolicyType.defs                        |   11 +
 src/defs/GtkPositionType.defs                      |   12 +
 src/defs/GtkPrintCapabilities.defs                 |   17 +
 src/defs/GtkPrintContext.defs                      |   72 +
 src/defs/GtkPrintDuplex.defs                       |   11 +
 src/defs/GtkPrintError.defs                        |   11 +
 src/defs/GtkPrintJob.defs                          |   96 +
 src/defs/GtkPrintOperation.defs                    |  258 +
 src/defs/GtkPrintOperationAction.defs              |   12 +
 src/defs/GtkPrintOperationPreview.defs             |   68 +
 src/defs/GtkPrintOperationResult.defs              |   12 +
 src/defs/GtkPrintPages.defs                        |   11 +
 src/defs/GtkPrintQuality.defs                      |   12 +
 src/defs/GtkPrintSettings.defs                     |  507 ++
 src/defs/GtkPrintStatus.defs                       |   17 +
 src/defs/GtkPrintUnixDialog.defs                   |   89 +
 src/defs/GtkPrinter.defs                           |  109 +
 src/defs/GtkProgressBar.defs                       |  150 +
 src/defs/GtkProgressBarOrientation.defs            |   12 +
 src/defs/GtkProgressBarStyle.defs                  |   10 +
 src/defs/GtkRCStyle.defs                           |    7 +
 src/defs/GtkRadioAction.defs                       |   59 +
 src/defs/GtkRadioButton.defs                       |   91 +
 src/defs/GtkRadioMenuItem.defs                     |   86 +
 src/defs/GtkRadioToolButton.defs                   |   64 +
 src/defs/GtkRange.defs                             |  155 +
 src/defs/GtkRcFlags.defs                           |   12 +
 src/defs/GtkRcScanner.defs                         |    7 +
 src/defs/GtkRcStyle.defs                           |   80 +
 src/defs/GtkRcTokenType.defs                       |   46 +
 src/defs/GtkRecentChooser.defs                     |  354 ++
 src/defs/GtkRecentChooserDialog.defs               |   21 +
 src/defs/GtkRecentChooserError.defs                |   10 +
 src/defs/GtkRecentChooserMenu.defs                 |   33 +
 src/defs/GtkRecentChooserWidget.defs               |   18 +
 src/defs/GtkRecentFilter.defs                      |  107 +
 src/defs/GtkRecentFilterFlags.defs                 |   14 +
 src/defs/GtkRecentInfo.defs                        |  172 +
 src/defs/GtkRecentManager.defs                     |  117 +
 src/defs/GtkRecentManagerError.defs                |   15 +
 src/defs/GtkRecentSortType.defs                    |   12 +
 src/defs/GtkReliefStyle.defs                       |   11 +
 src/defs/GtkRequisition.defs                       |   23 +
 src/defs/GtkResizeMode.defs                        |   11 +
 src/defs/GtkResponseType.defs                      |   23 +
 src/defs/GtkRuler.defs                             |   68 +
 src/defs/GtkScale.defs                             |   91 +
 src/defs/GtkScrollStep.defs                        |   14 +
 src/defs/GtkScrollType.defs                        |   24 +
 src/defs/GtkScrollbar.defs                         |    7 +
 src/defs/GtkScrolledWindow.defs                    |  142 +
 src/defs/GtkSelectionData.defs                     |  147 +
 src/defs/GtkSelectionMode.defs                     |   13 +
 src/defs/GtkSensitivityType.defs                   |   11 +
 src/defs/GtkSeparator.defs                         |    7 +
 src/defs/GtkSeparatorMenuItem.defs                 |   14 +
 src/defs/GtkSeparatorToolItem.defs                 |   29 +
 src/defs/GtkSettings.defs                          |   50 +
 src/defs/GtkShadowType.defs                        |   13 +
 src/defs/GtkSideType.defs                          |   12 +
 src/defs/GtkSignalRunType.defs                     |   14 +
 src/defs/GtkSizeGroup.defs                         |   71 +
 src/defs/GtkSizeGroupMode.defs                     |   12 +
 src/defs/GtkSocket.defs                            |   48 +
 src/defs/GtkSortType.defs                          |   10 +
 src/defs/GtkSpinButton.defs                        |  242 +
 src/defs/GtkSpinButtonUpdatePolicy.defs            |   10 +
 src/defs/GtkSpinType.defs                          |   15 +
 src/defs/GtkStateType.defs                         |   13 +
 src/defs/GtkStatusIcon.defs                        |  198 +
 src/defs/GtkStatusbar.defs                         |   85 +
 src/defs/GtkStockItem.defs                         |   13 +
 src/defs/GtkStyle.defs                             | 1266 ++++
 src/defs/GtkTable.defs                             |  142 +
 src/defs/GtkTargetFlags.defs                       |   10 +
 src/defs/GtkTargetList.defs                        |   69 +
 src/defs/GtkTearoffMenuItem.defs                   |   14 +
 src/defs/GtkTextAppearance.defs                    |   17 +
 src/defs/GtkTextAttributes.defs                    |   61 +
 src/defs/GtkTextBuffer.defs                        |  801 +++
 src/defs/GtkTextBufferTargetInfo.defs              |   11 +
 src/defs/GtkTextChildAnchor.defs                   |   26 +
 src/defs/GtkTextDirection.defs                     |   11 +
 src/defs/GtkTextIter.defs                          |  698 +++
 src/defs/GtkTextMark.defs                          |   46 +
 src/defs/GtkTextSearchFlags.defs                   |   10 +
 src/defs/GtkTextTag.defs                           |   53 +
 src/defs/GtkTextTagTable.defs                      |   82 +
 src/defs/GtkTextView.defs                          |  596 ++
 src/defs/GtkTextWindowType.defs                    |   15 +
 src/defs/GtkToggleAction.defs                      |   61 +
 src/defs/GtkToggleButton.defs                      |  103 +
 src/defs/GtkToggleToolButton.defs                  |   44 +
 src/defs/GtkToolButton.defs                        |  123 +
 src/defs/GtkToolItem.defs                          |  190 +
 src/defs/GtkToolbar.defs                           |  172 +
 src/defs/GtkToolbarSpaceStyle.defs                 |   10 +
 src/defs/GtkToolbarStyle.defs                      |   12 +
 src/defs/GtkTooltips.defs                          |   62 +
 src/defs/GtkTreeDragDest.defs                      |   44 +
 src/defs/GtkTreeDragSource.defs                    |   59 +
 src/defs/GtkTreeIter.defs                          |   21 +
 src/defs/GtkTreeModel.defs                         |  416 ++
 src/defs/GtkTreeModelFilter.defs                   |  116 +
 src/defs/GtkTreeModelFlags.defs                    |   10 +
 src/defs/GtkTreeModelSort.defs                     |   87 +
 src/defs/GtkTreePath.defs                          |  123 +
 src/defs/GtkTreeRowReference.defs                  |   62 +
 src/defs/GtkTreeSelection.defs                     |  171 +
 src/defs/GtkTreeSortable.defs                      |  110 +
 src/defs/GtkTreeStore.defs                         |  236 +
 src/defs/GtkTreeView.defs                          |  845 +++
 src/defs/GtkTreeViewColumn.defs                    |  353 ++
 src/defs/GtkTreeViewColumnSizing.defs              |   11 +
 src/defs/GtkTreeViewDropPosition.defs              |   12 +
 src/defs/GtkTreeViewGridLines.defs                 |   12 +
 src/defs/GtkTreeViewMode.defs                      |   10 +
 src/defs/GtkUIManager.defs                         |  213 +
 src/defs/GtkUIManagerItemType.defs                 |   18 +
 src/defs/GtkUnit.defs                              |   12 +
 src/defs/GtkUpdateType.defs                        |   11 +
 src/defs/GtkVBox.defs                              |   18 +
 src/defs/GtkVButtonBox.defs                        |   14 +
 src/defs/GtkVPaned.defs                            |   14 +
 src/defs/GtkVRuler.defs                            |   14 +
 src/defs/GtkVScale.defs                            |   29 +
 src/defs/GtkVScrollbar.defs                        |   17 +
 src/defs/GtkVSeparator.defs                        |   14 +
 src/defs/GtkViewport.defs                          |   72 +
 src/defs/GtkVisibility.defs                        |   11 +
 src/defs/GtkWidget.defs                            | 1805 ++++++
 src/defs/GtkWidgetFlags.defs                       |   27 +
 src/defs/GtkWidgetHelpType.defs                    |   10 +
 src/defs/GtkWindow.defs                            |  821 +++
 src/defs/GtkWindowGroup.defs                       |   32 +
 src/defs/GtkWindowPosition.defs                    |   13 +
 src/defs/GtkWindowType.defs                        |   10 +
 src/defs/GtkWrapMode.defs                          |   12 +
 src/defs/PangoAlignment.defs                       |   11 +
 src/defs/PangoAnalysis.defs                        |    5 +
 src/defs/PangoAttr.defs                            |   18 +
 src/defs/PangoAttrIterator.defs                    |   61 +
 src/defs/PangoAttrList.defs                        |   87 +
 src/defs/PangoAttrType.defs                        |   29 +
 src/defs/PangoAttribute.defs                       |   28 +
 src/defs/PangoColor.defs                           |   34 +
 src/defs/PangoContext.defs                         |  129 +
 src/defs/PangoCoverage.defs                        |   74 +
 src/defs/PangoCoverageLevel.defs                   |   12 +
 src/defs/PangoDirection.defs                       |   15 +
 src/defs/PangoEllipsizeMode.defs                   |   12 +
 src/defs/PangoEngine.defs                          |    7 +
 src/defs/PangoEngineLang.defs                      |    7 +
 src/defs/PangoEngineShape.defs                     |    7 +
 src/defs/PangoFont.defs                            |  103 +
 src/defs/PangoFontDescription.defs                 |  231 +
 src/defs/PangoFontFace.defs                        |   48 +
 src/defs/PangoFontFamily.defs                      |   48 +
 src/defs/PangoFontMap.defs                         |   72 +
 src/defs/PangoFontMask.defs                        |   14 +
 src/defs/PangoFontMetrics.defs                     |   68 +
 src/defs/PangoFontset.defs                         |   59 +
 src/defs/PangoFontsetSimple.defs                   |   33 +
 src/defs/PangoGlyphGeometry.defs                   |    5 +
 src/defs/PangoGlyphInfo.defs                       |    5 +
 src/defs/PangoGlyphItem.defs                       |   37 +
 src/defs/PangoGlyphString.defs                     |  105 +
 src/defs/PangoGlyphUnit.defs                       |    5 +
 src/defs/PangoItem.defs                            |   46 +
 src/defs/PangoLanguage.defs                        |   40 +
 src/defs/PangoLayout.defs                          |  377 ++
 src/defs/PangoLayoutIter.defs                      |  126 +
 src/defs/PangoLayoutLine.defs                      |   79 +
 src/defs/PangoMatrix.defs                          |   56 +
 src/defs/PangoRectangle.defs                       |   11 +
 src/defs/PangoRenderPart.defs                      |   12 +
 src/defs/PangoRenderer.defs                        |  243 +
 src/defs/PangoScript.defs                          |   70 +
 src/defs/PangoScriptIter.defs                      |   34 +
 src/defs/PangoStretch.defs                         |   17 +
 src/defs/PangoStyle.defs                           |   11 +
 src/defs/PangoTabAlign.defs                        |    9 +
 src/defs/PangoTabArray.defs                        |   98 +
 src/defs/PangoUnderline.defs                       |   13 +
 src/defs/PangoVariant.defs                         |   10 +
 src/defs/PangoWeight.defs                          |   15 +
 src/defs/PangoWrapMode.defs                        |   11 +
 src/defs/ScreenshotCapture.defs                    |   20 +
 src/generator/BindingsGenerator.java               |  221 +
 .../codegen/AccessorGenerator.java                 |   66 +
 .../operationaldynamics/codegen/ArrayThing.java    |   51 +
 .../codegen/BlacklistedThing.java                  |   49 +
 .../codegen/BoxedGenerator.java                    |   80 +
 .../operationaldynamics/codegen/BoxedThing.java    |   30 +
 .../codegen/ConstantArrayThing.java                |   78 +
 .../codegen/ConstructorGenerator.java              |  103 +
 .../operationaldynamics/codegen/EnumGenerator.java |  109 +
 .../com/operationaldynamics/codegen/EnumThing.java |   41 +
 .../operationaldynamics/codegen/FixmeThing.java    |   28 +
 .../codegen/FlagsGenerator.java                    |  106 +
 .../operationaldynamics/codegen/FlagsThing.java    |   33 +
 .../codegen/FunctionGenerator.java                 |  649 ++
 .../codegen/FundamentalArrayThing.java             |   84 +
 .../codegen/FundamentalThing.java                  |   71 +
 .../operationaldynamics/codegen/GErrorThing.java   |   50 +
 .../operationaldynamics/codegen/GListThing.java    |   63 +
 .../com/operationaldynamics/codegen/Generator.java |  117 +
 .../codegen/GetterGenerator.java                   |   44 +
 .../codegen/InterfaceGenerator.java                |   46 +
 .../codegen/InterfaceThing.java                    |   29 +
 .../codegen/MethodGenerator.java                   |   45 +
 .../codegen/ObjectGenerator.java                   |   90 +
 .../operationaldynamics/codegen/ObjectThing.java   |   26 +
 .../codegen/ProxiedArrayThing.java                 |   89 +
 .../operationaldynamics/codegen/ProxiedThing.java  |   32 +
 .../codegen/SetterGenerator.java                   |   46 +
 .../codegen/StringArrayThing.java                  |   49 +
 .../operationaldynamics/codegen/StringThing.java   |   70 +
 .../com/operationaldynamics/codegen/Thing.java     |  644 ++
 .../operationaldynamics/codegen/TypeGenerator.java |  184 +
 .../codegen/TypedefFundamentalThing.java           |   33 +
 .../operationaldynamics/codegen/ValueThing.java    |   34 +
 .../codegen/VirtualGenerator.java                  |  262 +
 .../defsparser/AccessorBlock.java                  |   50 +
 .../com/operationaldynamics/defsparser/Block.java  |  261 +
 .../operationaldynamics/defsparser/BoxedBlock.java |   79 +
 .../defsparser/DefsLineNumberReader.java           |   41 +
 .../defsparser/DefsParseException.java             |   37 +
 .../operationaldynamics/defsparser/DefsParser.java |  369 ++
 .../defsparser/DeprecatedException.java            |   26 +
 .../operationaldynamics/defsparser/EnumBlock.java  |   67 +
 .../operationaldynamics/defsparser/FlagsBlock.java |   59 +
 .../defsparser/FunctionBlock.java                  |  191 +
 .../defsparser/GetterBlock.java                    |   54 +
 .../defsparser/InterfaceBlock.java                 |   41 +
 .../defsparser/MethodBlock.java                    |   59 +
 .../defsparser/ObjectBlock.java                    |   85 +
 .../defsparser/SetterBlock.java                    |   40 +
 .../operationaldynamics/defsparser/TypeBlock.java  |   89 +
 .../defsparser/VirtualBlock.java                   |   52 +
 .../com/operationaldynamics/driver/DefsFile.java   |  264 +
 .../driver/ImproperDefsFileException.java          |   42 +
 src/jni/bindings_java.h                            |   90 +
 src/jni/bindings_java_convert.c                    |  340 +
 src/jni/bindings_java_memory.c                     |  220 +
 src/jni/bindings_java_signal.c                     |  516 ++
 src/jni/bindings_java_threads.c                    |   88 +
 src/jni/bindings_java_type.c                       |  138 +
 src/jni/bindings_java_util.c                       |  285 +
 src/jni/gnome_screenshot.h                         |   35 +
 src/jni/gnome_screenshot_capture.c                 |   82 +
 src/jni/gnome_screenshot_shadow.c                  |  212 +
 src/jni/gnome_screenshot_shadow.h                  |    9 +
 src/jni/gnome_screenshot_utils.c                   |  629 ++
 src/util/demux/Makefile                            |   44 +
 src/util/demux/definitions.py                      |  590 ++
 src/util/demux/defsparser.py                       |  170 +
 src/util/demux/demux.py                            |   34 +
 src/util/demux/java-gnome.fixes                    |  210 +
 src/util/demux/scmexpr.py                          |  138 +
 src/util/keyval/keysymsToKeyval.pl                 |   38 +
 src/util/missing.defs                              | 6606 ++++++++++++++++++++
 tests/bindings/UnitTests.java                      |  127 +
 .../junit/VerboseResultPrinter.java                |  174 +
 .../junit/VerboseTestRunner.java                   |  136 +
 .../bindings/com/operationaldynamics/ui/Align.java |   63 +
 .../bindings/com/operationaldynamics/ui/Text.java  |  189 +
 .../com/operationaldynamics/ui/TextOutput.java     |   85 +
 .../freedesktop/bindings/ValidateEnvironment.java  |   40 +
 tests/bindings/org/gnome/gdk/ValidateBoxeds.java   |   57 +
 .../org/gnome/gdk/ValidateImageHandling.java       |   45 +
 .../org/gnome/gdk/ValidateKeyboardHandling.java    |   58 +
 .../org/gnome/gdk/ValidateScreensAndDisplays.java  |   42 +
 .../bindings/org/gnome/glib/ValidateConstants.java |  136 +
 .../org/gnome/glib/ValidateGListMethods.java       |   94 +
 .../org/gnome/glib/ValidateMemoryManagement.java   |  372 ++
 .../org/gnome/glib/ValidateReferenceCounting.java  |   54 +
 tests/bindings/org/gnome/gtk/TestCaseGtk.java      |  112 +
 tests/bindings/org/gnome/gtk/ValidateComboBox.java |  169 +
 .../org/gnome/gtk/ValidateFileChoosing.java        |   92 +
 .../org/gnome/gtk/ValidateOutParameters.java       |   87 +
 tests/bindings/org/gnome/gtk/ValidatePacking.java  |   72 +
 .../bindings/org/gnome/gtk/ValidateProperties.java |  224 +
 .../org/gnome/gtk/ValidateResponseType.java        |   72 +
 .../org/gnome/gtk/ValidateSnapshotUtilities.java   |   19 +
 .../bindings/org/gnome/gtk/ValidateStockItems.java |   37 +
 .../org/gnome/gtk/ValidateThreadStability.java     |   99 +
 .../bindings/org/gnome/gtk/ValidateTreeModel.java  |  454 ++
 tests/bindings/org/gnome/gtk/ValidateTreeView.java |   33 +
 tests/defs/AtkCoordType.defs                       |   10 +
 tests/defs/AtkImage.defs                           |   74 +
 tests/defs/GdkWindowState.defs                     |   15 +
 tests/defs/GtkButton.defs                          |  205 +
 tests/defs/GtkReliefStyle.defs                     |   20 +
 tests/defs/GtkTreeIter.defs                        |   27 +
 tests/defs/GtkWidget.defs                          |   26 +
 tests/exploration/enums.c                          |   55 +
 tests/exploration/pixbuf_formats.c                 |   45 +
 .../codegen/ValidateThingUsage.java                |  126 +
 .../codegen/ValidateUtilityMethods.java            |   75 +
 .../defsparser/ValidateBlockUsage.java             |   70 +
 .../defsparser/ValidateDefsParsing.java            |  143 +
 tests/prototype/Designer.java                      |   78 +
 tests/prototype/Experiment.java                    |  122 +
 tests/prototype/Toggling.java                      |  150 +
 tests/prototype/WorkerThreads.java                 |  125 +
 tests/prototype/simple.glade                       |   18 +
 tests/screenshots/Harness.java                     |  206 +
 tests/screenshots/org/gnome/gtk/Snapshot.java      |  131 +
 .../org/gnome/gtk/SnapshotAboutDialog.java         |   43 +
 .../screenshots/org/gnome/gtk/SnapshotButton.java  |   36 +
 .../org/gnome/gtk/SnapshotCalendar.java            |   38 +
 .../org/gnome/gtk/SnapshotComboBox.java            |   77 +
 .../screenshots/org/gnome/gtk/SnapshotDialog.java  |   44 +
 .../org/gnome/gtk/SnapshotEntryRed.java            |   44 +
 .../org/gnome/gtk/SnapshotFileChooserDialog.java   |   46 +
 .../screenshots/org/gnome/gtk/SnapshotHScale.java  |   38 +
 .../org/gnome/gtk/SnapshotInfoMessageDialog.java   |   29 +
 .../gnome/gtk/SnapshotQuestionMessageDialog.java   |   28 +
 .../org/gnome/gtk/SnapshotStatusbar.java           |   56 +
 .../org/gnome/gtk/SnapshotTextComboBox.java        |   47 +
 .../org/gnome/gtk/SnapshotTextComboBoxEntry.java   |   44 +
 .../org/gnome/gtk/SnapshotTreeView.java            |  113 +
 .../screenshots/org/gnome/gtk/SnapshotVScale.java  |   39 +
 .../screenshots/org/gnome/gtk/SnapshotWindow.java  |   31 +
 1222 files changed, 104852 insertions(+), 82 deletions(-)

diff --cc Makefile
index 0000000,8781b8a..ada7a99
mode 000000,100644..100644
--- a/Makefile
+++ b/Makefile
@@@ -1,0 -1,169 +1,169 @@@
+ #
+ # Makefile, part of Equivalence
+ #
+ # Copyright (c) 2006-2007 Operational Dynamics Consulting Pty Ltd 
+ # 
+ # The code in this file, and the library it is a part of, are made available
+ # to you by the authors under the terms of the "GNU General Public Licence,
+ # version 2". See the LICENCE file for the terms governing usage and
+ # redistribution.
+ #
+ 
+ ifdef V
+ else
+ MAKEFLAGS=-s
+ REDIRECT=>/dev/null
+ endif
+ 
+ -include .config
+ 
+ ifdef GCJ
+ all: build-java build-native
+ else
+ all: build-java
+ endif
+ 
+ .PHONY: test demo doc clean distlcean install
+ 
+ 
+ # --------------------------------------------------------------------
+ # Source compilation
+ # --------------------------------------------------------------------
+ 
+ build-java:
+ 	build/faster
+ 
+ build-native: .config tmp/gtk-$(APIVERSION).jar
+ 	make -f build/gcj.make
+ 
+ # --------------------------------------------------------------------
+ # Install (run as root, or specify DESTDIR on Make command line)
+ # --------------------------------------------------------------------
+ 
+ ifdef GCJ
+ install: build-java build-native install-dirs install-java install-native
+ else
+ install: build-java install-dirs install-java
+ endif
+ 	rm $(DESTDIR)$(PREFIX)/.java-gnome-install-dirs
+ 
+ install-dirs: $(DESTDIR)$(PREFIX)/.java-gnome-install-dirs
+ $(DESTDIR)$(PREFIX)/.java-gnome-install-dirs:
+ 	@test -d $(DESTDIR)$(PREFIX)/share/java || echo -e "MKDIR\tinstallation directories"
+ 	-mkdir -p $(DESTDIR)$(PREFIX)
+ 	-touch $@ 2>/dev/null
+ 	test -w $@ || ( echo -e "\nYou don't seem to have write permissions to $(DESDIR)$(PREFIX)\nPerhaps you need to be root?\n" && exit 7 )
+ 	mkdir -p $(DESTDIR)$(PREFIX)/share/java
 -	mkdir -p $(DESTDIR)$(PREFIX)/lib
++	mkdir -p $(DESTDIR)$(PREFIX)/lib/jni
+ 
+ install-java: build-java \
+ 	$(DESTDIR)$(PREFIX)/share/java/gtk-$(APIVERSION).jar \
 -	$(DESTDIR)$(PREFIX)/lib/libgtkjni-$(APIVERSION).so
++	$(DESTDIR)$(PREFIX)/lib/jni/libgtkjni-$(APIVERSION).so
+ 
+ install-native: build-native install-java \
+ 	$(DESTDIR)$(PREFIX)/lib/libgtkjava-$(APIVERSION).so
+ 
+ $(DESTDIR)$(PREFIX)/share/java/gtk-$(APIVERSION).jar: tmp/gtk-$(APIVERSION).jar
+ 	@echo -e "INSTALL\t$@"
+ 	cp -f $< $@
+ 	@echo -e "SYMLINK\t$(@D)/gtk.jar -> gtk-$(APIVERSION).jar"
+ 	cd $(@D) && rm -f gtk.jar && ln -s gtk-$(APIVERSION).jar gtk.jar
+ 	
 -$(DESTDIR)$(PREFIX)/lib/libgtkjni-$(APIVERSION).so: tmp/libgtkjni-$(APIVERSION).so
++$(DESTDIR)$(PREFIX)/lib/jni/libgtkjni-$(APIVERSION).so: tmp/libgtkjni-$(APIVERSION).so
+ 	@echo -e "INSTALL\t$@"
+ 	cp -f $< $@
+ 
+ $(DESTDIR)$(PREFIX)/lib/libgtkjava-$(APIVERSION).so: tmp/libgtkjava-$(APIVERSION).so
+ 	@echo -e "INSTALL\t$@"
+ 	cp -f $< $@
+ 
+ 
+ # --------------------------------------------------------------------
+ # Tests
+ # --------------------------------------------------------------------
+ 
+ test:
+ 	build/faster test
+ 
+ demo:
+ 	build/faster demo
+ 
+ # --------------------------------------------------------------------
+ # Documentation generation
+ # --------------------------------------------------------------------
+ 
+ ifdef V
+ else
+ JAVADOC:=$(JAVADOC) -quiet
+ endif
+ 
+ doc:
+ 	@echo "$(JAVADOC_CMD) doc/api/*.html"
+ 	$(JAVADOC) \
+ 		-d doc/api \
+ 		-classpath tmp/bindings \
+ 		-public \
+ 		-nodeprecated \
+ 		-source 1.4 \
+ 		-notree \
+ 		-noindex \
+ 		-nohelp \
+ 		-version \
+ 		-author \
+ 		-windowtitle "java-gnome $(APIVERSION) API Documentation" \
+ 		-doctitle "<h1>java-gnome $(APIVERSION) API Documentation</h1>" \
+ 		-header "java-gnome version $(VERSION)" \
+ 		-footer "<img src=\"/images/java-gnome_JavaDocLogo.png\" style=\"padding-right:25px;\"><br> <span style=\"font-family: Arial; font-style: normal; font-size: large;\">java-gnome</span>" \
+ 		-breakiterator \
+ 		-stylesheetfile src/bindings/stylesheet.css \
+ 		-overview src/bindings/overview.html \
+ 		-sourcepath src/bindings \
+ 		-subpackages org \
+ 		-exclude "org.freedesktop.bindings" \
+ 		$(REDIRECT)
+ 
+ 
+ #
+ # Remember that if you bump the version number you need to commit the change
+ # and re-./configure before being able to run this! On the other hand, we
+ # don't have to distclean before calling this.
+ #
+ dist: all
+ 	@echo -e "CHECK\tfully committed state"
+ 	bzr diff > /dev/null || ( echo -e "\nYou need to commit all changes before running make dist\n" ; exit 4 )
+ 	@echo -e "EXPORT\ttmp/java-gnome-$(VERSION)"
+ 	-rm -rf tmp/java-gnome-$(VERSION)
+ 	bzr export --format=dir tmp/java-gnome-$(VERSION)
+ 	@echo -e "RM\tnon essential files"
+ 	rm -r tmp/java-gnome-$(VERSION)/web
+ 	rm    tmp/java-gnome-$(VERSION)/.aspell.en.pws
+ 	@echo -e "TAR\tjava-gnome-$(VERSION).tar.bz2"
+ 	tar cjf java-gnome-$(VERSION).tar.bz2 -C tmp java-gnome-$(VERSION)
+ 	rm -r tmp/java-gnome-$(VERSION)
+ 
+ clean:
+ 	@echo -e "RM\tgenerated code"
+ 	rm -rf generated/bindings/*
+ 	@echo -e "RM\tcompiled output"
+ 	rm -rf tmp/generator/* tmp/bindings/* tmp/tests/*
+ 	rm -rf tmp/include/* tmp/native/* tmp/objects/*
+ 	@echo -e "RM\ttemporary files"
+ 	rm -rf tmp/stamp/*
+ 	rm -f hs_err_*
+ 	@echo -e "RM\tbuilt .jar and .so"
+ 	rm -f tmp/gtk-*.jar \
+ 		tmp/libgtkjni-*.so \
+ 		tmp/libgtkjava-*.so
+ 
+ distclean: clean
+ 	@echo -e "RM\tbuild configuration information"
+ 	-rm -f .config .config.tmp
+ 	@echo -e "RM\tgenerated documentation"
+ 	-rm -rf doc/api/*
+ 	-rm -f java-gnome-*.tar.bz2
+ 	@echo -e "RM\ttemporary directories"
+ 	-rm -rf tmp generated
+ 	@echo -e "RM\tglade cruft"
+ 	find . -name '*.glade.bak' -o -name '*.gladep*' -type f | xargs rm -f
+ 
+ # vim: set filetype=make textwidth=78 nowrap:
diff --cc debian/changelog
index dbfec36,0000000..0775bca
mode 100644,000000..100644
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,11 -1,0 +1,11 @@@
- java-gnome (2.8.4) unstable; urgency=low
++java-gnome (4.0.6-1) unstable; urgency=low
 +
-   * Replaced java-gnome source package with libgtk-java, libgnome-java,
-     libglade-java and libgconf-java source packages to follow new upstream
-     packaging and release stategy. all-in-one java-gnome packages are no
-     longer available. 
-   * Took the opportunity to fix binary package names and version to follow
-     upstream more closely. Replaced the old binary packages with dummy
-     packages to aid upgrades (from this source package)
++  [ Manu Mahajan ]
++  * Initial release, Closes: Bug#467442
++  * Changed location of libgtkjni from usr/lib to usr/lib/jni
++  * Tweaked the MakeFile to build with java-gcj-compat-dev
 +
-  -- Mark Howard <mh at debian.org>  Tue,  8 Mar 2005 21:43:58 +0000
++  [ Thomas Girard ]
++  * Backport changeset 449: "Remove 15 warnings related to sentinels"
++
++ -- Manu Mahajan <manu at codepencil.com>  Mon, 24 Mar 2008 01:01:11 +0530
diff --cc debian/compat
index b8626c4,0000000..7ed6ff8
mode 100644,000000..100644
--- a/debian/compat
+++ b/debian/compat
@@@ -1,1 -1,0 +1,1 @@@
- 4
++5
diff --cc debian/control
index b04947c,0000000..c1e6dd4
mode 100644,000000..100644
--- a/debian/control
+++ b/debian/control
@@@ -1,70 -1,0 +1,22 @@@
 +Source: java-gnome
- Section: libs
 +Priority: optional
- Maintainer: Mark Howard <mh at debian.org>
- Build-Depends: debhelper (>> 4),  cdbs
- Standards-Version: 3.6.1
- 
- Package: libgnome2-java
- Section: libs
- Architecture: all
- Depends: libgnome-java
- Description: Dummy package to aid upgrade
- 
- Package: libgtk2-java
- Section: libs
- Architecture: all
- Depends: libgnome-java
- Description: Dummy package to aid upgrade
-  
- Package: libglade2-java
++Maintainer: Debian Java maintainers <pkg-java-maintainers at lists.alioth.debian.org>
++Uploaders: Manu Mahajan <manu at codepencil.com>, Thomas Girard <thomas.g.girard at free.fr>
++Build-Depends: debhelper (>= 5), libgtk2.0-dev, junit, libglade2-dev, libgnome2-0, java-gcj-compat-dev
++Standards-Version: 3.7.3
 +Section: libs
- Architecture: any
- Depends: libglade-java
- Description: Dummy package to aid upgrade 
 +
- Package: libgnome2-jni
++Package: libjava-gnome-java
 +Section: libs
 +Architecture: any
- Depends: libgnome-jni
- Description: Dummy package to aid upgrade
- 
- Package: libgtk2-jni
- Section: libs
- Architecture: any
- Depends: libgtk-jni
- Description: Dummy package to aid upgrade
- 
- Package: libjava-gnome-doc
- Section: doc
- Depends: libgtk-java, libgnome-java, libgconf-java, libglade-java
- Architecture: all
- Description: Dummy package to aid upgrade
- 
- Package: libgnome0-java
- Section: libs
- Architecture: all
- Description: Dummy package to aid upgrade
- 
- Package: libgtk0-java
- Section: libs
- Architecture: all
- Description: Dummy package to aid upgrade
-  
- Package: libglade0-java
- Section: libs
- Architecture: all
- Depends: libglade2-java
- Description: Dummy package to aid upgrade
- 
- Package: libgnome0-jni
- Section: libs
- Architecture: all
- Depends: libgnome2-jni
- Description: Dummy package to aid upgrade
- 
- Package: libgtk0-jni
- Section: libs
- Architecture: all
- Depends: libgtk2-jni
- Description: Dummy package to aid upgrade
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: The java-gnome language bindings project
++ These are the Java bindings for GTK+ and GNOME! Featuring a robust 
++ engineering design, completely generated internals, a lovingly crafted 
++ layer presenting the public API, and steadily increasing coverage of 
++ the underlying libraries.
++ .
++ You can use java-gnome to develop sophisticated user interfaces for 
++ Linux applications so that they richly integrate with the GNOME Desktop 
++ while leveraging the power of the Java language and your expertise with 
++ it.
diff --cc debian/copyright
index 864175c,0000000..bd51900
mode 100644,000000..100644
--- a/debian/copyright
+++ b/debian/copyright
@@@ -1,12 -1,0 +1,99 @@@
- This package was debianized by Mark Howard <mh at tildemh.com> on
- Fri, 13 Sep 2002 13:35:19 +0100.
++This package was debianized by Manu Mahajan <manu at codepencil.com> on
++Mon, 25 Feb 2008 00:43:11 +0530.
 +
- It was downloaded from http://java-gnome.sf.net
++It was downloaded from http://ftp.gnome.org/pub/gnome/sources/java-gnome/4.0/
 +
- Upstream Authors: Java-Gnome Hackers java-gnome-developer at lists.sf.net
++Upstream Authors:
++    Andrew Cowie <andrew at operationaldynamics.com>
++    Srichand Pendyala <srichand.pendyala at gmail.com>
++    Vreixo Formoso Lopes <metalpain2002 at yahoo.es>
++    Sebastian Mancke <s.mancke at tarent.de>
 +
- Copyright:
++Copyright Holders:
++    Copyright (c) 2006-2008 Operational Dynamics Consulting Pty Ltd, and 
++    Others.
++    Copyright (c) 2004-2008 Operational Dynamics Consulting Pty Ltd
++    Copyright (c) 1997-1998 Andrew Cowie
++    Copyright (c) 1998-2005 The java-gnome Team
++    Copyright (c) 2007 Vreixo Formoso Lopes
++    Copyright (C) 2006 Emmanuele Bassi
++    Copyright (C) 2001-2006 Jonathan Blandford
++    Copyright (c) 1998-2006 James Henstridge, John Finlay, and Others
 +
- This is licensed under the terms of the GNU Lesser General public license, which
- can be found on Debian systems in /usr/share/common-licenses/LGPL
++License:
++    java-gnome is Logiciel Libre and is Open Source; you can 
++    redistribute it and/or modify it under the terms of the GNU General 
++    Public License, version 2("GPL").
 +
++    Linking this library statically or dynamically with other modules is 
++    making a combined work based on this library. Thus, the terms and 
++    conditions of the GPL cover the whole combination.
++
++    As a special exception, the copyright holders of this library give 
++    you permission to link this library with independent modules to 
++    produce an executable, regardless of the license terms of these 
++    independent modules, and to copy and distribute the resulting 
++    executable under terms of your choice, provided that you also meet, 
++    for each linked independent module, the terms and conditions of the 
++    license of that module. An independent module is a module which is 
++    not derived from or based on this library. If you modify this 
++    library, you may extend this exception to your version of the 
++    library, but you are not obligated to do so. If you do not wish to 
++    do so, delete this exceptionstatement from your version.
++
++    java-gnome is distributed in the hope that it will be useful, but 
++    WITHOUT ANY WARRANTY; without even the implied warranty of 
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GPL for 
++    more details. In particular, note that if you use this and lose your 
++    data, you're on your own.
++
++    You should have received a copy of the GNU General Public License 
++    with the Debian GNU/Linux distribution in file 
++    /usr/share/common-licenses/GPL. If not, write to the Free Software 
++    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,
++    USA.
++
++On Debian systems, the complete text of the GNU General Public
++License, version 2, can be found in /usr/share/common-licenses/GPL-2.
++
++
++java-gnome sources include markdown (in lib/utilities/markdown):
++Authors:
++    John Gruber <http://daringfireball.net>
++    Michel Fortin <http://www.michelf.com/>
++
++Copyright Holders:
++    Copyright (c) 2003-2006 John Gruber
++    Copyright (c) 2004-2006 Michel Fortin
++
++License:
++    Redistribution and use in source and binary forms, with or without
++    modification, are permitted provided that the following conditions are
++    met:
++
++    * Redistributions of source code must retain the above copyright notice,
++      this list of conditions and the following disclaimer.
++
++    * Redistributions in binary form must reproduce the above copyright
++      notice, this list of conditions and the following disclaimer in the
++      documentation and/or other materials provided with the distribution.
++
++    * Neither the name "Markdown" nor the names of its contributors may
++      be used to endorse or promote products derived from this software
++      without specific prior written permission.
++
++      This software is provided by the copyright holders and contributors "as
++      is" and any express or implied warranties, including, but not limited
++      to, the implied warranties of merchantability and fitness for a
++      particular purpose are disclaimed. In no event shall the copyright owner
++      or contributors be liable for any direct, indirect, incidental, special,
++      exemplary, or consequential damages (including, but not limited to,
++      procurement of substitute goods or services; loss of use, data, or
++      profits; or business interruption) however caused and on any theory of
++      liability, whether in contract, strict liability, or tort (including
++      negligence or otherwise) arising in any way out of the use of this
++      software, even if advised of the possibility of such damage.
++
++
++The Debian packaging is (C) 2008, Manu Mahajan <manu at codepencil.com> 
++and is licensed under the GPL, see above.
diff --cc debian/dirs
index 0000000,0000000..956d28f
new file mode 100644
--- /dev/null
+++ b/debian/dirs
@@@ -1,0 -1,0 +1,2 @@@
++usr/lib/jni
++usr/share/java
diff --cc debian/docs
index 0000000,0000000..50bd824
new file mode 100644
--- /dev/null
+++ b/debian/docs
@@@ -1,0 -1,0 +1,2 @@@
++NEWS
++README
diff --cc debian/rules
index e6192f6,0000000..c35a9a5
mode 100755,000000..100755
--- a/debian/rules
+++ b/debian/rules
@@@ -1,3 -1,0 +1,70 @@@
 +#!/usr/bin/make -f
++# -*- makefile -*-
++# Sample debian/rules that uses debhelper.
++# This file was originally written by Joey Hess and Craig Small.
++# As a special exception, when this file is copied by dh-make into a
++# dh-make output file, you may use that output file without restriction.
++# This special exception was added by Craig Small in version 0.37 of dh-make.
 +
- include /usr/share/cdbs/1/rules/debhelper.mk
++
++#configure
++.config: 
++	dh_testdir
++	# Add here commands to configure the package.
++	./configure --prefix=/usr jdk=/usr/lib/jvm/java-gcj compiler=ecj
++
++
++build: build-stamp
++build-stamp:  .config
++	dh_testdir
++
++	# Add here commands to compile the package.
++	$(MAKE)
++
++	touch $@
++
++clean:
++	dh_testdir
++	dh_testroot
++	rm -f build-stamp 
++
++	# Add here commands to clean up after the build process.
++	$(MAKE) distclean
++
++	dh_clean 
++
++install: build
++	dh_testdir
++	dh_testroot
++	dh_clean -k 
++	dh_installdirs
++
++	# Add here commands to install the package into debian/tmp
++	$(MAKE) DESTDIR=debian/libjava-gnome-java install
++	# We don't install this one
++	-rm -f debian/libjava-gnome-java/usr/lib/libgtkjava-4.0.so
++
++
++# Build architecture-independent files here.
++binary-indep: build install
++# We have nothing to do by default.
++
++# Build architecture-dependent files here.
++binary-arch: build install
++	dh_testdir
++	dh_testroot
++	dh_installchangelogs 
++	dh_installdocs
++	dh_install
++	dh_strip
++	dh_compress
++	dh_fixperms
++	dh_makeshlibs
++	dh_installdeb
++	dh_shlibdeps
++	dh_gencontrol
++	dh_md5sums
++	dh_builddeb
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install 
diff --cc src/generator/com/operationaldynamics/codegen/FunctionGenerator.java
index 0000000,8d39f42..a6f2cc2
mode 000000,100644..100644
--- a/src/generator/com/operationaldynamics/codegen/FunctionGenerator.java
+++ b/src/generator/com/operationaldynamics/codegen/FunctionGenerator.java
@@@ -1,0 -1,624 +1,649 @@@
+ /*
+  * FunctionGenerator.java
+  *
 - * Copyright (c) 2007 Operational Dynamics Consulting Pty Ltd
 - * Copyright (c) 2007 Vreixo Formoso
++ * Copyright (c) 2007-2008 Operational Dynamics Consulting Pty Ltd
++ * Copyright (c) 2007      Vreixo Formoso
+  * 
+  * The code in this file, and the library it is a part of, are made available
+  * to you by the authors under the terms of the "GNU General Public Licence,
+  * version 2" See the LICENCE file for the terms governing usage and
+  * redistribution.
+  */
+ package com.operationaldynamics.codegen;
+ 
+ import java.io.PrintWriter;
+ 
+ import com.operationaldynamics.driver.DefsFile;
+ 
+ /**
+  * Generate Java and C code for constructors, methods and other kind of
+  * functions.
+  * <p>
+  * Subclasses can override the individual steps of the generation sequence if
+  * they wish, however adjusting input passing up to this classes's constructor
+  * has been thus far been enough for constructors blocks and methods blocks.
+  * 
+  * @author Andrew Cowie
+  * @author Vreixo Formoso
+  */
+ public class FunctionGenerator extends Generator
+ {
+     /**
+      * The Thing describing the object we are generating code relative to.
+      */
+     protected final ProxiedThing proxyType;
+ 
+     /**
+      * The name of the method that is exposed package visible to bindings
+      * hackers. Expected to be overridden by subclasses such as
+      * ConstuctorGenerator.
+      */
+     protected String translationMethodName;
+ 
+     /**
+      * Not final so that we can play with the return type variable in the JNI
+      * conversion code section.
+      */
+     protected Thing returnType;
+ 
+     protected final String nativeMethodName;
+ 
+     /**
+      * These are ordered collections so that sublcasses like MethodGenerator
+      * can insert the reference-to-self as a first argument.
+      */
+     protected final Thing[] parameterTypes;
+ 
+     protected final String[] parameterNames;
+ 
+     /**
+      * This is filled with true if the parameter can be null (indicated with a
+      * null-ok in .defs).
+      */
+     protected final boolean[] parameterNullOk;
+ 
+     /**
+      * If a blacklistedType type is detected in this block, set it here.
+      */
+     private Thing blacklistedType;
+ 
++    private final boolean addSentinal;
++
+     /**
+      * @param data
+      *            the information about the class to which the block we are
+      *            generating code for pertains.
+      * @param blockName
+      *            however the .defs data named this block. Usually it's a
+      *            "short" name such as "set_label". Will be transformed into
+      *            the translation method name.
+      * @param gReturnType
+      *            the return type, as specified in the .defs data
+      * @param cFunctionName
+      *            the C function name, as specified in the .defs data. This
+      *            will be used to name the native method.
+      * @param gParameters
+      *            an array of String[2] arrays, listing the type and name of
+      *            each parameter.
+      */
+     public FunctionGenerator(final DefsFile data, final String blockName, final String gReturnType,
+             final String cFunctionName, final String[][] gParameters) {
+         super(data);
++        final int len;
+ 
+         this.proxyType = (ProxiedThing) data.getType();
+ 
+         this.translationMethodName = toCamel(blockName);
+ 
+         this.returnType = Thing.lookup(gReturnType);
+ 
+         this.nativeMethodName = cFunctionName;
+ 
 -        parameterTypes = new Thing[gParameters.length];
 -        parameterNames = new String[gParameters.length];
 -        parameterNullOk = new boolean[gParameters.length];
++        /*
++         * If ... is passed through as the last parameter, it means that we
++         * have a varargs and will need to a) add a NULL sentinel to the arg
++         * list, and b) chop this pseudo-parameter off the end of the array.
++         * This is a bit ugly, but the alternative was adding a boolean to
++         * *every* Generator constructor. This is better: varargs *is* a
++         * parameter type, and one we may someday choose to deal with.
++         */
++
++        if ((gParameters.length > 0) && ("...".equals(gParameters[gParameters.length - 1][0]))) {
++            this.addSentinal = true;
++            len = gParameters.length - 1;
++        } else {
++            this.addSentinal = false;
++            len = gParameters.length;
++        }
++
++        parameterTypes = new Thing[len];
++        parameterNames = new String[len];
++        parameterNullOk = new boolean[len];
+ 
 -        for (int i = 0; i < gParameters.length; i++) {
++        for (int i = 0; i < len; i++) {
+             parameterTypes[i] = Thing.lookup(gParameters[i][0]);
+             parameterNames[i] = toCamel(gParameters[i][1]);
+             parameterNullOk[i] = "yes".equals(gParameters[i][2]);
+         }
+ 
+         blacklistedType = null;
+     }
+ 
+     protected void translationMethodDeclaration(PrintWriter out) {
+         boolean hasGError = false;
+ 
+         out.print("\n");
+         out.print("    ");
+         out.print("static final ");
+         out.print(returnType.javaTypeInContext(data));
+         out.print(" ");
+         out.print(translationMethodName);
+ 
+         out.print("(");
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 hasGError = true;
+                 continue;
+             }
+ 
+             if (i > 0) {
+                 out.print(", ");
+             }
+ 
+             out.print(parameterTypes[i].javaTypeInContext(data));
+             out.print(" ");
+             out.print(parameterNames[i]);
+         }
+ 
+         out.print(")");
+ 
+         if (hasGError && !blockContainsBlacklistedThings()) {
+             out.print(" throws GlibException");
+         }
+ 
+     }
+ 
+     protected void translationMethodThrowBlacklisted(PrintWriter out) {
+         out.print(" throws BlacklistedMethodError {\n");
+ 
+         out.print("        ");
+         out.print("throw new BlacklistedMethodError(\"");
+         out.print(blacklistedType.gType);
+         out.print("\");\n");
+ 
+         out.print("    ");
+         out.print("}\n");
+     }
+ 
+     protected void translationMethodConversionCode(PrintWriter out) {
+         int declarations = 0;
+ 
+         out.print(" {\n");
+ 
+         /*
+          * Declare translation variables as necessary
+          */
+ 
+         if (!returnType.javaType.equals("void")) {
+             out.print("        ");
+             out.print(returnType.nativeType);
+             out.print(" result;\n");
+             declarations++;
+         }
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 continue;
+             }
+             if (parameterTypes[i].needExtraTranslation()) {
+                 out.print("        ");
+                 out.print(parameterTypes[i].nativeType);
+                 out.print(" _" + parameterNames[i] + ";\n");
+                 declarations++;
+             }
+         }
+ 
+         if (declarations > 0) {
+             out.print("\n");
+         }
+ 
+         /*
+          * Guard against null in parameters that can't be null
+          */
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 continue;
+             }
+             if (!parameterNullOk[i] && !(parameterTypes[i] instanceof FundamentalThing)) {
+                 out.print("        if (" + parameterNames[i] + " == null) {\n");
+                 out.print("            throw new IllegalArgumentException(\"" + parameterNames[i]
+                         + " can't be null\");\n");
+                 out.print("        }\n\n");
+             }
+         }
+ 
+         /*
+          * convert (translate) variables from public Java to JNI boundary
+          * crossing (ie, out-parameters)
+          */
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 continue;
+             }
+             if (parameterTypes[i].needExtraTranslation()) {
+                 out.print("        ");
+                 out.print("_" + parameterNames[i] + " = ");
+                 out.print(parameterTypes[i].extraTranslationToNative(parameterNames[i]));
+                 out.print(";\n\n");
+             }
+         }
+ 
+         /*
+          * And now enter the GDK lock prior to making the native calls. FUTURE
+          * this might have to be conditional if we ever have an environment
+          * where there is strictly zero possibility of a library depending on
+          * GTK. At the moment we're not allowing that as a strict KISS
+          * measure, and besides, most of the GNOME libraries need to be thread
+          * safe via the global GDK lock regardless.
+          */
+ 
+         out.print("        ");
+         out.print("synchronized (lock) {\n");
+     }
+ 
+     protected void translationMethodNativeCall(PrintWriter out) {
+         out.print("            ");
+         if (!returnType.javaType.equals("void")) {
+             out.print("result = ");
+         }
+         out.print(nativeMethodName);
+         out.print("(");
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 continue;
+             }
+             if (i > 0) {
+                 out.print(", ");
+             }
+ 
+             out.print(parameterTypes[i].translationToNative(parameterNames[i]));
+         }
+ 
+         out.print(");\n");
+     }
+ 
+     protected void translationMethodParamConversion(PrintWriter out) {
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 continue;
+             }
+             if (parameterTypes[i].needExtraTranslation()) {
+                 out.print("            ");
+                 out.print(parameterTypes[i].extraTranslationToJava(parameterNames[i], data));
+                 out.print(";\n");
+             }
+         }
+     }
+ 
+     protected void translationMethodReturnCode(PrintWriter out) {
+         if (!returnType.nativeType.equals("void")) {
+             out.print("\n");
+             out.print("            ");
+             out.print("return ");
+             out.print(returnType.translationToJava("result", data));
+             out.print(";\n");
+         }
+         out.print("        }\n");
+         out.print("    }\n");
+     }
+ 
+     protected void nativeMethodDeclaration(PrintWriter out) {
+         boolean hasGError = false;
+ 
+         out.print("    ");
+         out.print("private static native final ");
+         out.print(returnType.nativeType);
+         out.print(" ");
+         out.print(nativeMethodName);
+         out.print("(");
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 hasGError = true;
+                 continue;
+             }
+             if (i > 0) {
+                 out.print(", ");
+             }
+ 
+             out.print(parameterTypes[i].nativeType);
+             out.print(" ");
+             out.print(parameterNames[i]);
+         }
+ 
+         if (hasGError) {
+             out.print(") throws GlibException;\n");
+         } else {
+             out.print(");\n");
+         }
+     }
+ 
+     protected void jniFunctionDeclaration(PrintWriter out) {
+         out.print("\n");
+         out.print("JNIEXPORT ");
+         out.print(returnType.jniType);
+         out.print(" JNICALL\n");
+ 
+         out.print("Java_");
+         out.print(encodeJavaClassName(proxyType.bindingsPackage, proxyType.bindingsClass));
+         out.print("_");
+         out.print(encodeJavaMethodName(nativeMethodName));
+         out.print("\n(\n");
+         out.print("\tJNIEnv* env,\n");
+         out.print("\tjclass cls");
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 continue;
+             }
+             out.print(",\n\t");
+ 
+             out.print(parameterTypes[i].jniType);
+             out.print(" _");
+             out.print(parameterNames[i]);
+         }
+ 
+         out.print("\n)\n{\n");
+     }
+ 
+     protected void jniFunctionConversionCode(PrintWriter out) {
+         /*
+          * Declare conversion variables as necessary
+          */
+         if (!returnType.javaType.equals("void")) {
+             out.print("\t");
+             out.print(returnType.cType);
+             out.print(" result;\n");
+         }
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             out.print("\t");
+ 
+             out.print(parameterTypes[i].cType);
+             out.print(" ");
+             out.print(parameterNames[i]);
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 out.print(" = NULL");
+             }
+             out.print(";\n");
+         }
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 continue;
+             }
+             /*
+              * Comment
+              */
+             out.print("\n\t// convert parameter ");
+             out.print(parameterNames[i]);
+             out.print("\n");
+ 
+             /*
+              * If a parameter can be null, we need an extra if to avoid the
+              * conversion if it is in fact NULL
+              */
+             if (parameterNullOk[i] && !parameterTypes[i].jniConversionHandlesNull()) {
+                 out.print("\tif (_" + parameterNames[i] + " == NULL) {\n");
+                 out.print("\t\t" + parameterNames[i] + " = NULL;\n");
+                 out.print("\t} else {\n");
+                 out.print("\t");
+             }
+ 
+             /*
+              * variable equals
+              */
+             out.print("\t");
+             out.print(parameterNames[i]);
+ 
+             /*
+              * always a cast
+              */
+             out.print(" = (");
+             out.print(parameterTypes[i].cType);
+             out.print(") ");
+ 
+             /*
+              * and now a type specific decode. For many types, the cast is
+              * enough, so it's just the plain name.
+              */
+ 
+             out.print(parameterTypes[i].jniConversionDecode(parameterNames[i]));
+             out.print(";\n");
+             if (parameterTypes[i].jniConversionCanFail()) {
+                 jniReturnIfExceptionThrown(out, i);
+             }
+ 
+             if (parameterNullOk[i] && !parameterTypes[i].jniConversionHandlesNull()) {
+                 /* close the "else" */
+                 out.print("\t}\n");
+             }
+         }
+     }
+ 
+     /**
+      * If a JNI access function hits a problem (ie, OutOfMemoryError) it needs
+      * to exit immediately. A Java Exception is already thown, so we just need
+      * to bail. This is tricky, however, since the return statement must
+      * return something of the return type of the function.
+      * 
+      * @param i
+      *            the index into the parameterNames array (you're calling this
+      *            from inside a for loop iterating over the parameters).
+      */
+     private void jniReturnIfExceptionThrown(PrintWriter out, int i) {
+         String extraTab;
+ 
+         /*
+          * When the parameter can be null, we need an extra tab because of the
+          * if.
+          */
+         extraTab = parameterNullOk[i] && !parameterTypes[i].jniConversionHandlesNull() ? "\t" : "";
+ 
+         out.print(extraTab + "\tif (");
+         out.print(parameterNames[i]);
+         out.print(" == NULL) {\n");
+         out.print(extraTab + "\t\treturn");
+ 
+         if (!("void".equals(returnType.jniType))) {
+             out.print(" ");
+             out.print(returnType.jniReturnErrorValue());
+         }
+ 
+         out.print("; // Java Exception already thrown\n");
+         out.print(extraTab + "\t}\n");
+     }
+ 
+     protected void jniFunctionLibraryCall(PrintWriter out) {
+         out.print("\n");
+         out.print("\t// call function\n");
+ 
+         out.print("\t");
+         if (!returnType.jniType.equals("void")) {
+             out.print("result = ");
+         }
+         out.print(nativeMethodName);
+         out.print("(");
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (i > 0) {
+                 out.print(", ");
+             }
+ 
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 /*
+                  * We pass the GError address
+                  */
+                 out.print("&" + parameterNames[i]);
+             } else {
+                 out.print(parameterNames[i]);
+             }
+ 
+         }
++
++        if (addSentinal) {
++            out.print(", NULL");
++        }
++
+         out.print(");\n");
+     }
+ 
+     /**
+      * Cleanup and return the result if not a void function.
+      */
+     protected void jniFunctionReturnCode(PrintWriter out) {
+         String cleanup;
+         String paramGError = null;
+ 
+         /*
+          * type specific cleanup:
+          */
+ 
+         for (int i = 0; i < parameterTypes.length; i++) {
+ 
+             if (parameterTypes[i] instanceof GErrorThing) {
+                 paramGError = parameterNames[i];
+                 continue;
+             }
+ 
+             out.print("\n");
+             out.print("\t// cleanup parameter ");
+             out.print(parameterNames[i]);
+             out.print("\n");
+ 
+             cleanup = parameterTypes[i].jniConversionCleanup(parameterNames[i]);
+ 
+             if (cleanup == null) {
+                 continue;
+             }
+ 
+             /*
+              * clean-up is not needed when the parameter is null
+              */
+             if (parameterNullOk[i] && !parameterTypes[i].jniConversionHandlesNull()) {
+                 out.print("\tif (" + parameterNames[i] + " != NULL) {\n");
+                 out.print("\t");
+             }
+             out.print("\t");
+             out.print(cleanup);
+             out.print(";\n");
+             if (parameterNullOk[i] && !parameterTypes[i].jniConversionHandlesNull()) {
+                 out.print("\t}\n");
+             }
+         }
+ 
+         /*
+          * When the function takes a GError** as a parameter, we need to check
+          * if the function has efectivelly thrown an error. After doing the
+          * needed clean-up, we check for that situation and throw an exception
+          * from JNI side.
+          */
+         if (paramGError != null) {
+             out.print("\n");
+             out.print("\t// check for error\n");
+ 
+             out.print("\tif (" + paramGError + ") {\n");
+ 
+             out.print("\t\tbindings_java_throw_gerror(env, ");
+             out.print(paramGError);
+             out.print(");\n");
+             out.print("\t\treturn");
+             if (!returnType.jniType.equals("void")) {
+                 out.print(" " + returnType.jniReturnErrorValue());
+             }
+             out.print(";\n");
+             out.print("\t}\n");
+         }
+ 
+         /*
+          * return result if applicable. Specific code for certain types; most
+          * others, just a cast.
+          */
+ 
+         if (!returnType.jniType.equals("void")) {
+             out.print("\n");
+             out.print("\t// and finally\n");
+ 
+             out.print("\treturn ");
+ 
+             out.print("(");
+             out.print(returnType.jniType);
+             out.print(") ");
+             out.print(returnType.jniReturnEncode("result"));
+             out.print(";\n");
+         }
+         out.print("}\n");
+     }
+ 
+     /**
+      * Quickly scan the type information to see if there is a blacklistedType
+      * type present. If so, we use that to output a throws declaration instead
+      * of a real method block. As this gets called twice, we could cache this,
+      * but whatever.
+      */
+     private boolean blockContainsBlacklistedThings() {
+         if (returnType.blacklisted) {
+             blacklistedType = returnType;
+             return true;
+         }
+         for (int i = 0; i < parameterTypes.length; i++) {
+             if (parameterTypes[i].blacklisted) {
+                 blacklistedType = parameterTypes[i];
+                 return true;
+             }
+         }
+         return false;
+     }
+ 
+     /**
+      * See {@link DefsFile#generatePublicLayer(PrintWriter)} for a discussion
+      * of why this is not to be touched. I'm serious. Don't even think about
+      * it.
+      */
+     public final void writePublicCode(final PrintWriter out) {
+         System.err.println("Not paying attention, are we? Abort.");
+         System.exit(2);
+     }
+ 
+     public void writeTranslationCode(final PrintWriter out) {
+         translationMethodDeclaration(out);
+ 
+         if (blockContainsBlacklistedThings()) {
+             translationMethodThrowBlacklisted(out);
+             return;
+         }
+ 
+         translationMethodConversionCode(out);
+         translationMethodNativeCall(out);
+         translationMethodParamConversion(out);
+         translationMethodReturnCode(out);
+ 
+         out.print("\n");
+ 
+         nativeMethodDeclaration(out);
+     }
+ 
+     public void writeJniCode(final PrintWriter out) {
+         if (blockContainsBlacklistedThings()) {
+             return;
+         }
+ 
+         jniFunctionDeclaration(out);
+         jniFunctionConversionCode(out);
+         jniFunctionLibraryCall(out);
+         jniFunctionReturnCode(out);
+     }
+ }
diff --cc src/generator/com/operationaldynamics/defsparser/FunctionBlock.java
index 0000000,bc22799..8849ed9
mode 000000,100644..100644
--- a/src/generator/com/operationaldynamics/defsparser/FunctionBlock.java
+++ b/src/generator/com/operationaldynamics/defsparser/FunctionBlock.java
@@@ -1,0 -1,157 +1,191 @@@
+ /*
+  * FunctionBlock.java
+  *
 - * Copyright (c) 2007 Operational Dynamics Consulting Pty Ltd
++ * Copyright (c) 2007-2008 Operational Dynamics Consulting Pty Ltd
+  * 
+  * The code in this file, and the library it is a part of, are made available
+  * to you by the authors under the terms of the "GNU General Public Licence,
+  * version 2" See the LICENCE file for the terms governing usage and
+  * redistribution.
+  */
+ package com.operationaldynamics.defsparser;
+ 
+ import java.util.ArrayList;
+ import java.util.List;
+ 
+ import com.operationaldynamics.codegen.ConstructorGenerator;
+ import com.operationaldynamics.codegen.FunctionGenerator;
+ import com.operationaldynamics.codegen.Generator;
+ import com.operationaldynamics.codegen.InterfaceThing;
+ import com.operationaldynamics.codegen.Thing;
+ import com.operationaldynamics.driver.DefsFile;
+ 
+ /**
+  * A .defs (define-function...) block, and the superclass for other entities
+  * that are represented in C with functions. This also includes functions with
+  * the "is-constructor-of" attributes, i.e. constructors.
+  * 
+  * @author Andrew Cowie
+  * @author Vreixo Formoso
+  */
+ public class FunctionBlock extends Block
+ {
+     /**
+      * Strictly speaking, this isn't here, but down in MethodBlock and
+      * VirtualBlock. But it needs to be figured out before FunctionGenerator
+      * can be used in a (define-function ...), and it's present for all the
+      * sub block types.
+      */
+     protected String ofObject;
+ 
+     protected String returnType;
+ 
+     protected String cName;
+ 
+     protected String[][] parameters;
+ 
+     protected String callerOwnsReturn;
+ 
++    protected String varargs;
++
+     protected String isConstructorOf;
+ 
+     FunctionBlock(final String blockName, final List characteristics, final List parameters) {
+         super(blockName, characteristics);
+ 
+         processParameters(parameters);
++
++        if (varargs != null) {
++            appendVarargsMark();
++        }
+     }
+ 
+     final void setOfObject(final String ofObject) {
+         this.ofObject = ofObject;
+     }
+ 
+     private void processParameters(final List parameters) {
+         this.parameters = (String[][]) parameters.toArray(new String[parameters.size()][]);
+     }
+ 
+     protected final void setCallerOwnsReturn(final String callerOwnsReturn) {
+         this.callerOwnsReturn = callerOwnsReturn;
+     }
+ 
+     protected final void setIsConstructorOf(final String isConstructorOf) {
+         this.isConstructorOf = isConstructorOf;
+     }
+ 
+     protected final void setCName(final String name) {
+         this.cName = name;
+     }
+ 
+     protected final void setReturnType(final String returnType) {
+         this.returnType = returnType;
+     }
+ 
+     /*
 -     * Not modelled in java-gnome at this time
++     * We don't model variable length arguments in java-gnome, but we do need
++     * to pass this along so that we can stick a NULL as a last argument to
++     * avoid "warning: not enough variable arguments to fit a sentinel" from
++     * the C compiler.
+      */
 -    protected final void setVarargs(final String value) {}
++    protected final void setVarargs(final String value) {
++        this.varargs = value;
++    }
+ 
+     /**
+      * Only the TypeBlock class hierarchy can create and return Things that
+      * match a given Block.
+      */
+     public Thing createThing() {
+         throw new UnsupportedOperationException();
+     }
+ 
+     /*
+      * Special cases will probably be needed for at least VirtualBlock, but
+      * this is a good start.
+      */
+     public List usesTypes() {
+         List types;
+         Thing t;
+ 
+         types = new ArrayList(parameters.length + 1);
+ 
+         /*
+          * For constructors, our translation layer method will return long and
+          * not the actual type, so we don't need to import it.
+          */
+         if (isConstructorOf == null) {
+             t = Thing.lookup(returnType).getTypeToImport();
+             if (t != null) {
+                 types.add(t);
+             }
+         }
+ 
+         for (int i = 0; i < parameters.length; i++) {
+             t = Thing.lookup(parameters[i][0]);
+             t = t.getTypeToImport();
+             if (t == null) {
+                 continue;
+             }
+             types.add(t);
+ 
+             if (t instanceof InterfaceThing) {
+                 types.add(Thing.lookup("GObject*"));
+             }
+         }
+ 
+         return types;
+     }
+ 
+     /**
+      * Load the reference-to-self that all "method" functions start with onto
+      * the beginning of the parameters List. Used by MethodBlock and
+      * AccessorBlock, in case you're wondering what this is doing here.
+      */
+     protected void prependReferenceToSelf() {
+         String[][] target;
+ 
+         target = new String[parameters.length + 1][3];
+         System.arraycopy(parameters, 0, target, 1, parameters.length);
+ 
+         target[0][0] = addPointerSymbol(ofObject);
+         target[0][1] = "self";
+         target[0][2] = "no"; /* self can't never be null */
+ 
+         parameters = target;
+     }
+ 
++    /**
++     * The varrags case is handled, essentially, an artificial last parameter.
++     * This utility method appends a marker to show that the function being
++     * described by this Block was declared as taking variable arguments. We
++     * do not actually present this with any kind of public API (and may never
++     * do so), but we do need to deal with this at the C library call layer
++     * because those functions require a NULL in the argument list to signal
++     * the end of the list.
++     * 
++     * The FunctionGenerator constructor will strip it off the end of the
++     * parameters list (thus allowing us to avoid needing a SentinalThing).
++     */
++    protected void appendVarargsMark() {
++        String[][] target;
++
++        target = new String[parameters.length + 1][3];
++        System.arraycopy(parameters, 0, target, 0, parameters.length);
++
++        target[parameters.length][0] = "...";
++
++        parameters = target;
++    }
++
+     public Generator createGenerator(final DefsFile data) {
+         if (isConstructorOf != null) {
+             return new ConstructorGenerator(data, returnType, cName, parameters);
+         } else {
+             return new FunctionGenerator(data, blockName, returnType, cName, parameters);
+         }
+     }
+ 
+ }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/java-gnome.git



More information about the pkg-java-commits mailing list