2006-01-07 Duncan Coutts * svgcairo/Graphics/Rendering/Cairo/SVG.chs: new libsvg-cairo binding. * svgcairo/svgcairo.pkg.in, svgcairo/svgcairo.package.conf.in, svgcairo/svgcairo.cabal.in: new package files * configure.ac, Makefile.am: add build support for new svgcairo package. 2006-01-08 Axel Simon * soegtk/Graphics/SOE/Gtk.hs.pp: Fixed a qualified name which made ghc 6.2.2 fall over (when it shouldn't). 2006-01-07 Duncan Coutts * configure.ac: bump version to 0.9.10.2 to help track recent changes. 2006-01-06 Duncan Coutts * cairo/Graphics/Rendering/Cairo/Matrix.chs: fix bugs reported by "MenTaLguY" using a slight variation on the patch he supplied. Also implement scalarMultiply using the 'pointwise' function. 2005-12-12 Duncan Coutts * cairo/Graphics/Rendering/Cairo.hs: fix some doc references. 2005-12-9 Duncan Coutts * demo/fastdraw/FastDraw.hs: intersect the exposed region with the region covered by the pixbuf before drawing the rectangles. 2005-12-9 Axel Simon * demo/fastdraw/FastDraw.hs: Fixed two parameters. * glib/System/Glib/UTFString.hs.pp: Renamed from glib/System/Glib/UTFString.hs since it needs to be run through CPP to appease haddock. 2005-12-8 Duncan Coutts * glib/System/Glib/FFI.hs.pp: We should almost certainly not be using the standard free function anywhere in the glib or gtk bindings, so we do not re-export it from this module. It is not gueranteed by the Haskell FFI spec that free calls the C free() function. It is also not guaranteed that g_free() simply calls the stanard C free() function. * glib/System/Glib/UTFString.hs: call g_free() rather than Haskell free for freeing glib strings (which of course were allocated with g_new()). * gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp: use withUTFStringArray and withUTFStringArray0 rather than ad-hoc implementations. * gtk/Graphics/UI/Gtk/General/StockItems.hsc: use readUTFString rather than peekUTFString + g_free(). * glib/System/Glib/GList.chs: add withGSList function. * sourceview/Graphics/UI/Gtk/SourceView/SourceTag.chs: use withGSList and withUTFStrings rather than the more complex exising solution. * gtk/Graphics/UI/Gtk/TreeList/TreePath.chs.pp: export newTreePath for use in other modules but not for top-level export. * gtk/Graphics/UI/Gtk/TreeList/CustomStore.chs, gtk/Graphics/UI/Gtk/TreeList/Gtk2HsStore.c, gtk/Graphics/UI/Gtk/TreeList/Gtk2HsStore.h: add low-level parts of an implementation of custom GtkTreeModels. This includes a GObject written in C that implements the GtkTreeModel interface and delegates the implementation via a Haskell interface. This does not yet include any actual implementations of the Haskell CustomStore interface. * Makefile.am: build the new files. 2005-12-7 Axel Simon * glib/System/Glib/Signals.chs.pp, gtk/Graphics/UI/Gtk.hs: Add new signal functions and export some of them. * tools/callbackGen/gtkmarshal.list, gtk/Graphics/UI/Gtk/Entry/Editable.chs.pp: Add text_insert signal and the ability to stop the signal. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp: Renamed onInsertText to onBufferInsertText. This breaks the API but changing this function seems more natural than the function in Editable. * gtk/Graphics/UI/Gtk/Pango/Types.chs.pp: Removed unnecessary function. * gtk/Graphics/UI/Gtk/TreeList/ListStore.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeStore.chs.pp: Fixed documentation. 2005-11-26 Axel Simon * glib/System/Glib/GObject.chs.pp: Add a new constructGObject function that does not increment the reference count of the GObject. * gconf/System/Gnome/GConf/GConfClient.chs glade/Graphics/UI/Gtk/Glade.chs gtk/Graphics/UI/Gtk/Cairo.chs.pp gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp gtk/Graphics/UI/Gtk/ActionMenuToolbar/Action.chs.pp gtk/Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs.pp gtk/Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs.pp gtk/Graphics/UI/Gtk/ActionMenuToolbar/ToggleAction.chs.pp gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp gtk/Graphics/UI/Gtk/Display/Image.chs.pp gtk/Graphics/UI/Gtk/Display/Label.chs.pp gtk/Graphics/UI/Gtk/Entry/Editable.chs.pp gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp gtk/Graphics/UI/Gtk/Gdk/Drawable.chs.pp gtk/Graphics/UI/Gtk/Gdk/GC.chs gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp gtk/Graphics/UI/Gtk/Gdk/Pixmap.chs.pp gtk/Graphics/UI/Gtk/General/IconFactory.chs.pp gtk/Graphics/UI/Gtk/General/Style.chs gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp gtk/Graphics/UI/Gtk/Misc/SizeGroup.chs.pp gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp gtk/Graphics/UI/Gtk/Multiline/TextTagTable.chs gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp gtk/Graphics/UI/Gtk/Pango/Description.chs gtk/Graphics/UI/Gtk/Pango/GlyphStorage.chs.pp gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp gtk/Graphics/UI/Gtk/TreeList/ListStore.chs.pp gtk/Graphics/UI/Gtk/TreeList/TreeModelSort.chs.pp gtk/Graphics/UI/Gtk/TreeList/TreeStore.chs.pp gtk/Graphics/UI/Gtk/Windows/Window.chs.pp gtk/Graphics/UI/Gtk/Windows/WindowGroup.chs sourceview/Graphics/UI/Gtk/SourceView/SourceBuffer.chs sourceview/Graphics/UI/Gtk/SourceView/SourceIter.chs sourceview/Graphics/UI/Gtk/SourceView/SourceLanguagesManager.chs sourceview/Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs sourceview/Graphics/UI/Gtk/SourceView/SourceTag.chs sourceview/Graphics/UI/Gtk/SourceView/SourceTagTable.chs sourceview/Graphics/UI/Gtk/SourceView/SourceView.chs: Replaced occurrences of makeNewGObject with constructNewGObject if the function does pass the reference count to the caller. 2005-11-22 Duncan Coutts * soegtk/Graphics/SOE/Gtk.hs.pp: add an implementation of the SOE API. * soegtk/soegtk.cabal.in, soegtk/soegtk.pkg.in, soegtk/soegtk.package.conf.in: add package files. * configure.ac, Makefile.am: add support for building the new package. 2005-11-19 Axel Simon * gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuItem.chs: Improve docs. * gtk/Graphics/UI/Gtk/Pango/Types.chs.pp: Added a show instance to PangoRectangle. 2005-11-19 Duncan Coutts * gtk/Graphics/UI/Gtk/TreeList/TreeModel.chs.pp: remove the treeModelRefNode and treeModelUnrefNode functions since they would only be used by implementations of views and we do not expect many of these to be implemented in Haskell. 2005-11-18 Duncan Coutts * gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp: add pixbufNewFromFileAtSize and pixbufNewFromFileAtScale. Also rearange export list slightly. These functions are particularly useful for laoding svg files at different zoom levels. * gtk/Graphics/UI/Gtk/Entry/VScale.chs: correct mistake in doc cross-reference. * gtk/Graphics/UI/Gtk/Gdk/Drawable.chs.pp: remove reference to the unbound object type 'Bitmap'. * gtk/Graphics/UI/Gtk/General/Style.chs: remove discussion of unbound 'rc' functions. * gtk/Graphics/UI/Gtk/Layout/Notebook.chs.pp: remove reference to function which we bind as part of another function. * gtk/Graphics/UI/Gtk/Layout/Table.chs: correct spelling mistake in doc cross-reference. * gtk/Graphics/UI/Gtk/MenuComboToolbar/CheckMenuItem.chs.pp: haddock cannot cope with an ' character directly after a type. * gtk/Graphics/UI/Gtk/MenuComboToolbar/Combo.chs.pp: change doc cross-reference to it's most likely target. * gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuBar.chs.pp: remove discuccion of an unbound and deprecated function. * gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuShell.chs.pp: remove doc cross-reference to the unbound Gdk function 'keyboardGrab'. * gtk/Graphics/UI/Gtk/MenuComboToolbar/RadioToolButton.chs.pp: change doc cross-reference to its intended target. * gtk/Graphics/UI/Gtk/Pango/Enums.chs.pp: change the doc cross-reference of a couple type names to their actual names. * gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp: correct spelling mistake in doc cross-reference. * gtk/Graphics/UI/Gtk/Selectors/FileChooserWidget.chs.pp: import an extra function so it's in scope for a doc cross-reference. * gtk/Graphics/UI/Gtk/Selectors/FileFilter.chs.pp: remove reference to unbound function. * gtk/Graphics/UI/Gtk/Selectors/FontSelection.chs: remove reference to an unbound and deprecated function. * gtk/Graphics/UI/Gtk/Selectors/FontSelectionDialog.chs: remove reference to an unbound and deprecated function. * gtk/Graphics/UI/Gtk/TreeList/CellRenderer.hs: remove discussion of unbound and semi-internal functions. Add newly bound class to the class hierarchy doc section. * gtk/Graphics/UI/Gtk/TreeList/CellRendererCombo.chs.pp: reference cellRendererSet rather than gObjectSet. * gtk/Graphics/UI/Gtk/TreeList/CellView.chs.pp: remove unhelpful C-style return value documentation. * gtk/Graphics/UI/Gtk/TreeList/TreeViewColumn.chs.pp: cross-reference the plural correctly. * gtk/Graphics/UI/Gtk/Abstract/Box.chs, gtk/Graphics/UI/Gtk/Abstract/Paned.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ToggleAction.chs.pp, gtk/Graphics/UI/Gtk/Buttons/CheckButton.chs, gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp, gtk/Graphics/UI/Gtk/Embedding/Plug.chs.pp, gtk/Graphics/UI/Gtk/Embedding/Socket.chs.pp, gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp, gtk/Graphics/UI/Gtk/Entry/HScale.chs, gtk/Graphics/UI/Gtk/Layout/Expander.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ImageMenuItem.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/OptionMenu.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/SeparatorToolItem.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextIter.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextMark.chs, gtk/Graphics/UI/Gtk/Scrolling/ScrolledWindow.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontButton.chs.pp, gtk/Graphics/UI/Gtk/TreeList/CellRendererText.chs, gtk/Graphics/UI/Gtk/TreeList/TreeIter.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp, gtk/Graphics/UI/Gtk/Windows/WindowGroup.chs: fix many haddock warnings. These are mostly cross-references to things that are not in scope. This can be fixed either by importing the appropriate modules or fully qualifing the references. I have taken the latter approach to avoid introducing too many unnecessary inter-module dependencies (in particular cyclic dependencies). 2005-11-17 Duncan Coutts * gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp: use a pure FFI declaration rather than using unsafePerformIO. * gtk/Graphics/UI/Gtk/Gdk/Enums.chs: move the definition of a couple enums to the only module where they are used. Also fixup a documentation cross-reference. * gtk/Graphics/UI/Gtk/Gdk/Region.chs.pp: move the enums into the Region module. * gtk/Graphics/UI/Gtk/General/Enums.chs.pp: remove the CurveType enum which would have been used by the GammaCurve object had it ever been bound. * gtk/Graphics/UI/Gtk/Misc/DrawingArea.chs: remove doc reference to Curve object. * tools/hierarchyGen/hierarchy.list: remove the GtkCurve because it is not bound. * gtk/Graphics/UI/Gtk/Layout/VBox.chs: remove reference to the GammaCurve object. * gtk/Graphics/UI/Gtk/TreeList/TreeModel.chs.pp: bind the treeModelRefNode and treeModelUnrefNode functions. * mogul/Graphics/UI/Gtk/Mogul/GetWidget.hs.pp: remove the getCurve function since we've removed the Curve object. 2005-11-16 Duncan Coutts * tools/hierarchyGen/hierarchy.list: remove GtkGammaCurve because it is not bound. * mogul/Graphics/UI/Gtk/Mogul/GetWidget.hs.pp: remove lookup for GammaCurve. * glib/System/Glib/Attributes.hs, glib/System/Glib/GError.chs.pp, glib/System/Glib/GValue.chs, glib/System/Glib/MainLoop.chs.pp, glib/System/Glib/StoreValue.hsc: minor haddock markup and cross-reference fixes. * gconf/System/Gnome/GConf/GConfClient.chs: minor haddock markup and cross-reference fixes. * gtkglext/Graphics/UI/Gtk/OpenGL/Drawable.chs, gtkglext/Graphics/UI/Gtk/OpenGL/Context.chs: documentations fixes. 2005-11-13 Axel Simon * gtk/Graphics/UI/Gtk/Cairo.chs.pp: Flip arguments of cairoFontMapSetResolution to make it consistent. * gtk/Graphics/UI/Gtk/Misc/Adjustment.chs.pp: Added signal-emitting functions that seem to be necessary to force the Adjustment to update. * demo/cairo/CairoGhci.hs: Added this file so people can play with Ciaro from within ghci. 2005-11-12 Duncan Coutts * gtk/Graphics/UI/Gtk/TreeList/CellRendererPixbuf.chs: implement cellPixbuf attribute. Not properly tested yet. * gtk/Graphics/UI/Gtk/TreeList/CellRendererCombo.chs.pp, gtk/Graphics/UI/Gtk/TreeList/CellRendererProgress.chs.pp: add new cell renderers. * tools/hierarchyGen/hierarchy.list: add GtkCellRendererProgress and GtkCellRendererCombo classes. * gtk/Graphics/UI/Gtk.hs: export the two new modules. * Makefile.am: add the new files to the sources list. 2005-11-12 Axel Simon * Makefile.am: Corrected missing var definition that resulted in generating insufficient dependencies for the mogul package. * cairo/Graphics/Rendering/Cairo.hs: Remove imports that are already available through the type module. * gtk/Graphics/UI/Gtk/MenuComboToolbar/Menu.chs.pp: Make the pop-up menu function easier to use. Add more documentation. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp: Make the constructor more generic, so it also takes a SourceTagTable for the sourceview widget. * gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp, tools/callbackGen/gtkmarshal.list: Add the onTextTagEvent. Don't know if this is really useful. * gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp: I got very confused as to why the scroll function doesn't work as expected. Expand comment to reflect my misery. * gtk/Graphics/UI/Gtk/TreeList/TreeView.chs.pp: Correct bad English in comment. 2005-11-11 Duncan Coutts * demo/cairo/Drawing2.hs, demo/cairo/Makefile: new cairo demo thanks to Johan Bockgård. * glib/System/Glib/FFI.hs, glib/System/Glib/FFI.hs.pp, mogul/Graphics/UI/Gtk/Mogul.hs, mogul/Graphics/UI/Gtk/Mogul.hs.pp, mogul/Graphics/UI/Gtk/Mogul/GetWidget.hs, mogul/Graphics/UI/Gtk/Mogul/GetWidget.hs.pp, mogul/Graphics/UI/Gtk/Mogul/NewWidget.hs, mogul/Graphics/UI/Gtk/Mogul/NewWidget.hs.pp: rename to .pp and remove {-# OPTIONS -cpp #-} pragma and remove #include. * gtk/Graphics/UI/Gtk/Embedding/Plug.chs, gtk/Graphics/UI/Gtk/Embedding/Plug.chs.pp, gtk/Graphics/UI/Gtk/Embedding/Socket.chs, gtk/Graphics/UI/Gtk/Embedding/Socket.chs.pp: rename to .pp and conditionally build the body of the modules if we are not building on windows or we are using Gtk+ 2.8. * gtk/Graphics/UI/Gtk/Embedding/Embedding.hsc: conditionally build the body of the module if we are not building on windows or we are using Gtk+ 2.8. * gtk/Graphics/UI/Gtk.hs: remove all conditional compilation. The embedding modules are now re-exported unconditionally (though they may export nothing). * mk/common.mk: add rule for preprocessing .hs.pp to .hs * Makefile.am: Rename various modules as above. Add support for .hs.pp files in the SOURCES lists. Move the embedding modules into libHSgtk_a_SOURCES rather than including them in the list conditionally. Remove the html_HSFILES_PREPROC variable and the .hs to .hs.uncpp rule. * configure.ac: build GtkPlug and GtkSocket on Win32 when using Gtk+ 2.8 or later. * demo/opengl/RotatingCube.hs: minor changes to the OpenGL demo. * TODO: add item about cairo backends. 2005-11-10 Duncan Coutts * gtk/Graphics/UI/Gtk/General/StockItems.hsc: fix inverted Gtk version check for stockUnindent. 2005-11-09 Duncan Coutts * gtkglext/Graphics/UI/Gtk/OpenGL.hs, gtkglext/Graphics/UI/Gtk/OpenGL/Config.chs, gtkglext/Graphics/UI/Gtk/OpenGL/General.chs, gtkglext/Graphics/UI/Gtk/OpenGL/Context.chs, gtkglext/Graphics/UI/Gtk/OpenGL/Pixmap.chs, gtkglext/Graphics/UI/Gtk/OpenGL/Drawable.chs, gtkglext/Graphics/UI/Gtk/OpenGL/DrawingArea.chs, gtkglext/Graphics/UI/Gtk/OpenGL/Window.chs: new gtkglext package, the Gtk+ OpenGL extension. * demo/opengl/RotatingCube.hs, demo/opengl/Makefile: add OpenGL demo. * gtkglext/gtkglext.cabal.in, gtkglext/gtkglext.pkg.in, gtkglext/gtkglext.package.conf.in: new build files for the gtkglext package. * tools/hierarchyGen/hierarchy.list: add extra GL classes. * configure.ac, Makefile.am: add build system support for the new gtkglext package. * gtkglext/Graphics/UI/Gtk/OpenGL/Types.chs: remove file that was accidentally added to cvs. * sourceview/sourceview.h, sourceview/sourceview.pkg.in, sourceview/sourceview.package.conf.in: remove unnecessary include. * docs/tutorial/Makefile: fix the base-url once and for all. * configure.ac: bump version to 0.9.10.1 to help track recent changes. * tools/apiGen/Makefile: add the gtkglext package to the apiGen system. * tools/apiGen/Marshal.hs: use refGObject function for non-constructor cases of marshaling GObject types. 2005-11-08 Duncan Coutts * sourceview/sourceview.pkg.in: probable fix for the problem of building the sourceview demo using -fvia-C with ghc 6.2 or earlier. * Makefile.am: make it easier to use extra flags when building haddock docs. Also add a "dist-docs" target for building a docs tarball. 2005-11-07 Duncan Coutts * gtk/Graphics/UI/Gtk/General/Structs.hsc: deal with the case that widget->window might be null when the widget is not realized. Give an error message rather than segfaulting. * gtk/Graphics/UI/Gtk/General/Structs.hsc: do not fill in the 3 Pixmap GC attributes as null when they are Nothing as this causes an X11 'BadPixmap' error. * TODO: remove some completed and old todo items. * configure.ac: add --enable-split-objs option (off by default). Substitute into mk/link-splitobjs.sh script and make it executable. * mk/common.mk: add a slightly different .hs -> .o build rule when using -split-objs * Makefile.am: add -split-objs to the HCFLAGS of the libs and set mk/link-splitobjs.sh as the linker command when we configure using --enable-split-objs. * mk/link-splitobjs.sh.in: linker script to use when in --enable-split-objs mode. * configure.ac: updates suggested by the autoupdate script which checks for deprecated autoconf/automake macros. Also remove variables which used to be used by c2hs but are no longer used. * Makefile.am: add cairo/COPYRIGHT to EXTRA_DIST * cairo/Graphics/Rendering/Cairo/Internal/Surfaces/PNG.chs: correct location of COPYRIGHT file. * cairo/Graphics/Rendering/Cairo/Matrix.chs: add definitions of the other Num class members for the Matrix data type. Also, make the Matrix strict in its elements. 2005-11-06 Axel Simon * configure.ac, gtk/gtk.pkg: Make compile with ghc 6.2 (no cabal) when Cairo is installed. The package file was actually broken. * gtk/Graphics/UI/Gtk/Display/Statusbar.chs: Export MessageId and ContextId. * gtk/Graphics/UI/Gtk/General/StockItems.hsc: Add all available stock ids but map them to missing image if Gtk is not new enough. * gtk/Graphics/UI/Gtk/General/Structs.hsc: Make ResponseId instance of Eq. * gtk/Graphics/UI/Gtk/Pango/Font.chs.pp: Docu wibble. 2005-11-06 Duncan Coutts * gtk/Graphics/UI/Gtk/Pango/Context.chs.pp, gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp: remove redundent imports. * gtk/Graphics/UI/Gtk/General/General.chs: use withArrayLen rather than withArray and length. 2005-11-01 Axel Simon * cairo/Graphics/Rendering/Cairo/Types.chs: Force descriptions in comments on separate lines. 2005-10-31 Duncan Coutts * gtk/Graphics/UI/Gtk/MenuComboToolbar/ToolButton.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: fix a couple FIXMEs, updating the documentation and implementation. * gtk/Graphics/UI/Gtk/TreeList/CellView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/IconView.chs.pp: fix a FIXME. These involve a couple minor type changes but they are not a commonly used functions I think. * cairo/Graphics/Rendering/Cairo/Types.chs: extend the documentation in a few places. * configure.ac: Bump version number to 0.9.10. 2005-10-30 Axel Simon * Makefile.am, cairo/Graphics/Rendering/Cairo.hs, cairo/Graphics/Rendering/Cairo/Internal.hs, cairo/Graphics/Rendering/Cairo/Types.chs: Create at least some documentation for the Cairo types. Hide the Types module instead of excluding it from documentation. We cannot include Internal.hs since haddock cannot parse the deriving clause. * gtk/Graphics/UI/Gtk/Cairo.chs.pp: Documentation fixes. * gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp: Export a function to create a layout and set its text at the same time. This function is called layoutText instead of layoutNew since the latter clashed with the Layout widget. 2005-10-30 Duncan Coutts * glib/System/Glib/Signals.chs.pp: prune rather than hide this module so that the things we do want documented are documented here and not in the top level gtk module. * gtk/Graphics/UI/Gtk/Abstract/ContainerChildProperties.chs: hide this module from haddock. It's purely an implementation detail. * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: fix some incorrect haddock markup and fully qualify the Button data constructor that was getting linked to the Button type instead which is totally different. * Makefile.am: adjust the html_HSFILES_HIDDEN to reflect the above changes as well as tidying up some duplication. * Makefile.am: use $(GHCPKG_BUILD_GHCI_LIB) rather than literal --auto-ghci-libs for platforms where the latter doesn't work (like Solaris when not using GNU ld) * Makefile.am: add cairo/Graphics/Rendering/Cairo/Types.hs to the haddock hidden list so that make doesn't keep re-running haddock in an attempt to generate what would be the corresponding html output file. 2005-10-29 Duncan Coutts * Makefile.am: the profile viewer demo actually needs Gtk+ 2.6. * configure.ac: put the mozilla lib dir into the gtk2hs-config.h file. * mozembed/Graphics/UI/Gtk/MozEmbed.chs, mozembed/Graphics/UI/Gtk/MozEmbed.chs.pp: rename to .pp and export a new string value mozEmbedDefaultCompPath which is the mozilla lib dir. This is the default value used to initialise the mozilla embeding component. * Makefile.am: rename MozEmbed.chs to MozEmbed.chs.pp * demo/mozembed/TestEmbedMoz.hs: update the demo to use the mozEmbedDefaultCompPath. Hopefully this will make it work on BSD too. 2005-10-26 Duncan Coutts * gconf/System/Gnome/GConf/GConfClient.chs: call g_type_init before creating any GConfClient objects. * gtk/Graphics/UI/Gtk/Gdk/Pixmap.chs, gtk/Graphics/UI/Gtk/Gdk/Pixmap.chs.pp: rename to .pp. Make pixmapNew work even with the broken header files that come with Gtk+ 2.1.x that Sun shipped for Solaris 9. * Makefile.am: rename Pixmap.chs to Pixmap.chs.pp * gtk/Graphics/UI/Gtk/Gdk/Pixmap.chs.pp: discovered that it was not Sun's broken header files but just a generalisation in the type from Gtk+ 2.0 to 2.2. Make it work with both versions. * gtk/Graphics/UI/Gtk/Pango/GlyphStorage.chs.pp, gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp, gtk/Graphics/UI/Gtk/Pango/Types.chs.pp: minor fixes for ghc 5.04. * Makefile.am: add TreePath.hs and TreeRowReference.hs to the html_HSFILES_HIDDEN list. * APICHANGES: note the renaming of the Event record field names. * configure.ac: bump version to 0.9.9.8 for the second 0.9.10 release candidate. 2005-10-25 Axel Simon * gtk/Graphics/UI/Gtk/Pango/Attributes.chs.pp: Character distances are only available in Pango 1.6 and higher. * gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp: getLayoutFontDescription is not available in Pango 1.6 and lower. * gtk/Graphics/UI/Gtk/Pango/Types.chs.pp: Remove the PangoMatrix type as we don't use it ever. 2005-10-25 Duncan Coutts * Makefile.am: add demo/actionMenu to the list of demos to be built. * configure.ac: specify the cairo version dependency exactly to prevent problems with ghc-pkg when upgrading from older gtk2hs versions. Remove redundant AC_DEFINE for the cairo package. * acinclude.m4: do the AC_DEFINE for each package properly. * mk/chsDepend.in: use * rather than ? in the sed RE, since the BSD/OSX version of sed does not accept the latter. * gtk/Graphics/UI/Gtk/Pango/Types.chs.pp, gtk/Graphics/UI/Gtk/Pango/GlyphStorage.chs.pp, gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp: PangoGlyphItem is only available in Pango 1.2 and later. * gtk/Graphics/UI/Gtk/Pango/Attributes.chs.pp: the fall back font attribute is only available in Pango 1.4 and later. * gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp: the 'auto_dir' functions are only available in Pango 1.4 and later. The layoutIterGetItem uses the PangoGlyphItem type which is only available in Pango 1.2 and later. Also export layoutIterGetItem (I assume it is supposed to be exported as it is not used internally). * gtk/Graphics/UI/Gtk/General/Structs.hsc: Some of the values in the PangoDirection enumeration are only available in Pango 1.4 and later. * gtk/Graphics/UI/Gtk/Pango/Font.chs, gtk/Graphics/UI/Gtk/Pango/Font.chs.pp: rename to .pp version so we can include things conditionally on the pango version. The pangoFontFamilyIsMonospace and pangoFontFaceListSizes functions are only in Pango 1.4 and later. * Makefile.am: rename Font.chs -> Font.chs.pp * glib/System/Glib/FFI.hs: make this compile with ghc 5.04.3 2005-10-24 Axel Simon * gtk/Graphics/UI/Gtk/TreeList/TreePath.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeRowReference.chs.pp: Hide modules in documentation. * gtk/Graphics/UI/Gtk/Pango/Markup.hs: Docu fix. 2005-10-24 Duncan Coutts * gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp, gtk/Graphics/UI/Gtk/Cairo.chs.pp: minor documentation changes. * gtk/Graphics/UI/Gtk.hs: export module Graphics.UI.Gtk.Pango.Context * gtk/Graphics/UI/Gtk/Gdk/Drawable.chs.pp: export toDrawable * gtk/Graphics/UI/Gtk/General/Structs.hsc: make gcGetValues work properly. Previously the forground and backround values were just random. This is because gdk_gc_get_values only fills in the pixel value for the colors fields. We now get the rgb values using gdk_colormap_query_color. * gtk/Graphics/UI/Gtk/General/IconFactory.chs.pp: minor doc fixes and export toIconFactory. * configure.ac: bump version to 0.9.9.7 for the frist 0.9.10 release candidate. 2005-10-22 Duncan Coutts * mozembed/Graphics/UI/Gtk/MozEmbed.chs: add documentation. * demo/mozembed/TestEmbedMoz.hs: fix demo code to not override the components path (as suggested in the new documentation). * configure.ac: find the MOZEMBED_LIBDIR. Change the hack we use for adding the appropriate runtime LD path to the MOZEMBED_LIBS flags; now it adds the -Wl,-rpath,${MOZEMBED_LIBDIR} if it's not there already. * gtk/Graphics/UI/Gtk/Pango/Attributes.chs.pp: fix a warning. 2005-10-22 Axel Simon * gtk/Graphics/UI/Gtk/Pango/GlyphStorage.chs.pp: Docu fix. 2005-10-21 Duncan Coutts * gtk/Graphics/UI/Gtk/Pango/Attributes.chs.pp: for some reason a couple pango functions are not available on windows in pango 1.8.x, only pango 1.10.x. So complile them conditional on that pango version on win32. * Makefile.am: add new demos to EXTRA_DIST. * configure.ac: require autoconf 2.59 * INSTALL: note the autoconf and automake version requirements. (patch from dons via darcs) * tools/c2hs/base/general/Binary.hs: #include the new ghconfig.h file when using ghc 6.4 or later. Get the value of SIZEOF_VOID_P from ghc's config.h or ghcconfig.h file. * gtk/Graphics/UI/Gtk/Gdk/Events.hsc: add Event constructor and use new marshAny for the delete, destroy, map and unmap events. * acinclude.m4: add whether each package is going built in the gtk2hs-config.h file. * Makefile.am: install gtk2hs-config.h in $(pkglibdir)/include/ * glib/glib.package.conf.in: add the $(pkglibdir)/include/ directory to the include search path so modules which use any gtk2hs package can #include to find out what packages and versions are available. * configure.ac: no need for expensive AC_CHECK_SIZEOF(void *, 4) any more since we get the SIZEOF_VOID_P from ghc's config header file. Remove a redundent assignment. Correct the description of the pango version numbers in the gtk2hs-config.h file. * gtk/Graphics/UI/Gtk/Pango/Attributes.chs.pp: I misunderstod cpp semantics first time round, so fix this again. * gtk/Graphics/UI/Gtk/Cairo.chs.pp: use qualified imports properly. * mk/chsDepend.in: make the script grock qualified c2hs import hooks. * TODO: add entry: export all the enums used in the Event, ie Button & Click 2005-10-20 Axel Simon * Makefile.am: Added a new file Attributes.chs.pp since they are needed in two files in Pango. Added this and Pango.Types to the list of no-html files. * gtk/Graphics/UI/Gtk/Pango/Attributes.chs.pp: New file used by Rendering and Layout. * gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp: Completed except for two functions that are quite labor intensive. * gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp: Remove the Attribute type. * gtk/Graphics/UI/Gtk/Pango/Font.chs: Docu fixes. 2005-10-19 Duncan Coutts * gtk/Graphics/UI/Gtk/Gdk/Events.hsc: fix bug with delete events not being marshaled. Added a better error message in case we get any more of these in future. * gtk/Graphics/UI/Gtk/Abstract/Bin.chs, gtk/Graphics/UI/Gtk/Abstract/Box.chs, gtk/Graphics/UI/Gtk/Abstract/ButtonBox.chs.pp, gtk/Graphics/UI/Gtk/Abstract/Container.chs, gtk/Graphics/UI/Gtk/Abstract/Misc.chs, gtk/Graphics/UI/Gtk/Abstract/Object.chs.pp, gtk/Graphics/UI/Gtk/Abstract/Paned.chs.pp, gtk/Graphics/UI/Gtk/Abstract/Range.chs, gtk/Graphics/UI/Gtk/Abstract/Scale.chs, gtk/Graphics/UI/Gtk/Abstract/Scrollbar.hs, gtk/Graphics/UI/Gtk/Abstract/Separator.hs, gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: export to{Object} functions. * gtk/Graphics/UI/Gtk/ActionMenuToolbar/Action.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ToggleAction.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp: export to{Object} functions. * gtk/Graphics/UI/Gtk/Buttons/Button.chs.pp, gtk/Graphics/UI/Gtk/Buttons/CheckButton.chs, gtk/Graphics/UI/Gtk/Buttons/RadioButton.chs.pp, gtk/Graphics/UI/Gtk/Buttons/ToggleButton.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/Display/AccelLabel.chs, gtk/Graphics/UI/Gtk/Display/Image.chs.pp, gtk/Graphics/UI/Gtk/Display/Label.chs.pp, gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp, gtk/Graphics/UI/Gtk/Display/Statusbar.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/Embedding/Plug.chs, gtk/Graphics/UI/Gtk/Embedding/Socket.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/Entry/Editable.chs.pp, gtk/Graphics/UI/Gtk/Entry/Entry.chs.pp, gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp, gtk/Graphics/UI/Gtk/Entry/HScale.chs, gtk/Graphics/UI/Gtk/Entry/SpinButton.chs, gtk/Graphics/UI/Gtk/Entry/VScale.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/General/Style.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/Layout/Alignment.chs.pp, gtk/Graphics/UI/Gtk/Layout/AspectFrame.chs, gtk/Graphics/UI/Gtk/Layout/Expander.chs.pp, gtk/Graphics/UI/Gtk/Layout/Fixed.chs, gtk/Graphics/UI/Gtk/Layout/HBox.chs, gtk/Graphics/UI/Gtk/Layout/HButtonBox.chs, gtk/Graphics/UI/Gtk/Layout/HPaned.chs, gtk/Graphics/UI/Gtk/Layout/Layout.chs, gtk/Graphics/UI/Gtk/Layout/Notebook.chs.pp, gtk/Graphics/UI/Gtk/Layout/Table.chs, gtk/Graphics/UI/Gtk/Layout/VBox.chs, gtk/Graphics/UI/Gtk/Layout/VButtonBox.chs, gtk/Graphics/UI/Gtk/Layout/VPaned.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/MenuComboToolbar/CheckMenuItem.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Combo.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ImageMenuItem.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/Menu.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuBar.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuItem.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuShell.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/OptionMenu.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/RadioMenuItem.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/RadioToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/SeparatorMenuItem.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/SeparatorToolItem.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/TearoffMenuItem.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToggleToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToolItem.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Toolbar.chs.pp: export to{Object} functions. * gtk/Graphics/UI/Gtk/Misc/Adjustment.chs.pp, gtk/Graphics/UI/Gtk/Misc/Arrow.chs, gtk/Graphics/UI/Gtk/Misc/Calendar.chs.pp, gtk/Graphics/UI/Gtk/Misc/DrawingArea.chs, gtk/Graphics/UI/Gtk/Misc/EventBox.chs.pp, gtk/Graphics/UI/Gtk/Misc/HandleBox.chs, gtk/Graphics/UI/Gtk/Misc/SizeGroup.chs.pp, gtk/Graphics/UI/Gtk/Misc/Tooltips.chs.pp, gtk/Graphics/UI/Gtk/Misc/Viewport.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextMark.chs, gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextTagTable.chs, gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp: export to{Object} functions. * gtk/Graphics/UI/Gtk/Ornaments/Frame.chs, gtk/Graphics/UI/Gtk/Ornaments/HSeparator.chs, gtk/Graphics/UI/Gtk/Ornaments/VSeparator.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/Scrolling/HScrollbar.chs, gtk/Graphics/UI/Gtk/Scrolling/ScrolledWindow.chs.pp, gtk/Graphics/UI/Gtk/Scrolling/VScrollbar.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/Selectors/ColorButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/ColorSelection.chs, gtk/Graphics/UI/Gtk/Selectors/ColorSelectionDialog.chs, gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserDialog.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserWidget.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileFilter.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileSelection.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontSelection.chs, gtk/Graphics/UI/Gtk/Selectors/FontSelectionDialog.chs: export to{Object} functions. * gtk/Graphics/UI/Gtk/TreeList/CellRenderer.hs, gtk/Graphics/UI/Gtk/TreeList/CellRendererPixbuf.chs, gtk/Graphics/UI/Gtk/TreeList/CellRendererText.chs, gtk/Graphics/UI/Gtk/TreeList/CellRendererToggle.chs, gtk/Graphics/UI/Gtk/TreeList/CellView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/IconView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/ListStore.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeModel.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeModelSort.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeStore.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeViewColumn.chs.pp: export to{Object} functions. * gtk/Graphics/UI/Gtk/Windows/AboutDialog.chs.pp, gtk/Graphics/UI/Gtk/Windows/Dialog.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp, gtk/Graphics/UI/Gtk/Windows/WindowGroup.chs: export to{Object} functions. * glade/Graphics/UI/Gtk/Glade.chs: update docs and coding style of bindings. * tools/apiGen/CodeGen.hs, tools/apiGen/ModuleScan.hs: minor apigen updates. Add the to{Object} functions to the export list. 2005-10-18 Duncan Coutts * gtk/Graphics/UI/Gtk/Gdk/Events.hsc: more cleanups to the Event structure. Rename various record selector names. Use Word32 for timestamps rather than Integer. Use the Gtk.Keys module rather than defining things locally. * gtk/Graphics/UI/Gtk/Gdk/Keys.chs: remove use of c2hs {# fun #} hooks, use normal {# call #} hooks instead. Add keyvalToChar which is used in the Event marshaling. Add documentation. * gtk/Graphics/UI/Gtk/General/StockItems.hsc: use Gtk.Keys.KeyVal for the Keyval rather than Integer. * gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: use Word32 for timestamps rather than Integer. * gtk/Graphics/UI/Gtk/Display/Label.chs.pp: use KeyVal imported from Gtk.Keys module rather than local definition. * demo/cairo/Drawing.hs, demo/fastdraw/FastDraw.hs, demo/graphic/Drawing.hs, demo/treeList/ListTest.hs: fix demos to use new event record field names. * cairo/Graphics/Rendering/Cairo/Types.chs: remove RULES pragma. It duplicates rules from ghc's libraries anyway and causes compilation problems with ghc-6.2. * demo/cairo/Text.hs: fix the text demo to take account of the changed behaviour of showText in cairo 1.0. * cairo/Graphics/Rendering/Cairo/Internal.hs, cairo/Graphics/Rendering/Cairo.hs: move the definition of the Render monad into the Internal module. * Makefile.am: various changes: do not exclude the System.Glib.Signals module from the haddock docs, merely hide it. correct gtk/Graphics/UI/Gtk/Cairo.chs to gtk/Graphics/UI/Gtk/Cairo.chs.pp in the gtk soruces list. Add a couple pango modules to the list of hidden haddock modules. Do not use the local cairo.h header but rather the system one. Fix the list of expected haddock index html files. * configure.ac: bump the revision to help people trak recent incompatible changes. 2005-10-17 Axel Simon * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp, gtk/Graphics/UI/Gtk/Gdk/Events.hsc, gtk/Graphics/UI/Gtk/General/Enums.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Menu.chs.pp: Qualify all field names of Event, rename Button enumeration to MouseButton. This change breaks code, but avoids many annoying name clashes. In particular Events doesn't have to be imported qualified anymore. * gtk/Graphics/UI/Gtk.hs, gtk/Graphics/UI/Gtk/Cairo.chs.pp: Export all Cairo drawing primitives, remove the primitive to draw a Gtk Rectangle. * gtk/Graphics/UI/Gtk/General/Structs.hsc, gtk/Graphics/UI/Gtk/Pango/Context.chs.pp, gtk/Graphics/UI/Gtk/Pango/Enums.chs.pp, gtk/Graphics/UI/Gtk/Pango/Font.chs, gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp, gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp, gtk/Graphics/UI/Gtk/Pango/Types.chs.pp: Added Tab Stops (on the fly). Move FontMetrics into the Type module and added a new function to query the font metrics for a PangoItem. Added a new accessor function in Structs.hsc to get at the language of a PangoItem. 2005-10-17 Duncan Coutts * glib/System/Glib/FFI.hs: fix typo in withArrayLen #ifdef stuff. * configure.ac: fix for ./configure --disable-mozilla --enable-firefox * tools/c2hs/gen/GenBind.hs: use "with" rather than "withObject". This fixes deprecation warning when building cairo. 2005-10-16 Axel Simon * Makefile.am, gtk/Graphics/UI/Gtk.hs, gtk/Graphics/UI/Gtk/Pango/Context.chs.pp, gtk/Graphics/UI/Gtk/Pango/Font.chs: Added new files to make the interface to Pango easier. They regroup stuff relating to PangoContext and Fonts into single modules. This also completes the font module of Pango, still not bound are PangoFont and PangoFontSet. PangoFont is already used internally and it is questionable if any of these two types is useful to the programmer. * gtk/Graphics/UI/Gtk/Cairo.chs.pp, gtk/Graphics/UI/Gtk/Pango/Description.chs, gtk/Graphics/UI/Gtk/Pango/GlyphStorage.chs.pp, gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp: Changed due to regrouping of stuff; see above. * gtk/Graphics/UI/Gtk/Pango/Types.chs.pp: Fixed Show instance of PangoUnits. * demo/cairo/Drawing.hs: Only render with Pango via Cairo. * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: Docu fixes. * demo/fonts/Fonts.hs, demo/fonts/Makefile: New demo listing all fonts that are installed on the system. 2005-10-15 Axel Simon * cairo/cairo.pkg.in, glib/System/Glib/FFI.hs, cairo/Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs: Make compile with ghc 6.2: Fix typo in package file, remove dependency on 'mtl' since it doesn't exist in 6.2, add withArrayLen to FFI.hs since that doesn't come with 6.2. * gtk/Graphics/UI/Gtk/Cairo.chs.pp: Add function to render Pango text in Cairo contexts. * demo/actionMenu/ActionMenu.hs: Wiggles. 2005-10-15 Duncan Coutts * cairo/Graphics/Rendering/Cairo.hs: replace the unsafe surfaceCreateSimilar with the safe withSimilarSurface. Also add renderWithSimilarSurface which is more convenient when in a Render context. Also generalise renderWith so that it can be used in an IO context and a Render context. Also make some documentation improvements. (Thanks to Paolo and Cale) * cairo/Graphics/Rendering/Cairo.hs: more minor changes. * demo/cairo/StarAndRing.hs: make this demo use the new renderWithSimilarSurface function to make it more elegant and symetric. 2005-10-14 Duncan Coutts * gtk/Graphics/UI/Gtk/Gdk/Gdk.chs: bind gdk_flush function and documentation (I needed this for implementing the SOE api). * gtk/Graphics/UI/Gtk.hs: no need to not import the Graphics.UI.Gtk.Cairo module when !ENABLE_CAIRO since the module itself only defines any functions if ENABLE_CAIRO and Gtk+ >= 2.8. 2005-10-13 Axel Simon * demo/actionMenu/ActionMenu.hs, demo/actionMenu/Makefile: Added new demo. 2005-10-11 Duncan Coutts * Makefile.am: delete the .precomp files in an ordinary "make clean" rather than "make distclean" since they are not so expensive to re-generate anymore and it seems to trip people up when they rebuild against different Gtk+ versions. * acinclude.m4: deal with libz on glibc systems in the same way as the pthread issue, ie don't directly link to it since it breaks ghci. * gtk/Graphics/UI/Gtk/Cairo.chs.pp: don't import Control.Monad.Reader unnecessarily (which otherwise causes a linker error when defined(ENABLE_CAIRO) && !GTK_CHECK_VERSION(2,8,0)) * Makefile.am: build the cairo demo. * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: for onMotionNotify in the 'hint' mode we must enable the PointerMotionMask event as well as the PointerMotionHintMask or we will not recieve any motion events. * glib/System/Glib/hsgclosure.c, glib/System/Glib/hsgclosure.h, glib/System/Glib/Signals.chs.pp: cope with signal handlers that provide a non-null return GValue but with an invalid type by ignoring them (which is what the python version does too). This fixes the Entry onEntryActivate signal and probably others. Also improve the debugging and error checking code and rename the C functions to use the gtk2hs namespace/prefix. * glib/System/Glib/MainLoop.chs.pp: new module with glib main loop functions ike the timout and idle functions and the priority constants. Also add inputAdd for arranging callbacks upon activity on a file descriptor. * gtk/Graphics/UI/Gtk/General/Structs.hsc: remove priority constants. * gtk/Graphics/UI/Gtk/General/General.chs: remove timeout and idle callback functions and import them from System.Glib.MainLoop instead. * Makefile.am: add MainLoop.chs.pp to glib SOURCES. 2005-09-25 Axel Simon * glade/Glade.chs: Fixed a comment reported by Marco Tulio Gontijo e Silva. * gtk/Graphics/UI/Gtk.hs: Only import Cairo stuff if Cairo is present. 2005-09-22 Duncan Coutts * mozembed/Graphics/UI/Gtk/MozEmbed/.keep: add file just to ensure that cvs creates the directory since otherwise it'd be empty and cvs sometimes prunes empty directories. * compile, missing: add these autotools files so that users don't have to use autoreconf -i. (Other autotool projects seem to keep these files in cvs and I'm getting tired of telling people they need to use autoreconf with the -i flag.) 2005-09-20 Duncan Coutts * sourceview/Graphics/UI/Gtk/SourceView/SourceBuffer.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceLanguage.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceLanguagesManager.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceMarker.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceTag.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceTagTable.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceView.chs: export the castTo* functions. 2005-09-19 Duncan Coutts * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: bug fix. Add a special case to widgetAddEvents work around a GTK+ bug. See http://bugzilla.gnome.org/show_bug.cgi?id=316702 2005-09-16 Duncan Coutts * glade/Graphics/UI/Gtk/Glade.chs: make sure the widget returned from xmlGetWidget is fully evaluated so that casting errors get reported from xmlGetWidget rather than when the widget is first used and restructure the code slightly so that the named widget not existing also gets reported from xmlGetWidget rather than at first use. 2005-09-15 Duncan Coutts * TODO: note a possible solution to the win32 non-console app problem. 2005-09-14 Duncan Coutts * configure.ac: allow the gtkmozembed package to be built agsinst the Mozilla Firefox libraries. It's configurable with --enable-firefox. Do not use the AM_HCFLAGS variable since it upsets some versions of autoconf. * mk/common.mk: remove use of AM_HCFLAGS 2005-09-11 Duncan Coutts * cairo/cairo.package.conf.in: remove cairo-pdf.h and cairo-ps.h from the includes since we're not currently building the pdf/ps backends. 2005-09-10 Duncan Coutts * cairo/Graphics/Rendering/Cairo.hs: haddock fixes. 2005-09-09 Duncan Coutts * tools/apiGen/Makefile: update for Gtk+ 2.8 sources * tools/apiGen/CodeGen.hs: small updates for Gtk+ 2.8 2005-08-30 Duncan Coutts * cairo/Graphics/Rendering/Cairo.hs: fix bug with allocating surfaces. 2005-08-29 Duncan Coutts * cairo/Graphics/Rendering/Cairo/Types.chs: merge patches from Paolo; move the definition of the Render monad into the Types module. * cairo/Graphics/Rendering/Cairo.hs: merge patches from Paolo; add haddock documentation for many functions. * demo/cairo/Drawing.hs, demo/cairo/StarAndRing.hs, demo/cairo/Text.hs, demo/cairo/Makefile: add cairo demos. * glib/System/Glib/Properties.chs: make the enum and object property constructor functions take the enum/object GType as an argument. This should make these types of properties actually work. * gtk/Graphics/UI/Gtk/Abstract/Container.chs, gtk/Graphics/UI/Gtk/Display/Image.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/OptionMenu.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Toolbar.chs.pp, gtk/Graphics/UI/Gtk/Misc/Arrow.chs, gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp, gtk/Graphics/UI/Gtk/Scrolling/ScrolledWindow.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserButton.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: pass the appropriate enum/object GType as an extra argument to the property constructor. * Makefile.am: build the cairo Types module using -fglasgow-exts and exclude most other modules from the haddock docs. * gtk/Graphics/UI/Gtk/Cairo.chs.pp: merge patches from Paolo and myself to make the Gtk cairo backend use the high level api style. * demo/cairo/Drawing.hs: update the Gtk cairo demo to use the high level api. * cairo/Graphics/Rendering/Cairo.hs: merge more documantation changes by Paolo (and some small changes by myself). * glib/System/Glib/Attributes.hs: improve the documentation for the attributes api and rename the Prop type to something less confusing. * glib/System/Glib/GError.chs.pp: simple doc reformatting and use Gtk2Hs rather than gtk2hs. * gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp: name the attributes consistently with the other functions. Export the uiManagerUi attribute and update its default value (as of Gtk+ 2.8.3). * gtk/Graphics/UI/Gtk/TreeList/CellRenderer.hs: add missing export for toCellRenderer casting function. * gtk/Graphics/UI/Gtk.hs: do not import toCellRenderer from Graphics.UI.Gtk.Types, so no need to import Graphics.UI.Gtk.Types at all. Import ConnectId, disconnect from System.Glib.Signals instead of Graphics.UI.Gtk.Signals so Graphics.UI.Gtk.Signals does not need to be imported at all. * Makefile.am: exclude the Gtk.Signals module from the haddock documentation. * configure.ac: bump version to 0.9.9.5 in preparation for a special Gtk2Hs release including the cairo code. This is to mark the completion of Paolo's Google Summer of Code project. 2005-08-27 Duncan Coutts * cairo/COPYRIGHT, cairo/cairo.h, cairo/cairo.pkg.in, cairo/cairo.package.conf.in, cairo/cairo.cabal.in, cairo/Graphics/Rendering/Cairo.hs, cairo/Graphics/Rendering/Cairo/Types.chs, cairo/Graphics/Rendering/Cairo/Matrix.chs, cairo/Graphics/Rendering/Cairo/PDF.hs, cairo/Graphics/Rendering/Cairo/PS.hs, cairo/Graphics/Rendering/Cairo/Internal.hs, cairo/Graphics/Rendering/Cairo/Internal/Utilities.chs cairo/Graphics/Rendering/Cairo/Internal/Drawing/Cairo.chs, cairo/Graphics/Rendering/Cairo/Internal/Drawing/Paths.chs, cairo/Graphics/Rendering/Cairo/Internal/Drawing/Patterns.chs, cairo/Graphics/Rendering/Cairo/Internal/Drawing/Text.chs, cairo/Graphics/Rendering/Cairo/Internal/Drawing/Transformations.chs, cairo/Graphics/Rendering/Cairo/Internal/Fonts/FontOptions.chs, cairo/Graphics/Rendering/Cairo/Internal/Surfaces/Surface.chs, cairo/Graphics/Rendering/Cairo/Internal/Surfaces/Image.chs cairo/Graphics/Rendering/Cairo/Internal/Surfaces/PNG.chs, cairo/Graphics/Rendering/Cairo/Internal/Surfaces/PDF.chs, cairo/Graphics/Rendering/Cairo/Internal/Surfaces/PS.chs: add cairo bindings package by Paolo Martini. * gtk/Graphics/UI/Gtk/Cairo.chs.pp: add Gtk/cairo integration module. * gtk/Graphics/UI/Gtk.hs: re-export the Graphics.UI.Gtk.Cairo module. * configure.ac, Makefile.am: add the cairo package to the build sytem. * gtk/gtk.pkg.in, gtk/gtk.package.conf.in, gtk/gtk.cabal.in: make the gtk package depend on the cairo package if we're building with cairo. * AUTHORS: add Paolo Martini. * gtk/Graphics/UI/Gtk/Cairo.chs.pp: make it build correctly. * cairo/cairo.cabal.in, cairo/cairo.package.conf.in: use BSD3 rather than BSD for the license field. * cairo/Graphics/Rendering/Cairo/Internal/Surfaces/PNG.chs, cairo/Graphics/Rendering/Cairo.hs: merge patches from Paolo to do the error checking in surfaceWriteToPNG. 2005-08-26 Duncan Coutts * configure.ac: add glib and pango to the PKG_CHECK_MODULES test. Hopefully this will make things work better on Mac OS X. 2005-08-26 Axel Simon * gtk/Graphics/UI/Gtk/Gdk/Events.hsc: Derive Ord for Modifiers. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp: Pass a TextTagTable as the Maybe argument to textBufferNew. Using a class context only fails to compile if Nothing is passed in. * gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuBar.chs.pp: Conditionally compile some functions for Gtk versions earlier than 2.8. 2005-08-25 Duncan Coutts * gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp: remove the definition of the EllipsizeMode and import the version that already existed in the Pango.Enum module instead. And use the PANGO_CHECK_VERSION test. * gtk/Graphics/UI/Gtk/Pango/Enums.chs.pp: use the PANGO_CHECK_VERSION test rather than GTK_CHECK_VERSION. * gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp, gtk/Graphics/UI/Gtk/Display/Image.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToolButton.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp: trivial haddock fixes. 2005-08-24 Duncan Coutts * mk/common.mk: strip two suffixes off to get the package name, due to the fact that we're now caling the package files foo.package.conf. * gtk/Graphics/UI/Gtk/Buttons/RadioButton.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuBar.chs, gtk/Graphics/UI/Gtk/Misc/Adjustment.chs, gtk/Graphics/UI/Gtk/Misc/SizeGroup.chs, gtk/Graphics/UI/Gtk/Scrolling/ScrolledWindow.chs, gtk/Graphics/UI/Gtk/Windows/Dialog.chs, gtk/Graphics/UI/Gtk/Buttons/RadioButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuBar.chs.pp, gtk/Graphics/UI/Gtk/Misc/Adjustment.chs.pp, gtk/Graphics/UI/Gtk/Misc/SizeGroup.chs.pp, gtk/Graphics/UI/Gtk/Scrolling/ScrolledWindow.chs.pp, gtk/Graphics/UI/Gtk/Windows/Dialog.chs.pp: rename some .chs files to .chs.pp files in preparation for adding bits conditional on Gtk+ 2.8. * Makefile.am: Rename the above files. Also, only compile the filechooser demo if the glade package was built. * configure.ac: Add cases for Gtk+ 2.8. * tools/callbackGen/gtkmarshal.list: add new signal type needed by some new Gtk+ 2.8 signal. * gtk/Graphics/UI/Gtk/Abstract/Box.chs, gtk/Graphics/UI/Gtk/Abstract/Paned.chs.pp, gtk/Graphics/UI/Gtk/Abstract/Scale.chs, gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: merge Gtk+ 2.8 updates. these are mostly documentation changes/additions and new functions. The code names of properties now use '-' as a word seperator by default rather than '_' (and using the right name saves some internal translation and allocation in glib). * gtk/Graphics/UI/Gtk/ActionMenuToolbar/Action.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp: as above. * gtk/Graphics/UI/Gtk/Buttons/Button.chs.pp, gtk/Graphics/UI/Gtk/Buttons/RadioButton.chs.pp, gtk/Graphics/UI/Gtk/Buttons/ToggleButton.chs: as above. * gtk/Graphics/UI/Gtk/Display/Image.chs.pp, gtk/Graphics/UI/Gtk/Display/Label.chs.pp, gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp: as above. * gtk/Graphics/UI/Gtk/Entry/Entry.chs.pp, gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp, gtk/Graphics/UI/Gtk/Entry/HScale.chs, gtk/Graphics/UI/Gtk/Entry/SpinButton.chs, gtk/Graphics/UI/Gtk/Entry/VScale.chs: Gtk+ 2.8 updates as above. * gtk/Graphics/UI/Gtk/Layout/Alignment.chs.pp, gtk/Graphics/UI/Gtk/Layout/AspectFrame.chs, gtk/Graphics/UI/Gtk/Layout/Notebook.chs.pp, gtk/Graphics/UI/Gtk/Layout/Table.chs: Gtk+ 2.8 updates as above. * gtk/Graphics/UI/Gtk/MenuComboToolbar/Combo.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Menu.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuBar.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuShell.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToggleToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Toolbar.chs.pp: as above. * gtk/Graphics/UI/Gtk/Misc/Adjustment.chs.pp, gtk/Graphics/UI/Gtk/Misc/Arrow.chs, gtk/Graphics/UI/Gtk/Misc/Calendar.chs.pp, gtk/Graphics/UI/Gtk/Misc/EventBox.chs.pp, gtk/Graphics/UI/Gtk/Misc/HandleBox.chs, gtk/Graphics/UI/Gtk/Misc/SizeGroup.chs.pp: Gtk+ 2.8 updates as above. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextIter.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp: as above. * gtk/Graphics/UI/Gtk/Ornaments/Frame.chs: Gtk+ 2.8 updates as above. * gtk/Graphics/UI/Gtk/Scrolling/ScrolledWindow.chs.pp: as above. * gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileSelection.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontSelection.chs: as above. * gtk/Graphics/UI/Gtk/TreeList/CellView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeView.chs.pp: as above. * gtk/Graphics/UI/Gtk/Windows/AboutDialog.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: Gtk+ 2.8 updates as above. * glib/System/Glib/Properties.chs: add an extra property constructor. 2005-08-20 Axel Simon * glib/System/Glib/UTFString.hs, gtk/Graphics/UI/Gtk.hs, gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp, gtk/Graphics/UI/Gtk/Display/Label.chs.pp, gtk/Graphics/UI/Gtk/Gdk/Drawable.chs.pp, gtk/Graphics/UI/Gtk/General/Enums.chs.pp, gtk/Graphics/UI/Gtk/General/Structs.hsc, gtk/Graphics/UI/Gtk/Pango/Description.chs, gtk/Graphics/UI/Gtk/Pango/Enums.chs.pp, gtk/Graphics/UI/Gtk/Pango/Markup.hs, gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp, gtk/Graphics/UI/Gtk/Pango/Types.chs.pp : Major rework of the types in Pango in order to add functions that take indices as offsets to Haskell Strings but call Gtk with offsets to UTF-8 string buffers. The result is a data type UTFCorrection in UTFString.hs a change of most pango newtypes to data types that contain this correction. The new pango interface is complete with the exceptions of LogAttrs (to break unicode strings) and Tab Stops. In particular I identified two data types (PangoItem and GlyphItem) that are crucial and decided to hide all the other Pango types. PangoAttributes are, for example, are now completely represented in Haskell and only used when creating a new PangoItem. * Makefile.am, gtk/Graphics/UI/Gtk/Pango/Layout.chs.pp, gtk/Graphics/UI/Gtk/Pango/Layout.chs: Renamed the latter to the former. * configure.ac: Added a macro to check for the version of Pango. 2005-08-8 Axel Simon * configure.ac: Bump version number to 0.9.9. 2005-08-7 Axel Simon * configure.ac, Makefile.am: Define the conditional variable HYPENATED_DOCS which gets set if haddock with version greater than 0.6 is detected. The new version of haddock creates URLs with - in them instead of . to separate modules. * Makefile.am: Added Gtk.Pango.Types.hs to the html_HSFILES_HIDDEN variable since make reinvokes haddock since it doesn't produce an html page for this file - it is hidden. 2005-08-3 Duncan Coutts * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp, gtk/Graphics/UI/Gtk/General/General.chs, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp, gtk/Graphics/UI/Gtk.hs: export a few gdk and pango enum types. 2005-08-1 Duncan Coutts * gtk/Graphics/UI/Gtk/Abstract/Container.chs, gtk/Graphics/UI/Gtk/Misc/Calendar.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextIter.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: export a few enum types. 2005-07-30 Axel Simon * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp, gtk/Graphics/UI/Gtk/Gdk/Events.hsc, gtk/Graphics/UI/Gtk/General/IconFactory.chs.pp, gtk/Graphics/UI/Gtk/General/Structs.hsc: Removed documentation FIXMEs in Widget.chs. * gtk/Graphics/UI/Gtk/Layout/Layout.chs: Added a function to access the DrawWindow. * gtk/Graphics/UI/Gtk/General/Structs.hsc: Meddled with pangoScale again. * gtk/Graphics/UI/Gtk/Pango/Description.chs, gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp, gtk/Graphics/UI/Gtk/Pango/Types.chs.pp: Documentation fixes. In particular, hide the Types module. * gtk/Graphics/UI/Gtk/Pango/Layout.chs: Docu fixes and added a constructor for the empty layout. The constructor is called layoutEmpty so that it doesn't clash with Layout.Layout.layoutNew. 2005-07-29 Duncan Coutts * tools/c2hs/c/CNames.hs: add a case for CAsmExt that does nothing, but at least doesn't cause a pattern match failure. 2005-07-27 Duncan Coutts * tools/c2hs/c/CAST.hs: add new asm constructors for a couple data types. But only as place holders, they do not hold the whole asm statement. * tools/c2hs/c/CLexer.x: add the asm/__asm/__asm__ keyword. * tools/c2hs/c/CParser.y: add support for asm top level declarations, asm statements (including GNU C extended asm syntax) and asm annotations on function declarations. Also support C string literal concatentation (which is often used in asm statements). * gconf/gconf.package.conf.in, glade/glade.package.conf.in glib/glib.package.conf.in, gtk/gtk.package.conf.in, mogul/mogul.package.conf.in, mozembed/mozembed.package.conf.in, sourceview/sourceview.package.conf.in: rename the .cabal files to .package.conf files since these are not real cabal files but are "installed package info" files for ghc-pkg. * gconf/gconf.cabal.in, glade/glade.cabal.in, glib/glib.cabal.in, gtk/gtk.cabal.in, mogul/mogul.cabal.in, mozembed/mozembed.cabal.in, sourceview/sourceview.cabal.in: add genuine cabal files. These are processed in much the same way as before but are never used. * configure.ac: change the USE_CABAL var to USE_NEW_PKG_FORMAT and reflect the change in the package names. Add the all .package.conf files to the list of files that configure substitutes into. * Makefile.am: change USE_CABAL to USE_NEW_PKG_FORMAT and .cabal to .package.conf. Substitute into the .cabal files as well as the package files. * docs/tools/AddLinks.hs: Add support for 'ordinary' html, rather than xhtml. Currently doesn't do much highliting. * tools/apiGen/Makefile: minor update to the gdk section. * TODO: add a few more notes. * glib/System/Glib/FFI.hs: remove foreignFree since it is no longer used anywhere. Use a simpler implementation of nullForeignPtr when using GHC 6.2 or later. 2005-07-23 Duncan Coutts * gtk/Graphics/UI/Gtk/General/General.chs, glib/System/Glib/Signals.chs.pp: fix segfaults/fatal errors due to unsafe foreign calls on g_signal_handler_disconnect and g_source_remove. Make them both use safe calls. However I don't understand why they are re-entering Haskell land. Perplexing. * gtk/Graphics/UI/Gtk/Multiline/TextIter.chs.pp: change mkTextIter to mkTextIterCopy and as the name suggests make it take a copy of the iter. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp: change uses of mkTextIter to mkTextIterCopy. This fixes the segfaults due to trying to free C stack allocated 'GtkTextIter's. * gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp: take advantage of the TreeIter marshaling utility functions. This simplifies the code and eliminates the only uses of foreignFree. * gtk/Graphics/UI/Gtk/Selectors/FileChooserButton.chs.pp: make the FileChooserButton an instance of the FileChooser interface. 2005-07-21 Duncan Coutts * gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp: trivial doc fix. 2005-07-20 Duncan Coutts * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp: make text_buffer_create_mark a safe foreign call since calling it can emit a signal. 2005-07-14 Axel Simon * gtk/Graphics/UI/Gtk/Abstract/Container.chs: Export ContainerForeachCB. 2005-07-14 Axel Simon * Makefile.am, gtk/Graphics/UI/Gtk.hs, gtk/Graphics/UI/Gtk/Gdk/Pixmap.chs: Added Pixmap as in gdk_pixmap, not the deprecated gtk_pixmap. * gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp: Fixed a memory allocation bug found by Armin Groesslinger. Fixed a docu bug. * gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: Fixed compilation against Gtk 2.2. * AUTHORS: Added Armin Groesslinger to the contributors. 2005-07-6 Duncan Coutts * gtk/Graphics/UI/Gtk/Abstract/ButtonBox.chs.pp: export the ButtonBoxStyle flags type. We need to audit these things more carefully. * gtk/Graphics/UI/Gtk.hs: export Graphics.UI.Gtk.Pango.Description because it contains useful user-facing things. I don't think there's any private/internal stuff exported from it. * demo/buttonbox/ButtonBox.hs: update the demo to use the "set" style syntax. Also show how to use child attributes. 2005-07-5 Duncan Coutts * demo/concurrent/Progress.hs: use timeoutAddFull rather than idleAdd for the yield concurrency thing. This change means that it no longer takes 100% cpu time. By adjusting the timeout you can balance the latency and the polling load. A timeout value of 20 to 50 milliseconds seems to give adequete latency with negligable load. Also make the progress bar pulse more frequent. 2005-07-3 Axel Simon * gtk/Graphics/UI/Gtk/General/Enums.chs.pp, gtk/Graphics/UI/Gtk/Abstract/Box.chs: Moved and expanded documentation on Packing in containers. 2005-07-3 Duncan Coutts * glib/System/Glib/Properties.chs: mark g_object_set_property as not being safe. That function can indeed call back into Haskell land since setting properties can trigger signals. * gtk/Graphics/UI/Gtk/TreeList/CellRendererText.chs: fix bug, setting editable attribute to Nothing should set editable-set to False. * gtk/Graphics/UI/Gtk/Abstract/Container.chs: remove containerChild(Get|Set)Property since it suffers from the same problem that object(Get|Set)Property had. Instead of these functions, users can use type safe child attributes (not yet added). * demo/treeList/ListTest.hs: show how to set an attribute on the renderer that applies to all the rows, ie it's global rather than being determined on a per-row bssis by the data model. * gtk/Graphics/UI/Gtk/General/General.chs: tidy up the documentation. * gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: add windowTitle attribute. Change windowGetTitle to cope with NULLs and fix docs. * tools/apiGen/format-docs.xsl: extract child properties. * tools/apiGen/Makefile: bug fix and update vte params. * tools/apiGen/Api.hs: extract the childprop information. * tools/apiGen/Docs.hs: extract the childprop documentation. * tools/apiGen/CodeGen.hs: produce code for the child attributes. * apicoverage/Makefile: minor change, make it look for .chs(.pp) files rather than .hs files and remove redundant filter. * apicoverage/gtk.ignore: minor update. * gtk/Graphics/UI/Gtk/Abstract/ContainerChildProperties.chs: a module much like the glib Properties one, but for container child properties rather than ordinary properties. It defines functions for constructing attributes based on child properties. * Makefile.am: add ContainerChildProperties.chs to source list. * gtk/Graphics/UI/Gtk/Abstract/Container.chs: change the documentation on child attributes to reflect the new system. * gtk/Graphics/UI/Gtk/Abstract/ButtonBox.chs.pp, gtk/Graphics/UI/Gtk/Abstract/Paned.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Toolbar.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Menu.chs.pp, gtk/Graphics/UI/Gtk/Layout/Table.chs, gtk/Graphics/UI/Gtk/Layout/Layout.chs, gtk/Graphics/UI/Gtk/Layout/Fixed.chs: add child attributes. * gtk/Graphics/UI/Gtk/General/Enums.chs.pp: add toPacking and fromPacking functions for converting between the Packing enum and the expand and fill Gtk+ concepts. * gtk/Graphics/UI/Gtk/Abstract/Box.chs, gtk/Graphics/UI/Gtk/Layout/Notebook.chs.pp: add child attributes. For the expand and fill attributes, replace them with a packing attribute that gets/sets both the expand and fill attributes. * glib/System/Glib/Properties.chs: use withCString rather than withUTFString for the proeprty names since they are internal and always ASCII. * demo/hello/World.hs: update the hello world demo to reflect some of the changes we made to the one on the website. Also add setting of the window title as an example of setting multiple properties at once. * demo/profileviewer/ProfileViewer.hs: add an about box to the profile viewer. * gtk/Graphics/UI/Gtk.hs: export the ButtonBox module which was missing for some reason. * tools/c2hs/c/CLexer.x: reformat to fit in 80 columns. Use little token functions to improve clarity. Only generate unique names for tokens that actually need them (saves 5% running time). This is the version sent to Manuel for inclusion in mainline c2hs. * tools/c2hs/c/CParser.y: reformat to fit in 80 columns. This is the version sent to Manuel for inclusion in mainline c2hs. * tools/c2hs/toplevel/Main.hs: remove the debugging/timing messages. 2005-07-2 Duncan Coutts * glib/System/Glib/GValueTypes.chs: add value(Set|Get)Enum and value(Set|Get)Flags. Remove use of valueInit since it is done elsewhere. * glib/System/Glib/Properties.chs: use valueInit in objectSetPropertyInternal and objectGetPropertyInternal. Modify other object(Set|Get)Property* functions to pass the GType. * glib/System/Glib/StoreValue.hsc: use valueInit in valueSetGenericValue and remove object(Set|Get)PropertyGeneric since they are not used much and are hard to implement correctly. * gtk/Graphics/UI/Gtk/Abstract/Object.chs.pp: remove objectSetProperty and objectGetProperty which were just wrappers around object(Set|Get)PropertyGeneric. * gtk/Graphics/UI/Gtk/TreeList/CellRenderer.hs: change the implementation of cellRendererSet and cellRendererGet because objectSetProperty and objectGetProperty were removed. For object(Set|Get)PropertyInternal we do have the GType available from the Attribute. Even so, it would be preferable if cellRenderer(Set|Get) were replaced with ordinary type safe Attributes. 2005-07-1 Duncan Coutts * sourceview/sourceview.cabal.in: switch the order of include files so they get #included in the right order. This is possibly rather fragile. * docs/prologue.txt.in: prologue text for the Haddock reference docs. * Makefile.am: hide glib/System/Glib/FFI.hs rather than excluding it so that haddock can find more links. Fix index name. Use prologue text file. * configure.ac: substitute the version number in docs/prologue.txt.in and change the commented-out "no console window" linker command to a shorter variant. 2005-06-23 Duncan Coutts * docs/tutorial/Makefile: change the base url to point ot the 0.9.8 docs. 2005-06-22 Duncan Coutts * Makefile.am: some minor fixes suggested by the debian packaging people. Clean the generated .hs files for the parse & lexer on make maintainerclean rather than on distclean. Use nobase_hi_DATA rather than nobase_hi_SCRIPTS so that the .hi files do not get installed with +x execute permissions. Include gtk2hs.haddock in the files that get cleaned and make sure all the haddock index files get cleaned. Install the gtk2hs.haddock file into the same dir as the html docs rather than the directory below, by default. 2005-06-21 Duncan Coutts * AUTHORS: note that Axel is author and developer and that Duncan is current maintainer. Apparently this better reflects reality. * demo/fastdraw/FastDraw.hs: change fastdraw demo to add more comments and make it compile with -O by default (which makes a large difference). Use a faster looping construct and add a comment mentioning that GHC is better at optimising the doFromTo kind of loop than the "sequence_ [ ... | x <- ... ]" kind of loop. 2005-06-20 Duncan Coutts * gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp: change the return type of entryCompletionGetEntry back to what it was previously which is what it should be. It must have been accidentally changed in a over-zelous merge from the generated modules. Found this accidental change using new apidiff tool. * gtk/Graphics/UI/Gtk/Gdk/Events.hsc: export the Modifier data constructors and make it an instance of Eq, but Show is probably not necessary. * gtk/Graphics/UI/Gtk/Gdk/DrawWindow.chs.pp, gtk/Graphics/UI/Gtk/Gdk/Drawable.chs.pp, gtk/Graphics/UI/Gtk/Gdk/GC.chs, gtk/Graphics/UI/Gtk/Gdk/Gdk.chs, gtk/Graphics/UI/Gtk/Gdk/Keys.chs, gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp, gtk/Graphics/UI/Gtk/Gdk/Region.chs.pp: tidy up the haddock header docs. Move the TODO items so they don't appear in the generated docs. * configure.ac: Bump version to 0.9.8. 2005-06-18 Duncan Coutts * acinclude.m4: fix file name quoting in the .cabal files so that paths with spaces in get read properly. * gconf/gconf.cabal.in, glade/glade.cabal.in, glib/glib.cabal.in gtk/gtk.cabal.in, mogul/mogul.cabal.in, mozembed/mozembed.cabal.in sourceview/sourceview.cabal.in: put the import-dirs value in "" quotes so that paths with spaces in get read properly (fixes installing on Windows with GHC 6.4 and the default install location of "C:/Program Files/..."). Also rename the field extra-ld-opts to ld-options since that is what it should actually be called for the new cabal format (fixes linker error when building gconf demo on OpenBSD). 2005-06-16 Axel Simon * glib/System/Glib/hsgclosure.c: add more compatability with GHC 5.04 * gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp: Fixed some documentation. 2005-06-15 Duncan Coutts * configure.ac: enable the new GClosure-based signals implementation for GHC 6.4.1 and later (for which it now works with GHCi). * Makefile.am: the treeList and fastdraw demos require Gtk+ 2.2. * glib/System/Glib/hsgclosure.c: add compatability for GHC 5.04. * Makefile.am: use -Werror-implicit-function-declaration when compiling glib/System/Glib/hsgclosure.c so we can catch changes in the GHC RTS API. 2005-06-15 Axel Simon * Makefile.am: Use correct path to user-supplied package.conf file when building demos. Add the --force flag to ghc-pkg to circumvent a bug in earlier versions of ghc-pkg, namely that it not picks up global packages when it checks that dependencies are satisfied. * demo/gconf/Makefile: Add missing dependency on gtk. This only showed when compiling with a local package file. 2005-06-14 Duncan Coutts * Makefile.am: fix for ghc 6.4 on windows when compiling via C (which is implied by -O), use -I. so that ghc can find #include"gtk/wingtk.h" Add the fastdraw demo files to the EXTRA_DIST list and add the list of demo that are built by the make installtest target. * COPYING.LIB: update to LGPL 2.1 since virtually every module now carries that license. A small number of modules carry LGPL 2.0 notices but they also state that the licensee may at their discretion use any later version of the LGPL license. 2005-06-13 Axel Simon * INSTALL: Update install instructions. * demo/hello/World.hs: Simplified the hello-world program. 2005-06-13 Duncan Coutts * demo/fastdraw/FastDraw.hs demo/fastdraw/Makefile: these accidentally did not get into the branch-0-9-8 because they were not in my checkout when I did the branch. * Makefile.am: use the correct ghc-pkg syntax for ghc-6.2 and earlier. * configure.ac: use a more traditional way of setting an argument's default value. * tools/c2hs/c/CParser.hs tools/c2hs/c/CLexer.hs: remove the old lexer and parser. * tools/c2hs/c/CParser2.y tools/c2hs/c/CParser.y, tools/c2hs/c/CLexer2.x tools/c2hs/c/CLexer.x: rename the new lexer and parser (CLexer2.x, CParser2.y) to simply CLexer.x and CParser.y. * Makefile.am, configure.ac: remove the old C lexer and parser and rename the new lexer and parser (CLexer2.x, CParser2.y) to simply CLexer.x and CParser.y. * tools/c2hs/c/C.hs: use only the new lexer and parser rather than using both with the decision made at runtime. * tools/c2hs/toplevel/Main.hs, tools/c2hs/state/Switches.hs: remove the command line switch which used to select which C parser implementation to use. Also remove the debug option to dump the C AST after parsing. * tools/c2hs/base/syms/Attributes.hs, tools/c2hs/c/CAST.hs: remove Show instances for the AST data types since they are no longer needed. * tools/c2hs/c/CPretty.hs: add back the old Show instance for CDecl. 2005-06-11 Duncan Coutts * Makefile.am: add demo/calc/calc.glade to EXTRA_DIST. 2005-06-10 Duncan Coutts * configure.ac: bump version to 0.9.7.92, which is the second 0.9.8 release candidate. 2005-06-9 Axel Simon * gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp: Fixed treeSelectionSelectedForeach which had some arguments swapped around, giving a Gtk-CRITICAL message and no selected rows. * demo/treeList/ListTest.hs: Added two ways to get selected rows. 2005-06-9 Duncan Coutts * configure.ac: Use the new GClosure based signals implementation on x86_64 arch. Tidy up the packager mode logic to make it more comprehensable and extensable. * Makefile.am: use $(SED) rather than sed. Use sed -e s1 -e s2 rather than multiple sed invocations in a pipeline. Use '|' character rather than ':' as the sed 's' command seperator since paths on windows can contain the ':', eg "c:\". Remove the sed substitution upon registering since it is already done by the install-exec-local. Split the install-data-hook and uninstall-hook into two versions depending on USE_CABAL. This allows us to use the natural syntax for both versions rather than having to try to find syntax that works with both versions (anyway, the new cabal requires the version number as part of the package name when unregistering). * glib/glib.cabal.in, gtk/gtk.cabal.in, mogul/mogul.cabal.in, glade/glade.cabal.in, gconf/gconf.cabal.in, sourceview/sourceview.cabal.in, mozembed/mozembed.cabal.in: update the homepage url to http://haskell.org/gtk2hs/ * mk/common.mk: add $(AM_HCFLAGS) everywhere we currently have $(HCFLAGS), the HCFLAGS now belong to the user and are not set anywhere by the build system (except by ./configure --with-hcflags=) this allows the build system to use AM_HCFLAGS itself. * configure.ac: ghc 6.4 has slightly different dependency chasing behaviour (-M option) and it doesn't define WIN32 when cpp'ing .hs files so the dep generation for mogul chokes on windows because in the gtk/Graphics/UI/Gtk.hs file it conditionally imports things based on WIN32 being defined. So we need to supply -DWIN32 more globally. So set AM_HCFLAGS += -DWIN32 on win32. Also use AM_HCFLAGS for the default flags rather than HCFLAGS. Add a couple things to make it easier to generate the installer on windows. Set WIN32_INSTALLER if we're in packager mode on windows and find the Gtk installation prefix which is used in preparing the .pkg/.cabal files for the installer. * Makefile.am: don't add -DWIN32 to the gtk package's HCFLAGS since that is now added more globally. If WIN32_INSTALLER then do the package file variable substitution differently because the windows installer will do some of the substitutions later depending on where Gtk and Gtk2Hs happen to get installed on the end users machine. 2005-06-7 Duncan Coutts * acinclude.m4: add two new macros to replace the checkDirs script. GTKHS_PACKAGE_FILTER_CFLAGS(RESULT_CFLAGS, FILTER_CFLAGS, INPUT_CFLAGS) and there is a similar one for LDFLAGS. It assigns to RESULT_CFLAGS only the INPUT_CFLAGS that refer to existing directories and those that are not yet in the FILTER_CFLAGS. * configure.ac: change the calls to the checkDirs script for calls to the two new macros. In particular the global user supplied CFLAGS and LDFLAGS are not used as the FILTER_(C|LD)FLAGS as implicitly happened before and which caused build problems on OpenBSD. * configure.ac: make sure we only fail due to problems with the version of happy if we would actually use happy during the build (ie not in a normal distribution tarball). * configure.ac: bump version to 0.9.7.91, which is the first 0.9.8 release candidate. 2005-06-7 Axel Simon * configure.ac: Fail if happy version is less than 1.15. 2005-06-5 Duncan Coutts * Makefile.am: instead of doing the .pkg/.cabal file substitution in the install-data-local hook, do it in the install-exec-local hook because this happens before the .pkg/.cabal files get installed. 2005-06-3 Duncan Coutts * configure.ac: use the correct variable in the 32bit/64bit test. Since we're using the HSTOOLFLAGS when compiling .hs files, there's no need to have -Hxm in the default HCFLAGS, so it's now just -O. * acinclude.m4: fix macro to use the right variable, this fixes the --enable-packager-mode * mk/common.mk: use the HSTOOLFLAGS when compiling .hs files. Use the user supplied CFLAGS LDFLAGS and CPPFLAGS in the .hsc to .hs rule. * Makefile.am: use $(MAKE) rather than 'make' for systems with gmake. 2005-06-2 Duncan Coutts * tools/c2hs/c/CParser2.y: generalise the places where GNU C attributes are allowed, so hopefully they are now allowed wherever the old parser allowed them. Allow them after each declaration specifier rather than just at the end of a sequence of declaration specifiers. This fixes a parse error in the glib header files on windows. Also rename the GNU C attributes non-terminal and make it possibly empty so some other rules can be simplified. We still need a non-empty version however in one place to avoid a shidt/reduce conflict. * Makefile.am: include the parser and lexer .hs files in the distributed sources list so that users will not need alex and happy installed on their systems. Also make these files be cleaned only on distclean rather than a normal clean. * configure.ac: add an error message if one tries to configure using an external c2hs since this doesn't work. Modify the tests for alex and happy to only report errors if the tools would actually be needed. This test should deal with the case of a cvs checkout in which case alex and happy will be needed and should also deal with a normal distribution tarball which should not need alex and happy since the prebuilt source files will be included. * mk/common.mk: stick the heap limit right down since the new parser allows us to do this. Yay! * gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp: use pixbuf_savev_utf8 rather than pixbuf_savev only after Gtk+ 2.6.5 since this is when it was first added. This fixes building on widows with Gtk+ 2.6.0 to 2.6.4. * configure.ac: in packager mode make it default to --without-pkgreg since this is what most packagers will want. * configure.ac: add a test to detect if there is an old copy of config.h hanging around that might mess up the build. Also remove the -C-D__signed=signed option to c2hs since the c2hs lexer has recognised __signed as an alias of signed for quite some time now. * mk/common.mk, configure.ac: move the decision about what to set for the HSTOOLFLAGS from mk/common.mk to configure.ac which is a better place to make the decision and where we have access to more like whether we're runnning on a 32bit or 64bit machine. Also remove EXTRA_HFILES variable from configure.ac since it is not used anywhere. * mk/common.mk: pass all ld flags to ghc escaped with -optl. 2005-06-1 Duncan Coutts * tools/c2hs/c/CLexer2.x, tools/c2hs/c/CParser2.y: various tidying up; remove debugging code, remove unused code. Do some operations slightly more strictly. Add better error reporting facilites to the lexer / parser monad and use that do do propper error messages like in the original lexer and parser. * gtk/Graphics/UI/Gtk/Multiline/TextIter.chs.pp: change an #elif with an empty condition to a normal #else since older versions of gcc's cpp traditional mode do not like the former construct. 2005-06-01 Axel Simon * Makefile.am, configure.ac: Turn alex and happy into variables. Only check for these if we are building the local c2hs. 2005-05-31 Duncan Coutts * tools/c2hs/c/CLexer2.x: a new alex based C lexer. * tools/c2hs/c/CParser2.y: a new happy based C parser. * tools/c2hs/state/Switches.hs, tools/c2hs/toplevel/Main.hs: add a command line flag to switch beteen the old and new parsers. Also add an extra dump kind which dumps the C AST after parsing. * tools/c2hs/c/CAST.hs, tools/c2hs/base/syms/Attributes.hs, tools/c2hs/c/CPretty.hs: make the C AST showable and remove the existing Show instance which used the pretty printer (used in error messages). This change is only for the purposes of testing the new parser and is not permanent. * tools/c2hs/c/C.hs: switch between the two lexer & parser implementations at runtime depending on the command line flag. Change the tracing message so we can be sure which parser implementation is being used (use -d trace to see this). Add the C AST dump feature (use -d ast to get this dump). * Makefile.am: add the new files to the c2hs sources lists. Add rules for building the lexer and parser using alex and happy. Automake recognises .y files as belonging to yacc which is annoying so we have to do it slightly differently. 2005-05-21 Duncan Coutts * mogul/GetWidget.hs, mogul/MDialog.hs, mogul/Mogul.hs, mogul/NewWidget.hs, mogul/TreeList.hs, mogul/WidgetTable.hs: remove old files. * sourceview/SourceBuffer.chs, sourceview/SourceIter.chs, sourceview/SourceLanguage.chs, sourceview/SourceLanguagesManager.chs, sourceview/SourceMarker.chs, sourceview/SourceStyleScheme.chs, sourceview/SourceTag.chs, sourceview/SourceTagStyle.hsc, sourceview/SourceTagTable.chs, sourceview/SourceView.chs: remove more old files. * glib/System/Glib/Signals.chs.pp: arrange for GClosure to be defined and exported irrespective of USE_GCLOSUE_SIGNALS_IMPL so it can be used elsewhere. * glib/System/Glib/Signals.chs.pp, glib/System/Glib/FFI.hs: changed license from GPL to LGPL 2.1 * gtk/Graphics/UI/Gtk.hs: changed license from GPL to LGPL 2.1 and tidied up the module documentaion. * mogul/Graphics/UI/Gtk/Mogul/GetWidget.hs, mogul/Graphics/UI/Gtk/Mogul/MDialog.hs, mogul/Graphics/UI/Gtk/Mogul/NewWidget.hs, mogul/Graphics/UI/Gtk/Mogul/TreeList.hs, mogul/Graphics/UI/Gtk/Mogul/WidgetTable.hs, mogul/Graphics/UI/Gtk/Mogul.hs: changed license from GPL to LGPL 2.1 * sourceview/Graphics/UI/Gtk/SourceView/SourceBuffer.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceIter.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceLanguage.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceLanguagesManager.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceMarker.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceStyleScheme.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceTag.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceTagStyle.hsc, sourceview/Graphics/UI/Gtk/SourceView/SourceTagTable.chs, sourceview/Graphics/UI/Gtk/SourceView/SourceView.chs, sourceview/Graphics/UI/Gtk/SourceView.hs: changed license from GPL to LGPL 2.1 and added haddock header info. * tools/callbackGen/Signal.chs.template: changed license from GPL to LGPL 2.1 * gtk/Graphics/UI/Gtk/Abstract/Bin.chs: make binGetChild return Maybe. * gtk/Graphics/UI/Gtk/Abstract/Paned.chs.pp: make panedGetChild(1|2) return Maybe. * gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs.pp: make comboBoxSetModel accept the model argument in a Maybe type so it is possible to unset the model. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp: make textBufferGetIterAtLine folow the normal argument order convention. * gtk/Graphics/UI/Gtk/Ornaments/Frame.chs: make frameGetLabelAlign and frameSetLabelAlign get and set the yalign as well as just the xalign. * gtk/Graphics/UI/Gtk/TreeList/TreeView.chs.pp: make treeViewExpandRow folow the normal argument order convention and change the docs a bit. * APICHANGES: record these api changes. * TODO: add and remove various items. * gtk/Graphics/UI/Gtk/Selectors/FontButton.chs.pp: missed one when I changed the section name in the docs from "Properties" to "Attributes" 2005-05-19 Duncan Coutts * gtk2hs.iss.in: do a better job at checking version numbers. Display version number of GHC and Gtk+ in the "ready to install" wizzard page. Add check for Gtk+ 2.6.7 which don't work. Change it to be a multi installer that installs for Gtk+ 2.4.x or 2.6.x depending on the version installed. 2005-05-18 Duncan Coutts * gtk2hs.iss.in: Inno Setup installer script. This is currently only for the 0.9.7.1 windows release and only for the gtk-2.6 build. It does now detect ghc and gtk in what should be a reasonably robust manner. 2005-05-18 Axel Simon * demo/fastDraw/FastDraw.hs: Made it a bit more interesting. Showed how to increase performance. 2005-05-16 Duncan Coutts * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: use new properties functions. * gtk/Graphics/UI/Gtk/Selectors/FileChooserButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserWidget.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: conditional compilation fixes for Gtk+ versions before 2.4. * tools/callbackGen/HookGenerator.hs: liberalise the type of boxed object marshalers from (Ptr a -> IO a) to (Ptr a' -> IO a) so we can give marshExposeRect its natural type of (Ptr Event -> IO Rectangle). * gtk/Graphics/UI/Gtk/Gdk/Events.hsc: compilation fix in definition of Event's Key data constructor (I assume this is what was intended). A couple haddock fixes. Add type signature to marshExposeRect (since it is exported and would otherwise get type Ptr a -> IO Rectangle). * tools/apiGen/Api.hs: correct spelling error (which actually broke the parser). * tools/apiGen/CodeGen.hs: rename the documentation section heading from "Properties" to "Attributes" since that's what we seem to be calling them these days. Generate attribute definitions using the new attributes API and the new GObject properties convenience functions. * tools/apiGen/Marshal.hs: supporting change to the above attributes / properties change: return the Haskell type of properties rather than the GenericValue constructor. Also add marshaling for a couple extra types. * tools/apiGen/FormatDocs.hs: add 'data' to the illegal identifier / keywords list. * tools/apiGen/MarshalFixup.hs: add various extra functions to the fixup tables. Add 5 extra functions to the win32 "_utf8" file name functions list. * gtk/Graphics/UI/Gtk/Buttons/Button.chs.pp gtk/Graphics/UI/Gtk/Entry/Entry.chs.pp gtk/Graphics/UI/Gtk/MenuComboToolbar/CheckMenuItem.chs.pp gtk/Graphics/UI/Gtk/MenuComboToolbar/Toolbar.chs.pp, gtk/Graphics/UI/Gtk/Windows/WindowGroup.chs: conditional compilation fixes for Gtk+ versions before 2.4. * tools/hierarchyGen/hierarchy.list: GtkWindowGroup has been around since Gtk 2.0, not Gtk 2.4. 2005-05-15 Axel Simon * APICHANGES: Report on how events have changed. * demo/fastdraw/FastDraw.hs: Fixed a Gtk warning on resizing. * glib/System/Glib/Flags.hs: Added a comment for us on how not to change the toFlags function. * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: Added comments to certain event handlers. Added the canFocus property. * gtk/Graphics/UI/Gtk/Gdk/DrawWindow.chs.pp: Fixed documentation for drawPixbuf. * gtk/Graphics/UI/Gtk/Gdk/Enums.chs, gtk/Graphics/UI/Gtk/General/Enums.chs.pp, gtk/Graphics/UI/Gtk/General/StockItems.hsc, gtk/Graphics/UI/Gtk/Gdk/Events.hsc: Added more documentation. 2005-05-15 Duncan Coutts * gtk/Graphics/UI/Gtk/Layout/Notebook.chs.pp: fixes for building with Gtk+ 2.0. 2005-05-14 Axel Simon * gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp, gtk/Graphics/UI/Gtk/Display/Label.chs.pp: Don't import Gtk 2.6 enums when compiling for 2.4. 2005-05-14 Duncan Coutts * glib/System/Glib/GObject.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs.pp, gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp, gtk/Graphics/UI/Gtk/General/General.chs, gtk/Graphics/UI/Gtk/Selectors/FileFilter.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeView.chs.pp, gtk/Graphics/UI/Gtk/Windows/AboutDialog.chs.pp: rename mkFunPtrDestructor to mkFunPtrDestroyNotify so it does not clash with a function of the same name from glib's Signals module. (The version from the glib Signals module is renamed to mkFunPtrClosureNotify.) * gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp, gtk/Graphics/UI/Gtk/Display/Image.chs.pp, gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileSelection.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: add win32 _utf8 variants for a handful of newly bound functions that use file names. This should fix the build on win32. * gtk/Graphics/UI/Gtk/Pango/Enums.chs.pp: the EllipsizeMode enum was added in some later version of Pango. Gtk+ 2.6 depends on this later Pango version so we can bind it for Gtk+ 2.6 and later. * glib/System/Glib/Signals.chs, glib/System/Glib/Signals.chs.pp: rename to .chs.pp so we can add conditional stuff. * glib/System/Glib/Signals.chs.pp: add back code used in the old signals implementation, and compile it conditionaly on USE_GCLOSUE_SIGNALS_IMPL not being defined. * tools/callbackGen/HookGenerator.hs: add the old signals generation code, and use it when USE_GCLOSUE_SIGNALS_IMPL is not defined. When it is defined, code that uses the new GClosure based signals implementation is generated instead. * configure.ac: add code to decide when to use the new or old signals implementation. We use the new implementation for sparc and amd64 arches and we intend to use it for ghc 6.4.1 when it will hopefully work with GHCi (not yet tested). Otherwise we use the old implementation. Define USE_GCLOSUE_SIGNALS_IMPL depending on the decision. Also use simpler way of getting the ghc version string. * Makefile.am: rename Signals.chs to Signals.chs.pp. Add -I. to the HookGenerator's HCFLAGS so it can #include gtk2hs-config.h to get at the USE_GCLOSUE_SIGNALS_IMPL define. When using the new GClosure-based signals implementation we need to compile and link in hsgclosure.c. When using the old signals implementation, the various Signals modules use ffi import wrapper and so we need to link in the _stub.o files. Also, add gtk/Graphics/UI/Gtk/Gdk/PixbufData.hs to html_HSFILES_HIDDEN so the docs build ok. * Makefile.am: remove tools/c2hs/base/general/FiniteMaps.hs from the c2hs sources list that I accidentally comitted recently. * glib/System/Glib/GValueTypes.chs: bug fix. The GValue needs to be initialised to hold an object type before it is set. * gtk/Graphics/UI/Gtk/Gdk/DrawWindow.chs.pp, gtk/Graphics/UI/Gtk/Gdk/GC.chs, gtk/Graphics/UI/Gtk/General/General.chs: change use of deprecated function 'withObject' to its replacement 'with'. * gtk/Graphics/UI/Gtk/Abstract/Container.chs: minor doc fix. Also add a new property 'containerChild' which is a write only property that can be used to add a new child to the container. Eg instead of saying: containerAdd window button you can say: set window [ containerChild := button ] 2005-05-11 Duncan Coutts * acinclude.m4: add extra GTKHS_PKG_CHECK macro which does a whole bunch of stuff. It's used for each optional package that corresponds to a pkg-config package. It adds an --enable-* configure flag and sets FLAGS etc. * configure.ac: don't use AM_PROG_CC_C_O since we don't need C subdir-objects support and this marco causes problems for autotools on debian. Remove the GHC_INCLUDEDIR since we don't need it, we can just use ghc to complie C fles, and ghc knows it's own include dir. Add an --enable-packager-mode flag. It disables automatic package selection which is good for packagers who want control over dependencies. Use the new GTKHS_PKG_CHECK for each package. Also, we don't need the pkg-config check because the PKG_CHECK_MODULES does that anyway. * mk/common.mk: add a build rule for C files. It puts the .o file in the subdir correctly. It uses $(HC) as the C compiler, passing all gcc-specific flags via ghc's -optc flag. * Makefile.am: remove the subdir-objects obtion since we don't need it and also add no-dependencies since we don't need the C dependency tracking feature (and it reduces the clutter of build files). Make each optional package be guarded by it's own ENABLE_ flag rather than grouping several under ENABLE_GNOME. Remove th rule for building glib/System/Glib/hsgclosure.c since the general rule takes care of it. For the installation phase, do the variable substitution on the .pkg / .cabal files we install so that they can be registered without the packager having to do the substitution (which in the case of the ${modules} substitution would be too hard to do). 2005-05-11 Axel Simon * gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp, gtk/Graphics/UI/Gtk/Gdk/PixbufData.hs: Make Pixbuf data available as MArray. * demo/fastdraw/FastDraw.hs demo/fastdraw/Makefile: New demo that shows how to use onExposeRegion and the Pixbuf as an MArray. * gtk/Graphics/UI/Gtk/Gdk/Drawable.chs.pp: Documentation fix. * Makefile.am: Added new demo an PixbufData.hs. 2005-05-10 Axel Simon * gtk/Graphics/UI/Gtk/ActionMenuToolbar/Action.chs.pp, gtk/Graphics/UI/Gtk/Buttons/Button.chs.pp: When compiling for Gtk 2.4, remove attributes that can't be set. * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp, gtk/Graphics/UI/Gtk/Gdk/Events.hsc: Add an onExposeRegion handler that delivers a Region for redrawing instead of a Rectangle. 2005-05-8 Duncan Coutts * glib/System/Glib/Flags.hs: new module defining the Flags type class. Copied from Gdk.Enums module. Change class methods into ordinary functions and reimplement toFlags function so that it works. Tested with QuickCheck. * gtk/Graphics/UI/Gtk/Gdk/Enums.chs: remove Flags class definition and import System.Glib.Flags instead. Also, don't re-export Flags class and functions so other modules will explicitly import it. * gtk/Graphics/UI/Gtk/General/Enums.chs.pp, gtk/Graphics/UI/Gtk/Gdk/DrawWindow.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeModel.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileFilter.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextIter.chs.pp, gtk/Graphics/UI/Gtk/Misc/Calendar.chs.pp, gtk/Graphics/UI/Gtk/Layout/Table.chs, gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp, sourceview/Graphics/UI/Gtk/SourceView/SourceIter.chs: import Flags from System.Glib.Flags rather than Graphics.UI.Gtk.(General|Gdk).Enums * glib/System/Glib/Attributes.hs: don't export Attr data constructor. * glib/System/Glib/Properties.chs: don't import Attr data constructor. Import flags from new Flags module and define objectGetPropertyFlags, objectSetPropertyFlags and newAttrFromFlagsProperty. * Makefile.am: add new module and move Attributes compile flags to here rather than {-# OPTIONS #-} pragma in the module itself. * gtk/Graphics/UI/Gtk.hs: export attributes API * docs/tutorial/Makefile: change base-url to new website * gtk/Graphics/UI/Gtk/ActionMenuToolbar/Action.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs.pp, gtk/Graphics/UI/Gtk/Display/Image.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontSelection.chs: haddock fixes, change "" to \"\" in several places. * gtk/Graphics/UI/Gtk/Embedding/Embedding.hsc, gtk/Graphics/UI/Gtk/Gdk/Drawable.chs.pp, gtk/Graphics/UI/Gtk/Gdk/GC.chs, gtk/Graphics/UI/Gtk/Gdk/Pixbuf.chs.pp, gtk/Graphics/UI/Gtk/Gdk/Region.chs.pp, gtk/Graphics/UI/Gtk/General/General.chs, gtk/Graphics/UI/Gtk/General/StockItems.hsc, gtk/Graphics/UI/Gtk/General/Structs.hsc, gtk/Graphics/UI/Gtk/Pango/Enums.chs.pp, gtk/Graphics/UI/Gtk/Pango/Markup.hs, gtk/Graphics/UI/Gtk/Pango/Rendering.chs.pp, gtk/Graphics/UI/Gtk/Pango/Types.chs.pp, gtk/Graphics/UI/Gtk/TreeList/CellRenderer.hs: fix maintainer email address so it doesn't contain unnecessary '\'. * gtk/Graphics/UI/Gtk/Gdk/Gdk.chs, gtk/Graphics/UI/Gtk/Gdk/Keys.chs: change {# context lib= to "gdk" rather than "libgdk" and fix maintainer email address. * gtk/Graphics/UI/Gtk/Pango/Description.chs: import Systems.Glib.Flags 2005-05-7 Duncan Coutts * glib/System/Glib/GValueTypes.chs: make valueSetString deal with String rather than Maybe String, and introduce value(G|S)etMaybeString for the latter. * glib/System/Glib/StoreValue.hsc: knock on change from the above. * glib/System/Glib/Attributes.hs: add the full attributes API and the Prop and get/set user facing API. This module is completely standalone so it should be reusable or easy to swap out and depend on an external implementaion should that be necessary (eg for hscairo integration). * glib/System/Glib/Properties.chs: add more property get/set functions and add convenience functions for making attributes that are based on GObject properties. * gtk/Graphics/UI/Gtk/Abstract/Box.chs, gtk/Graphics/UI/Gtk/Abstract/ButtonBox.chs.pp, gtk/Graphics/UI/Gtk/Abstract/Container.chs, gtk/Graphics/UI/Gtk/Abstract/Misc.chs, gtk/Graphics/UI/Gtk/Abstract/Paned.chs.pp, gtk/Graphics/UI/Gtk/Abstract/Range.chs, gtk/Graphics/UI/Gtk/Abstract/Scale.chs, gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: use the new attributes API and add a few new attributes. Also change the name of the section in the documentation from "Properties" to "Attributes" since this is what we seem to be calling them. * gtk/Graphics/UI/Gtk/ActionMenuToolbar/Action.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ToggleAction.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp: as above. * gtk/Graphics/UI/Gtk/Buttons/Button.chs.pp, gtk/Graphics/UI/Gtk/Buttons/RadioButton.chs, gtk/Graphics/UI/Gtk/Buttons/ToggleButton.chs: changes as above. * gtk/Graphics/UI/Gtk/Display/AccelLabel.chs, gtk/Graphics/UI/Gtk/Display/Image.chs.pp, gtk/Graphics/UI/Gtk/Display/Label.chs.pp, gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp, gtk/Graphics/UI/Gtk/Display/Statusbar.chs: changes as above. * gtk/Graphics/UI/Gtk/Entry/Editable.chs.pp, gtk/Graphics/UI/Gtk/Entry/Entry.chs.pp, gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp, gtk/Graphics/UI/Gtk/Entry/SpinButton.chs: changes as above. * gtk/Graphics/UI/Gtk/Layout/Alignment.chs.pp, gtk/Graphics/UI/Gtk/Layout/AspectFrame.chs, gtk/Graphics/UI/Gtk/Layout/Expander.chs.pp, gtk/Graphics/UI/Gtk/Layout/Fixed.chs, gtk/Graphics/UI/Gtk/Layout/Layout.chs, gtk/Graphics/UI/Gtk/Layout/Notebook.chs.pp, gtk/Graphics/UI/Gtk/Layout/Table.chs: changes as above. * gtk/Graphics/UI/Gtk/MenuComboToolbar/CheckMenuItem.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Combo.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBoxEntry.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ImageMenuItem.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/Menu.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuItem.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/OptionMenu.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/RadioToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/SeparatorToolItem.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToolItem.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Toolbar.chs.pp: changes as above. * gtk/Graphics/UI/Gtk/Misc/Adjustment.chs, gtk/Graphics/UI/Gtk/Misc/Arrow.chs, gtk/Graphics/UI/Gtk/Misc/Calendar.chs.pp, gtk/Graphics/UI/Gtk/Misc/EventBox.chs.pp, gtk/Graphics/UI/Gtk/Misc/HandleBox.chs, gtk/Graphics/UI/Gtk/Misc/SizeGroup.chs, gtk/Graphics/UI/Gtk/Misc/Viewport.chs: changes as above. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextIter.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextMark.chs, gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp: changes as above. * gtk/Graphics/UI/Gtk/Ornaments/Frame.chs, gtk/Graphics/UI/Gtk/Scrolling/ScrolledWindow.chs: changes as above. * gtk/Graphics/UI/Gtk/Selectors/ColorButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/ColorSelection.chs, gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileFilter.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileSelection.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontSelection.chs, gtk/Graphics/UI/Gtk/Selectors/FontSelectionDialog.chs: as above. * gtk/Graphics/UI/Gtk/Selectors/FileChooserDialog.chs.pp: knock on change from renaming valueSetString to valueSetMaybeString. * gtk/Graphics/UI/Gtk/TreeList/CellView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/IconView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp: changes as above. * gtk/Graphics/UI/Gtk/TreeList/TreeView.chs.pp: attribute changes as above and also tidy up some binding code renaming treeView(G|S)et(H|V)adjustment to treeView(G|S)et(H|V)Adjustment. * gtk/Graphics/UI/Gtk/TreeList/TreeViewColumn.chs.pp: attribute changes as above and also improve module level documentation. * gtk/Graphics/UI/Gtk/Windows/AboutDialog.chs.pp, gtk/Graphics/UI/Gtk/Windows/Dialog.chs, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: attribute changes as above. * APICHANGES: new file to record API changes that may affect users. Add note about the renaming of treeView(G|S)et(H|V)adjustment to treeView(G|S)et(H|V)Adjustment. 2005-04-28 Duncan Coutts * Makefile.am: add gconf/System/Gnome/GConf/marshal.list to EXTRA_DIST 2005-04-25 Duncan Coutts * docs: new directory. * Makefile.am: change where the haddock reference docs will be built from doc/ to docs/reference * docs/tools: new directory for tools used in building tutorial and other documentation. * docs/tools/AddLinks.hs: txt2tags post-processing tool for adding hyperlinks to haddock reference docs and Haskell syntax highlighting to code examples used in txt2tags verbatim sections. * docs/tutorial/Makefile: a makefile with rules for building .xhtml and .pdf files from corresponding .t2t files. Also builds and invokes the AddLinks post-processor. 2005-04-20 Duncan Coutts * gtk/Graphics/UI/Gtk/TreeList/TreeIter.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreePath.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeRowReference.chs.pp: new modules, split these out from the TreeModel module. Add various useful marshaling functions to that the marshaling code in the other tree model/view modules can be much more concise. * gtk/Graphics/UI/Gtk/TreeList/CellRenderer.hs: add module documentation. * gtk/Graphics/UI/Gtk/TreeList/CellRendererPixbuf.chs: add module documentation and trivial code changes. * gtk/Graphics/UI/Gtk/TreeList/CellRendererText.chs: various minor changes. Rewrite onEdited/afterEdited signal marshalers to be much simpler. * gtk/Graphics/UI/Gtk/TreeList/CellRendererToggle.chs: add module documentation and code formatting changes. * gtk/Graphics/UI/Gtk/TreeList/CellView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/IconView.chs.pp: adust imports and make use of new marshaling utilities to simplify code. * gtk/Graphics/UI/Gtk/TreeList/ListStore.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeStore.chs.pp: code formatting changes and make use of new marshaling utilities to simplify code. Also adust imports and other trivial changes. * gtk/Graphics/UI/Gtk/TreeList/TreeModel.chs.pp: move the implementation of TreeIter, TreePath and TreeRowReference to their own modules. Also code formatting changes and some minor documentation changes. * gtk/Graphics/UI/Gtk/TreeList/TreeModelSort.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeSelection.chs.pp: adust imports and make use of new marshaling utilities to simplify code. Also code formatting changes and some minor documentation changes. * gtk/Graphics/UI/Gtk/TreeList/TreeView.chs.pp: adust imports and code formatting changes. * gtk/Graphics/UI/Gtk/TreeList/TreeViewColumn.chs.pp: code formatting changes. * Makefile.am: add the three new files to the gtk sources list and move a couple others to a more appropriate place. * gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs.pp, gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp: adjust imports due to TreeIter now living it it's own module. * gtk/Graphics/UI/Gtk.hs: TreeModel no longer exports so many internal functions so they do not need to be hidden. * Makefile.am: add missing _stub.o file to libHSgtk_a_LIBADD 2005-04-19 Duncan Coutts * tools/hierarchyGen/Hierarchy.chs.template, tools/hierarchyGen/TypeGen.hs: factor out common code from the down casting functions into another function and reimplement the originals in terms of that. Saves a bit of code space. * glib/System/Glib/GTypeConstants.hsc: new file defining some GType constant values that were previously defined via TMType. * glib/System/Glib/GValue.chs: move GenericValue definition to StoreValue module. Make GValue into a newtype which no longer depends on GenericValue. Also add a couple utility functions. Also convert license to LGPL. * glib/System/Glib/GParameter.hsc: GValue is now a newtype requiring a minor change. Also convert license to LGPL. * glib/System/Glib/GValueTypes.chs: make the valueSet* functions call valueInit since these functions do not get used in any other circumstance and it localises knowledge of the GType. Also comment out the CChar versions since it is not clear if we need them. Also convert license to LGPL. * glib/System/Glib/StoreValue.hsc: new home of GenericValue deinition until it is eliminated entirely. Comment out the constructors that are unsafe or in the case of the CChar ones how they are to be used. Instead of making GenericValue an instance of Storable, define value(G|S)etGenericValue functions similar to the ones in GValueTypes. Also convert license to LGPL. * glib/System/Glib/Types.chs, glib/System/Glib/GType.chs, glib/System/Glib/GObject.chs.pp, glib/System/Glib/GList.chs, glib/System/Glib/GError.chs.pp, glib/System/Glib/UTFString.hs: convert license to LGPL. * glib/System/Glib/Properties.chs: new module with GObject property getter / setter functions that will be used in the implementation of 'Attr's in the other modules. * gtk/Graphics/UI/Gtk/Abstract/Container.chs: changes due to GValue/GenericValue change. Also tidy up a bit of marshaling code to make it use the usual marshaling functions. * gtk/Graphics/UI/Gtk/Abstract/Object.chs.pp: re-implement objectSetProperty and objectGetProperty in terms of the new glib functions rather than the direct implemntation. * gtk/Graphics/UI/Gtk/Misc/Adjustment.chs: change from using the generic object(G|S)etProperty functions to the new type specific ones. * gtk/Graphics/UI/Gtk/Selectors/FileChooserDialog.chs.pp: change the marshaling of GValue to not use GenericValue. * gtk/Graphics/UI/Gtk/TreeList/TreeModel.chs.pp, gtk/Graphics/UI/Gtk/TreeList/TreeStore.chs.pp, gtk/Graphics/UI/Gtk/TreeList/ListStore.chs.pp: minor changes necessary due to the changes in GenericValue, it moving module and no longer being an instance of Storable. * Makefile.am: build support for the new modules. * mk/common.mk: make .hsc -> .hs transform work with ghc 6.2 2005-04-18 Duncan Coutts * tools/apiGen/Makefile: re-do the makefile so it scales to more packages and add lots more packages. Not all of these will build yet as it requires a few more code gen fixes. * tools/apiGen/mkdocxml.sh: add support for alternate style of gtk-doc xml documentation files which a nmber of the new packages use. * tools/apiGen/gtk-sources.xml, tools/apiGen/gnomecanvas-sources.xml, tools/apiGen/glade-sources.xml, tools/apiGen/glade-sources.xml, tools/apiGen/gdk-sources.xml: update the source spec files to reflect slightly changed dir names. * tools/apiGen/gconf-sources.xml, tools/apiGen/gda-sources.xml, tools/apiGen/gnomedb-sources.xml, tools/apiGen/gnome-sources.xml, tools/apiGen/gnomeui-sources.xml, tools/apiGen/gnomeprint-sources.xml, tools/apiGen/gnomeprintui-sources.xml, tools/apiGen/gnomevfs-sources.xml, tools/apiGen/gtkhtml2-sources.xml, tools/apiGen/gtkhtml3-sources.xml, tools/apiGen/sourceview-sources.xml, tools/apiGen/vte-sources.xml: add a bunch of new source spec files. * tools/apiGen/CodeGen.hs: make it a warning rather than an error for an object to not inherit from GObject. * tools/apiGen/Docs.hs: be more liberal in parsing nested paragraphs. 2005-04-15 Duncan Coutts * tools/apiGen/Api.hs, tools/apiGen/ApiGen.hs, tools/apiGen/CodeGen.hs: also extract info for boxed objects and generate (partial) binding modules. 2005-04-14 Duncan Coutts * tools/apiGen/Api.hs: extract information about classes. Basically just consist of methods. * tools/apiGen/ApiGen.hs: generate bindig modules for classes. Fix doc identifier to module name mapping so we can specify it manually when it doesn't match up right. Fix rcs annoyance. * tools/apiGen/CodeGen.hs: add code for converting a class to a basic object so we can generate code for classes. Add classes into the type map. Rework the code that inserts preprocessor directives to allow them to nest and work the way a human would write them (possibly slightly pointless but it was an interesting challenge!). * tools/apiGen/FormatDocs.hs: fix syntax of character constants to be compatible with GHC 6.4. * tools/apiGen/Marshal.hs: add marshaling for possibly NULL TreeIters and add special case for casts in GtkToolItem constructors. * tools/apiGen/MarshalFixup.hs: Add a function to allow us to manually override the mapping from type names to documentation identifiers so we can generate code with documentation for some modules where the documentation title does not match the type name. Also add wadges of extra info into the existing tables. * tools/apiGen/gtk.ignore: add more functions we don't need to bind. * gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: since the code generator now is more frugal in adding #ifdefs add the corresponding changes in a couple modules. These are the only ones since the others had been done by hand in the first place. 2005-04-13 Axel Simon * Makefile.am: Clean dependencies on on 'make clean' (instead of 'make distclean'. Do not build dependencies on 'make clean'. 2005-04-13 Duncan Coutts * gtk/Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs.pp, gtk/Graphics/UI/Gtk/Buttons/RadioButton.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/RadioMenuItem.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/RadioToolButton.chs.pp: sort out the radio button API and docs. Change the recently added modules to match the API of the existing radio modules ie the groups are not given as lists but by represetative members. Improve the docs to try and better explain this slightly odd API style. * Makefile.am, gtk/Graphics/UI/Gtk/Display/ProgressBar.chs, gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp: rename to .pp in preparation for adding new methods. * gtk/Graphics/UI/Gtk/Display/ProgressBar.chs.pp: add a new property and its associated getter and setter methods. * gtk/Graphics/UI/Gtk/Entry/Entry.chs.pp: export method that was already implemented but accidentally not exported. * gtk/Graphics/UI/Gtk/MenuComboToolbar/Menu.chs.pp: add new method. 2005-04-12 Duncan Coutts * mk/common.mk: change the way gtk2hs-config.h is used during .hsc -> .hs transforms. It is now only used during the cpp phase and is not output into the .hs file as a {-# INCLUDE "gtk2hs-config.h" #-} pragma. This means that it does not used at compile time (and so compiling -fvia-C does not complain that gtk2hs-config.h cannot be found). * gtk/Graphics/UI/Gtk/MenuComboToolbar/ToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ToggleToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/RadioToolButton.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/SeparatorMenuItem.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/SeparatorToolItem.chs.pp: add several new modules, the *ToolButton ones that go with the "action-based menu and toolbar api" and a couple other simple modules. This adds about 0.8Kloc. * gtk/Graphics/UI/Gtk/ActionMenuToolbar/Action.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ActionGroup.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/RadioAction.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/ToggleAction.chs.pp, gtk/Graphics/UI/Gtk/ActionMenuToolbar/UIManager.chs.pp: add the "action-based menu and toolbar api" modules. This adds about 1.6Kloc. * gtk/Graphics/UI/Gtk.hs: export newly added modules. * Makefile: build newly added modules. * tools/hierarchyGen/hierarchy.list: add GtkSeparatorMenuItem and GtkMenuToolButton classes to hierarchy. 2005-04-11 Duncan Coutts * glib/System/Glib/FFI.hs: add withForeignPtrs function which is useful when it comes to marshaling lists of GObjects. * glib/System/Glib/GList.chs: remove unused function. * glib/System/Glib/UTFString.hs: add two new string marshaling functions, peekUTFStringArray and peekUTFStringArray0 for marshaling arrays of strings. * gtk/Graphics/UI/Gtk/Abstract/Container.chs: don't use local definition of withForeignPtrs, use new general version. * gtk/Graphics/UI/Gtk/Selectors/FileSelection.chs.pp: bind three more methods. We need to think about the file name encoding issue again. * gtk/Graphics/UI/Gtk/Windows/AboutDialog.chs.pp: bind three more methods and four more properties. Also tidy up docs a tad. * configure.ac: rename config.h to gtk2hs-config.h which eliminates clashes with the config.h from ghc and consequently allows the --disable-depricated option to work. * Makefile.am: The mogul modules #include our config headder file and so we need to -I. for the mogul modules. Also rename CONFIG_H to CONFIG_HEADER since that's the name of the builtin variable. * mk/common.mk: remove CONFIG_H definition and rely on builtin var CONFIG_HEADER instead. Also -I. when doing the .hsc -> .hs transforms so it can find the local gtk2hs-config.h (previously it accidentally imported the ghc's config.h) * mogul/Graphics/UI/Gtk/Mogul/GetWidget.hs, mogul/Graphics/UI/Gtk/Mogul/NewWidget.hs, mogul/Graphics/UI/Gtk/Mogul.hs: rename config.h to gtk2hs-config.h * gtk/Graphics/UI/Gtk/General/Structs.hsc: add {-# OPTIONS -cpp #-} so that #ifndef DISABLE_DEPRECATED works. 2005-04-8 Duncan Coutts * gtk/Graphics/UI/Gtk/Windows/AboutDialog.chs.pp, gtk/Graphics/UI/Gtk/Windows/AboutDialog.chs, Makefile.am: accidentally committed the .chs file rather than the .chs.pp file and was using that in Makefile.am as well. So fix all that. * glib/System/Glib/GList.chs: add readGList function needed for some new modules. Remove unused ptrToInt function. * glib/System/Glib/FFI.hs, tools/hierarchyGen/TypeGen.hs, tools/hierarchyGen/Hierarchy.chs.template, gtk/Graphics/UI/Gtk/General/Structs.hsc, mogul/Graphics/UI/Gtk/Mogul/WidgetTable.hs, sourceview/Graphics/UI/Gtk/SourceView/SourceTagTable.chs: change use of foreignPtrToPtr to unsafeForeignPtrToPtr and provide backwards compatability for GHC pre-6.2. * gtk/Graphics/UI/Gtk/Entry/HScale.chs, gtk/Graphics/UI/Gtk/Layout/HBox.chs, gtk/Graphics/UI/Gtk/Layout/HButtonBox.chs, gtk/Graphics/UI/Gtk/Layout/HPaned.chs, gtk/Graphics/UI/Gtk/Layout/VBox.chs, gtk/Graphics/UI/Gtk/Layout/VButtonBox.chs, gtk/Graphics/UI/Gtk/Layout/VPaned.chs, gtk/Graphics/UI/Gtk/Ornaments/HSeparator.chs, gtk/Graphics/UI/Gtk/Ornaments/VSeparator.chs: just for fun, last trivial change so that these modules are exactly the same as those produced by the code generator! * gtk/Graphics/UI/Gtk/Misc/Calendar.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/Combo.chs.pp: fix compilation with DISABLE_DEPRECATED. 2005-04-08 Axel Simon * Makefile.am: Add a comment on why make clean builds dependencies. * gtk/Graphics/UI/Gtk/Buttons/Button.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp, gtk/Graphics/UI/Gtk/Windows/Window.chs.pp, tools/hierarchyGen/hierarchy.list: Corrected conditional compilation so that it compiles with Gtk 2.4. 2005-04-7 Duncan Coutts * gtk/Graphics/UI/Gtk/Abstract/Paned.chs.pp: add several new signals * gtk/Graphics/UI/Gtk/Abstract/Range.chs: tidy up header and export list. Unfortunately, we cannot export onValueChanged at the moment since it clashes with the same signals from another module. * gtk/Graphics/UI/Gtk/Abstract/Scrollbar.hs: add extra module level documentation. * gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp: bind 26 extra functions. Update TODO list and other minor changes. * gtk/Graphics/UI/Gtk/Buttons/Button.chs.pp: bind two new functions. * gtk/Graphics/UI/Gtk/Display/Image.chs.pp: bind a few more functions and a property. * gtk/Graphics/UI/Gtk/Display/Label.chs.pp: bind 10 more methods and a few properties. Update docs to refer to PangoLayout rather than Layout. * gtk/Graphics/UI/Gtk/Embedding/Plug.chs, gtk/Graphics/UI/Gtk/Embedding/Socket.chs: merge from generated modules. Code formatting and documentation changes. * gtk/Graphics/UI/Gtk/Gdk/Region.chs.pp: change use of deprecated function 'withObject' to 'with'. Remove support for ghc pre 5.04. * gtk/Graphics/UI/Gtk/MenuComboToolbar/ComboBox.chs.pp: add bindings for several new methods and properties. * gtk/Graphics/UI/Gtk/MenuComboToolbar/Menu.chs.pp: add one extra method. * gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuShell.chs.pp: add a couple extra methods. * gtk/Graphics/UI/Gtk/Entry/EntryCompletion.chs.pp: add bindings for several new methods, properties and signals. * gtk/Graphics/UI/Gtk/Gdk/Enums.chs: add 4 extra enums that are needed for new Windows methods. * gtk/Graphics/UI/Gtk/Layout/Fixed.chs: trivial doc changes. * gtk/Graphics/UI/Gtk/Layout/Notebook.chs.pp: export a method that we already bound but not exported. * gtk/Graphics/UI/Gtk/Pango/Types.chs.pp: Remove support for older ghc * gtk/Graphics/UI/Gtk/Scrolling/ScrolledWindow.chs, gtk/Graphics/UI/Gtk/Misc/EventBox.chs.pp, gtk/Graphics/UI/Gtk/Misc/Viewport.chs: simple documentation changes. * gtk/Graphics/UI/Gtk/Pango/Enums.chs.pp: add an extra enum needed by new Label methods. * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp: add bindings for a few more methods. * gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp: add bindings for a few new methods and a couple properties. * gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp: add binding to an extra proerty and its getter/setter methods. * gtk/Graphics/UI/Gtk/Windows/Window.chs.pp: add bindings for another 20 methods. * gtk/Graphics/UI/Gtk/Selectors/FileChooserButton.chs.pp: add myself as author. * gtk/Graphics/UI/Gtk/TreeList/CellView.chs.pp: fix bug caused by overlapping patterns. * Makefile.am: rename several modules to .pp (I swear I committed this before!) * Makefile.am: remove gcc flag -Wextra since older gcc versions do not understand it. 2005-04-6 Duncan Coutts * tools/callbackGen/gtkmarshal.list: tidy up slightly, and add extra marshaler since it'll be needed soon. * tools/hierarchyGen/hierarchy.list: add an extra class to hierarchy. * glib/System/Glib/hsgclosure.c, glib/System/Glib/hsgclosure.h: add support for an alternative way of doing signals. We have one single 'generic' marshaler implemented in C using glib's GClosure system. It uses GHC's public rts api to invoke Haskell callbacks, passing parameters of the appropriate types. * glib/System/Glib/Signals.chs: add Haskell-side interface to the new marshaling code. Basically adds connectGeneric which is used by all the per-type marshaling functions. * Makefile.am: build support for new marshalign modules. We need GHC_INCLUDEDIR so we can get at the GHC rts headder files. * configure.ac: provide GHC_INCLUDEDIR, which is bascially just `$GHC --print-libdir`/include * tools/callbackGen/HookGenerator.hs, tools/callbackGen/Signal.chs.template: modify the callback marshaler code generator to generate marshalers that use the new GClosure-based marshaling system. Change the signals template so that it import the System.Glib.Signals code rather than defining everything locally. Also parameterise by the module name so we can have more than a single global Signals module. The code dealing with the Sparc 4 word marshaling restriction has been dropped as it is no longer a problem. * Makefile.am: change the way gtk/Graphics/UI/Gtk/Signals.chs is built. The template file and the module name are now explictly specified. Also, the module no longer has any foreign "wrapper" imports so there is no longer any Signals_stub.o file. * configure.ac: remove the check for the four word callback issue since it is no longer relevant. Also remove support for providing an alternate gtkmarshal.list file since it it is not used. * gconf/System/Gnome/GConf/marshal.list: add local marshal list that contains the callback types that gconf needs. * Makefile.am: generate a Signals module for the gconf package. Also make it inherit it's build settings from glib rather than gtk. * gconf/System/Gnome/GConf/GConfClient.chs: import local Signals module so that we can eliminate the dependency of the gconf package on gtk package. * gconf/gconf.cabal.in, gconf/gconf.pkg.in: change the dep from gtk to glib. * configure.ac: change the gconf flags so that they inherit from glib rather than gtk. * tools/callbackGen/gtkmarshal.list: remove the marhsaler that was only needed by gconf. * tools/apicoverage/Makefile: cure bit rot in apicoverage tool * tools/apicoverage/gtk.ignore: ignore the _utf8 variants that exist for some functions. * tools/apiGen/ApiGen.hs, tools/apiGen/Template.chs: fix rcs tags. * tools/apiGen/CodeGen.hs: minor bug fixes. * tools/apiGen/FormatDocs.hs: rename a function. Allow us to fix when a module is available from since the mechanism we use to detect this does not always work. * tools/apiGen/Marshal.hs: rename a function. Add marshaling support for GdkColor and improve support for GtkTreePath. * tools/apiGen/MarshalFixup.hs: add fixup info for the version when a module is available from. Generalise stripKnownPrefixes to cTypeNameToHSType so we can deal with the naming of GdkWindow -> DrawWindow and PangoLayout remains PangoLayout rather than having the Pango prefix stripped off. Add many more cases to the other fixup tables. * tools/apiGen/gtk.ignore: ignore more internal functions that we do not want to bind. * Makefile.am, gtk/Graphics/UI/Gtk/Abstract/Widget.chs, gtk/Graphics/UI/Gtk/Abstract/Widget.chs.pp, gtk/Graphics/UI/Gtk/Display/Label.chs, gtk/Graphics/UI/Gtk/Display/Label.chs.pp, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuShell.chs, gtk/Graphics/UI/Gtk/MenuComboToolbar/MenuShell.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs, gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextView.chs, gtk/Graphics/UI/Gtk/Multiline/TextView.chs.pp: rename several modules to .pp (without changing module content) in preparation for adding new functions from later Gtk+ versions. 2005-04-5 Duncan Coutts * glib/System/Glib/UTFString.hs: add some extra functions for marshaling lists and arrays of UTF-8 strings. * gtk/Graphics/UI/Gtk/Selectors/ColorButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FontButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserButton.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileFilter.chs.pp, gtk/Graphics/UI/Gtk/TreeList/IconView.chs.pp, gtk/Graphics/UI/Gtk/TreeList/CellView.chs.pp, gtk/Graphics/UI/Gtk/Windows/AboutDialog.chs, gtk/Graphics/UI/Gtk/Windows/WindowGroup.chs: add several new modules. This adds ~2.6 Kloc. * gtk/Graphics/UI/Gtk.hs: export the new modules. * Makefile.am: add the new modules to libHSgtk_a_SOURCES. Also add _stub.o files to libHSgtk_a_LIBADD. * tools/hierarchyGen/hierarchy.list: add new classes to hierarchy. 2005-04-4 Duncan Coutts * gtk/Graphics/UI/Gtk/Multiline/TextBuffer.chs, gtk/Graphics/UI/Gtk/Multiline/TextMark.chs, gtk/Graphics/UI/Gtk/Multiline/TextTag.chs.pp, gtk/Graphics/UI/Gtk/Multiline/TextTagTable.chs, gtk/Graphics/UI/Gtk/Multiline/TextView.chs: merge from generated modules. Changed code formatting and documentation. In one or two places fix minor bugs. Remove two non-exsistant functions from TextView module. 2005-04-3 Duncan Coutts * gtk/Graphics/UI/Gtk/Selectors/ColorSelection.chs, gtk/Graphics/UI/Gtk/Selectors/ColorSelectionDialog.chs, gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserDialog.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileChooserWidget.chs.pp, gtk/Graphics/UI/Gtk/Selectors/FileSe