Browse Source

+ initial revision

florian 23 years ago
parent
commit
b24c0ad3a6
99 changed files with 11214 additions and 0 deletions
  1. 1418 0
      packages/extra/gnome1/gconf/Makefile
  2. 35 0
      packages/extra/gnome1/gconf/Makefile.fpc
  3. 1304 0
      packages/extra/gnome1/gconf/examples/Makefile
  4. 18 0
      packages/extra/gnome1/gconf/examples/Makefile.fpc
  5. 69 0
      packages/extra/gnome1/gconf/examples/gconfcallback1.pp
  6. 53 0
      packages/extra/gnome1/gconf/examples/gconfcallback2.pp
  7. 83 0
      packages/extra/gnome1/gconf/examples/gconfexample.pp
  8. 148 0
      packages/extra/gnome1/gconf/gconf/gconf.pp
  9. 19 0
      packages/extra/gnome1/gconf/gconf/gconfengine.inc
  10. 26 0
      packages/extra/gnome1/gconf/gconf/gconferror.inc
  11. 26 0
      packages/extra/gnome1/gconf/gconf/gconfglibpublic.inc
  12. 77 0
      packages/extra/gnome1/gconf/gconf/gconfschema.inc
  13. 200 0
      packages/extra/gnome1/gconf/gconf/gconfvalue.inc
  14. 42 0
      packages/extra/gnome1/gconf/gconfclient/gconfchangeset.inc
  15. 149 0
      packages/extra/gnome1/gconf/gconfclient/gconfclient.pp
  16. 29 0
      packages/extra/gnome1/gconf/gconfclient/gconflisteners.inc
  17. 30 0
      packages/extra/gnome1/gnome/gnometest.pp
  18. 324 0
      packages/extra/gnome1/gnome/libart_lgpl/libart.pp
  19. 395 0
      packages/extra/gnome1/gnome/libgnome/gnomeconfig.inc
  20. 78 0
      packages/extra/gnome1/gnome/libgnome/gnomedentry.inc
  21. 14 0
      packages/extra/gnome1/gnome/libgnome/gnomeexec.inc
  22. 21 0
      packages/extra/gnome1/gnome/libgnome/gnomehelp.inc
  23. 13 0
      packages/extra/gnome1/gnome/libgnome/gnomei18n.inc
  24. 25 0
      packages/extra/gnome1/gnome/libgnome/gnomemetadata.inc
  25. 16 0
      packages/extra/gnome1/gnome/libgnome/gnomemime.inc
  26. 16 0
      packages/extra/gnome1/gnome/libgnome/gnomemimeinfo.inc
  27. 32 0
      packages/extra/gnome1/gnome/libgnome/gnomepaper.inc
  28. 10 0
      packages/extra/gnome1/gnome/libgnome/gnomeremote.inc
  29. 11 0
      packages/extra/gnome1/gnome/libgnome/gnomescore.inc
  30. 15 0
      packages/extra/gnome1/gnome/libgnome/gnomesound.inc
  31. 37 0
      packages/extra/gnome1/gnome/libgnome/gnometriggers.inc
  32. 9 0
      packages/extra/gnome1/gnome/libgnome/gnomeurl.inc
  33. 83 0
      packages/extra/gnome1/gnome/libgnome/gnomeutil.inc
  34. 98 0
      packages/extra/gnome1/gnome/libgnome/libgnome.pp
  35. 45 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeabout.inc
  36. 89 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeanimator.inc
  37. 88 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeapp.inc
  38. 105 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeappbar.inc
  39. 475 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeapphelper.inc
  40. 29 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeapputil.inc
  41. 110 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecalculator.inc
  42. 177 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecalulator.inc
  43. 392 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvas.inc
  44. 75 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvasimage.inc
  45. 120 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvasline.inc
  46. 10 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvasload.inc
  47. 103 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvaspolygon.inc
  48. 170 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvasrectellipse.inc
  49. 103 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvastext.inc
  50. 40 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvasutil.inc
  51. 83 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecanvaswidget.inc
  52. 143 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeclient.inc
  53. 94 0
      packages/extra/gnome1/gnome/libgnomeui/gnomecolorpicker.inc
  54. 65 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedateedit.inc
  55. 87 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedentryedit.inc
  56. 105 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedialog.inc
  57. 24 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedialogutil.inc
  58. 368 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedock.inc
  59. 56 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedruid.inc
  60. 50 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedruidpage.inc
  61. 69 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedruidpagefinish.inc
  62. 62 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedruidpagestandard.inc
  63. 70 0
      packages/extra/gnome1/gnome/libgnomeui/gnomedruidpagestart.inc
  64. 52 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeentry.inc
  65. 57 0
      packages/extra/gnome1/gnome/libgnomeui/gnomefileentry.inc
  66. 70 0
      packages/extra/gnome1/gnome/libgnomeui/gnomefontpicker.inc
  67. 10 0
      packages/extra/gnome1/gnome/libgnomeui/gnomegeometry.inc
  68. 48 0
      packages/extra/gnome1/gnome/libgnomeui/gnomehref.inc
  69. 52 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeiconentry.inc
  70. 141 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeiconitem.inc
  71. 139 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeiconlist.inc
  72. 53 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeiconsel.inc
  73. 30 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeicontext.inc
  74. 14 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeinit.inc
  75. 111 0
      packages/extra/gnome1/gnome/libgnomeui/gnomemdi.inc
  76. 58 0
      packages/extra/gnome1/gnome/libgnomeui/gnomemdichild.inc
  77. 66 0
      packages/extra/gnome1/gnome/libgnomeui/gnomemdigenericchild.inc
  78. 12 0
      packages/extra/gnome1/gnome/libgnomeui/gnomemdisession.inc
  79. 49 0
      packages/extra/gnome1/gnome/libgnomeui/gnomemessagebox.inc
  80. 50 0
      packages/extra/gnome1/gnome/libgnomeui/gnomenumberentry.inc
  81. 60 0
      packages/extra/gnome1/gnome/libgnomeui/gnomepaperselector.inc
  82. 69 0
      packages/extra/gnome1/gnome/libgnomeui/gnomepixmap.inc
  83. 56 0
      packages/extra/gnome1/gnome/libgnomeui/gnomepixmapentry.inc
  84. 16 0
      packages/extra/gnome1/gnome/libgnomeui/gnomepopuphelp.inc
  85. 14 0
      packages/extra/gnome1/gnome/libgnomeui/gnomepopupmenu.inc
  86. 79 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeprocbar.inc
  87. 55 0
      packages/extra/gnome1/gnome/libgnomeui/gnomepropertybox.inc
  88. 57 0
      packages/extra/gnome1/gnome/libgnomeui/gnomescores.inc
  89. 341 0
      packages/extra/gnome1/gnome/libgnomeui/gnomestock.inc
  90. 38 0
      packages/extra/gnome1/gnome/libgnomeui/gnometypebuiltins.inc
  91. 65 0
      packages/extra/gnome1/gnome/libgnomeui/gnomeuidefs.inc
  92. 85 0
      packages/extra/gnome1/gnome/libgnomeui/gnomewinhints.inc
  93. 57 0
      packages/extra/gnome1/gnome/libgnomeui/gtkclock.inc
  94. 93 0
      packages/extra/gnome1/gnome/libgnomeui/gtkdial.inc
  95. 44 0
      packages/extra/gnome1/gnome/libgnomeui/gtkpixmapmenuitem.inc
  96. 254 0
      packages/extra/gnome1/gnome/libgnomeui/libgnomeui.pp
  97. 2 0
      packages/extra/gnome1/gnome/maketest.sh
  98. 217 0
      packages/extra/imlib/gdk_imlib/gdk_imlib.pp
  99. 270 0
      packages/extra/imlib/imlib/Imlib.pp

+ 1418 - 0
packages/extra/gnome1/gconf/Makefile

@@ -0,0 +1,1418 @@
+#
+# Don't edit, this file is generated by FPCMake Version 1.1 [2002/09/21]
+#
+default: all
+MAKEFILETARGETS=linux
+override PATH:=$(subst \,/,$(PATH))
+ifeq ($(findstring ;,$(PATH)),)
+inUnix=1
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
+SEARCHPATH:=$(subst ;, ,$(PATH))
+endif
+PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
+ifeq ($(PWD),)
+PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
+ifeq ($(PWD),)
+$(error You need the GNU utils package to use this Makefile)
+else
+PWD:=$(firstword $(PWD))
+SRCEXEEXT=
+endif
+else
+PWD:=$(firstword $(PWD))
+SRCEXEEXT=.exe
+endif
+ifndef inUnix
+ifeq ($(OS),Windows_NT)
+inWinNT=1
+else
+ifdef OS2_SHELL
+inOS2=1
+endif
+endif
+else
+ifneq ($(findstring cygwin,$(MACHTYPE)),)
+inCygWin=1
+endif
+endif
+ifeq ($(OS_TARGET),freebsd)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),netbsd)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),openbsd)
+BSDhier=1
+endif
+ifdef inUnix
+BATCHEXT=.sh
+else
+ifdef inOS2
+BATCHEXT=.cmd
+else
+BATCHEXT=.bat
+endif
+endif
+ifdef inUnix
+PATHSEP=/
+else
+PATHSEP:=$(subst /,\,/)
+endif
+ifdef PWD
+BASEDIR:=$(subst \,/,$(shell $(PWD)))
+ifdef inCygWin
+ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
+BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
+BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
+BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
+endif
+endif
+else
+BASEDIR=.
+endif
+ifdef inOS2
+ifndef ECHO
+ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO=echo
+else
+ECHO:=$(firstword $(ECHO))
+endif
+else
+ECHO:=$(firstword $(ECHO))
+endif
+endif
+export ECHO
+endif
+override DEFAULT_FPCDIR=../../..
+ifndef FPC
+ifdef PP
+FPC=$(PP)
+endif
+endif
+ifndef FPC
+FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
+ifneq ($(FPCPROG),)
+FPCPROG:=$(firstword $(FPCPROG))
+FPC:=$(shell $(FPCPROG) -PB)
+ifneq ($(findstring Error,$(FPC)),)
+override FPC=ppc386
+endif
+else
+override FPC=ppc386
+endif
+endif
+override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
+override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
+ifndef FPC_VERSION
+FPC_VERSION:=$(shell $(FPC) -iV)
+endif
+export FPC FPC_VERSION
+unexport CHECKDEPEND ALLDEPENDENCIES
+ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
+COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO)
+ifndef CPU_SOURCE
+CPU_SOURCE:=$(word 1,$(COMPILERINFO))
+endif
+ifndef CPU_TARGET
+CPU_TARGET:=$(word 2,$(COMPILERINFO))
+endif
+ifndef OS_SOURCE
+OS_SOURCE:=$(word 3,$(COMPILERINFO))
+endif
+ifndef OS_TARGET
+OS_TARGET:=$(word 4,$(COMPILERINFO))
+endif
+else
+ifndef CPU_SOURCE
+CPU_SOURCE:=$(shell $(FPC) -iSP)
+endif
+ifndef CPU_TARGET
+CPU_TARGET:=$(shell $(FPC) -iTP)
+endif
+ifndef OS_SOURCE
+OS_SOURCE:=$(shell $(FPC) -iSO)
+endif
+ifndef OS_TARGET
+OS_TARGET:=$(shell $(FPC) -iTO)
+endif
+endif
+FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
+FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
+ifneq ($(FULL_TARGET),$(FULL_SOURCE))
+CROSSCOMPILE=1
+endif
+ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
+ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
+$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
+endif
+endif
+export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
+ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR=wrong
+endif
+else
+override FPCDIR=wrong
+endif
+ifdef DEFAULT_FPCDIR
+ifeq ($(FPCDIR),wrong)
+override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR=wrong
+endif
+endif
+endif
+ifeq ($(FPCDIR),wrong)
+ifdef inUnix
+override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
+ifeq ($(wildcard $(FPCDIR)/units),)
+override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
+endif
+else
+override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
+override FPCDIR:=$(FPCDIR)/..
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(FPCDIR)/..
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR=c:/pp
+endif
+endif
+endif
+endif
+ifndef CROSSDIR
+CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
+endif
+ifndef CROSSTARGETDIR
+CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET)
+endif
+ifdef CROSSCOMPILE
+UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units)
+ifeq ($(UNITSDIR),)
+UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
+endif
+else
+UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
+endif
+PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
+override PACKAGE_NAME=gconf
+override PACKAGE_VERSION=1.0.6
+override TARGET_UNITS+=gconf gconfclient
+override TARGET_EXAMPLEDIRS+=examples
+override INSTALL_FPCPACKAGE=y
+override COMPILER_SOURCEDIR+=gconf gconfclient
+override COMPILER_TARGETDIR+=.
+ifdef REQUIRE_UNITSDIR
+override UNITSDIR+=$(REQUIRE_UNITSDIR)
+endif
+ifdef REQUIRE_PACKAGESDIR
+override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
+endif
+ifdef ZIPINSTALL
+ifeq ($(OS_TARGET),linux)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),freebsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),netbsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),openbsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),sunos)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),qnx)
+UNIXINSTALLDIR=1
+endif
+else
+ifeq ($(OS_SOURCE),linux)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_SOURCE),freebsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_SOURCE),netbsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_SOURCE),openbsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),sunos)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),qnx)
+UNIXINSTALLDIR=1
+endif
+endif
+ifndef INSTALL_PREFIX
+ifdef PREFIX
+INSTALL_PREFIX=$(PREFIX)
+endif
+endif
+ifndef INSTALL_PREFIX
+ifdef UNIXINSTALLDIR
+INSTALL_PREFIX=/usr/local
+else
+ifdef INSTALL_FPCPACKAGE
+INSTALL_BASEDIR:=/pp
+else
+INSTALL_BASEDIR:=/$(PACKAGE_NAME)
+endif
+endif
+endif
+export INSTALL_PREFIX
+ifdef INSTALL_FPCSUBDIR
+export INSTALL_FPCSUBDIR
+endif
+ifndef DIST_DESTDIR
+DIST_DESTDIR:=$(BASEDIR)
+endif
+export DIST_DESTDIR
+ifndef INSTALL_BASEDIR
+ifdef UNIXINSTALLDIR
+ifdef INSTALL_FPCPACKAGE
+INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
+else
+INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
+endif
+else
+INSTALL_BASEDIR:=$(INSTALL_PREFIX)
+endif
+endif
+ifndef INSTALL_BINDIR
+ifdef UNIXINSTALLDIR
+INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
+else
+INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
+ifdef INSTALL_FPCPACKAGE
+INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
+endif
+endif
+endif
+ifndef INSTALL_UNITDIR
+ifdef CROSSCOMPILE
+INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units
+else
+INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
+endif
+ifdef INSTALL_FPCPACKAGE
+ifdef PACKAGE_NAME
+INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
+endif
+endif
+endif
+ifndef INSTALL_LIBDIR
+ifdef UNIXINSTALLDIR
+INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
+else
+INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
+endif
+endif
+ifndef INSTALL_SOURCEDIR
+ifdef UNIXINSTALLDIR
+ifdef BSDhier
+SRCPREFIXDIR=share/src
+else
+SRCPREFIXDIR=src
+endif
+ifdef INSTALL_FPCPACKAGE
+ifdef INSTALL_FPCSUBDIR
+INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
+else
+INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+endif
+else
+INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+endif
+else
+ifdef INSTALL_FPCPACKAGE
+ifdef INSTALL_FPCSUBDIR
+INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
+else
+INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
+endif
+else
+INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
+endif
+endif
+endif
+ifndef INSTALL_DOCDIR
+ifdef UNIXINSTALLDIR
+ifdef BSDhier
+DOCPREFIXDIR=share/doc
+else
+DOCPREFIXDIR=doc
+endif
+ifdef INSTALL_FPCPACKAGE
+INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
+INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+endif
+else
+ifdef INSTALL_FPCPACKAGE
+INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
+else
+INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
+endif
+endif
+endif
+ifndef INSTALL_EXAMPLEDIR
+ifdef UNIXINSTALLDIR
+ifdef INSTALL_FPCPACKAGE
+ifdef BSDhier
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
+endif
+else
+ifdef BSDhier
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+endif
+endif
+else
+ifdef INSTALL_FPCPACKAGE
+INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
+else
+INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
+endif
+endif
+endif
+ifndef INSTALL_DATADIR
+INSTALL_DATADIR=$(INSTALL_BASEDIR)
+endif
+ifdef CROSSCOMPILE
+ifndef CROSSBINDIR
+CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE))
+ifeq ($(CROSSBINDIR),)
+CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
+endif
+endif
+else
+CROSSBINDIR=
+endif
+ifdef inUnix
+ifndef GCCLIBDIR
+GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
+endif
+ifeq ($(OS_TARGET),linux)
+ifndef OTHERLIBDIR
+OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
+endif
+endif
+ifeq ($(OS_TARGET),netbsd)
+OTHERLIBDIR+=/usr/pkg/lib
+endif
+export GCCLIBDIR OTHERLIB
+endif
+LOADEREXT=.as
+EXEEXT=.exe
+PPLEXT=.ppl
+PPUEXT=.ppu
+OEXT=.o
+ASMEXT=.s
+SMARTEXT=.sl
+STATICLIBEXT=.a
+SHAREDLIBEXT=.so
+STATICLIBPREFIX=libp
+RSTEXT=.rst
+FPCMADE=fpcmade
+ifeq ($(OS_TARGET),go32v1)
+PPUEXT=.pp1
+OEXT=.o1
+ASMEXT=.s1
+SMARTEXT=.sl1
+STATICLIBEXT=.a1
+SHAREDLIBEXT=.so1
+STATICLIBPREFIX=
+FPCMADE=fpcmade.v1
+PACKAGESUFFIX=v1
+endif
+ifeq ($(OS_TARGET),go32v2)
+STATICLIBPREFIX=
+FPCMADE=fpcmade.dos
+ZIPSUFFIX=go32
+endif
+ifeq ($(OS_TARGET),linux)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.lnx
+ZIPSUFFIX=linux
+endif
+ifeq ($(OS_TARGET),freebsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.freebsd
+ZIPSUFFIX=freebsd
+endif
+ifeq ($(OS_TARGET),netbsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.netbsd
+ZIPSUFFIX=netbsd
+endif
+ifeq ($(OS_TARGET),openbsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.openbsd
+ZIPSUFFIX=openbsd
+endif
+ifeq ($(OS_TARGET),win32)
+PPUEXT=.ppw
+OEXT=.ow
+ASMEXT=.sw
+SMARTEXT=.slw
+STATICLIBEXT=.aw
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.w32
+ZIPSUFFIX=w32
+endif
+ifeq ($(OS_TARGET),os2)
+PPUEXT=.ppo
+ASMEXT=.so2
+OEXT=.oo2
+AOUTEXT=.out
+SMARTEXT=.sl2
+STATICLIBPREFIX=
+STATICLIBEXT=.ao2
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.os2
+ZIPSUFFIX=emx
+ECHO=echo
+endif
+ifeq ($(OS_TARGET),amiga)
+EXEEXT=
+PPUEXT=.ppu
+ASMEXT=.asm
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+SHAREDLIBEXT=.library
+FPCMADE=fpcmade.amg
+endif
+ifeq ($(OS_TARGET),atari)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=.ttp
+FPCMADE=fpcmade.ata
+endif
+ifeq ($(OS_TARGET),beos)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.be
+ZIPSUFFIX=be
+endif
+ifeq ($(OS_TARGET),sunos)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.sun
+ZIPSUFFIX=sun
+endif
+ifeq ($(OS_TARGET),qnx)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.qnx
+ZIPSUFFIX=qnx
+endif
+ifeq ($(OS_TARGET),netware)
+STATICLIBPREFIX=
+PPUEXT=.ppn
+OEXT=.on
+ASMEXT=.s
+SMARTEXT=.sl
+STATICLIBEXT=.a
+SHAREDLIBEXT=.nlm
+FPCMADE=fpcmade.nw
+ZIPSUFFIX=nw
+EXEEXT=.nlm
+endif
+ifndef ECHO
+ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO=
+else
+ECHO:=$(firstword $(ECHO))
+endif
+else
+ECHO:=$(firstword $(ECHO))
+endif
+endif
+export ECHO
+ifndef DATE
+DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(DATE),)
+DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(DATE),)
+DATE=
+else
+DATE:=$(firstword $(DATE))
+endif
+else
+DATE:=$(firstword $(DATE))
+endif
+endif
+export DATE
+ifndef GINSTALL
+GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(GINSTALL),)
+GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(GINSTALL),)
+GINSTALL=
+else
+GINSTALL:=$(firstword $(GINSTALL))
+endif
+else
+GINSTALL:=$(firstword $(GINSTALL))
+endif
+endif
+export GINSTALL
+ifndef CPPROG
+CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(CPPROG),)
+CPPROG=
+else
+CPPROG:=$(firstword $(CPPROG))
+endif
+endif
+export CPPROG
+ifndef RMPROG
+RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(RMPROG),)
+RMPROG=
+else
+RMPROG:=$(firstword $(RMPROG))
+endif
+endif
+export RMPROG
+ifndef MVPROG
+MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(MVPROG),)
+MVPROG=
+else
+MVPROG:=$(firstword $(MVPROG))
+endif
+endif
+export MVPROG
+ifndef ECHOREDIR
+ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO))
+endif
+ifndef COPY
+COPY:=$(CPPROG) -fp
+endif
+ifndef COPYTREE
+COPYTREE:=$(CPPROG) -rfp
+endif
+ifndef MOVE
+MOVE:=$(MVPROG) -f
+endif
+ifndef DEL
+DEL:=$(RMPROG) -f
+endif
+ifndef DELTREE
+DELTREE:=$(RMPROG) -rf
+endif
+ifndef INSTALL
+ifdef inUnix
+INSTALL:=$(GINSTALL) -c -m 644
+else
+INSTALL:=$(COPY)
+endif
+endif
+ifndef INSTALLEXE
+ifdef inUnix
+INSTALLEXE:=$(GINSTALL) -c -m 755
+else
+INSTALLEXE:=$(COPY)
+endif
+endif
+ifndef MKDIR
+MKDIR:=$(GINSTALL) -m 755 -d
+endif
+export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
+ifndef PPUMOVE
+PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(PPUMOVE),)
+PPUMOVE=
+else
+PPUMOVE:=$(firstword $(PPUMOVE))
+endif
+endif
+export PPUMOVE
+ifndef FPCMAKE
+FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(FPCMAKE),)
+FPCMAKE=
+else
+FPCMAKE:=$(firstword $(FPCMAKE))
+endif
+endif
+export FPCMAKE
+ifndef ZIPPROG
+ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ZIPPROG),)
+ZIPPROG=
+else
+ZIPPROG:=$(firstword $(ZIPPROG))
+endif
+endif
+export ZIPPROG
+ifndef TARPROG
+TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(TARPROG),)
+TARPROG=
+else
+TARPROG:=$(firstword $(TARPROG))
+endif
+endif
+export TARPROG
+ASNAME=as
+LDNAME=ld
+ARNAME=ar
+RCNAME=rc
+ifeq ($(OS_TARGET),win32)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
+ifndef ASPROG
+ifdef CROSSBINDIR
+ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
+else
+ASPROG=$(ASNAME)
+endif
+endif
+ifndef LDPROG
+ifdef CROSSBINDIR
+LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
+else
+LDPROG=$(LDNAME)
+endif
+endif
+ifndef RCPROG
+ifdef CROSSBINDIR
+RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
+else
+RCPROG=$(RCNAME)
+endif
+endif
+ifndef ARPROG
+ifdef CROSSBINDIR
+ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
+else
+ARPROG=$(ARNAME)
+endif
+endif
+AS=$(ASPROG)
+LD=$(LDPROG)
+RC=$(RCPROG)
+AR=$(ARPROG)
+PPAS=ppas$(BATCHEXT)
+ifdef inUnix
+LDCONFIG=ldconfig
+else
+LDCONFIG=
+endif
+ifdef DATE
+DATESTR:=$(shell $(DATE) +%Y%m%d)
+else
+DATESTR=
+endif
+ifndef UPXPROG
+ifeq ($(OS_TARGET),go32v2)
+UPXPROG:=1
+endif
+ifeq ($(OS_TARGET),win32)
+UPXPROG:=1
+endif
+ifdef UPXPROG
+UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(UPXPROG),)
+UPXPROG=
+else
+UPXPROG:=$(firstword $(UPXPROG))
+endif
+else
+UPXPROG=
+endif
+endif
+export UPXPROG
+ZIPOPT=-9
+ZIPEXT=.zip
+ifeq ($(USETAR),bz2)
+TAROPT=vI
+TAREXT=.tar.bz2
+else
+TAROPT=vz
+TAREXT=.tar.gz
+endif
+override REQUIRE_PACKAGES=rtl gtk
+ifeq ($(OS_TARGET),linux)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_X11=1
+REQUIRE_PACKAGES_OPENGL=1
+REQUIRE_PACKAGES_GTK=1
+endif
+ifdef REQUIRE_PACKAGES_RTL
+PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_RTL),)
+ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),)
+UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET)
+else
+UNITDIR_RTL=$(PACKAGEDIR_RTL)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_RTL)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_RTL=
+UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_RTL),)
+UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
+else
+UNITDIR_RTL=
+endif
+endif
+ifdef UNITDIR_RTL
+override COMPILER_UNITDIR+=$(UNITDIR_RTL)
+endif
+endif
+ifdef REQUIRE_PACKAGES_X11
+PACKAGEDIR_X11:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_X11),)
+ifneq ($(wildcard $(PACKAGEDIR_X11)/$(OS_TARGET)),)
+UNITDIR_X11=$(PACKAGEDIR_X11)/$(OS_TARGET)
+else
+UNITDIR_X11=$(PACKAGEDIR_X11)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_X11)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_X11) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_X11)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_X11=
+UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_X11),)
+UNITDIR_X11:=$(firstword $(UNITDIR_X11))
+else
+UNITDIR_X11=
+endif
+endif
+ifdef UNITDIR_X11
+override COMPILER_UNITDIR+=$(UNITDIR_X11)
+endif
+endif
+ifdef REQUIRE_PACKAGES_OPENGL
+PACKAGEDIR_OPENGL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /opengl/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_OPENGL),)
+ifneq ($(wildcard $(PACKAGEDIR_OPENGL)/$(OS_TARGET)),)
+UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL)/$(OS_TARGET)
+else
+UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_OPENGL)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_OPENGL) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_OPENGL)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_OPENGL=
+UNITDIR_OPENGL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /opengl/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_OPENGL),)
+UNITDIR_OPENGL:=$(firstword $(UNITDIR_OPENGL))
+else
+UNITDIR_OPENGL=
+endif
+endif
+ifdef UNITDIR_OPENGL
+override COMPILER_UNITDIR+=$(UNITDIR_OPENGL)
+endif
+endif
+ifdef REQUIRE_PACKAGES_GTK
+PACKAGEDIR_GTK:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /gtk/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_GTK),)
+ifneq ($(wildcard $(PACKAGEDIR_GTK)/$(OS_TARGET)),)
+UNITDIR_GTK=$(PACKAGEDIR_GTK)/$(OS_TARGET)
+else
+UNITDIR_GTK=$(PACKAGEDIR_GTK)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_GTK)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_GTK) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_GTK)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_GTK=
+UNITDIR_GTK:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /gtk/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_GTK),)
+UNITDIR_GTK:=$(firstword $(UNITDIR_GTK))
+else
+UNITDIR_GTK=
+endif
+endif
+ifdef UNITDIR_GTK
+override COMPILER_UNITDIR+=$(UNITDIR_GTK)
+endif
+endif
+ifndef NOCPUDEF
+override FPCOPTDEF=$(CPU_TARGET)
+endif
+ifneq ($(OS_TARGET),$(OS_SOURCE))
+override FPCOPT+=-T$(OS_TARGET)
+endif
+ifeq ($(OS_SOURCE),openbsd)
+override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
+endif
+ifdef UNITDIR
+override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
+endif
+ifdef LIBDIR
+override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
+endif
+ifdef OBJDIR
+override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
+endif
+ifdef INCDIR
+override FPCOPT+=$(addprefix -Fi,$(INCDIR))
+endif
+ifdef LINKSMART
+override FPCOPT+=-XX
+endif
+ifdef CREATESMART
+override FPCOPT+=-CX
+endif
+ifdef DEBUG
+override FPCOPT+=-gl
+override FPCOPTDEF+=DEBUG
+endif
+ifdef RELEASE
+ifeq ($(CPU_TARGET),i386)
+FPCCPUOPT:=-OG2p3
+else
+FPCCPUOPT:=
+endif
+override FPCOPT+=-Xs $(FPCCPUOPT) -n
+override FPCOPTDEF+=RELEASE
+endif
+ifdef STRIP
+override FPCOPT+=-Xs
+endif
+ifdef OPTIMIZE
+ifeq ($(CPU_TARGET),i386)
+override FPCOPT+=-OG2p3
+endif
+endif
+ifdef VERBOSE
+override FPCOPT+=-vwni
+endif
+ifdef COMPILER_OPTIONS
+override FPCOPT+=$(COMPILER_OPTIONS)
+endif
+ifdef COMPILER_UNITDIR
+override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
+endif
+ifdef COMPILER_LIBRARYDIR
+override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
+endif
+ifdef COMPILER_OBJECTDIR
+override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
+endif
+ifdef COMPILER_INCLUDEDIR
+override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
+endif
+ifdef CROSSBINDIR
+override FPCOPT+=-FD$(CROSSBINDIR)
+endif
+ifdef COMPILER_TARGETDIR
+override FPCOPT+=-FE$(COMPILER_TARGETDIR)
+ifeq ($(COMPILER_TARGETDIR),.)
+override TARGETDIRPREFIX=
+else
+override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
+endif
+endif
+ifdef COMPILER_UNITTARGETDIR
+override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
+ifeq ($(COMPILER_UNITTARGETDIR),.)
+override UNITTARGETDIRPREFIX=
+else
+override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
+endif
+else
+ifdef COMPILER_TARGETDIR
+override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
+override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
+endif
+endif
+ifdef GCCLIBDIR
+override FPCOPT+=-Fl$(GCCLIBDIR)
+endif
+ifdef OTHERLIBDIR
+override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
+endif
+ifdef OPT
+override FPCOPT+=$(OPT)
+endif
+ifdef FPCOPTDEF
+override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
+endif
+ifdef CFGFILE
+override FPCOPT+=@$(CFGFILE)
+endif
+ifdef USEENV
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+override COMPILER:=$(FPC) $(FPCOPT)
+ifeq (,$(findstring -s ,$(COMPILER)))
+EXECPPAS=
+else
+ifeq ($(OS_SOURCE),$(OS_TARGET))
+EXECPPAS:=@$(PPAS)
+endif
+endif
+.PHONY: fpc_units
+ifdef TARGET_UNITS
+override ALLTARGET+=fpc_units
+override UNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_UNITS))
+override IMPLICITUNITPPUFILES=$(addsuffix $(PPUEXT),$(TARGET_IMPLICITUNITS))
+override INSTALLPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
+override CLEANPPUFILES+=$(UNITPPUFILES) $(IMPLICITUNITPPUFILES)
+endif
+fpc_units: $(UNITPPUFILES)
+ifdef TARGET_RSTS
+override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
+override CLEANRSTFILES+=$(RSTFILES)
+endif
+.PHONY: fpc_examples
+ifdef TARGET_EXAMPLES
+HASEXAMPLES=1
+override EXAMPLESOURCEFILES:=$(wildcard $(addsuffix .pp,$(TARGET_EXAMPLES)) $(addsuffix .pas,$(TARGET_EXAMPLES)))
+override EXAMPLEFILES:=$(addsuffix $(EXEEXT),$(TARGET_EXAMPLES))
+override EXAMPLEOFILES:=$(addsuffix $(OEXT),$(TARGET_EXAMPLES)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_EXAMPLES)))
+override CLEANEXEFILES+=$(EXAMPLEFILES) $(EXAMPLEOFILES)
+ifeq ($(OS_TARGET),os2)
+override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_EXAMPLES))
+endif
+endif
+ifdef TARGET_EXAMPLEDIRS
+HASEXAMPLES=1
+endif
+fpc_examples: all $(EXAMPLEFILES) $(addsuffix _all,$(TARGET_EXAMPLEDIRS))
+.PHONY: fpc_all fpc_smart fpc_debug fpc_release
+$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
+	@$(ECHOREDIR) Compiled > $(FPCMADE)
+fpc_all: $(FPCMADE)
+fpc_smart:
+	$(MAKE) all LINKSMART=1 CREATESMART=1
+fpc_debug:
+	$(MAKE) all DEBUG=1
+fpc_release:
+	$(MAKE) all RELEASE=1
+.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res
+%$(PPUEXT): %.pp
+	$(COMPILER) $<
+	$(EXECPPAS)
+%$(PPUEXT): %.pas
+	$(COMPILER) $<
+	$(EXECPPAS)
+%$(EXEEXT): %.pp
+	$(COMPILER) $<
+	$(EXECPPAS)
+%$(EXEEXT): %.pas
+	$(COMPILER) $<
+	$(EXECPPAS)
+%.res: %.rc
+	windres -i $< -o $@
+vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
+vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
+vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
+.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
+ifdef INSTALL_UNITS
+override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
+endif
+ifdef INSTALL_BUILDUNIT
+override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
+endif
+ifdef INSTALLPPUFILES
+override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
+override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
+override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
+override INSTALL_CREATEPACKAGEFPC=1
+endif
+ifdef INSTALLEXEFILES
+override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
+endif
+fpc_install: all $(INSTALLTARGET)
+ifdef INSTALLEXEFILES
+	$(MKDIR) $(INSTALL_BINDIR)
+ifdef UPXPROG
+	-$(UPXPROG) $(INSTALLEXEFILES)
+endif
+	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
+endif
+ifdef INSTALL_CREATEPACKAGEFPC
+ifdef FPCMAKE
+ifdef PACKAGE_VERSION
+ifneq ($(wildcard Makefile.fpc),)
+	$(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
+	$(MKDIR) $(INSTALL_UNITDIR)
+	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
+endif
+endif
+endif
+endif
+ifdef INSTALLPPUFILES
+	$(MKDIR) $(INSTALL_UNITDIR)
+	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
+ifneq ($(INSTALLPPULINKFILES),)
+	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
+endif
+ifneq ($(wildcard $(LIB_FULLNAME)),)
+	$(MKDIR) $(INSTALL_LIBDIR)
+	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
+ifdef inUnix
+	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
+endif
+endif
+endif
+ifdef INSTALL_FILES
+	$(MKDIR) $(INSTALL_DATADIR)
+	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
+endif
+fpc_sourceinstall: distclean
+	$(MKDIR) $(INSTALL_SOURCEDIR)
+	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
+fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
+ifdef HASEXAMPLES
+	$(MKDIR) $(INSTALL_EXAMPLEDIR)
+endif
+ifdef EXAMPLESOURCEFILES
+	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
+endif
+ifdef TARGET_EXAMPLEDIRS
+	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
+endif
+.PHONY: fpc_distinstall
+fpc_distinstall: install exampleinstall
+.PHONY: fpc_zipinstall fpc_zipsourceinstall fpc_zipexampleinstall
+ifndef PACKDIR
+ifndef inUnix
+PACKDIR=$(BASEDIR)/../fpc-pack
+else
+PACKDIR=/tmp/fpc-pack
+endif
+endif
+ifndef ZIPNAME
+ifdef DIST_ZIPNAME
+ZIPNAME=$(DIST_ZIPNAME)
+else
+ZIPNAME=$(ZIPPREFIX)$(PACKAGE_NAME)$(ZIPSUFFIX)
+endif
+endif
+ifndef ZIPTARGET
+ifdef DIST_ZIPTARGET
+ZIPTARGET=DIST_ZIPTARGET
+else
+ZIPTARGET=install
+endif
+endif
+ifndef USEZIP
+ifdef inUnix
+USETAR=1
+endif
+endif
+ifndef inUnix
+USEZIPWRAPPER=1
+endif
+ifdef USEZIPWRAPPER
+ZIPPATHSEP=$(PATHSEP)
+ZIPWRAPPER=$(subst /,$(PATHSEP),$(DIST_DESTDIR)/fpczip$(BATCHEXT))
+else
+ZIPPATHSEP=/
+endif
+ZIPCMD_CDPACK:=cd $(subst /,$(ZIPPATHSEP),$(PACKDIR))
+ZIPCMD_CDBASE:=cd $(subst /,$(ZIPPATHSEP),$(BASEDIR))
+ifdef USETAR
+ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(TAREXT)
+ZIPCMD_ZIP:=$(TARPROG) cf$(TAROPT) $(ZIPDESTFILE) *
+else
+ZIPDESTFILE:=$(DIST_DESTDIR)/$(ZIPNAME)$(ZIPEXT)
+ZIPCMD_ZIP:=$(subst /,$(ZIPPATHSEP),$(ZIPPROG)) -Dr $(ZIPOPT) $(ZIPDESTFILE) *
+endif
+fpc_zipinstall:
+	$(MAKE) $(ZIPTARGET) INSTALL_PREFIX=$(PACKDIR) ZIPINSTALL=1
+	$(MKDIR) $(DIST_DESTDIR)
+	$(DEL) $(ZIPDESTFILE)
+ifdef USEZIPWRAPPER
+ifneq ($(ECHOREDIR),echo)
+	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDPACK))" > $(ZIPWRAPPER)
+	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_ZIP))" >> $(ZIPWRAPPER)
+	$(ECHOREDIR) -e "$(subst \,\\,$(ZIPCMD_CDBASE))" >> $(ZIPWRAPPER)
+else
+	echo $(ZIPCMD_CDPACK) > $(ZIPWRAPPER)
+	echo $(ZIPCMD_ZIP) >> $(ZIPWRAPPER)
+	echo $(ZIPCMD_CDBASE) >> $(ZIPWRAPPER)
+endif
+ifdef inUnix
+	/bin/sh $(ZIPWRAPPER)
+else
+	$(ZIPWRAPPER)
+endif
+	$(DEL) $(ZIPWRAPPER)
+else
+	$(ZIPCMD_CDPACK) ; $(ZIPCMD_ZIP) ; $(ZIPCMD_CDBASE)
+endif
+	$(DELTREE) $(PACKDIR)
+fpc_zipsourceinstall:
+	$(MAKE) fpc_zipinstall ZIPTARGET=sourceinstall ZIPSUFFIX=src
+fpc_zipexampleinstall:
+ifdef HASEXAMPLES
+	$(MAKE) fpc_zipinstall ZIPTARGET=exampleinstall ZIPSUFFIX=exm
+endif
+fpc_zipdistinstall:
+	$(MAKE) fpc_zipinstall ZIPTARGET=distinstall
+.PHONY: fpc_clean fpc_cleanall fpc_distclean
+ifdef EXEFILES
+override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
+endif
+ifdef CLEAN_UNITS
+override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
+endif
+ifdef CLEANPPUFILES
+override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
+override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
+override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
+endif
+fpc_clean: $(CLEANTARGET)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
+endif
+ifdef CLEANPPUFILES
+	-$(DEL) $(CLEANPPUFILES)
+endif
+ifneq ($(CLEANPPULINKFILES),)
+	-$(DEL) $(CLEANPPULINKFILES)
+endif
+ifdef CLEANRSTFILES
+	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
+endif
+ifdef CLEAN_FILES
+	-$(DEL) $(CLEAN_FILES)
+endif
+ifdef LIB_NAME
+	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
+endif
+	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+fpc_distclean: clean
+ifdef COMPILER_UNITTARGETDIR
+TARGETDIRCLEAN=fpc_clean
+endif
+fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
+endif
+	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
+	-$(DELTREE) *$(SMARTEXT)
+	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+ifdef AOUTEXT
+	-$(DEL) *$(AOUTEXT)
+endif
+.PHONY: fpc_baseinfo
+override INFORULES+=fpc_baseinfo
+fpc_baseinfo:
+	@$(ECHO)
+	@$(ECHO)  == Package info ==
+	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
+	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
+	@$(ECHO)
+	@$(ECHO)  == Configuration info ==
+	@$(ECHO)
+	@$(ECHO)  FPC.......... $(FPC)
+	@$(ECHO)  FPC Version.. $(FPC_VERSION)
+	@$(ECHO)  Source CPU... $(CPU_SOURCE)
+	@$(ECHO)  Target CPU... $(CPU_TARGET)
+	@$(ECHO)  Source OS.... $(OS_SOURCE)
+	@$(ECHO)  Target OS.... $(OS_TARGET)
+	@$(ECHO)  Full Source.. $(FULL_SOURCE)
+	@$(ECHO)  Full Target.. $(FULL_TARGET)
+	@$(ECHO)
+	@$(ECHO)  == Directory info ==
+	@$(ECHO)
+	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
+	@$(ECHO)
+	@$(ECHO)  Basedir......... $(BASEDIR)
+	@$(ECHO)  FPCDir.......... $(FPCDIR)
+	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
+	@$(ECHO)  UnitsDir........ $(UNITSDIR)
+	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
+	@$(ECHO)
+	@$(ECHO)  GCC library..... $(GCCLIBDIR)
+	@$(ECHO)  Other library... $(OTHERLIBDIR)
+	@$(ECHO)
+	@$(ECHO)  == Tools info ==
+	@$(ECHO)
+	@$(ECHO)  As........ $(AS)
+	@$(ECHO)  Ld........ $(LD)
+	@$(ECHO)  Ar........ $(AR)
+	@$(ECHO)  Rc........ $(RC)
+	@$(ECHO)
+	@$(ECHO)  Mv........ $(MVPROG)
+	@$(ECHO)  Cp........ $(CPPROG)
+	@$(ECHO)  Rm........ $(RMPROG)
+	@$(ECHO)  GInstall.. $(GINSTALL)
+	@$(ECHO)  Echo...... $(ECHO)
+	@$(ECHO)  Date...... $(DATE)
+	@$(ECHO)  FPCMake... $(FPCMAKE)
+	@$(ECHO)  PPUMove... $(PPUMOVE)
+	@$(ECHO)  Upx....... $(UPXPROG)
+	@$(ECHO)  Zip....... $(ZIPPROG)
+	@$(ECHO)
+	@$(ECHO)  == Object info ==
+	@$(ECHO)
+	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
+	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
+	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
+	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
+	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
+	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
+	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
+	@$(ECHO)
+	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
+	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
+	@$(ECHO)
+	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
+	@$(ECHO)  Install Files....... $(INSTALL_FILES)
+	@$(ECHO)
+	@$(ECHO)  == Install info ==
+	@$(ECHO)
+	@$(ECHO)  DateStr.............. $(DATESTR)
+	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
+	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
+	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
+	@$(ECHO)
+	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
+	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
+	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
+	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
+	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
+	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
+	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
+	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
+	@$(ECHO)
+	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
+	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
+	@$(ECHO)
+.PHONY: fpc_info
+fpc_info: $(INFORULES)
+.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
+	fpc_makefile_dirs
+fpc_makefile:
+	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
+fpc_makefile_sub1:
+ifdef TARGET_DIRS
+	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
+endif
+ifdef TARGET_EXAMPLEDIRS
+	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
+endif
+fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
+fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
+fpc_makefiles: fpc_makefile fpc_makefile_dirs
+TARGET_EXAMPLEDIRS_EXAMPLES=1
+ifdef TARGET_EXAMPLEDIRS_EXAMPLES
+examples_all:
+	$(MAKE) -C examples all
+examples_debug:
+	$(MAKE) -C examples debug
+examples_smart:
+	$(MAKE) -C examples smart
+examples_release:
+	$(MAKE) -C examples release
+examples_examples:
+	$(MAKE) -C examples examples
+examples_shared:
+	$(MAKE) -C examples shared
+examples_install:
+	$(MAKE) -C examples install
+examples_sourceinstall:
+	$(MAKE) -C examples sourceinstall
+examples_exampleinstall:
+	$(MAKE) -C examples exampleinstall
+examples_distinstall:
+	$(MAKE) -C examples distinstall
+examples_zipinstall:
+	$(MAKE) -C examples zipinstall
+examples_zipsourceinstall:
+	$(MAKE) -C examples zipsourceinstall
+examples_zipexampleinstall:
+	$(MAKE) -C examples zipexampleinstall
+examples_zipdistinstall:
+	$(MAKE) -C examples zipdistinstall
+examples_clean:
+	$(MAKE) -C examples clean
+examples_distclean:
+	$(MAKE) -C examples distclean
+examples_cleanall:
+	$(MAKE) -C examples cleanall
+examples_info:
+	$(MAKE) -C examples info
+examples_makefiles:
+	$(MAKE) -C examples makefiles
+examples:
+	$(MAKE) -C examples all
+.PHONY: examples_all examples_debug examples_smart examples_release examples_examples examples_shared examples_install examples_sourceinstall examples_exampleinstall examples_distinstall examples_zipinstall examples_zipsourceinstall examples_zipexampleinstall examples_zipdistinstall examples_clean examples_distclean examples_cleanall examples_info examples_makefiles examples
+endif
+all: fpc_all
+debug: fpc_debug
+smart: fpc_smart
+release: fpc_release
+examples: fpc_examples
+shared:
+install: fpc_install
+sourceinstall: fpc_sourceinstall
+exampleinstall: fpc_exampleinstall
+distinstall: fpc_distinstall
+zipinstall: fpc_zipinstall
+zipsourceinstall: fpc_zipsourceinstall
+zipexampleinstall: fpc_zipexampleinstall
+zipdistinstall: fpc_zipdistinstall
+clean: fpc_clean $(addsuffix _clean,$(TARGET_EXAMPLEDIRS))
+distclean: fpc_distclean
+cleanall: fpc_cleanall
+info: fpc_info
+makefiles: fpc_makefiles
+.PHONY: all debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
+ifneq ($(wildcard fpcmake.loc),)
+include fpcmake.loc
+endif
+gconf$(PPUEXT): $(wildcard gconf/gconf*.pp) gconf$(PPUEXT)
+gconfclient$(PPUEXT): $(wildcard gconfclient/gconfclient*.pp) gconfclient$(PPUEXT)

+ 35 - 0
packages/extra/gnome1/gconf/Makefile.fpc

@@ -0,0 +1,35 @@
+#
+#   Makefile.fpc for Free Pascal GConf 1.0.x Bindings
+#
+
+[package]
+name=gconf
+version=1.0.6
+
+[require]
+libc=y
+packages=gtk
+
+[target]
+units=gconf gconfclient
+exampledirs=examples
+
+[compiler]
+sourcedir=gconf gconfclient
+targetdir=.
+
+[libs]
+libname=libfpgconf.so
+libversion=1.0
+
+[install]
+fpcpackage=y
+
+[default]
+fpcdir=../../..
+
+
+[rules]
+gconf$(PPUEXT): $(wildcard gconf/gconf*.pp) gconf$(PPUEXT)
+
+gconfclient$(PPUEXT): $(wildcard gconfclient/gconfclient*.pp) gconfclient$(PPUEXT)

+ 1304 - 0
packages/extra/gnome1/gconf/examples/Makefile

@@ -0,0 +1,1304 @@
+#
+# Don't edit, this file is generated by FPCMake Version 1.1 [2002/09/21]
+#
+default: all
+MAKEFILETARGETS=linux
+override PATH:=$(subst \,/,$(PATH))
+ifeq ($(findstring ;,$(PATH)),)
+inUnix=1
+SEARCHPATH:=$(filter-out .,$(subst :, ,$(PATH)))
+else
+SEARCHPATH:=$(subst ;, ,$(PATH))
+endif
+PWD:=$(strip $(wildcard $(addsuffix /pwd.exe,$(SEARCHPATH))))
+ifeq ($(PWD),)
+PWD:=$(strip $(wildcard $(addsuffix /pwd,$(SEARCHPATH))))
+ifeq ($(PWD),)
+$(error You need the GNU utils package to use this Makefile)
+else
+PWD:=$(firstword $(PWD))
+SRCEXEEXT=
+endif
+else
+PWD:=$(firstword $(PWD))
+SRCEXEEXT=.exe
+endif
+ifndef inUnix
+ifeq ($(OS),Windows_NT)
+inWinNT=1
+else
+ifdef OS2_SHELL
+inOS2=1
+endif
+endif
+else
+ifneq ($(findstring cygwin,$(MACHTYPE)),)
+inCygWin=1
+endif
+endif
+ifeq ($(OS_TARGET),freebsd)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),netbsd)
+BSDhier=1
+endif
+ifeq ($(OS_TARGET),openbsd)
+BSDhier=1
+endif
+ifdef inUnix
+BATCHEXT=.sh
+else
+ifdef inOS2
+BATCHEXT=.cmd
+else
+BATCHEXT=.bat
+endif
+endif
+ifdef inUnix
+PATHSEP=/
+else
+PATHSEP:=$(subst /,\,/)
+endif
+ifdef PWD
+BASEDIR:=$(subst \,/,$(shell $(PWD)))
+ifdef inCygWin
+ifneq ($(findstring /cygdrive/,$(BASEDIR)),)
+BASENODIR:=$(patsubst /cygdrive%,%,$(BASEDIR))
+BASEDRIVE:=$(firstword $(subst /, ,$(BASENODIR)))
+BASEDIR:=$(subst /cygdrive/$(BASEDRIVE)/,$(BASEDRIVE):/,$(BASEDIR))
+endif
+endif
+else
+BASEDIR=.
+endif
+ifdef inOS2
+ifndef ECHO
+ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO=echo
+else
+ECHO:=$(firstword $(ECHO))
+endif
+else
+ECHO:=$(firstword $(ECHO))
+endif
+endif
+export ECHO
+endif
+override DEFAULT_FPCDIR=../../../..
+ifndef FPC
+ifdef PP
+FPC=$(PP)
+endif
+endif
+ifndef FPC
+FPCPROG:=$(strip $(wildcard $(addsuffix /fpc$(SRCEXEEXT),$(SEARCHPATH))))
+ifneq ($(FPCPROG),)
+FPCPROG:=$(firstword $(FPCPROG))
+FPC:=$(shell $(FPCPROG) -PB)
+ifneq ($(findstring Error,$(FPC)),)
+override FPC=ppc386
+endif
+else
+override FPC=ppc386
+endif
+endif
+override FPC:=$(subst $(SRCEXEEXT),,$(FPC))
+override FPC:=$(subst \,/,$(FPC))$(SRCEXEEXT)
+ifndef FPC_VERSION
+FPC_VERSION:=$(shell $(FPC) -iV)
+endif
+export FPC FPC_VERSION
+unexport CHECKDEPEND ALLDEPENDENCIES
+ifeq ($(findstring 1.0.,$(FPC_VERSION)),)
+COMPILERINFO:=$(shell $(FPC) -iSP -iTP -iSO -iTO)
+ifndef CPU_SOURCE
+CPU_SOURCE:=$(word 1,$(COMPILERINFO))
+endif
+ifndef CPU_TARGET
+CPU_TARGET:=$(word 2,$(COMPILERINFO))
+endif
+ifndef OS_SOURCE
+OS_SOURCE:=$(word 3,$(COMPILERINFO))
+endif
+ifndef OS_TARGET
+OS_TARGET:=$(word 4,$(COMPILERINFO))
+endif
+else
+ifndef CPU_SOURCE
+CPU_SOURCE:=$(shell $(FPC) -iSP)
+endif
+ifndef CPU_TARGET
+CPU_TARGET:=$(shell $(FPC) -iTP)
+endif
+ifndef OS_SOURCE
+OS_SOURCE:=$(shell $(FPC) -iSO)
+endif
+ifndef OS_TARGET
+OS_TARGET:=$(shell $(FPC) -iTO)
+endif
+endif
+FULL_TARGET=$(CPU_TARGET)-$(OS_TARGET)
+FULL_SOURCE=$(CPU_SOURCE)-$(OS_SOURCE)
+ifneq ($(FULL_TARGET),$(FULL_SOURCE))
+CROSSCOMPILE=1
+endif
+ifeq ($(findstring makefile,$(MAKECMDGOALS)),)
+ifeq ($(findstring $(OS_TARGET),$(MAKEFILETARGETS)),)
+$(error The Makefile doesn't support target $(OS_TARGET), please run fpcmake first)
+endif
+endif
+export OS_TARGET OS_SOURCE CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE CROSSCOMPILE
+ifdef FPCDIR
+override FPCDIR:=$(subst \,/,$(FPCDIR))
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR=wrong
+endif
+else
+override FPCDIR=wrong
+endif
+ifdef DEFAULT_FPCDIR
+ifeq ($(FPCDIR),wrong)
+override FPCDIR:=$(subst \,/,$(DEFAULT_FPCDIR))
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR=wrong
+endif
+endif
+endif
+ifeq ($(FPCDIR),wrong)
+ifdef inUnix
+override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
+ifeq ($(wildcard $(FPCDIR)/units),)
+override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
+endif
+else
+override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
+override FPCDIR:=$(FPCDIR)/..
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR:=$(FPCDIR)/..
+ifeq ($(wildcard $(addprefix $(FPCDIR)/,rtl units)),)
+override FPCDIR=c:/pp
+endif
+endif
+endif
+endif
+ifndef CROSSDIR
+CROSSDIR:=$(FPCDIR)/cross/$(FULL_TARGET)
+endif
+ifndef CROSSTARGETDIR
+CROSSTARGETDIR=$(CROSSDIR)/$(FULL_TARGET)
+endif
+ifdef CROSSCOMPILE
+UNITSDIR:=$(wildcard $(CROSSTARGETDIR)/units)
+ifeq ($(UNITSDIR),)
+UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
+endif
+else
+UNITSDIR:=$(wildcard $(FPCDIR)/units/$(OS_TARGET))
+endif
+PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/extra)
+override TARGET_PROGRAMS+=gconfcallback1 gconfcallback2 gconfexample
+override CLEAN_UNITS+=gconfcallback1 gconfcallback2 gconfexample
+override INSTALL_FPCPACKAGE=y
+ifdef REQUIRE_UNITSDIR
+override UNITSDIR+=$(REQUIRE_UNITSDIR)
+endif
+ifdef REQUIRE_PACKAGESDIR
+override PACKAGESDIR+=$(REQUIRE_PACKAGESDIR)
+endif
+ifdef ZIPINSTALL
+ifeq ($(OS_TARGET),linux)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),freebsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),netbsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),openbsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),sunos)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),qnx)
+UNIXINSTALLDIR=1
+endif
+else
+ifeq ($(OS_SOURCE),linux)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_SOURCE),freebsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_SOURCE),netbsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_SOURCE),openbsd)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),sunos)
+UNIXINSTALLDIR=1
+endif
+ifeq ($(OS_TARGET),qnx)
+UNIXINSTALLDIR=1
+endif
+endif
+ifndef INSTALL_PREFIX
+ifdef PREFIX
+INSTALL_PREFIX=$(PREFIX)
+endif
+endif
+ifndef INSTALL_PREFIX
+ifdef UNIXINSTALLDIR
+INSTALL_PREFIX=/usr/local
+else
+ifdef INSTALL_FPCPACKAGE
+INSTALL_BASEDIR:=/pp
+else
+INSTALL_BASEDIR:=/$(PACKAGE_NAME)
+endif
+endif
+endif
+export INSTALL_PREFIX
+ifdef INSTALL_FPCSUBDIR
+export INSTALL_FPCSUBDIR
+endif
+ifndef DIST_DESTDIR
+DIST_DESTDIR:=$(BASEDIR)
+endif
+export DIST_DESTDIR
+ifndef INSTALL_BASEDIR
+ifdef UNIXINSTALLDIR
+ifdef INSTALL_FPCPACKAGE
+INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
+else
+INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
+endif
+else
+INSTALL_BASEDIR:=$(INSTALL_PREFIX)
+endif
+endif
+ifndef INSTALL_BINDIR
+ifdef UNIXINSTALLDIR
+INSTALL_BINDIR:=$(INSTALL_PREFIX)/bin
+else
+INSTALL_BINDIR:=$(INSTALL_BASEDIR)/bin
+ifdef INSTALL_FPCPACKAGE
+INSTALL_BINDIR:=$(INSTALL_BINDIR)/$(OS_TARGET)
+endif
+endif
+endif
+ifndef INSTALL_UNITDIR
+ifdef CROSSCOMPILE
+INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/units
+else
+INSTALL_UNITDIR:=$(INSTALL_BASEDIR)/units/$(OS_TARGET)
+endif
+ifdef INSTALL_FPCPACKAGE
+ifdef PACKAGE_NAME
+INSTALL_UNITDIR:=$(INSTALL_UNITDIR)/$(PACKAGE_NAME)
+endif
+endif
+endif
+ifndef INSTALL_LIBDIR
+ifdef UNIXINSTALLDIR
+INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
+else
+INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
+endif
+endif
+ifndef INSTALL_SOURCEDIR
+ifdef UNIXINSTALLDIR
+ifdef BSDhier
+SRCPREFIXDIR=share/src
+else
+SRCPREFIXDIR=src
+endif
+ifdef INSTALL_FPCPACKAGE
+ifdef INSTALL_FPCSUBDIR
+INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
+else
+INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+endif
+else
+INSTALL_SOURCEDIR:=$(INSTALL_PREFIX)/$(SRCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+endif
+else
+ifdef INSTALL_FPCPACKAGE
+ifdef INSTALL_FPCSUBDIR
+INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(INSTALL_FPCSUBDIR)/$(PACKAGE_NAME)
+else
+INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source/$(PACKAGE_NAME)
+endif
+else
+INSTALL_SOURCEDIR:=$(INSTALL_BASEDIR)/source
+endif
+endif
+endif
+ifndef INSTALL_DOCDIR
+ifdef UNIXINSTALLDIR
+ifdef BSDhier
+DOCPREFIXDIR=share/doc
+else
+DOCPREFIXDIR=doc
+endif
+ifdef INSTALL_FPCPACKAGE
+INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
+INSTALL_DOCDIR:=$(INSTALL_PREFIX)/$(DOCPREFIXDIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+endif
+else
+ifdef INSTALL_FPCPACKAGE
+INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc/$(PACKAGE_NAME)
+else
+INSTALL_DOCDIR:=$(INSTALL_BASEDIR)/doc
+endif
+endif
+endif
+ifndef INSTALL_EXAMPLEDIR
+ifdef UNIXINSTALLDIR
+ifdef INSTALL_FPCPACKAGE
+ifdef BSDhier
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/fpc-$(FPC_VERSION)/$(PACKAGE_NAME)
+else
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/fpc-$(FPC_VERSION)/examples/$(PACKAGE_NAME)
+endif
+else
+ifdef BSDhier
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/share/examples/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+else
+INSTALL_EXAMPLEDIR:=$(INSTALL_PREFIX)/doc/$(PACKAGE_NAME)-$(PACKAGE_VERSION)
+endif
+endif
+else
+ifdef INSTALL_FPCPACKAGE
+INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples/$(PACKAGE_NAME)
+else
+INSTALL_EXAMPLEDIR:=$(INSTALL_BASEDIR)/examples
+endif
+endif
+endif
+ifndef INSTALL_DATADIR
+INSTALL_DATADIR=$(INSTALL_BASEDIR)
+endif
+ifdef CROSSCOMPILE
+ifndef CROSSBINDIR
+CROSSBINDIR:=$(wildcard $(CROSSTARGETDIR)/bin/$(FULL_SOURCE))
+ifeq ($(CROSSBINDIR),)
+CROSSBINDIR:=$(wildcard $(INSTALL_BASEDIR)/cross/$(FULL_TARGET)/bin/$(FULL_SOURCE))
+endif
+endif
+else
+CROSSBINDIR=
+endif
+ifdef inUnix
+ifndef GCCLIBDIR
+GCCLIBDIR:=$(shell dirname `(gcc -v 2>&1)| head -n 1| awk '{ print $$4 } '`)
+endif
+ifeq ($(OS_TARGET),linux)
+ifndef OTHERLIBDIR
+OTHERLIBDIR:=$(shell grep -v "^\#" /etc/ld.so.conf | awk '{ ORS=" "; print $1 }')
+endif
+endif
+ifeq ($(OS_TARGET),netbsd)
+OTHERLIBDIR+=/usr/pkg/lib
+endif
+export GCCLIBDIR OTHERLIB
+endif
+LOADEREXT=.as
+EXEEXT=.exe
+PPLEXT=.ppl
+PPUEXT=.ppu
+OEXT=.o
+ASMEXT=.s
+SMARTEXT=.sl
+STATICLIBEXT=.a
+SHAREDLIBEXT=.so
+STATICLIBPREFIX=libp
+RSTEXT=.rst
+FPCMADE=fpcmade
+ifeq ($(OS_TARGET),go32v1)
+PPUEXT=.pp1
+OEXT=.o1
+ASMEXT=.s1
+SMARTEXT=.sl1
+STATICLIBEXT=.a1
+SHAREDLIBEXT=.so1
+STATICLIBPREFIX=
+FPCMADE=fpcmade.v1
+PACKAGESUFFIX=v1
+endif
+ifeq ($(OS_TARGET),go32v2)
+STATICLIBPREFIX=
+FPCMADE=fpcmade.dos
+ZIPSUFFIX=go32
+endif
+ifeq ($(OS_TARGET),linux)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.lnx
+ZIPSUFFIX=linux
+endif
+ifeq ($(OS_TARGET),freebsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.freebsd
+ZIPSUFFIX=freebsd
+endif
+ifeq ($(OS_TARGET),netbsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.netbsd
+ZIPSUFFIX=netbsd
+endif
+ifeq ($(OS_TARGET),openbsd)
+EXEEXT=
+HASSHAREDLIB=1
+FPCMADE=fpcmade.openbsd
+ZIPSUFFIX=openbsd
+endif
+ifeq ($(OS_TARGET),win32)
+PPUEXT=.ppw
+OEXT=.ow
+ASMEXT=.sw
+SMARTEXT=.slw
+STATICLIBEXT=.aw
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.w32
+ZIPSUFFIX=w32
+endif
+ifeq ($(OS_TARGET),os2)
+PPUEXT=.ppo
+ASMEXT=.so2
+OEXT=.oo2
+AOUTEXT=.out
+SMARTEXT=.sl2
+STATICLIBPREFIX=
+STATICLIBEXT=.ao2
+SHAREDLIBEXT=.dll
+FPCMADE=fpcmade.os2
+ZIPSUFFIX=emx
+ECHO=echo
+endif
+ifeq ($(OS_TARGET),amiga)
+EXEEXT=
+PPUEXT=.ppu
+ASMEXT=.asm
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+SHAREDLIBEXT=.library
+FPCMADE=fpcmade.amg
+endif
+ifeq ($(OS_TARGET),atari)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=.ttp
+FPCMADE=fpcmade.ata
+endif
+ifeq ($(OS_TARGET),beos)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.be
+ZIPSUFFIX=be
+endif
+ifeq ($(OS_TARGET),sunos)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.sun
+ZIPSUFFIX=sun
+endif
+ifeq ($(OS_TARGET),qnx)
+PPUEXT=.ppu
+ASMEXT=.s
+OEXT=.o
+SMARTEXT=.sl
+STATICLIBEXT=.a
+EXEEXT=
+FPCMADE=fpcmade.qnx
+ZIPSUFFIX=qnx
+endif
+ifeq ($(OS_TARGET),netware)
+STATICLIBPREFIX=
+PPUEXT=.ppn
+OEXT=.on
+ASMEXT=.s
+SMARTEXT=.sl
+STATICLIBEXT=.a
+SHAREDLIBEXT=.nlm
+FPCMADE=fpcmade.nw
+ZIPSUFFIX=nw
+EXEEXT=.nlm
+endif
+ifndef ECHO
+ECHO:=$(strip $(wildcard $(addsuffix /gecho$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO:=$(strip $(wildcard $(addsuffix /echo$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ECHO),)
+ECHO=
+else
+ECHO:=$(firstword $(ECHO))
+endif
+else
+ECHO:=$(firstword $(ECHO))
+endif
+endif
+export ECHO
+ifndef DATE
+DATE:=$(strip $(wildcard $(addsuffix /gdate$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(DATE),)
+DATE:=$(strip $(wildcard $(addsuffix /date$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(DATE),)
+DATE=
+else
+DATE:=$(firstword $(DATE))
+endif
+else
+DATE:=$(firstword $(DATE))
+endif
+endif
+export DATE
+ifndef GINSTALL
+GINSTALL:=$(strip $(wildcard $(addsuffix /ginstall$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(GINSTALL),)
+GINSTALL:=$(strip $(wildcard $(addsuffix /install$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(GINSTALL),)
+GINSTALL=
+else
+GINSTALL:=$(firstword $(GINSTALL))
+endif
+else
+GINSTALL:=$(firstword $(GINSTALL))
+endif
+endif
+export GINSTALL
+ifndef CPPROG
+CPPROG:=$(strip $(wildcard $(addsuffix /cp$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(CPPROG),)
+CPPROG=
+else
+CPPROG:=$(firstword $(CPPROG))
+endif
+endif
+export CPPROG
+ifndef RMPROG
+RMPROG:=$(strip $(wildcard $(addsuffix /rm$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(RMPROG),)
+RMPROG=
+else
+RMPROG:=$(firstword $(RMPROG))
+endif
+endif
+export RMPROG
+ifndef MVPROG
+MVPROG:=$(strip $(wildcard $(addsuffix /mv$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(MVPROG),)
+MVPROG=
+else
+MVPROG:=$(firstword $(MVPROG))
+endif
+endif
+export MVPROG
+ifndef ECHOREDIR
+ECHOREDIR:=$(subst /,$(PATHSEP),$(ECHO))
+endif
+ifndef COPY
+COPY:=$(CPPROG) -fp
+endif
+ifndef COPYTREE
+COPYTREE:=$(CPPROG) -rfp
+endif
+ifndef MOVE
+MOVE:=$(MVPROG) -f
+endif
+ifndef DEL
+DEL:=$(RMPROG) -f
+endif
+ifndef DELTREE
+DELTREE:=$(RMPROG) -rf
+endif
+ifndef INSTALL
+ifdef inUnix
+INSTALL:=$(GINSTALL) -c -m 644
+else
+INSTALL:=$(COPY)
+endif
+endif
+ifndef INSTALLEXE
+ifdef inUnix
+INSTALLEXE:=$(GINSTALL) -c -m 755
+else
+INSTALLEXE:=$(COPY)
+endif
+endif
+ifndef MKDIR
+MKDIR:=$(GINSTALL) -m 755 -d
+endif
+export ECHOREDIR COPY COPYTREE MOVE DEL DELTREE INSTALL INSTALLEXE MKDIR
+ifndef PPUMOVE
+PPUMOVE:=$(strip $(wildcard $(addsuffix /ppumove$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(PPUMOVE),)
+PPUMOVE=
+else
+PPUMOVE:=$(firstword $(PPUMOVE))
+endif
+endif
+export PPUMOVE
+ifndef FPCMAKE
+FPCMAKE:=$(strip $(wildcard $(addsuffix /fpcmake$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(FPCMAKE),)
+FPCMAKE=
+else
+FPCMAKE:=$(firstword $(FPCMAKE))
+endif
+endif
+export FPCMAKE
+ifndef ZIPPROG
+ZIPPROG:=$(strip $(wildcard $(addsuffix /zip$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(ZIPPROG),)
+ZIPPROG=
+else
+ZIPPROG:=$(firstword $(ZIPPROG))
+endif
+endif
+export ZIPPROG
+ifndef TARPROG
+TARPROG:=$(strip $(wildcard $(addsuffix /tar$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(TARPROG),)
+TARPROG=
+else
+TARPROG:=$(firstword $(TARPROG))
+endif
+endif
+export TARPROG
+ASNAME=as
+LDNAME=ld
+ARNAME=ar
+RCNAME=rc
+ifeq ($(OS_TARGET),win32)
+ASNAME=asw
+LDNAME=ldw
+ARNAME=arw
+endif
+ifndef ASPROG
+ifdef CROSSBINDIR
+ASPROG=$(CROSSBINDIR)/$(ASNAME)$(SRCEXEEXT)
+else
+ASPROG=$(ASNAME)
+endif
+endif
+ifndef LDPROG
+ifdef CROSSBINDIR
+LDPROG=$(CROSSBINDIR)/$(LDNAME)$(SRCEXEEXT)
+else
+LDPROG=$(LDNAME)
+endif
+endif
+ifndef RCPROG
+ifdef CROSSBINDIR
+RCPROG=$(CROSSBINDIR)/$(RCNAME)$(SRCEXEEXT)
+else
+RCPROG=$(RCNAME)
+endif
+endif
+ifndef ARPROG
+ifdef CROSSBINDIR
+ARPROG=$(CROSSBINDIR)/$(ARNAME)$(SRCEXEEXT)
+else
+ARPROG=$(ARNAME)
+endif
+endif
+AS=$(ASPROG)
+LD=$(LDPROG)
+RC=$(RCPROG)
+AR=$(ARPROG)
+PPAS=ppas$(BATCHEXT)
+ifdef inUnix
+LDCONFIG=ldconfig
+else
+LDCONFIG=
+endif
+ifdef DATE
+DATESTR:=$(shell $(DATE) +%Y%m%d)
+else
+DATESTR=
+endif
+ifndef UPXPROG
+ifeq ($(OS_TARGET),go32v2)
+UPXPROG:=1
+endif
+ifeq ($(OS_TARGET),win32)
+UPXPROG:=1
+endif
+ifdef UPXPROG
+UPXPROG:=$(strip $(wildcard $(addsuffix /upx$(SRCEXEEXT),$(SEARCHPATH))))
+ifeq ($(UPXPROG),)
+UPXPROG=
+else
+UPXPROG:=$(firstword $(UPXPROG))
+endif
+else
+UPXPROG=
+endif
+endif
+export UPXPROG
+ZIPOPT=-9
+ZIPEXT=.zip
+ifeq ($(USETAR),bz2)
+TAROPT=vI
+TAREXT=.tar.bz2
+else
+TAROPT=vz
+TAREXT=.tar.gz
+endif
+override REQUIRE_PACKAGES=rtl gtk gconf
+ifeq ($(OS_TARGET),linux)
+REQUIRE_PACKAGES_RTL=1
+REQUIRE_PACKAGES_X11=1
+REQUIRE_PACKAGES_OPENGL=1
+REQUIRE_PACKAGES_GTK=1
+REQUIRE_PACKAGES_GCONF=1
+endif
+ifdef REQUIRE_PACKAGES_RTL
+PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/$(OS_TARGET)/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_RTL),)
+ifneq ($(wildcard $(PACKAGEDIR_RTL)/$(OS_TARGET)),)
+UNITDIR_RTL=$(PACKAGEDIR_RTL)/$(OS_TARGET)
+else
+UNITDIR_RTL=$(PACKAGEDIR_RTL)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_RTL)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_RTL) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_RTL)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_RTL=
+UNITDIR_RTL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /rtl/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_RTL),)
+UNITDIR_RTL:=$(firstword $(UNITDIR_RTL))
+else
+UNITDIR_RTL=
+endif
+endif
+ifdef UNITDIR_RTL
+override COMPILER_UNITDIR+=$(UNITDIR_RTL)
+endif
+endif
+ifdef REQUIRE_PACKAGES_X11
+PACKAGEDIR_X11:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /x11/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_X11),)
+ifneq ($(wildcard $(PACKAGEDIR_X11)/$(OS_TARGET)),)
+UNITDIR_X11=$(PACKAGEDIR_X11)/$(OS_TARGET)
+else
+UNITDIR_X11=$(PACKAGEDIR_X11)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_X11)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_X11) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_X11)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_X11=
+UNITDIR_X11:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /x11/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_X11),)
+UNITDIR_X11:=$(firstword $(UNITDIR_X11))
+else
+UNITDIR_X11=
+endif
+endif
+ifdef UNITDIR_X11
+override COMPILER_UNITDIR+=$(UNITDIR_X11)
+endif
+endif
+ifdef REQUIRE_PACKAGES_OPENGL
+PACKAGEDIR_OPENGL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /opengl/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_OPENGL),)
+ifneq ($(wildcard $(PACKAGEDIR_OPENGL)/$(OS_TARGET)),)
+UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL)/$(OS_TARGET)
+else
+UNITDIR_OPENGL=$(PACKAGEDIR_OPENGL)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_OPENGL)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_OPENGL) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_OPENGL)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_OPENGL=
+UNITDIR_OPENGL:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /opengl/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_OPENGL),)
+UNITDIR_OPENGL:=$(firstword $(UNITDIR_OPENGL))
+else
+UNITDIR_OPENGL=
+endif
+endif
+ifdef UNITDIR_OPENGL
+override COMPILER_UNITDIR+=$(UNITDIR_OPENGL)
+endif
+endif
+ifdef REQUIRE_PACKAGES_GTK
+PACKAGEDIR_GTK:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /gtk/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_GTK),)
+ifneq ($(wildcard $(PACKAGEDIR_GTK)/$(OS_TARGET)),)
+UNITDIR_GTK=$(PACKAGEDIR_GTK)/$(OS_TARGET)
+else
+UNITDIR_GTK=$(PACKAGEDIR_GTK)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_GTK)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_GTK) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_GTK)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_GTK=
+UNITDIR_GTK:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /gtk/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_GTK),)
+UNITDIR_GTK:=$(firstword $(UNITDIR_GTK))
+else
+UNITDIR_GTK=
+endif
+endif
+ifdef UNITDIR_GTK
+override COMPILER_UNITDIR+=$(UNITDIR_GTK)
+endif
+endif
+ifdef REQUIRE_PACKAGES_GCONF
+PACKAGEDIR_GCONF:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /gconf/Makefile.fpc,$(PACKAGESDIR))))))
+ifneq ($(PACKAGEDIR_GCONF),)
+ifneq ($(wildcard $(PACKAGEDIR_GCONF)/$(OS_TARGET)),)
+UNITDIR_GCONF=$(PACKAGEDIR_GCONF)/$(OS_TARGET)
+else
+UNITDIR_GCONF=$(PACKAGEDIR_GCONF)
+endif
+ifdef CHECKDEPEND
+$(PACKAGEDIR_GCONF)/$(FPCMADE):
+	$(MAKE) -C $(PACKAGEDIR_GCONF) $(FPCMADE)
+override ALLDEPENDENCIES+=$(PACKAGEDIR_GCONF)/$(FPCMADE)
+endif
+else
+PACKAGEDIR_GCONF=
+UNITDIR_GCONF:=$(subst /Package.fpc,,$(strip $(wildcard $(addsuffix /gconf/Package.fpc,$(UNITSDIR)))))
+ifneq ($(UNITDIR_GCONF),)
+UNITDIR_GCONF:=$(firstword $(UNITDIR_GCONF))
+else
+UNITDIR_GCONF=
+endif
+endif
+ifdef UNITDIR_GCONF
+override COMPILER_UNITDIR+=$(UNITDIR_GCONF)
+endif
+endif
+ifndef NOCPUDEF
+override FPCOPTDEF=$(CPU_TARGET)
+endif
+ifneq ($(OS_TARGET),$(OS_SOURCE))
+override FPCOPT+=-T$(OS_TARGET)
+endif
+ifeq ($(OS_SOURCE),openbsd)
+override FPCOPT+=-FD$(NEW_BINUTILS_PATH)
+endif
+ifdef UNITDIR
+override FPCOPT+=$(addprefix -Fu,$(UNITDIR))
+endif
+ifdef LIBDIR
+override FPCOPT+=$(addprefix -Fl,$(LIBDIR))
+endif
+ifdef OBJDIR
+override FPCOPT+=$(addprefix -Fo,$(OBJDIR))
+endif
+ifdef INCDIR
+override FPCOPT+=$(addprefix -Fi,$(INCDIR))
+endif
+ifdef LINKSMART
+override FPCOPT+=-XX
+endif
+ifdef CREATESMART
+override FPCOPT+=-CX
+endif
+ifdef DEBUG
+override FPCOPT+=-gl
+override FPCOPTDEF+=DEBUG
+endif
+ifdef RELEASE
+ifeq ($(CPU_TARGET),i386)
+FPCCPUOPT:=-OG2p3
+else
+FPCCPUOPT:=
+endif
+override FPCOPT+=-Xs $(FPCCPUOPT) -n
+override FPCOPTDEF+=RELEASE
+endif
+ifdef STRIP
+override FPCOPT+=-Xs
+endif
+ifdef OPTIMIZE
+ifeq ($(CPU_TARGET),i386)
+override FPCOPT+=-OG2p3
+endif
+endif
+ifdef VERBOSE
+override FPCOPT+=-vwni
+endif
+ifdef COMPILER_OPTIONS
+override FPCOPT+=$(COMPILER_OPTIONS)
+endif
+ifdef COMPILER_UNITDIR
+override FPCOPT+=$(addprefix -Fu,$(COMPILER_UNITDIR))
+endif
+ifdef COMPILER_LIBRARYDIR
+override FPCOPT+=$(addprefix -Fl,$(COMPILER_LIBRARYDIR))
+endif
+ifdef COMPILER_OBJECTDIR
+override FPCOPT+=$(addprefix -Fo,$(COMPILER_OBJECTDIR))
+endif
+ifdef COMPILER_INCLUDEDIR
+override FPCOPT+=$(addprefix -Fi,$(COMPILER_INCLUDEDIR))
+endif
+ifdef CROSSBINDIR
+override FPCOPT+=-FD$(CROSSBINDIR)
+endif
+ifdef COMPILER_TARGETDIR
+override FPCOPT+=-FE$(COMPILER_TARGETDIR)
+ifeq ($(COMPILER_TARGETDIR),.)
+override TARGETDIRPREFIX=
+else
+override TARGETDIRPREFIX=$(COMPILER_TARGETDIR)/
+endif
+endif
+ifdef COMPILER_UNITTARGETDIR
+override FPCOPT+=-FU$(COMPILER_UNITTARGETDIR)
+ifeq ($(COMPILER_UNITTARGETDIR),.)
+override UNITTARGETDIRPREFIX=
+else
+override UNITTARGETDIRPREFIX=$(COMPILER_UNITTARGETDIR)/
+endif
+else
+ifdef COMPILER_TARGETDIR
+override COMPILER_UNITTARGETDIR=$(COMPILER_TARGETDIR)
+override UNITTARGETDIRPREFIX=$(TARGETDIRPREFIX)
+endif
+endif
+ifdef GCCLIBDIR
+override FPCOPT+=-Fl$(GCCLIBDIR)
+endif
+ifdef OTHERLIBDIR
+override FPCOPT+=$(addprefix -Fl,$(OTHERLIBDIR))
+endif
+ifdef OPT
+override FPCOPT+=$(OPT)
+endif
+ifdef FPCOPTDEF
+override FPCOPT+=$(addprefix -d,$(FPCOPTDEF))
+endif
+ifdef CFGFILE
+override FPCOPT+=@$(CFGFILE)
+endif
+ifdef USEENV
+override FPCEXTCMD:=$(FPCOPT)
+override FPCOPT:=!FPCEXTCMD
+export FPCEXTCMD
+endif
+override COMPILER:=$(FPC) $(FPCOPT)
+ifeq (,$(findstring -s ,$(COMPILER)))
+EXECPPAS=
+else
+ifeq ($(OS_SOURCE),$(OS_TARGET))
+EXECPPAS:=@$(PPAS)
+endif
+endif
+.PHONY: fpc_exes
+ifdef TARGET_PROGRAMS
+override EXEFILES=$(addsuffix $(EXEEXT),$(TARGET_PROGRAMS))
+override EXEOFILES:=$(addsuffix $(OEXT),$(TARGET_PROGRAMS)) $(addprefix $(STATICLIBPREFIX),$(addsuffix $(STATICLIBEXT),$(TARGET_PROGRAMS)))
+override ALLTARGET+=fpc_exes
+override INSTALLEXEFILES+=$(EXEFILES)
+override CLEANEXEFILES+=$(EXEFILES) $(EXEOFILES)
+ifeq ($(OS_TARGET),os2)
+override CLEANEXEFILES+=$(addsuffix $(AOUTEXT),$(TARGET_PROGRAMS))
+endif
+endif
+fpc_exes: $(EXEFILES)
+ifdef TARGET_RSTS
+override RSTFILES=$(addsuffix $(RSTEXT),$(TARGET_RSTS))
+override CLEANRSTFILES+=$(RSTFILES)
+endif
+.PHONY: fpc_all fpc_smart fpc_debug fpc_release
+$(FPCMADE): $(ALLDEPENDENCIES) $(ALLTARGET)
+	@$(ECHOREDIR) Compiled > $(FPCMADE)
+fpc_all: $(FPCMADE)
+fpc_smart:
+	$(MAKE) all LINKSMART=1 CREATESMART=1
+fpc_debug:
+	$(MAKE) all DEBUG=1
+fpc_release:
+	$(MAKE) all RELEASE=1
+.SUFFIXES: $(EXEEXT) $(PPUEXT) $(OEXT) .pas .pp .rc .res
+%$(PPUEXT): %.pp
+	$(COMPILER) $<
+	$(EXECPPAS)
+%$(PPUEXT): %.pas
+	$(COMPILER) $<
+	$(EXECPPAS)
+%$(EXEEXT): %.pp
+	$(COMPILER) $<
+	$(EXECPPAS)
+%$(EXEEXT): %.pas
+	$(COMPILER) $<
+	$(EXECPPAS)
+%.res: %.rc
+	windres -i $< -o $@
+vpath %.pp $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
+vpath %.pas $(COMPILER_SOURCEDIR) $(COMPILER_INCLUDEDIR)
+vpath %$(PPUEXT) $(COMPILER_UNITTARGETDIR)
+.PHONY: fpc_install fpc_sourceinstall fpc_exampleinstall
+ifdef INSTALL_UNITS
+override INSTALLPPUFILES+=$(addsuffix $(PPUEXT),$(INSTALL_UNITS))
+endif
+ifdef INSTALL_BUILDUNIT
+override INSTALLPPUFILES:=$(filter-out $(INSTALL_BUILDUNIT)$(PPUEXT),$(INSTALLPPUFILES))
+endif
+ifdef INSTALLPPUFILES
+override INSTALLPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(INSTALLPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(INSTALLPPUFILES)))
+override INSTALLPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPUFILES))
+override INSTALLPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(INSTALLPPULINKFILES)))
+override INSTALL_CREATEPACKAGEFPC=1
+endif
+ifdef INSTALLEXEFILES
+override INSTALLEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(INSTALLEXEFILES))
+endif
+fpc_install: all $(INSTALLTARGET)
+ifdef INSTALLEXEFILES
+	$(MKDIR) $(INSTALL_BINDIR)
+ifdef UPXPROG
+	-$(UPXPROG) $(INSTALLEXEFILES)
+endif
+	$(INSTALLEXE) $(INSTALLEXEFILES) $(INSTALL_BINDIR)
+endif
+ifdef INSTALL_CREATEPACKAGEFPC
+ifdef FPCMAKE
+ifdef PACKAGE_VERSION
+ifneq ($(wildcard Makefile.fpc),)
+	$(FPCMAKE) -p -T$(OS_TARGET) Makefile.fpc
+	$(MKDIR) $(INSTALL_UNITDIR)
+	$(INSTALL) Package.fpc $(INSTALL_UNITDIR)
+endif
+endif
+endif
+endif
+ifdef INSTALLPPUFILES
+	$(MKDIR) $(INSTALL_UNITDIR)
+	$(INSTALL) $(INSTALLPPUFILES) $(INSTALL_UNITDIR)
+ifneq ($(INSTALLPPULINKFILES),)
+	$(INSTALL) $(INSTALLPPULINKFILES) $(INSTALL_UNITDIR)
+endif
+ifneq ($(wildcard $(LIB_FULLNAME)),)
+	$(MKDIR) $(INSTALL_LIBDIR)
+	$(INSTALL) $(LIB_FULLNAME) $(INSTALL_LIBDIR)
+ifdef inUnix
+	ln -sf $(LIB_FULLNAME) $(INSTALL_LIBDIR)/$(LIB_NAME)
+endif
+endif
+endif
+ifdef INSTALL_FILES
+	$(MKDIR) $(INSTALL_DATADIR)
+	$(INSTALL) $(INSTALL_FILES) $(INSTALL_DATADIR)
+endif
+fpc_sourceinstall: distclean
+	$(MKDIR) $(INSTALL_SOURCEDIR)
+	$(COPYTREE) $(BASEDIR)/* $(INSTALL_SOURCEDIR)
+fpc_exampleinstall: $(addsuffix _distclean,$(TARGET_EXAMPLEDIRS))
+ifdef HASEXAMPLES
+	$(MKDIR) $(INSTALL_EXAMPLEDIR)
+endif
+ifdef EXAMPLESOURCEFILES
+	$(COPY) $(EXAMPLESOURCEFILES) $(INSTALL_EXAMPLEDIR)
+endif
+ifdef TARGET_EXAMPLEDIRS
+	$(COPYTREE) $(addsuffix /*,$(TARGET_EXAMPLEDIRS)) $(INSTALL_EXAMPLEDIR)
+endif
+.PHONY: fpc_clean fpc_cleanall fpc_distclean
+ifdef EXEFILES
+override CLEANEXEFILES:=$(addprefix $(TARGETDIRPREFIX),$(CLEANEXEFILES))
+endif
+ifdef CLEAN_UNITS
+override CLEANPPUFILES+=$(addsuffix $(PPUEXT),$(CLEAN_UNITS))
+endif
+ifdef CLEANPPUFILES
+override CLEANPPULINKFILES:=$(subst $(PPUEXT),$(OEXT),$(CLEANPPUFILES)) $(addprefix $(STATICLIBPREFIX),$(subst $(PPUEXT),$(STATICLIBEXT),$(CLEANPPUFILES)))
+override CLEANPPUFILES:=$(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPUFILES))
+override CLEANPPULINKFILES:=$(wildcard $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANPPULINKFILES)))
+endif
+fpc_clean: $(CLEANTARGET)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
+endif
+ifdef CLEANPPUFILES
+	-$(DEL) $(CLEANPPUFILES)
+endif
+ifneq ($(CLEANPPULINKFILES),)
+	-$(DEL) $(CLEANPPULINKFILES)
+endif
+ifdef CLEANRSTFILES
+	-$(DEL) $(addprefix $(UNITTARGETDIRPREFIX),$(CLEANRSTFILES))
+endif
+ifdef CLEAN_FILES
+	-$(DEL) $(CLEAN_FILES)
+endif
+ifdef LIB_NAME
+	-$(DEL) $(LIB_NAME) $(LIB_FULLNAME)
+endif
+	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+fpc_distclean: clean
+ifdef COMPILER_UNITTARGETDIR
+TARGETDIRCLEAN=fpc_clean
+endif
+fpc_cleanall: $(CLEANTARGET) $(TARGETDIRCLEAN)
+ifdef CLEANEXEFILES
+	-$(DEL) $(CLEANEXEFILES)
+endif
+	-$(DEL) *$(OEXT) *$(PPUEXT) *$(RSTEXT) *$(ASMEXT) *$(STATICLIBEXT) *$(SHAREDLIBEXT) *$(PPLEXT)
+	-$(DELTREE) *$(SMARTEXT)
+	-$(DEL) $(FPCMADE) Package.fpc $(PPAS) script.res link.res $(FPCEXTFILE) $(REDIRFILE)
+ifdef AOUTEXT
+	-$(DEL) *$(AOUTEXT)
+endif
+.PHONY: fpc_baseinfo
+override INFORULES+=fpc_baseinfo
+fpc_baseinfo:
+	@$(ECHO)
+	@$(ECHO)  == Package info ==
+	@$(ECHO)  Package Name..... $(PACKAGE_NAME)
+	@$(ECHO)  Package Version.. $(PACKAGE_VERSION)
+	@$(ECHO)
+	@$(ECHO)  == Configuration info ==
+	@$(ECHO)
+	@$(ECHO)  FPC.......... $(FPC)
+	@$(ECHO)  FPC Version.. $(FPC_VERSION)
+	@$(ECHO)  Source CPU... $(CPU_SOURCE)
+	@$(ECHO)  Target CPU... $(CPU_TARGET)
+	@$(ECHO)  Source OS.... $(OS_SOURCE)
+	@$(ECHO)  Target OS.... $(OS_TARGET)
+	@$(ECHO)  Full Source.. $(FULL_SOURCE)
+	@$(ECHO)  Full Target.. $(FULL_TARGET)
+	@$(ECHO)
+	@$(ECHO)  == Directory info ==
+	@$(ECHO)
+	@$(ECHO)  Required pkgs... $(REQUIRE_PACKAGES)
+	@$(ECHO)
+	@$(ECHO)  Basedir......... $(BASEDIR)
+	@$(ECHO)  FPCDir.......... $(FPCDIR)
+	@$(ECHO)  CrossBinDir..... $(CROSSBINDIR)
+	@$(ECHO)  UnitsDir........ $(UNITSDIR)
+	@$(ECHO)  PackagesDir..... $(PACKAGESDIR)
+	@$(ECHO)
+	@$(ECHO)  GCC library..... $(GCCLIBDIR)
+	@$(ECHO)  Other library... $(OTHERLIBDIR)
+	@$(ECHO)
+	@$(ECHO)  == Tools info ==
+	@$(ECHO)
+	@$(ECHO)  As........ $(AS)
+	@$(ECHO)  Ld........ $(LD)
+	@$(ECHO)  Ar........ $(AR)
+	@$(ECHO)  Rc........ $(RC)
+	@$(ECHO)
+	@$(ECHO)  Mv........ $(MVPROG)
+	@$(ECHO)  Cp........ $(CPPROG)
+	@$(ECHO)  Rm........ $(RMPROG)
+	@$(ECHO)  GInstall.. $(GINSTALL)
+	@$(ECHO)  Echo...... $(ECHO)
+	@$(ECHO)  Date...... $(DATE)
+	@$(ECHO)  FPCMake... $(FPCMAKE)
+	@$(ECHO)  PPUMove... $(PPUMOVE)
+	@$(ECHO)  Upx....... $(UPXPROG)
+	@$(ECHO)  Zip....... $(ZIPPROG)
+	@$(ECHO)
+	@$(ECHO)  == Object info ==
+	@$(ECHO)
+	@$(ECHO)  Target Loaders........ $(TARGET_LOADERS)
+	@$(ECHO)  Target Units.......... $(TARGET_UNITS)
+	@$(ECHO)  Target Implicit Units. $(TARGET_IMPLICITUNITS)
+	@$(ECHO)  Target Programs....... $(TARGET_PROGRAMS)
+	@$(ECHO)  Target Dirs........... $(TARGET_DIRS)
+	@$(ECHO)  Target Examples....... $(TARGET_EXAMPLES)
+	@$(ECHO)  Target ExampleDirs.... $(TARGET_EXAMPLEDIRS)
+	@$(ECHO)
+	@$(ECHO)  Clean Units......... $(CLEAN_UNITS)
+	@$(ECHO)  Clean Files......... $(CLEAN_FILES)
+	@$(ECHO)
+	@$(ECHO)  Install Units....... $(INSTALL_UNITS)
+	@$(ECHO)  Install Files....... $(INSTALL_FILES)
+	@$(ECHO)
+	@$(ECHO)  == Install info ==
+	@$(ECHO)
+	@$(ECHO)  DateStr.............. $(DATESTR)
+	@$(ECHO)  ZipPrefix............ $(ZIPPREFIX)
+	@$(ECHO)  ZipSuffix............ $(ZIPSUFFIX)
+	@$(ECHO)  Install FPC Package.. $(INSTALL_FPCPACKAGE)
+	@$(ECHO)
+	@$(ECHO)  Install base dir..... $(INSTALL_BASEDIR)
+	@$(ECHO)  Install binary dir... $(INSTALL_BINDIR)
+	@$(ECHO)  Install library dir.. $(INSTALL_LIBDIR)
+	@$(ECHO)  Install units dir.... $(INSTALL_UNITDIR)
+	@$(ECHO)  Install source dir... $(INSTALL_SOURCEDIR)
+	@$(ECHO)  Install doc dir...... $(INSTALL_DOCDIR)
+	@$(ECHO)  Install example dir.. $(INSTALL_EXAMPLEDIR)
+	@$(ECHO)  Install data dir..... $(INSTALL_DATADIR)
+	@$(ECHO)
+	@$(ECHO)  Dist destination dir. $(DIST_DESTDIR)
+	@$(ECHO)  Dist zip name........ $(DIST_ZIPNAME)
+	@$(ECHO)
+.PHONY: fpc_info
+fpc_info: $(INFORULES)
+.PHONY: fpc_makefile fpc_makefiles fpc_makefile_sub1 fpc_makefile_sub2 \
+	fpc_makefile_dirs
+fpc_makefile:
+	$(FPCMAKE) -w -T$(OS_TARGET) Makefile.fpc
+fpc_makefile_sub1:
+ifdef TARGET_DIRS
+	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_DIRS))
+endif
+ifdef TARGET_EXAMPLEDIRS
+	$(FPCMAKE) -w -T$(OS_TARGET) $(addsuffix /Makefile.fpc,$(TARGET_EXAMPLEDIRS))
+endif
+fpc_makefile_sub2: $(addsuffix _makefile_dirs,$(TARGET_DIRS) $(TARGET_EXAMPLEDIRS))
+fpc_makefile_dirs: fpc_makefile_sub1 fpc_makefile_sub2
+fpc_makefiles: fpc_makefile fpc_makefile_dirs
+all: fpc_all
+debug: fpc_debug
+smart: fpc_smart
+release: fpc_release
+examples:
+shared:
+install: fpc_install
+sourceinstall: fpc_sourceinstall
+exampleinstall: fpc_exampleinstall
+distinstall:
+zipinstall:
+zipsourceinstall:
+zipexampleinstall:
+zipdistinstall:
+clean: fpc_clean
+distclean: fpc_distclean
+cleanall: fpc_cleanall
+info: fpc_info
+makefiles: fpc_makefiles
+.PHONY: all debug smart release examples shared install sourceinstall exampleinstall distinstall zipinstall zipsourceinstall zipexampleinstall zipdistinstall clean distclean cleanall info makefiles
+ifneq ($(wildcard fpcmake.loc),)
+include fpcmake.loc
+endif

+ 18 - 0
packages/extra/gnome1/gconf/examples/Makefile.fpc

@@ -0,0 +1,18 @@
+#
+#   Makefile.fpc for Free Pascal GConf 1.0.x Examples
+#
+
+[target]
+programs=gconfcallback1 gconfcallback2 gconfexample
+
+[require]
+packages=gtk gconf
+
+[clean]
+units=gconfcallback1 gconfcallback2 gconfexample
+
+[install]
+fpcpackage=y
+
+[default]
+fpcdir=../../../..

+ 69 - 0
packages/extra/gnome1/gconf/examples/gconfcallback1.pp

@@ -0,0 +1,69 @@
+program gconfcallback1;
+
+{$Mode ObjFPC}
+
+Uses glib, gtk, gconf, gconfclient;
+
+Procedure key_changed_callback(client : PGConfClient;
+                     cnxn_id : guint;
+		     entry : PGConfEntry;
+                     user_data: gpointer); cdecl;
+		     
+var
+  thelabel : PGtkWidget;
+  thevalue : PGConfValue;
+begin  
+  thelabel := GTK_WIDGET(user_data);
+
+  if (entry = nil) then
+    gtk_label_set_text(GTK_LABEL(thelabel), '<unset>')
+  else begin
+    theValue := gconf_entry_get_value (entry);
+    if (thevalue^.thetype = GCONF_VALUE_STRING) then
+      gtk_label_set_text(GTK_LABEL(thelabel), gconf_value_get_string(thevalue))
+    else
+      gtk_label_set_text(GTK_LABEL(thelabel), '<wrong type>');
+  end;  
+end;
+
+var
+  window : PGtkWidget;
+  thelabel : PGtkWidget;
+  client : PGConfClient;
+  str : Pgchar;
+
+begin  
+  gtk_init(@argc, @argv);
+  gconf_init(argc, argv, nil);
+
+  client := gconf_client_get_default;
+  
+  window := gtk_window_new(GTK_WINDOW_TOPLEVEL);
+
+  gtk_signal_connect(PGtkOBJECT (window), 'delete_event',
+                     gtk_SIGNAL_FUNC (@gtk_exit), NIL);
+
+
+  str := gconf_client_get_string(client, '/extra/test/directory/key',nil);
+  
+  If Str <> nil then
+    thelabel := gtk_label_new(str)
+  else  
+    thelabel := gtk_label_new('<unset>');
+  
+  gtk_container_add(GTK_CONTAINER(window), thelabel);
+
+  gconf_client_add_dir(client,
+                       '/extra/test/directory',
+                       GCONF_CLIENT_PRELOAD_NONE,
+                       nil);
+
+  gconf_client_notify_add(client, '/extra/test/directory/key',
+                          @key_changed_callback,
+                          thelabel,
+                          nil, nil);
+  
+  gtk_widget_show_all(window);
+
+  gtk_main();
+end.

+ 53 - 0
packages/extra/gnome1/gconf/examples/gconfcallback2.pp

@@ -0,0 +1,53 @@
+Program gconfcallback2;
+
+{$Mode ObjFpc}
+
+Uses glib, gtk, gconf, gconfclient;
+
+Procedure entry_activated_callback(entry : PGtkWidget; user_data : gpointer); cdecl;
+var
+  client : PGConfClient;
+  str : Pgchar;
+begin  
+  client := PGConfClient(user_data);
+
+  str := gtk_editable_get_chars(GTK_EDITABLE(entry), 0, -1);
+
+  gconf_client_set_string(client, '/extra/test/directory/key',
+                          str, nil);
+
+  g_free(str);
+end;
+
+var
+  window : PGtkWidget;
+  entry : PGtkWidget;
+  client : PGConfClient;
+begin
+  gtk_init(@argc, @argv);
+  gconf_init(argc, argv, nil);
+  
+  window := gtk_window_new(GTK_WINDOW_TOPLEVEL);
+  gtk_signal_connect(PGtkOBJECT (window), 'delete_event',
+                     gtk_SIGNAL_FUNC (@gtk_exit), NIL);
+
+  entry := gtk_entry_new();
+
+  gtk_container_add(GTK_CONTAINER(window), entry);  
+
+  client := gconf_client_get_default;
+
+  gconf_client_add_dir(client,
+                       '/extra/test/directory',
+                       GCONF_CLIENT_PRELOAD_NONE,
+                       NULL);
+
+
+  gtk_signal_connect(GTK_OBJECT(entry), 'activate',
+                     GTK_SIGNAL_FUNC(@entry_activated_callback),
+                     client);
+  
+  gtk_widget_show_all(window);
+
+  gtk_main();
+end.

+ 83 - 0
packages/extra/gnome1/gconf/examples/gconfexample.pp

@@ -0,0 +1,83 @@
+Program gconfexample;
+
+Uses glib, gtk, gconf, gconfclient;
+
+Const 
+  PATH : PChar = '/apps/GNOMEnclature/gconf_example';
+  KEY : PChar= '/apps/GNOMEnclature/gconf_example/my_option';
+
+{ Update the GConf key when the user toggles the check button. }
+Procedure button_toggled_cb (button : PGtkWidget; data : gpointer); cdecl;
+var
+  client : PGConfClient;
+  thevalue : gboolean;
+begin
+  client := gconf_client_get_default ();
+
+  thevalue := gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button));
+
+  gconf_client_set_bool (client, KEY, thevalue, nil);
+end;
+
+{ This is called when our key is changed. }
+Procedure gconf_notify_func (client : PGConfClient; cnxn_id : guint;
+		   entry : PGConfEntry; user_data : gpointer); cdecl;
+var
+  check_button : PGtkWidget;
+  thevalue : PGConfValue;
+  checked : gboolean;
+begin
+  check_button := GTK_WIDGET (user_data);
+	
+  thevalue := gconf_entry_get_value (entry);
+
+  checked := gconf_value_get_bool (thevalue);
+
+  { Update the check button accordingly. }
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
+				checked);
+end;
+
+var
+  window : PGtkWidget;
+  check_button : PGTKWidget;
+  client : PGConfClient;
+  thevalue : gboolean;
+
+begin	
+  gtk_init (@argc, @argv);
+  gconf_init(argc, argv, nil);
+  
+  client := gconf_client_get_default ();
+	
+  window := gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  gtk_signal_connect(GTK_OBJECT (window), 'destroy',
+                   @gtk_main_quit, nil);
+
+  { Get the initial value from GConf. }
+  thevalue := gconf_client_get_bool (client, KEY, nil);
+	
+  check_button := gtk_check_button_new_with_label ('My option');
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
+				      thevalue);
+
+  gtk_signal_connect (GTK_OBJECT (check_button), 'toggled',
+			  gtk_SIGNAL_FUNC(@button_toggled_cb), nil);
+
+  gtk_container_add (GTK_CONTAINER (window), check_button);
+
+  gtk_widget_show_all (window);
+
+  (* Add our directory to the list of directories the GConfClient will
+   * watch.
+   *)
+  
+  gconf_client_add_dir (client, PATH, GCONF_CLIENT_PRELOAD_NONE, nil);
+
+  { Listen to changes to our key. }
+  
+  gconf_client_notify_add (client, KEY, @gconf_notify_func, check_button, nil, nil);
+	
+  gtk_main ();
+  
+end.

+ 148 - 0
packages/extra/gnome1/gconf/gconf/gconf.pp

@@ -0,0 +1,148 @@
+{
+   $Id$
+
+   GConf
+   Copyright (C) 1999, 2000 Red Hat Inc.
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this library; if not, write to the
+   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.
+}
+unit gconf;
+
+{$PACKRECORDS C}
+{$mode objfpc}
+
+interface
+
+Uses glib;
+
+const
+ gconfdll='gconf-1';
+
+type
+   TGConfValueType = (GCONF_VALUE_INVALID,GCONF_VALUE_STRING,
+     GCONF_VALUE_INT,GCONF_VALUE_FLOAT,GCONF_VALUE_BOOL,
+     GCONF_VALUE_SCHEMA,GCONF_VALUE_LIST,GCONF_VALUE_PAIR
+     );
+
+type
+   PGConfSchema = ^TGConfSchema;
+   PPGConfValue = ^PGConfValue;
+   PGConfValue = ^TGConfValue;
+
+   TGConfSchema = record
+        thetype : TGConfValueType;
+        list_type : TGConfValueType;
+        car_type : TGConfValueType;
+        cdr_type : TGConfValueType;
+        locale : pgchar;
+        theowner : pgchar;
+        short_desc : pgchar;
+        long_desc : pgchar;
+        default_value : PGConfValue;
+     end;
+
+   TGConfValue = record
+        thetype : TGConfValueType;
+        d : record
+            case longint of
+               0 : ( string_data : Pgchar );
+               1 : ( int_data : gint );
+               2 : ( bool_data : gboolean );
+               3 : ( float_data : gdouble );
+               4 : ( schema_data : PGConfSchema );
+               5 : ( list_data : record
+                    listtype : TGConfValueType;
+                    list : PGSList;
+                 end );
+               6 : ( pair_data : record
+                    car : PGConfValue;
+                    cdr : PGConfValue;
+                 end );
+            end;
+     end;
+   
+{$define read_interface}
+{$undef read_implementation}
+
+{$include gconfglibpublic.inc}
+{$include gconferror.inc}
+{$include gconfvalue.inc}
+{$include gconfschema.inc}
+{$include gconfengine.inc}
+
+function gconf_is_initialized:gboolean;cdecl;external gconfdll name 'gconf_is_initialized';
+
+type
+   TGConfNotifyFunc = procedure (conf:PGConfEngine; cnxn_id:guint; entry:PGConfEntry; user_data:gpointer);cdecl;
+
+function gconf_engine_notify_add(conf:PGConfEngine; namespace_section:Pgchar; func:TGConfNotifyFunc; user_data:gpointer; err:PPGError):guint;cdecl;external gconfdll name 'gconf_engine_notify_add';
+procedure gconf_engine_notify_remove(conf:PGConfEngine; cnxn:guint);cdecl;external gconfdll name 'gconf_engine_notify_remove';
+function gconf_engine_get(conf:PGConfEngine; key:Pgchar; err:PPGError):PGConfValue;cdecl;external gconfdll name 'gconf_engine_get';
+function gconf_engine_get_without_default(conf:PGConfEngine; key:Pgchar; err:PPGError):PGConfValue;cdecl;external gconfdll name 'gconf_engine_get_without_default';
+function gconf_engine_get_entry(conf:PGConfEngine; key:Pgchar; locale:Pgchar; use_schema_default:gboolean; err:PPGError):PGConfEntry;cdecl;external gconfdll name 'gconf_engine_get_entry';
+function gconf_engine_get_with_locale(conf:PGConfEngine; key:Pgchar; locale:Pgchar; err:PPGError):PGConfValue;cdecl;external gconfdll name 'gconf_engine_get_with_locale';
+function gconf_engine_get_default_from_schema(conf:PGConfEngine; key:Pgchar; err:PPGError):PGConfValue;cdecl;external gconfdll name 'gconf_engine_get_default_from_schema';
+function gconf_engine_set(conf:PGConfEngine; key:Pgchar; value:PGConfValue; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_set';
+function gconf_engine_unset(conf:PGConfEngine; key:Pgchar; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_unset';
+function gconf_engine_associate_schema(conf:PGConfEngine; key:Pgchar; schema_key:Pgchar; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_associate_schema';
+function gconf_engine_all_entries(conf:PGConfEngine; dir:Pgchar; err:PPGError):PGSList;cdecl;external gconfdll name 'gconf_engine_all_entries';
+function gconf_engine_all_dirs(conf:PGConfEngine; dir:Pgchar; err:PPGError):PGSList;cdecl;external gconfdll name 'gconf_engine_all_dirs';
+procedure gconf_engine_suggest_sync(conf:PGConfEngine; err:PPGError);cdecl;external gconfdll name 'gconf_engine_suggest_sync';
+function gconf_engine_dir_exists(conf:PGConfEngine; dir:Pgchar; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_dir_exists';
+procedure gconf_engine_remove_dir(conf:PGConfEngine; dir:Pgchar; err:PPGError);cdecl;external gconfdll name 'gconf_engine_remove_dir';
+function gconf_engine_key_is_writable(conf:PGConfEngine; key:Pgchar; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_key_is_writable';
+function gconf_valid_key(key:Pgchar; why_invalid:PPgchar):gboolean;cdecl;external gconfdll name 'gconf_valid_key';
+function gconf_key_is_below(above:Pgchar; below:Pgchar):gboolean;cdecl;external gconfdll name 'gconf_key_is_below';
+function gconf_concat_dir_and_key(dir:Pgchar; key:Pgchar):pgchar;cdecl;external gconfdll name 'gconf_concat_dir_and_key';
+function gconf_unique_key:pgchar;cdecl;external gconfdll name 'gconf_unique_key';
+function gconf_engine_get_float(conf:PGConfEngine; key:Pgchar; err:PPGError):gdouble;cdecl;external gconfdll name 'gconf_engine_get_float';
+function gconf_engine_get_int(conf:PGConfEngine; key:Pgchar; err:PPGError):gint;cdecl;external gconfdll name 'gconf_engine_get_int';
+function gconf_engine_get_string(conf:PGConfEngine; key:Pgchar; err:PPGError):pgchar;cdecl;external gconfdll name 'gconf_engine_get_string';
+function gconf_engine_get_bool(conf:PGConfEngine; key:Pgchar; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_get_bool';
+function gconf_engine_get_schema(conf:PGConfEngine; key:Pgchar; err:PPGError):PGConfSchema;cdecl;external gconfdll name 'gconf_engine_get_schema';
+function gconf_engine_get_list(conf:PGConfEngine; key:Pgchar; list_type:TGConfValueType; err:PPGError):PGSList;cdecl;external gconfdll name 'gconf_engine_get_list';
+function gconf_engine_get_pair(conf:PGConfEngine; key:Pgchar; car_type:TGConfValueType; cdr_type:TGConfValueType; car_retloc:gpointer; 
+           cdr_retloc:gpointer; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_get_pair';
+function gconf_engine_set_float(conf:PGConfEngine; key:Pgchar; val:gdouble; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_set_float';
+function gconf_engine_set_int(conf:PGConfEngine; key:Pgchar; val:gint; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_set_int';
+function gconf_engine_set_string(conf:PGConfEngine; key:Pgchar; val:Pgchar; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_set_string';
+function gconf_engine_set_bool(conf:PGConfEngine; key:Pgchar; val:gboolean; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_set_bool';
+function gconf_engine_set_schema(conf:PGConfEngine; key:Pgchar; val:PGConfSchema; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_set_schema';
+function gconf_engine_set_list(conf:PGConfEngine; key:Pgchar; list_type:TGConfValueType; list:PGSList; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_set_list';
+function gconf_engine_set_pair(conf:PGConfEngine; key:Pgchar; car_type:TGConfValueType; cdr_type:TGConfValueType; const address_of_car:gpointer; 
+           const address_of_cdr:gpointer; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_engine_set_pair';
+type
+   TGConfEnumStringPair = record
+        enum_value : gint;
+        str : pgchar;
+     end;
+
+function gconf_string_to_enum(lookup_table:array of TGConfEnumStringPair; str:Pgchar; enum_value_retloc:Pgint):gboolean;cdecl;external gconfdll name 'gconf_string_to_enum';
+function gconf_enum_to_string(lookup_table:array of TGConfEnumStringPair; enum_value:gint):pgchar;cdecl;external gconfdll name 'gconf_enum_to_string';
+function gconf_init(argc:longint; argv:PPchar; err:PPGError):gboolean;cdecl;external gconfdll name 'gconf_init';
+
+implementation
+
+{$undef read_interface}
+{$define read_implementation}
+
+{$include gconfglibpublic.inc}
+{$include gconferror.inc}
+{$include gconfvalue.inc}
+{$include gconfschema.inc}
+{$include gconfengine.inc}
+
+end.

+ 19 - 0
packages/extra/gnome1/gconf/gconf/gconfengine.inc

@@ -0,0 +1,19 @@
+{$IfDef read_interface}
+
+type
+   PGConfEngine = ^TGConfEngine;
+   TGConfEngine = Record
+   end;
+
+function gconf_engine_get_default:PGConfEngine;cdecl;external gconfdll name 'gconf_engine_get_default';
+function gconf_engine_get_for_address(address:Pgchar; err:PPGError):PGConfEngine;cdecl;external gconfdll name 'gconf_engine_get_for_address';
+procedure gconf_engine_unref(conf:PGConfEngine);cdecl;external gconfdll name 'gconf_engine_unref';
+procedure gconf_engine_ref(conf:PGConfEngine);cdecl;external gconfdll name 'gconf_engine_ref';
+procedure gconf_engine_set_user_data(engine:PGConfEngine; data:gpointer; dnotify:TGDestroyNotify);cdecl;external gconfdll name 'gconf_engine_set_user_data';
+function gconf_engine_get_user_data(engine:PGConfEngine):gpointer;cdecl;external gconfdll name 'gconf_engine_get_user_data';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 26 - 0
packages/extra/gnome1/gconf/gconf/gconferror.inc

@@ -0,0 +1,26 @@
+{$IfDef read_interface}
+type
+  TGConfError = (GCONF_ERROR_SUCCESS := 0,GCONF_ERROR_FAILED := 1,
+     GCONF_ERROR_NO_SERVER := 2,GCONF_ERROR_NO_PERMISSION := 3,
+     GCONF_ERROR_BAD_ADDRESS := 4,GCONF_ERROR_BAD_KEY := 5,
+     GCONF_ERROR_PARSE_ERROR := 6,GCONF_ERROR_CORRUPT := 7,
+     GCONF_ERROR_TYPE_MISMATCH := 8,GCONF_ERROR_IS_DIR := 9,
+     GCONF_ERROR_IS_KEY := 10,GCONF_ERROR_OVERRIDDEN := 11,
+     GCONF_ERROR_OAF_ERROR := 12,GCONF_ERROR_LOCAL_ENGINE := 13,
+     GCONF_ERROR_LOCK_FAILED := 14,GCONF_ERROR_NO_WRITABLE_DATABASE := 15,
+     GCONF_ERROR_IN_SHUTDOWN := 16);
+
+function gconf_error_quark:TGQuark;cdecl;external gconfdll name 'gconf_error_quark';
+
+function GCONF_ERROR : TGConfError;
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GCONF_ERROR : TGConfError;
+begin
+  GCONF_ERROR := TGConfError(gconf_error_quark);
+end;
+
+{$Endif read_implementation}

+ 26 - 0
packages/extra/gnome1/gconf/gconf/gconfglibpublic.inc

@@ -0,0 +1,26 @@
+{$IfDef read_interface}
+type
+   PPGError = ^PGError;
+   PGError = ^TGError;
+   TGError = record
+        domain : TGQuark;
+        code : gint;
+        message : Pgchar;
+     end;
+
+Function g_error_new(domain : TGQuark; code : gint; const format:Pgchar; args:array of const):PGError;cdecl;external gconfdll name 'g_error_new'; 	
+function g_error_new_literal(domain:TGQuark; code:gint; message:Pgchar):PGError;cdecl;external gconfdll name 'g_error_new_literal';
+procedure g_error_free(error:PGError);cdecl;external gconfdll name 'g_error_free';
+function g_error_copy(error:PGError):PGError;cdecl;external gconfdll name 'g_error_copy';
+function g_error_matches(error:PGError; domain:TGQuark; code:gint):gboolean;cdecl;external gconfdll name 'g_error_matches';
+
+Procedure g_set_error(Err : PPGError; domain:TGQuark; code:gint; const format:Pgchar; args:array of const);cdecl;external gconfdll name 'g_set_error';
+
+procedure g_clear_error(err:PPGError);cdecl;external gconfdll name 'g_clear_error';
+procedure g_propagate_error(dest:PPGError; src:PGError);cdecl;external gconfdll name 'g_propagate_error';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 77 - 0
packages/extra/gnome1/gconf/gconf/gconfschema.inc

@@ -0,0 +1,77 @@
+{$IfDef read_interface}
+
+function gconf_schema_new:PGConfSchema;cdecl;external gconfdll name 'gconf_schema_new';
+procedure gconf_schema_free(sc:PGConfSchema);cdecl;external gconfdll name 'gconf_schema_free';
+function gconf_schema_copy(sc:PGConfSchema):PGConfSchema;cdecl;external gconfdll name 'gconf_schema_copy';
+procedure gconf_schema_set_type(sc:PGConfSchema; thetype:TGConfValueType);cdecl;external gconfdll name 'gconf_schema_set_type';
+procedure gconf_schema_set_list_type(sc:PGConfSchema; thetype:TGConfValueType);cdecl;external gconfdll name 'gconf_schema_set_list_type';
+procedure gconf_schema_set_car_type(sc:PGConfSchema; thetype:TGConfValueType);cdecl;external gconfdll name 'gconf_schema_set_car_type';
+procedure gconf_schema_set_cdr_type(sc:PGConfSchema; thetype:TGConfValueType);cdecl;external gconfdll name 'gconf_schema_set_cdr_type';
+procedure gconf_schema_set_locale(sc:PGConfSchema; locale:Pgchar);cdecl;external gconfdll name 'gconf_schema_set_locale';
+procedure gconf_schema_set_short_desc(sc:PGConfSchema; desc:Pgchar);cdecl;external gconfdll name 'gconf_schema_set_short_desc';
+procedure gconf_schema_set_long_desc(sc:PGConfSchema; desc:Pgchar);cdecl;external gconfdll name 'gconf_schema_set_long_desc';
+procedure gconf_schema_set_owner(sc:PGConfSchema; theowner:Pgchar);cdecl;external gconfdll name 'gconf_schema_set_owner';
+procedure gconf_schema_set_default_value(sc:PGConfSchema; val:PGConfValue);cdecl;external gconfdll name 'gconf_schema_set_default_value';
+procedure gconf_schema_set_default_value_nocopy(sc:PGConfSchema; val:PGConfValue);cdecl;external gconfdll name 'gconf_schema_set_default_value_nocopy';
+
+function gconf_schema_get_type(x : PGConfSchema) : TGConfValueType;
+function gconf_schema_get_list_type(x : PGConfSchema) : TGConfValueType;
+function gconf_schema_get_car_type(x : PGConfSchema) : TGConfValueType;
+function gconf_schema_get_cdr_type(x : PGConfSchema) : TGConfValueType;
+
+function gconf_schema_get_locale(x : PGConfSchema) : Pgchar;
+function gconf_schema_get_short_desc(x : PGConfSchema) : Pgchar;
+function gconf_schema_get_long_desc(x : PGConfSchema) : Pgchar;
+function gconf_schema_get_owner(x : PGConfSchema) : Pgchar;
+function gconf_schema_get_default_value(x : PGConfSchema) : PGConfValue;
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function gconf_schema_get_type(x : PGConfSchema) : TGConfValueType;
+begin
+   gconf_schema_get_type := x^.thetype;
+end;
+
+function gconf_schema_get_list_type(x : PGConfSchema) : TGConfValueType;
+begin
+   gconf_schema_get_list_type:=x^.list_type;
+end;
+
+function gconf_schema_get_car_type(x : PGConfSchema) : TGConfValueType;
+begin
+   gconf_schema_get_car_type:=x^.car_type;
+end;
+
+function gconf_schema_get_cdr_type(x : PGConfSchema) : TGConfValueType;
+begin
+   gconf_schema_get_cdr_type:=x^.cdr_type;
+end;
+
+function gconf_schema_get_locale(x : PGConfSchema) : Pgchar;
+begin
+   gconf_schema_get_locale:=x^.locale;
+end;
+
+function gconf_schema_get_short_desc(x : PGConfSchema) : Pgchar;
+begin
+   gconf_schema_get_short_desc:=x^.short_desc;
+end;
+
+function gconf_schema_get_long_desc(x : PGConfSchema) : Pgchar;
+begin
+   gconf_schema_get_long_desc:=x^.long_desc;
+end;
+
+function gconf_schema_get_owner(x : PGConfSchema) : Pgchar;
+begin
+   gconf_schema_get_owner:=x^.theowner;
+end;
+
+function gconf_schema_get_default_value(x : PGConfSchema) : PGConfValue;
+begin
+   gconf_schema_get_default_value:=x^.default_value;
+end;
+
+{$Endif read_implementation}

+ 200 - 0
packages/extra/gnome1/gconf/gconf/gconfvalue.inc

@@ -0,0 +1,200 @@
+{$IfDef read_interface}
+function GCONF_VALUE_TYPE_VALID(x : longint) : gboolean;
+
+function gconf_value_get_string(x : PGConfValue) : Pgchar;
+function gconf_value_get_int(x : PGConfValue) : gint;
+function gconf_value_get_float(x : PGConfValue) : gfloat;
+function gconf_value_get_list_type(x : PGConfValue) : TGConfValueType;
+function gconf_value_get_list(x : PGConfValue) : PGSList;
+function gconf_value_get_car(x : PGConfValue) : PGConfValue;
+function gconf_value_get_cdr(x : PGConfValue) : PGConfValue;
+function gconf_value_get_bool(x : PGConfValue) : gboolean;
+function gconf_value_get_schema(x : PGConfValue) : PGConfSchema;
+
+function gconf_value_new(_type:TGConfValueType):PGConfValue;cdecl;external gconfdll name 'gconf_value_new';
+function gconf_value_copy(src:PGConfValue):PGConfValue;cdecl;external gconfdll name 'gconf_value_copy';
+procedure gconf_value_free(value:PGConfValue);cdecl;external gconfdll name 'gconf_value_free';
+procedure gconf_value_set_int(value:PGConfValue; the_int:gint);cdecl;external gconfdll name 'gconf_value_set_int';
+procedure gconf_value_set_string(value:PGConfValue; the_str:Pgchar);cdecl;external gconfdll name 'gconf_value_set_string';
+procedure gconf_value_set_float(value:PGConfValue; the_float:gdouble);cdecl;external gconfdll name 'gconf_value_set_float';
+procedure gconf_value_set_bool(value:PGConfValue; the_bool:gboolean);cdecl;external gconfdll name 'gconf_value_set_bool';
+procedure gconf_value_set_schema(value:PGConfValue; sc:PGConfSchema);cdecl;external gconfdll name 'gconf_value_set_schema';
+procedure gconf_value_set_schema_nocopy(value:PGConfValue; sc:PGConfSchema);cdecl;external gconfdll name 'gconf_value_set_schema_nocopy';
+procedure gconf_value_set_car(value:PGConfValue; car:PGConfValue);cdecl;external gconfdll name 'gconf_value_set_car';
+procedure gconf_value_set_car_nocopy(value:PGConfValue; car:PGConfValue);cdecl;external gconfdll name 'gconf_value_set_car_nocopy';
+procedure gconf_value_set_cdr(value:PGConfValue; cdr:PGConfValue);cdecl;external gconfdll name 'gconf_value_set_cdr';
+procedure gconf_value_set_cdr_nocopy(value:PGConfValue; cdr:PGConfValue);cdecl;external gconfdll name 'gconf_value_set_cdr_nocopy';
+procedure gconf_value_set_list_type(value:PGConfValue; thetype:TGConfValueType);cdecl;external gconfdll name 'gconf_value_set_list_type';
+procedure gconf_value_set_list_nocopy(value:PGConfValue; list:PGSList);cdecl;external gconfdll name 'gconf_value_set_list_nocopy';
+procedure gconf_value_set_list(value:PGConfValue; list:PGSList);cdecl;external gconfdll name 'gconf_value_set_list';
+function gconf_value_to_string(value:PGConfValue):Pgchar;cdecl;external gconfdll name 'gconf_value_to_string';
+
+type
+   PGConfMetaInfo =  ^TGConfMetaInfo;
+   TGConfMetaInfo = record
+        schema : Pgchar;
+        mod_user : Pgchar;
+        mod_time : TGTime;
+     end;
+
+function gconf_meta_info_get_schema(x : PGConfMetaInfo) : Pgchar;
+function gconf_meta_info_get_mod_user(x : PGConfMetaInfo) : Pgchar;
+function gconf_meta_info_mod_time(x : PGConfMetaInfo) : TGTime;
+
+function gconf_meta_info_new:PGConfMetaInfo;cdecl;external gconfdll name 'gconf_meta_info_new';
+procedure gconf_meta_info_free(gcmi:PGConfMetaInfo);cdecl;external gconfdll name 'gconf_meta_info_free';
+procedure gconf_meta_info_set_schema(gcmi:PGConfMetaInfo; schema_name:Pgchar);cdecl;external gconfdll name 'gconf_meta_info_set_schema';
+procedure gconf_meta_info_set_mod_user(gcmi:PGConfMetaInfo; mod_user:Pgchar);cdecl;external gconfdll name 'gconf_meta_info_set_mod_user';
+procedure gconf_meta_info_set_mod_time(gcmi:PGConfMetaInfo; mod_time:TGTime);cdecl;external gconfdll name 'gconf_meta_info_set_mod_time';
+
+type
+   PGConfEntry = ^TGConfEntry;
+   TGConfEntry = record
+        key : Pgchar;
+        value : PGConfValue;
+        schema_name : Pgchar;
+        flag0 : word;
+     end;
+
+const
+   bm__GConfEntry_is_default = $1;
+   bp__GConfEntry_is_default = 0;
+   bm__GConfEntry_is_writable = $2;
+   bp__GConfEntry_is_writable = 1;
+function is_default(var a : TGConfEntry) : gboolean;
+procedure set_is_default(var a : TGConfEntry; __is_default : gboolean);
+function is_writable(var a : TGConfEntry) : gboolean;
+procedure set_is_writable(var a : TGConfEntry; __is_writable : gboolean);
+
+function gconf_entry_get_key(x : PGConfEntry) : Pgchar;
+function gconf_entry_get_value(x : PGConfEntry) : PGConfValue;
+function gconf_entry_get_schema_name(x : PGConfEntry) : Pgchar;
+function gconf_entry_get_is_default(x : PGConfEntry) : gboolean;
+function gconf_entry_get_is_writable(x : PGConfEntry) : gboolean;
+
+function gconf_entry_new(key:Pgchar; val:PGConfValue):PGConfEntry;cdecl;external gconfdll name 'gconf_entry_new';
+function gconf_entry_new_nocopy(key:Pgchar; val:PGConfValue):PGConfEntry;cdecl;external gconfdll name 'gconf_entry_new_nocopy';
+procedure gconf_entry_free(entry:PGConfEntry);cdecl;external gconfdll name 'gconf_entry_free';
+function gconf_entry_steal_value(entry:PGConfEntry):PGConfValue;cdecl;external gconfdll name 'gconf_entry_steal_value';
+procedure gconf_entry_set_value(entry:PGConfEntry; val:PGConfValue);cdecl;external gconfdll name 'gconf_entry_set_value';
+procedure gconf_entry_set_value_nocopy(entry:PGConfEntry; val:PGConfValue);cdecl;external gconfdll name 'gconf_entry_set_value_nocopy';
+
+procedure gconf_entry_set_schema_name(entry:PGConfEntry; name:Pgchar);cdecl;external gconfdll name 'gconf_entry_set_schema_name';
+procedure gconf_entry_set_is_default(entry:PGConfEntry; is_default:gboolean);cdecl;external gconfdll name 'gconf_entry_set_is_default';
+procedure gconf_entry_set_is_writable(entry:PGConfEntry; is_writable:gboolean);cdecl;external gconfdll name 'gconf_entry_set_is_writable';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GCONF_VALUE_TYPE_VALID(x : longint) : gboolean;
+begin
+   GCONF_VALUE_TYPE_VALID:=(x > Longint(GCONF_VALUE_INVALID)) and (x <= Longint(GCONF_VALUE_PAIR));
+end;
+
+function gconf_value_get_string(x : PGConfValue) : Pgchar;
+begin
+   gconf_value_get_string:=x^.d.string_data;
+end;
+
+function gconf_value_get_int(x : PGConfValue) : gint;
+begin
+   gconf_value_get_int:=x^.d.int_data;
+end;
+
+function gconf_value_get_float(x : PGConfValue) : gfloat;
+begin
+   gconf_value_get_float:=x^.d.float_data;
+end;
+
+function gconf_value_get_list_type(x : PGConfValue) : TGConfValueType;
+begin
+   gconf_value_get_list_type:=x^.d.list_data.listtype;
+end;
+
+function gconf_value_get_list(x : PGConfValue) : PGSList;
+begin
+   gconf_value_get_list:=x^.d.list_data.list;
+end;
+
+function gconf_value_get_car(x : PGConfValue) : PGConfValue;
+begin
+   gconf_value_get_car:=x^.d.pair_data.car;
+end;
+
+function gconf_value_get_cdr(x : PGConfValue) : PGConfValue;
+begin
+   gconf_value_get_cdr:=x^.d.pair_data.cdr;
+end;
+
+function gconf_value_get_bool(x : PGConfValue) : gboolean;
+begin
+   gconf_value_get_bool:=x^.d.bool_data;
+end;
+
+function gconf_value_get_schema(x : PGConfValue) : PGConfSchema;
+begin
+   gconf_value_get_schema:=x^.d.schema_data;
+end;
+
+function gconf_meta_info_get_schema(x : PGConfMetaInfo) : Pgchar;
+begin
+   gconf_meta_info_get_schema:=x^.schema;
+end;
+
+function gconf_meta_info_get_mod_user(x : PGConfMetaInfo) : Pgchar;
+begin
+   gconf_meta_info_get_mod_user:=x^.mod_user;
+end;
+
+function gconf_meta_info_mod_time(x : PGConfMetaInfo) : TGTime;
+begin
+   gconf_meta_info_mod_time:=x^.mod_time;
+end;
+
+function is_default(var a : TGConfEntry) : gBoolean;
+begin
+   is_default:=gBoolean((a.flag0 and bm__GConfEntry_is_default) shr bp__GConfEntry_is_default);
+end;
+
+procedure set_is_default(var a : TGConfEntry; __is_default : gBoolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__is_default) shl bp__GConfEntry_is_default) and bm__GConfEntry_is_default);
+end;
+
+function is_writable(var a : TGConfEntry) : gBoolean;
+begin
+   is_writable:=gBoolean((a.flag0 and bm__GConfEntry_is_writable) shr bp__GConfEntry_is_writable);
+end;
+
+procedure set_is_writable(var a : TGConfEntry; __is_writable : gBoolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__is_writable) shl bp__GConfEntry_is_writable) and bm__GConfEntry_is_writable);
+end;
+
+function gconf_entry_get_key(x : PGConfEntry) : Pgchar;
+begin
+   gconf_entry_get_key:=x^.key;
+end;
+
+function gconf_entry_get_value(x : PGConfEntry) : PGConfValue;
+begin
+   gconf_entry_get_value:=x^.value;
+end;
+
+function gconf_entry_get_schema_name(x : PGConfEntry) : Pgchar;
+begin
+   gconf_entry_get_schema_name:=x^.schema_name;
+end;
+
+function gconf_entry_get_is_default(x : PGConfEntry) : gBoolean;
+begin
+   gconf_entry_get_is_default:=is_default(X^);
+end;
+
+function gconf_entry_get_is_writable(x : PGConfEntry) : gBoolean;
+begin
+   gconf_entry_get_is_writable:=is_writable(X^);
+end;
+
+{$Endif read_implementation}

+ 42 - 0
packages/extra/gnome1/gconf/gconfclient/gconfchangeset.inc

@@ -0,0 +1,42 @@
+{$IfDef read_interface}
+
+type
+   PGConfChangeSet = ^TGConfChangeSet;
+   TGConfChangeSet = Record
+   end;
+
+   TGConfChangeSetForeachFunc = procedure (cs:PGConfChangeSet; key:Pgchar; value:PGConfValue; user_data:gpointer);cdecl;
+
+function gconf_engine_commit_change_set(conf:PGConfEngine; cs:PGConfChangeSet; remove_committed:gboolean; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_engine_commit_change_set';
+function gconf_engine_reverse_change_set(conf:PGConfEngine; cs:PGConfChangeSet; err:PPGError):PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_engine_reverse_change_set';
+function gconf_engine_change_set_from_currentv(conf:PGConfEngine; keys:PPgchar; err:PPGError):PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_engine_change_set_from_currentv';
+function gconf_engine_change_set_from_current(conf:PGConfEngine; err:PPGError; first_key:Pgchar; 
+  args:array of const):PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_engine_change_set_from_current';
+function gconf_engine_change_set_from_current(conf:PGConfEngine; err:PPGError; first_key:Pgchar):PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_engine_change_set_from_current';
+function gconf_change_set_new:PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_change_set_new';
+procedure gconf_change_set_ref(cs:PGConfChangeSet);cdecl;external gconfclientdll name 'gconf_change_set_ref';
+procedure gconf_change_set_unref(cs:PGConfChangeSet);cdecl;external gconfclientdll name 'gconf_change_set_unref';
+procedure gconf_change_set_clear(cs:PGConfChangeSet);cdecl;external gconfclientdll name 'gconf_change_set_clear';
+function gconf_change_set_size(cs:PGConfChangeSet):guint;cdecl;external gconfclientdll name 'gconf_change_set_size';
+procedure gconf_change_set_remove(cs:PGConfChangeSet; key:Pgchar);cdecl;external gconfclientdll name 'gconf_change_set_remove';
+procedure gconf_change_set_foreach(cs:PGConfChangeSet; func:TGConfChangeSetForeachFunc; user_data:gpointer);cdecl;external gconfclientdll name 'gconf_change_set_foreach';
+function gconf_change_set_check_value(cs:PGConfChangeSet; key:Pgchar; value_retloc:PPGConfValue):gboolean;cdecl;external gconfclientdll name 'gconf_change_set_check_value';
+procedure gconf_change_set_set(cs:PGConfChangeSet; key:Pgchar; value:PGConfValue);cdecl;external gconfclientdll name 'gconf_change_set_set';
+procedure gconf_change_set_set_nocopy(cs:PGConfChangeSet; key:Pgchar; value:PGConfValue);cdecl;external gconfclientdll name 'gconf_change_set_set_nocopy';
+procedure gconf_change_set_unset(cs:PGConfChangeSet; key:Pgchar);cdecl;external gconfclientdll name 'gconf_change_set_unset';
+procedure gconf_change_set_set_float(cs:PGConfChangeSet; key:Pgchar; val:gdouble);cdecl;external gconfclientdll name 'gconf_change_set_set_float';
+procedure gconf_change_set_set_int(cs:PGConfChangeSet; key:Pgchar; val:gint);cdecl;external gconfclientdll name 'gconf_change_set_set_int';
+procedure gconf_change_set_set_string(cs:PGConfChangeSet; key:Pgchar; val:Pgchar);cdecl;external gconfclientdll name 'gconf_change_set_set_string';
+procedure gconf_change_set_set_bool(cs:PGConfChangeSet; key:Pgchar; val:gboolean);cdecl;external gconfclientdll name 'gconf_change_set_set_bool';
+procedure gconf_change_set_set_schema(cs:PGConfChangeSet; key:Pgchar; val:PGConfSchema);cdecl;external gconfclientdll name 'gconf_change_set_set_schema';
+procedure gconf_change_set_set_list(cs:PGConfChangeSet; key:Pgchar; list_type:TGConfValueType; list:PGSList);cdecl;external gconfclientdll name 'gconf_change_set_set_list';
+procedure gconf_change_set_set_pair(cs:PGConfChangeSet; key:Pgchar; car_type:TGConfValueType; cdr_type:TGConfValueType; const address_of_car:gpointer; 
+            const address_of_cdr:gpointer);cdecl;external gconfclientdll name 'gconf_change_set_set_pair';
+procedure gconf_change_set_set_user_data(cs:PGConfChangeSet; data:gpointer; dnotify:TGDestroyNotify);cdecl;external gconfclientdll name 'gconf_change_set_set_user_data';
+function gconf_change_set_get_user_data(cs:PGConfChangeSet):gpointer;cdecl;external gconfclientdll name 'gconf_change_set_get_user_data';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 149 - 0
packages/extra/gnome1/gconf/gconfclient/gconfclient.pp

@@ -0,0 +1,149 @@
+{
+   $Id$
+
+   gconfclient
+   Copyright (C) 1999, 2000 Red Hat Inc.
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this library; if not, write to the
+   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.
+}
+unit gconfclient;
+
+{$PACKRECORDS C}
+{$mode objfpc}
+
+interface
+
+Uses glib, gtk, gconf;
+
+const
+ gconfclientdll ='gconf-gtk-1';
+
+{$define read_interface}
+{$undef read_implementation}
+
+{$include gconflisteners.inc}
+{$include gconfchangeset.inc}
+
+type
+   TGConfClientPreloadType = (GCONF_CLIENT_PRELOAD_NONE,GCONF_CLIENT_PRELOAD_ONELEVEL,
+     GCONF_CLIENT_PRELOAD_RECURSIVE);
+
+   TGConfClientErrorHandlingMode = (GCONF_CLIENT_HANDLE_NONE,GCONF_CLIENT_HANDLE_UNRETURNED,
+     GCONF_CLIENT_HANDLE_ALL);
+   
+
+   PGConfClient  = ^TGConfClient;
+   TGConfClient = record
+        theobject : TGtkObject;
+        engine : PGConfEngine;
+        error_mode : TGConfClientErrorHandlingMode;
+        dir_hash : PGHashTable;
+        cache_hash : PGHashTable;
+        listeners : PGConfListeners;
+     end;
+   GCONF_CLIENT = TGCONFCLIENT;
+
+   PGConfClientClass = ^TGConfClientClass;
+   TGConfClientClass = record
+        parent_class : PGtkObjectClass;
+        value_changed : procedure (client:PGConfClient; key:Pgchar; value:PGConfValue); cdecl;
+        unreturned_error : procedure (client:PGConfClient; error:PGError); cdecl;
+        error : procedure (client:PGConfClient; error:PGError); cdecl;
+     end;
+   GCONF_CLIENT_CLASS = TGCONFCLIENTCLASS;
+
+
+   TGConfClientNotifyFunc = procedure (client:PGConfClient; cnxn_id:guint; entry:PGConfEntry; user_data:gpointer);cdecl;
+
+   TGConfClientErrorHandlerFunc = procedure (client:PGConfClient; error:PGError);cdecl;
+   
+function GCONF_TYPE_CLIENT : TGTKType;
+
+function GCONF_IS_CLIENT(obj : Pointer) : Boolean;
+function GCONF_IS_CLIENT_CLASS(klass : Pointer) : Boolean;
+
+function gconf_client_get_type:TGtkType;cdecl;external gconfclientdll name 'gconf_client_get_type';
+function gconf_client_get_default:PGConfClient;cdecl;external gconfclientdll name 'gconf_client_get_default';
+function gconf_client_get_for_engine(engine:PGConfEngine):PGConfClient;cdecl;external gconfclientdll name 'gconf_client_get_for_engine';
+procedure gconf_client_add_dir(client:PGConfClient; dir:Pgchar; preload:TGConfClientPreloadType; err:PPGError);cdecl;external gconfclientdll name 'gconf_client_add_dir';
+procedure gconf_client_remove_dir(client:PGConfClient; dir:Pgchar; err:PPGError);cdecl;external gconfclientdll name 'gconf_client_remove_dir';
+function gconf_client_notify_add(client:PGConfClient; namespace_section:Pgchar; func:TGConfClientNotifyFunc; user_data:gpointer; destroy_notify:TGFreeFunc; 
+           err:PPGError):guint;cdecl;external gconfclientdll name 'gconf_client_notify_add';
+procedure gconf_client_notify_remove(client:PGConfClient; cnxn:guint);cdecl;external gconfclientdll name 'gconf_client_notify_remove';
+procedure gconf_client_set_error_handling(client:PGConfClient; mode:TGConfClientErrorHandlingMode);cdecl;external gconfclientdll name 'gconf_client_set_error_handling';
+procedure gconf_client_set_global_default_error_handler(func:TGConfClientErrorHandlerFunc);cdecl;external gconfclientdll name 'gconf_client_set_global_default_error_handler';
+procedure gconf_client_clear_cache(client:PGConfClient);cdecl;external gconfclientdll name 'gconf_client_clear_cache';
+procedure gconf_client_preload(client:PGConfClient; dirname:Pgchar; thetype:TGConfClientPreloadType; err:PPGError);cdecl;external gconfclientdll name 'gconf_client_preload';
+procedure gconf_client_set(client:PGConfClient; key:Pgchar; val:PGConfValue; err:PPGError);cdecl;external gconfclientdll name 'gconf_client_set';
+function gconf_client_get(client:PGConfClient; key:Pgchar; err:PPGError):PGConfValue;cdecl;external gconfclientdll name 'gconf_client_get';
+function gconf_client_get_without_default(client:PGConfClient; key:Pgchar; err:PPGError):PGConfValue;cdecl;external gconfclientdll name 'gconf_client_get_without_default';
+function gconf_client_get_entry(client:PGConfClient; key:Pgchar; locale:Pgchar; use_schema_default:gboolean; err:PPGError):PGConfEntry;cdecl;external gconfclientdll name 'gconf_client_get_entry';
+function gconf_client_get_default_from_schema(client:PGConfClient; key:Pgchar; err:PPGError):PGConfValue;cdecl;external gconfclientdll name 'gconf_client_get_default_from_schema';
+function gconf_client_unset(client:PGConfClient; key:Pgchar; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_unset';
+function gconf_client_all_entries(client:PGConfClient; dir:Pgchar; err:PPGError):PGSList;cdecl;external gconfclientdll name 'gconf_client_all_entries';
+function gconf_client_all_dirs(client:PGConfClient; dir:Pgchar; err:PPGError):PGSList;cdecl;external gconfclientdll name 'gconf_client_all_dirs';
+procedure gconf_client_suggest_sync(client:PGConfClient; err:PPGError);cdecl;external gconfclientdll name 'gconf_client_suggest_sync';
+function gconf_client_dir_exists(client:PGConfClient; dir:Pgchar; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_dir_exists';
+function gconf_client_key_is_writable(client:PGConfClient; key:Pgchar; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_key_is_writable';
+function gconf_client_get_float(client:PGConfClient; key:Pgchar; err:PPGError):gdouble;cdecl;external gconfclientdll name 'gconf_client_get_float';
+function gconf_client_get_int(client:PGConfClient; key:Pgchar; err:PPGError):gint;cdecl;external gconfclientdll name 'gconf_client_get_int';
+function gconf_client_get_string(client:PGConfClient; key:Pgchar; err:PPGError):Pgchar;cdecl;external gconfclientdll name 'gconf_client_get_string';
+function gconf_client_get_bool(client:PGConfClient; key:Pgchar; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_get_bool';
+function gconf_client_get_schema(client:PGConfClient; key:Pgchar; err:PPGError):PGConfSchema;cdecl;external gconfclientdll name 'gconf_client_get_schema';
+function gconf_client_get_list(client:PGConfClient; key:Pgchar; list_type:TGConfValueType; err:PPGError):PGSList;cdecl;external gconfclientdll name 'gconf_client_get_list';
+function gconf_client_get_pair(client:PGConfClient; key:Pgchar; car_type:TGConfValueType; cdr_type:TGConfValueType; car_retloc:gpointer; 
+           cdr_retloc:gpointer; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_get_pair';
+function gconf_client_set_float(client:PGConfClient; key:Pgchar; val:gdouble; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_set_float';
+function gconf_client_set_int(client:PGConfClient; key:Pgchar; val:gint; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_set_int';
+function gconf_client_set_string(client:PGConfClient; key:Pgchar; val:Pgchar; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_set_string';
+function gconf_client_set_bool(client:PGConfClient; key:Pgchar; val:gboolean; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_set_bool';
+function gconf_client_set_schema(client:PGConfClient; key:Pgchar; val:PGConfSchema; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_set_schema';
+function gconf_client_set_list(client:PGConfClient; key:Pgchar; list_type:TGConfValueType; list:PGSList; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_set_list';
+function gconf_client_set_pair(client:PGConfClient; key:Pgchar; car_type:TGConfValueType; cdr_type:TGConfValueType; const address_of_car:gpointer; 
+           const address_of_cdr:gpointer; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_set_pair';
+procedure gconf_client_error(client:PGConfClient; error:PGError);cdecl;external gconfclientdll name 'gconf_client_error';
+procedure gconf_client_unreturned_error(client:PGConfClient; error:PGError);cdecl;external gconfclientdll name 'gconf_client_unreturned_error';
+procedure gconf_client_value_changed(client:PGConfClient; key:Pgchar; value:PGConfValue);cdecl;external gconfclientdll name 'gconf_client_value_changed';
+function gconf_client_commit_change_set(client:PGConfClient; cs:PGConfChangeSet; remove_committed:gboolean; err:PPGError):gboolean;cdecl;external gconfclientdll name 'gconf_client_commit_change_set';
+function gconf_client_reverse_change_set(client:PGConfClient; cs:PGConfChangeSet; err:PPGError):PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_client_reverse_change_set';
+function gconf_client_change_set_from_currentv(client:PGConfClient; keys:PPgchar; err:PPGError):PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_client_change_set_from_currentv';
+function gconf_client_change_set_from_current(client:PGConfClient; err:PPGError; first_key:Pgchar; args:array of const):PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_client_change_set_from_current';
+function gconf_client_change_set_from_current(client:PGConfClient; err:PPGError; first_key:Pgchar):PGConfChangeSet;cdecl;external gconfclientdll name 'gconf_client_change_set_from_current';
+
+implementation
+
+function GCONF_TYPE_CLIENT : TGTKType;
+  begin
+     GCONF_TYPE_CLIENT:=gconf_client_get_type;
+  end;
+
+function  GCONF_IS_CLIENT(obj:pointer):boolean;
+begin
+  GCONF_IS_CLIENT:=(obj<>nil) and GCONF_IS_CLIENT_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function  GCONF_IS_CLIENT_CLASS(klass:pointer):boolean;
+begin
+  GCONF_IS_CLIENT_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GCONF_TYPE_CLIENT);
+end;
+
+{$define read_implementation}
+{$undef read_interface}
+
+{$include gconflisteners.inc}
+{$include gconfchangeset.inc}
+
+end.

+ 29 - 0
packages/extra/gnome1/gconf/gconfclient/gconflisteners.inc

@@ -0,0 +1,29 @@
+{$IfDef read_interface}
+
+type
+   PGConfListeners = ^TGConfListeners;
+   
+   TGConfListeners = Record
+   end;
+
+   TGConfListenersCallback = procedure (listeners:PGConfListeners; all_above_key:Pgchar; cnxn_id:guint; listener_data:gpointer; user_data:gpointer);cdecl;
+
+   TGConfListenersForeach = procedure (location:Pgchar; cnxn_id:guint; listener_data:gpointer; user_data:gpointer);cdecl;
+
+   TGConfListenersPredicate = function (location:Pgchar; cnxn_id:guint; listener_data:gpointer; user_data:gpointer):gboolean;cdecl;
+
+function gconf_listeners_new:PGConfListeners;cdecl;external gconfclientdll name 'gconf_listeners_new';
+procedure gconf_listeners_free(listeners:PGConfListeners);cdecl;external gconfclientdll name 'gconf_listeners_free';
+function gconf_listeners_add(listeners:PGConfListeners; listen_point:Pgchar; listener_data:gpointer; destroy_notify:TGFreeFunc):guint;cdecl;external gconfclientdll name 'gconf_listeners_add';
+procedure gconf_listeners_remove(listeners:PGConfListeners; cnxn_id:guint);cdecl;external gconfclientdll name 'gconf_listeners_remove';
+procedure gconf_listeners_notify(listeners:PGConfListeners; all_above:Pgchar; callback:TGConfListenersCallback; user_data:gpointer);cdecl;external gconfclientdll name 'gconf_listeners_notify';
+function gconf_listeners_count(listeners:PGConfListeners):guint;cdecl;external gconfclientdll name 'gconf_listeners_count';
+procedure gconf_listeners_foreach(listeners:PGConfListeners; callback:TGConfListenersForeach; user_data:gpointer);cdecl;external gconfclientdll name 'gconf_listeners_foreach';
+function gconf_listeners_get_data(listeners:PGConfListeners; cnxn_id:guint; listener_data_p:Pgpointer; location_p:PPgchar):gboolean;cdecl;external gconfclientdll name 'gconf_listeners_get_data';
+procedure gconf_listeners_remove_if(listeners:PGConfListeners; predicate:TGConfListenersPredicate; user_data:gpointer);cdecl;external gconfclientdll name 'gconf_listeners_remove_if';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 30 - 0
packages/extra/gnome1/gnome/gnometest.pp

@@ -0,0 +1,30 @@
+Program gnometest;
+
+uses glib, gdk, gtk, libgnome, libgnomeui;
+
+const
+  Authors : Array[0..2] of Pchar = ('me', 'myself', 'I');
+var
+  AboutBox : PGTKWidget;
+  App : PGTKWidget;
+  Appbar : PGTKWidget;
+  Clock : PGTKWidget;
+  calc : PGTKWIdget;
+begin
+  gnome_init('libgnometest', '0.1',argc, argv);
+  App := gnome_app_new('libgnometest', 'gnome-test #1');
+  AppBar := gnome_appbar_new(False, True,GNOME_PREFERENCES_USER);
+  GTK_Widget_show(AppBar);
+  gnome_app_set_statusbar (PGnomeApp(App), Appbar);
+  Clock := gtk_clock_new(GTK_CLOCK_REALTIME);
+  gtk_clock_set_update_interval(GTK_Clock(Clock), 1);
+  gtk_widget_show(Clock);
+  gtk_clock_set_format(GTK_Clock(Clock), '%H:%M:%S');
+  gnome_app_set_contents(Gnome_App(App), Clock);
+  GTK_Widget_Show(App);
+  AboutBox := gnome_about_new(gnome_app_id, nil, 'none', @Authors[0],'blah, blah, blah','/usr/share/icons/dialog_box.xpm');
+  GTK_Widget_Show(AboutBox);
+  gtk_signal_connect(GTK_OBJECT (AboutBox), 'destroy',
+                   @gtk_main_quit, nil);
+  gtk_main;
+end.

+ 324 - 0
packages/extra/gnome1/gnome/libart_lgpl/libart.pp

@@ -0,0 +1,324 @@
+unit libart;
+
+{$PACKRECORDS C}
+{$mode objfpc}
+
+interface
+
+const
+ libartdll='art_lgpl';
+
+type
+  PPlongint = ^Plongint;
+  
+  Part_u8 = ^art_u8;
+  art_u8 = Byte;
+  Part_u16 = ^art_u16;
+  art_u16 = word;
+  Part_u32 = ^art_u32;
+  art_u32 = longword;
+  PArtUtaBbox = ^TArtUtaBbox;
+  TArtUtaBbox = art_u32;
+
+  Part_boolean = ^art_boolean;
+  art_boolean = boolean;
+
+  Taffine_array = array[0..5] of double;
+  Taffine_string = array[0..127] of char;
+
+  TArtPathcode = (ART_MOVETO,ART_MOVETO_OPEN,ART_CURVETO,ART_LINETO,ART_END);
+  TArtFilterLevel = (ART_FILTER_NEAREST,ART_FILTER_TILES,ART_FILTER_BILINEAR,ART_FILTER_HYPER);
+  TArtPathStrokeJoinType = (ART_PATH_STROKE_JOIN_MITER,ART_PATH_STROKE_JOIN_ROUND,ART_PATH_STROKE_JOIN_BEVEL);
+  TArtPathStrokeCapType = (ART_PATH_STROKE_CAP_BUTT,ART_PATH_STROKE_CAP_ROUND,ART_PATH_STROKE_CAP_SQUARE);
+  TArtWindRule = (ART_WIND_RULE_NONZERO,ART_WIND_RULE_INTERSECT,ART_WIND_RULE_ODDEVEN,ART_WIND_RULE_POSITIVE);
+  TArtPixFormat = (ART_PIX_RGB);
+
+  TArtDestroyNotify = procedure (func_data:pointer; data:pointer);cdecl;
+
+  (* Art Point *)
+  PArtPoint = ^TArtPoint;
+  TArtPoint = record
+    x : double;
+    y : double;
+  end;
+
+  (* Art Double Rect *)
+  PArtDRect = ^TArtDRect;
+  TArtDRect = record
+    x0 : double;
+    y0 : double;
+    x1 : double;
+    y1 : double;
+  end;
+
+  (* Art Longint Rect *)
+  PArtIRect = ^TArtIRect;
+  TArtIRect = record
+    x0 : longint;
+    y0 : longint;
+    x1 : longint;
+    y1 : longint;
+  end;
+
+  (* Art Bezier Path *)
+  PArtBpath = ^TArtBpath;
+  TArtBpath = record
+    code : TArtPathcode;
+    x1 : double;
+    y1 : double;
+    x2 : double;
+    y2 : double;
+    x3 : double;
+    y3 : double;
+  end;
+
+  PPArtVpath = ^PArtVpath;
+  PArtVpath = ^TArtVpath;
+  TArtVpath = record
+     code : TArtPathcode;
+     x : double;
+     y : double;
+  end;
+
+  PArtVpathDash = ^TArtVpathDash;
+  TArtVpathDash = record
+    offset : double;
+    n_dash : longint;
+    dash : Pdouble;
+  end;
+
+  PArtAlphaGamma = ^TArtAlphaGamma;
+  TArtAlphaGamma = record
+    gamma : double;
+    invtable_size : longint;
+    table : array[0..255] of longint;
+    invtable : array[0..0] of art_u8;
+  end;
+
+  PArtSVPSeg = ^TArtSVPSeg;
+  TArtSVPSeg = record
+    n_points : longint;
+    dir : longint;
+    bbox : TArtDRect;
+    points : PArtPoint;
+  end;
+
+  PPArtSVP = ^PArtSVP;
+  PArtSVP = ^TArtSVP;
+  TArtSVP = record
+    n_segs : longint;
+    segs : array[0..0] of TArtSVPSeg;
+  end;
+
+  PArtSVPRenderAAStep = ^TArtSVPRenderAAStep;
+  TArtSVPRenderAAStep = record
+    x : longint;
+    delta : longint;
+  end;
+
+  PArtPixBuf = ^TArtPixBuf;
+  TArtPixBuf = record
+    format : TArtPixFormat;
+    n_channels : longint;
+    has_alpha : longint;
+    bits_per_sample : longint;
+    pixels : Part_u8;
+    width : longint;
+    height : longint;
+    rowstride : longint;
+    destroy_data : pointer;
+    destroy : TArtDestroyNotify;
+  end;
+
+  PArtUta = ^TArtUta;
+  TArtUta = record
+    x0 : longint;
+    y0 : longint;
+    width : longint;
+    height : longint;
+    utiles : PArtUtaBbox;
+  end;
+
+  Tart_svp_render_aa_callback = procedure (callback_data:pointer; y:longint; start:longint; steps:PArtSVPRenderAAStep; n_steps:longint); cdecl;
+
+const
+   ART_FALSE = FALSE;
+   ART_TRUE = TRUE;
+   M_PI = 3.14159265358979323846;
+   M_SQRT2 = 1.41421356237309504880;
+
+const
+   ART_UTILE_SHIFT = 5;
+   ART_UTILE_SIZE = 1 shl ART_UTILE_SHIFT;
+
+procedure art_die(fmt:Pchar; args:array of const);cdecl;external libartdll name 'art_die';
+procedure art_warn(fmt:Pchar; args:array of const);cdecl;external libartdll name 'art_warn';
+
+(* ART longint Rect *)
+procedure art_irect_copy(dest:PArtIRect; src:PArtIRect);cdecl;external libartdll name 'art_irect_copy';
+procedure art_irect_union(dest:PArtIRect; src1:PArtIRect; src2:PArtIRect);cdecl;external libartdll name 'art_irect_union';
+procedure art_irect_intersect(dest:PArtIRect; src1:PArtIRect; src2:PArtIRect);cdecl;external libartdll name 'art_irect_intersect';
+function art_irect_empty(src:PArtIRect):longint;cdecl;external libartdll name 'art_irect_empty';
+
+(* ART double Rect *)
+procedure art_drect_copy(dest:PArtDRect; src:PArtDRect);cdecl;external libartdll name 'art_drect_copy';
+procedure art_drect_union(dest:PArtDRect; src1:PArtDRect; src2:PArtDRect);cdecl;external libartdll name 'art_drect_union';
+procedure art_drect_intersect(dest:PArtDRect; src1:PArtDRect; src2:PArtDRect);cdecl;external libartdll name 'art_drect_intersect';
+function art_drect_empty(src:PArtDRect):longint;cdecl;external libartdll name 'art_drect_empty';
+procedure art_drect_affine_transform(dst:PArtDRect; src:PArtDRect; matrix:Taffine_array);cdecl;external libartdll name 'art_drect_affine_transform';
+procedure art_drect_to_irect(dst:PArtIRect; src:PArtDRect);cdecl;external libartdll name 'art_drect_to_irect';
+procedure art_drect_svp(bbox:PArtDRect; svp:PArtSVP);cdecl;external libartdll name 'art_drect_svp';
+procedure art_drect_svp_union(bbox:PArtDRect; svp:PArtSVP);cdecl;external libartdll name 'art_drect_svp_union';
+
+(* ART bezier's *)
+function art_bezier_to_vec(x0:double; y0:double; x1:double; y1:double; x2:double; 
+           y2:double; x3:double; y3:double; p:PArtPoint; level:longint):PArtPoint;cdecl;external libartdll name 'art_bezier_to_vec';
+function art_bez_path_to_vec(bez:PArtBpath; flatness:double):PArtVpath;cdecl;external libartdll name 'art_bez_path_to_vec';
+function art_bpath_affine_transform(src:PArtBpath; matrix:Taffine_array):PArtBpath;cdecl;external libartdll name 'art_bpath_affine_transform';
+
+(* ART affine transformations *)
+procedure art_affine_point(dst:PArtPoint; src:PArtPoint; affine:Taffine_array);cdecl;external libartdll name 'art_affine_point';
+procedure art_affine_invert(dst_affine:Taffine_array; src_affine:Taffine_array);cdecl;external libartdll name 'art_affine_invert';
+procedure art_affine_flip(dst_affine:Taffine_array; src_affine:Taffine_array; horz:longint; vert:longint);cdecl;external libartdll name 'art_affine_flip';
+procedure art_affine_to_string(str:Taffine_string; src:Taffine_array);cdecl;external libartdll name 'art_affine_to_string';
+procedure art_affine_multiply(dst:Taffine_array; src1:Taffine_array; src2:Taffine_array);cdecl;external libartdll name 'art_affine_multiply';
+procedure art_affine_identity(dst:Taffine_array);cdecl;external libartdll name 'art_affine_identity';
+procedure art_affine_scale(dst:Taffine_array; sx:double; sy:double);cdecl;external libartdll name 'art_affine_scale';
+procedure art_affine_rotate(dst:Taffine_array; theta:double);cdecl;external libartdll name 'art_affine_rotate';
+procedure art_affine_shear(dst:Taffine_array; theta:double);cdecl;external libartdll name 'art_affine_shear';
+procedure art_affine_translate(dst:Taffine_array; tx:double; ty:double);cdecl;external libartdll name 'art_affine_translate';
+function art_affine_expansion(src:Taffine_array):double;cdecl;external libartdll name 'art_affine_expansion';
+function art_affine_rectilinear(src:Taffine_array):longint;cdecl;external libartdll name 'art_affine_rectilinear';
+function art_affine_equal(matrix1:Taffine_array; matrix2:Taffine_array):longint;cdecl;external libartdll name 'art_affine_equal';
+
+(* ART alphagamma *)
+function art_alphagamma_new(gamma:double):PArtAlphaGamma;cdecl;external libartdll name 'art_alphagamma_new';
+procedure art_alphagamma_free(alphagamma:PArtAlphaGamma);cdecl;external libartdll name 'art_alphagamma_free';
+
+
+(* ART SVP *)
+function art_svp_add_segment(p_vp:PPArtSVP; pn_segs_max:Plongint; pn_points_max:PPlongint; n_points:longint; dir:longint; 
+           points:PArtPoint; bbox:PArtDRect):longint;cdecl;external libartdll name 'art_svp_add_segment';
+procedure art_svp_free(svp:PArtSVP);cdecl;external libartdll name 'art_svp_free';
+function art_svp_seg_compare(s1:pointer; s2:pointer):longint;cdecl;external libartdll name 'art_svp_seg_compare';
+
+function art_svp_union(svp1:PArtSVP; svp2:PArtSVP):PArtSVP;cdecl;external libartdll name 'art_svp_union';
+function art_svp_intersect(svp1:PArtSVP; svp2:PArtSVP):PArtSVP;cdecl;external libartdll name 'art_svp_intersect';
+function art_svp_diff(svp1:PArtSVP; svp2:PArtSVP):PArtSVP;cdecl;external libartdll name 'art_svp_diff';
+function art_svp_minus(svp1:PArtSVP; svp2:PArtSVP):PArtSVP;cdecl;external libartdll name 'art_svp_minus';
+
+function art_svp_point_wind(svp:PArtSVP; x:double; y:double):longint;cdecl;external libartdll name 'art_svp_point_wind';
+function art_svp_point_dist(svp:PArtSVP; x:double; y:double):double;cdecl;external libartdll name 'art_svp_point_dist';
+
+procedure art_svp_render_aa(svp:PArtSVP; x0:longint; y0:longint; x1:longint; y1:longint; 
+            callback: Tart_svp_render_aa_callback; callback_data:pointer);cdecl;external libartdll name 'art_svp_render_aa';
+
+function art_svp_from_vpath(vpath:PArtVpath):PArtSVP;cdecl;external libartdll name 'art_svp_from_vpath';
+
+function art_svp_vpath_stroke(vpath:PArtVpath; join:TArtPathStrokeJoinType; cap:TArtPathStrokeCapType; line_width:double; miter_limit:double; 
+           flatness:double):PArtSVP;cdecl;external libartdll name 'art_svp_vpath_stroke';
+function art_svp_vpath_stroke_raw(vpath:PArtVpath; join:TArtPathStrokeJoinType; cap:TArtPathStrokeCapType; line_width:double; miter_limit:double; 
+           flatness:double):PArtVpath;cdecl;external libartdll name 'art_svp_vpath_stroke_raw';
+
+function art_svp_uncross(vp:PArtSVP):PArtSVP;cdecl;external libartdll name 'art_svp_uncross';
+function art_svp_rewind_uncrossed(vp:PArtSVP; rule:TArtWindRule):PArtSVP;cdecl;external libartdll name 'art_svp_rewind_uncrossed';
+
+(* ART GRAY SVP *)
+procedure art_gray_svp_aa(svp:PArtSVP; x0:longint; y0:longint; x1:longint; y1:longint; 
+            buf:Part_u8; rowstride:longint);cdecl;external libartdll name 'art_gray_svp_aa';
+
+(* ART VPATH *)
+procedure art_vpath_add_point(p_vpath:PPArtVpath; pn_points:Plongint; pn_points_max:Plongint; code:TArtPathcode; x:double; 
+  y:double);cdecl;external libartdll name 'art_vpath_add_point';
+function art_vpath_new_circle(x:double; y:double; r:double):PArtVpath;cdecl;external libartdll name 'art_vpath_new_circle';
+function art_vpath_affine_transform(src:PArtVpath; matrix:Taffine_array):PArtVpath;cdecl;external libartdll name 'art_vpath_affine_transform';
+procedure art_vpath_bbox_drect(vec:PArtVpath; drect:PArtDRect);cdecl;external libartdll name 'art_vpath_bbox_drect';
+procedure art_vpath_bbox_irect(vec:PArtVpath; irect:PArtIRect);cdecl;external libartdll name 'art_vpath_bbox_irect';
+function art_vpath_perturb(src:PArtVpath):PArtVpath;cdecl;external libartdll name 'art_vpath_perturb';
+function art_vpath_from_svp(svp:PArtSVP):PArtVpath;cdecl;external libartdll name 'art_vpath_from_svp';
+function art_vpath_dash(vpath:PArtVpath; dash:PArtVpathDash):PArtVpath;cdecl;external libartdll name 'art_vpath_dash';
+
+(* ART PIXBUF *)
+function art_pixbuf_new_rgb(pixels:Part_u8; width:longint; height:longint; rowstride:longint):PArtPixBuf;cdecl;external libartdll name 'art_pixbuf_new_rgb';
+function art_pixbuf_new_rgba(pixels:Part_u8; width:longint; height:longint; rowstride:longint):PArtPixBuf;cdecl;external libartdll name 'art_pixbuf_new_rgba';
+function art_pixbuf_new_const_rgb(pixels:Part_u8; width:longint; height:longint; rowstride:longint):PArtPixBuf;cdecl;external libartdll name 'art_pixbuf_new_const_rgb';
+function art_pixbuf_new_const_rgba(pixels:Part_u8; width:longint; height:longint; rowstride:longint):PArtPixBuf;cdecl;external libartdll name 'art_pixbuf_new_const_rgba';
+function art_pixbuf_new_rgb_dnotify(pixels:Part_u8; width:longint; height:longint; rowstride:longint; dfunc_data:pointer; 
+           dfunc:TArtDestroyNotify):PArtPixBuf;cdecl;external libartdll name 'art_pixbuf_new_rgb_dnotify';
+function art_pixbuf_new_rgba_dnotify(pixels:Part_u8; width:longint; height:longint; rowstride:longint; dfunc_data:pointer; 
+           dfunc:TArtDestroyNotify):PArtPixBuf;cdecl;external libartdll name 'art_pixbuf_new_rgba_dnotify';
+procedure art_pixbuf_free(pixbuf:PArtPixBuf);cdecl;external libartdll name 'art_pixbuf_free';
+procedure art_pixbuf_free_shallow(pixbuf:PArtPixBuf);cdecl;external libartdll name 'art_pixbuf_free_shallow';
+function art_pixbuf_duplicate(pixbuf:PArtPixBuf):PArtPixBuf;cdecl;external libartdll name 'art_pixbuf_duplicate';
+
+(* ART RGB *)
+procedure art_rgb_fill_run(buf:Part_u8; r:art_u8; g:art_u8; b:art_u8; n:longint);cdecl;external libartdll name 'art_rgb_fill_run';
+procedure art_rgb_run_alpha(buf:Part_u8; r:art_u8; g:art_u8; b:art_u8; alpha:longint; n:longint);cdecl;external libartdll name 'art_rgb_run_alpha';
+
+procedure art_rgb_affine(dst:Part_u8; x0:longint; y0:longint; x1:longint; y1:longint; 
+            dst_rowstride:longint; src:Part_u8; src_width:longint; src_height:longint; src_rowstride:longint; 
+            affine:Taffine_array; level:TArtFilterLevel; alphagamma:PArtAlphaGamma);cdecl;external libartdll name 'art_rgb_affine';
+
+procedure art_rgb_bitmap_affine(dst:Part_u8; x0:longint; y0:longint; x1:longint; y1:longint; 
+            dst_rowstride:longint; src:Part_u8; src_width:longint; src_height:longint; src_rowstride:longint; 
+            rgba:art_u32; affine:Taffine_array; level:TArtFilterLevel; alphagamma:PArtAlphaGamma);cdecl;external libartdll name 'art_rgb_bitmap_affine';
+
+procedure art_rgb_pixbuf_affine(dst:Part_u8; x0:longint; y0:longint; x1:longint; y1:longint; 
+            dst_rowstride:longint; pixbuf:PArtPixBuf; affine:Taffine_array; level:TArtFilterLevel; alphagamma:PArtAlphaGamma);cdecl;external libartdll name 'art_rgb_pixbuf_affine';
+
+procedure art_rgb_rgba_affine(dst:Part_u8; x0:longint; y0:longint; x1:longint; y1:longint; 
+            dst_rowstride:longint; src:Part_u8; src_width:longint; src_height:longint; src_rowstride:longint; 
+            affine:Taffine_array; level:TArtFilterLevel; alphagamma:PArtAlphaGamma);cdecl;external libartdll name 'art_rgb_rgba_affine';
+
+procedure art_rgb_svp_aa(svp:PArtSVP; x0:longint; y0:longint; x1:longint; y1:longint; 
+            fg_color:art_u32; bg_color:art_u32; buf:Part_u8; rowstride:longint; alphagamma:PArtAlphaGamma);cdecl;external libartdll name 'art_rgb_svp_aa';
+procedure art_rgb_svp_alpha(svp:PArtSVP; x0:longint; y0:longint; x1:longint; y1:longint; 
+            rgba:art_u32; buf:Part_u8; rowstride:longint; alphagamma:PArtAlphaGamma);cdecl;external libartdll name 'art_rgb_svp_alpha';
+
+(* ART UTA *)
+function art_uta_new(x0:longint; y0:longint; x1:longint; y1:longint):PArtUta;cdecl;external libartdll name 'art_uta_new';
+function art_uta_new_coords(x0:longint; y0:longint; x1:longint; y1:longint):PArtUta;cdecl;external libartdll name 'art_uta_new_coords';
+procedure art_uta_free(uta:PArtUta);cdecl;external libartdll name 'art_uta_free';
+
+function art_uta_union(uta1:PArtUta; uta2:PArtUta):PArtUta;cdecl;external libartdll name 'art_uta_union';
+function art_uta_from_irect(bbox:PArtIRect):PArtUta;cdecl;external libartdll name 'art_uta_from_irect';
+function art_uta_from_svp(svp:PArtSVP):PArtUta;cdecl;external libartdll name 'art_uta_from_svp';
+function art_uta_from_vpath(vec:PArtVpath):PArtUta;cdecl;external libartdll name 'art_uta_from_vpath';
+procedure art_uta_add_line(uta:PArtUta; x0:double; y0:double; x1:double; y1:double; 
+            rbuf:Plongint; rbuf_rowstride:longint);cdecl;external libartdll name 'art_uta_add_line';
+function art_rect_list_from_uta(uta:PArtUta; max_width:longint; max_height:longint; p_nrects:Plongint):PArtIRect;cdecl;external libartdll name 'art_rect_list_from_uta';
+	    
+function ART_UTA_BBOX_CONS(x0,y0,x1,y1 : longint) : longint;
+function ART_UTA_BBOX_X0(ub : longint) : longint;
+function ART_UTA_BBOX_Y0(ub : longint) : longint;
+function ART_UTA_BBOX_X1(ub : longint) : longint;
+function ART_UTA_BBOX_Y1(ub : longint) : longint;
+
+implementation
+
+function ART_UTA_BBOX_CONS(x0,y0,x1,y1 : longint) : longint;
+begin
+   ART_UTA_BBOX_CONS:=(((x0 shl 24) or (y0 shl 16)) or (x1 shl 8)) or y1;
+end;
+
+function ART_UTA_BBOX_X0(ub : longint) : longint;
+begin
+   ART_UTA_BBOX_X0:=ub shr 24;
+end;
+
+function ART_UTA_BBOX_Y0(ub : longint) : longint;
+begin
+   ART_UTA_BBOX_Y0:=(ub shr 16) and $ff;
+end;
+
+function ART_UTA_BBOX_X1(ub : longint) : longint;
+begin
+   ART_UTA_BBOX_X1:=(ub shr 8) and $ff;
+end;
+
+function ART_UTA_BBOX_Y1(ub : longint) : longint;
+begin
+   ART_UTA_BBOX_Y1:=ub and $ff;
+end;
+
+end.

+ 395 - 0
packages/extra/gnome1/gnome/libgnome/gnomeconfig.inc

@@ -0,0 +1,395 @@
+{$IfDef read_interface}
+function _gnome_config_get_string_with_default(path:Pchar; def:Pgboolean; priv:gint):pchar;cdecl;external libgnomedll name '_gnome_config_get_string_with_default';
+function _gnome_config_get_translated_string_with_default(path:Pchar; def:Pgboolean; priv:gint):pchar;cdecl;external libgnomedll name '_gnome_config_get_translated_string_with_default';
+function _gnome_config_get_int_with_default(path:Pchar; def:Pgboolean; priv:gint):gint;cdecl;external libgnomedll name '_gnome_config_get_int_with_default';
+function _gnome_config_get_float_with_default(path:Pchar; def:Pgboolean; priv:gint):gdouble;cdecl;external libgnomedll name '_gnome_config_get_float_with_default';
+function _gnome_config_get_bool_with_default(path:Pchar; def:Pgboolean; priv:gint):gboolean;cdecl;external libgnomedll name '_gnome_config_get_bool_with_default';
+Procedure _gnome_config_get_vector_with_default(path:Pchar; argcp:Pgint; argvp:PPPchar; def:Pgboolean; priv:gint);cdecl;external libgnomedll name '_gnome_config_get_vector_with_default';
+
+function gnome_config_get_string_with_default(path:Pchar; def:Pgboolean):pchar;
+function gnome_config_get_translated_string_with_default(path:Pchar; def:Pgboolean):pchar;
+function gnome_config_get_int_with_default(path:Pchar; def:Pgboolean):gint;
+function gnome_config_get_float_with_default(path:Pchar; def:Pgboolean):gdouble;
+function gnome_config_get_bool_with_default(path:Pchar; def:Pgboolean):gboolean;
+Procedure gnome_config_get_vector_with_default(path:Pchar; argcp:Pgint; argvp:PPPchar; def:Pgboolean);
+
+function gnome_config_private_get_string_with_default(path:Pchar; def:Pgboolean):pchar;
+function gnome_config_private_get_translated_string_with_default(path:Pchar; def:Pgboolean):pchar;
+function gnome_config_private_get_int_with_default(path:Pchar; def:Pgboolean):gint;
+function gnome_config_private_get_float_with_default(path:Pchar; def:Pgboolean):gdouble;
+function gnome_config_private_get_bool_with_default(path:Pchar; def:Pgboolean):gboolean;
+procedure gnome_config_private_get_vector_with_default(path:Pchar; argcp:Pgint; argvp:PPPchar; def:Pgboolean);
+
+function gnome_config_get_string(path:Pchar):pchar;
+function gnome_config_get_translated_string(path:Pchar):pchar;
+function gnome_config_get_int(path:Pchar):gint;
+function gnome_config_get_float(path:Pchar):gdouble;
+function gnome_config_get_bool(path:Pchar):gboolean;
+procedure gnome_config_get_vector(path:Pchar; argcp:Pgint; argvp:PPPchar);
+
+function gnome_config_private_get_string(path:Pchar):pchar;
+function gnome_config_private_get_translated_string(path:Pchar):pchar;
+function gnome_config_private_get_int(path:Pchar):gint;
+function gnome_config_private_get_float(path:Pchar):gdouble;
+function gnome_config_private_get_bool(path:Pchar):gboolean;
+procedure gnome_config_private_get_vector(path:Pchar; argcp:Pgint; argvp:PPPchar);
+
+procedure _gnome_config_set_string(path:Pchar; value:Pchar; priv:gint);cdecl;external libgnomedll name '_gnome_config_set_string';
+procedure _gnome_config_set_translated_string(path:Pchar; value:Pchar; priv:gint);cdecl;external libgnomedll name '_gnome_config_set_translated_string';
+procedure _gnome_config_set_int(path:Pchar; value:longint; priv:gint);cdecl;external libgnomedll name '_gnome_config_set_int';
+procedure _gnome_config_set_float(path:Pchar; value:gdouble; priv:gint);cdecl;external libgnomedll name '_gnome_config_set_float';
+procedure _gnome_config_set_bool(path:Pchar; value:gboolean; priv:gint);cdecl;external libgnomedll name '_gnome_config_set_bool';
+procedure _gnome_config_set_vector(path:Pchar; argc:longint; argv:PPchar; priv:gint);cdecl;external libgnomedll name '_gnome_config_set_vector';
+
+procedure gnome_config_set_string(path,new_value : Pchar);
+procedure gnome_config_set_translated_string(path, new_value : PChar);
+procedure gnome_config_set_int(path : PChar; new_value : longint);
+procedure gnome_config_set_float(path : PChar; new_value : longint);
+procedure gnome_config_set_bool(path : PChar; new_value : gboolean);
+procedure gnome_config_set_vector(path:Pchar; argc:longint; argv:PPchar);
+
+procedure gnome_config_private_set_string(path,new_value : Pchar);
+procedure gnome_config_private_set_translated_string(path, new_value : PChar);
+procedure gnome_config_private_set_int(path : Pchar; new_value : longint);
+procedure gnome_config_private_set_float(path : PChar; new_value : longint);
+procedure gnome_config_private_set_bool(path : PChar; new_value : gboolean);
+procedure gnome_config_private_set_vector(path:Pchar; argc:longint; argv:PPchar);
+
+function _gnome_config_has_section(path:Pchar; priv:gint):gboolean;cdecl;external libgnomedll name '_gnome_config_has_section';
+
+function gnome_config_has_section(path : Pchar) : gboolean;
+
+function gnome_config_private_has_section(path : pchar) : gboolean;
+
+function _gnome_config_init_iterator(path:Pchar; priv:gint):pointer;cdecl;external libgnomedll name '_gnome_config_init_iterator';
+function _gnome_config_init_iterator_sections(path:Pchar; priv:gint):pointer;cdecl;external libgnomedll name '_gnome_config_init_iterator_sections';
+function gnome_config_iterator_next(iterator_handle:pointer; key:PPchar; value:PPchar):pointer;cdecl;external libgnomedll name 'gnome_config_iterator_next';
+
+function gnome_config_init_iterator(path : pchar) : pointer;
+function gnome_config_init_iterator_sections(path : Pchar) : pointer;
+
+function gnome_config_private_init_iterator(path : Pchar) : pointer;
+function gnome_config_private_init_iterator_sections(path : Pchar) : pointer;
+
+procedure gnome_config_drop_all;cdecl;external libgnomedll name 'gnome_config_drop_all';
+procedure gnome_config_sync;cdecl;external libgnomedll name 'gnome_config_sync';
+procedure _gnome_config_sync_file(path:Pchar; priv:longint);cdecl;external libgnomedll name '_gnome_config_sync_file';
+
+procedure gnome_config_sync_file(path : Pchar);
+
+procedure gnome_config_private_sync_file(path : Pchar);
+
+procedure _gnome_config_drop_file(path:Pchar; priv:gint);cdecl;external libgnomedll name '_gnome_config_drop_file';
+
+procedure gnome_config_drop_file(path : Pchar);
+
+procedure gnome_config_private_drop_file(path : Pchar);
+
+procedure _gnome_config_clean_file(path:Pchar; priv:gint);cdecl;external libgnomedll name '_gnome_config_clean_file';
+
+Procedure gnome_config_clean_file(path:Pchar);
+
+Procedure gnome_config_private_clean_file(path:Pchar);
+
+procedure _gnome_config_clean_section(path:Pchar; priv:gint);cdecl;external libgnomedll name '_gnome_config_clean_section';
+
+procedure gnome_config_clean_section(path:Pchar);
+
+procedure gnome_config_private_clean_section(path:Pchar);
+
+procedure _gnome_config_clean_key(path:Pchar; priv:gint);cdecl;external libgnomedll name '_gnome_config_clean_key';
+
+procedure gnome_config_clean_key(path:Pchar);
+
+procedure gnome_config_private_clean_key(path:Pchar);
+
+function gnome_config_get_real_path(path:Pchar):Pchar;
+
+function gnome_config_private_get_real_path(path:Pchar):Pchar;
+
+procedure gnome_config_push_prefix(path:Pchar);cdecl;external libgnomedll name 'gnome_config_push_prefix';
+procedure gnome_config_pop_prefix;cdecl;external libgnomedll name 'gnome_config_pop_prefix';
+procedure gnome_config_make_vector(_string:Pchar; argcp:Plongint; argvp:PPPchar);cdecl;external libgnomedll name 'gnome_config_make_vector';
+function gnome_config_assemble_vector(argc:longint; argv:PPchar):pchar;cdecl;external libgnomedll name 'gnome_config_assemble_vector';
+
+Type
+  TGnomeConfigHandler = procedure (param : pointer); cdecl;
+  
+procedure gnome_config_set_set_handler(func : TGnomeConfigHandler; data:pointer);cdecl;external libgnomedll name 'gnome_config_set_set_handler';
+procedure gnome_config_set_sync_handler(func:TGnomeConfigHandler; data:pointer);cdecl;external libgnomedll name 'gnome_config_set_sync_handler';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function gnome_config_get_string_with_default(path:Pchar; def:Pgboolean):pchar;
+begin
+   gnome_config_get_string_with_default:=_gnome_config_get_string_with_default(path,def,0);
+end;
+
+function gnome_config_get_translated_string_with_default(path:Pchar; def:Pgboolean):pchar;
+begin
+   gnome_config_get_translated_string_with_default:=_gnome_config_get_translated_string_with_default(path,def,0);
+end;
+
+function gnome_config_get_int_with_default(path:Pchar; def:Pgboolean):gint;
+begin
+   gnome_config_get_int_with_default:=_gnome_config_get_int_with_default(path,def,0);
+end;
+
+function gnome_config_get_float_with_default(path:Pchar; def:Pgboolean):gdouble;
+begin
+   gnome_config_get_float_with_default:=_gnome_config_get_float_with_default(path,def,0);
+end;
+
+function gnome_config_get_bool_with_default(path:Pchar; def:Pgboolean):gboolean;
+begin
+   gnome_config_get_bool_with_default:=_gnome_config_get_bool_with_default(path,def,0);
+end;
+
+procedure gnome_config_get_vector_with_default(path:Pchar; argcp:Pgint; argvp:PPPchar; def:Pgboolean);
+begin
+   _gnome_config_get_vector_with_default(path,argcp,argvp,def,0);
+end;
+
+function gnome_config_private_get_string_with_default(path:Pchar; def:Pgboolean):pchar;
+begin
+   gnome_config_private_get_string_with_default:=_gnome_config_get_string_with_default(path,def,1);
+end;
+
+function gnome_config_private_get_translated_string_with_default(path:Pchar; def:Pgboolean):pchar;
+begin
+   gnome_config_private_get_translated_string_with_default:=_gnome_config_get_translated_string_with_default(path,def,1);
+end;
+
+function gnome_config_private_get_int_with_default(path:Pchar; def:Pgboolean):gint;
+begin
+   gnome_config_private_get_int_with_default:=_gnome_config_get_int_with_default(path,def,1);
+end;
+
+function gnome_config_private_get_float_with_default(path:Pchar; def:Pgboolean):gdouble;
+begin
+   gnome_config_private_get_float_with_default:=_gnome_config_get_float_with_default(path,def,1);
+end;
+
+function gnome_config_private_get_bool_with_default(path:Pchar; def:Pgboolean):gboolean;
+begin
+   gnome_config_private_get_bool_with_default:=_gnome_config_get_bool_with_default(path,def,1);
+end;
+
+procedure gnome_config_private_get_vector_with_default(path:Pchar; argcp:Pgint; argvp:PPPchar; def:Pgboolean);
+begin
+   _gnome_config_get_vector_with_default(path,argcp,argvp,def,1);
+end;
+
+function gnome_config_get_string(path:Pchar):pchar;
+begin
+   gnome_config_get_string:=_gnome_config_get_string_with_default(path,nil,0);
+end;
+
+function gnome_config_get_translated_string(path:Pchar):pchar;
+begin
+   gnome_config_get_translated_string:=_gnome_config_get_translated_string_with_default(path,nil,0);
+end;
+
+function gnome_config_get_int(path:Pchar):gint;
+begin
+   gnome_config_get_int:=_gnome_config_get_int_with_default(path,nil,0);
+end;
+
+function gnome_config_get_float(path:Pchar):gdouble;
+begin
+   gnome_config_get_float:=_gnome_config_get_float_with_default(path,nil,0);
+end;
+
+function gnome_config_get_bool(path:Pchar):gboolean;
+begin
+   gnome_config_get_bool:=_gnome_config_get_bool_with_default(path,nil,0);
+end;
+
+procedure gnome_config_get_vector(path:Pchar; argcp:Pgint; argvp:PPPchar);
+begin
+   _gnome_config_get_vector_with_default(path,argcp,argvp,nil,0);
+end;
+
+function gnome_config_private_get_string(path:Pchar):pchar;
+begin
+   gnome_config_private_get_string:=_gnome_config_get_string_with_default(path,nil,1);
+end;
+
+function gnome_config_private_get_translated_string(path:Pchar):pchar;
+begin
+   gnome_config_private_get_translated_string:=_gnome_config_get_translated_string_with_default(path,nil,1);
+end;
+
+function gnome_config_private_get_int(path:Pchar):gint;
+begin
+   gnome_config_private_get_int:=_gnome_config_get_int_with_default(path,nil,1);
+end;
+
+function gnome_config_private_get_float(path:Pchar):gdouble;
+begin
+   gnome_config_private_get_float:=_gnome_config_get_float_with_default(path,nil,1);
+end;
+
+function gnome_config_private_get_bool(path:Pchar):gboolean;
+begin
+   gnome_config_private_get_bool:=_gnome_config_get_bool_with_default(path,nil,1);
+end;
+
+procedure gnome_config_private_get_vector(path:Pchar; argcp:Pgint; argvp:PPPchar);
+begin
+   _gnome_config_get_vector_with_default(path,argcp,argvp,nil,1);
+end;
+
+procedure gnome_config_set_string(path,new_value : Pchar);
+begin
+   _gnome_config_set_string(path,new_value,0);
+end;
+
+procedure gnome_config_set_translated_string(path, new_value : PChar);
+begin
+   _gnome_config_set_translated_string(path,new_value,0);
+end;
+
+procedure gnome_config_set_int(path : PChar; new_value : longint);
+begin
+   _gnome_config_set_int(path,new_value,0);
+end;
+
+procedure gnome_config_set_float(path : PChar; new_value : longint);
+begin
+   _gnome_config_set_float(path,new_value,0);
+end;
+
+procedure gnome_config_set_bool(path : PChar; new_value : gboolean);
+begin
+   _gnome_config_set_bool(path,new_value,0);
+end;
+
+procedure gnome_config_set_vector(path:Pchar; argc:longint; argv:PPchar);
+begin
+   _gnome_config_set_vector(path,argc,argv,0);
+end;
+
+procedure gnome_config_private_set_string(path,new_value : Pchar);
+begin
+   _gnome_config_set_string(path,new_value,1);
+end;
+
+procedure gnome_config_private_set_translated_string(path, new_value : PChar);
+begin
+   _gnome_config_set_translated_string(path,new_value,1);
+end;
+
+procedure gnome_config_private_set_int(path : PChar; new_value : longint);
+begin
+   _gnome_config_set_int(path,new_value,1);
+end;
+
+procedure gnome_config_private_set_float(path : PChar; new_value : longint);
+begin
+   _gnome_config_set_float(path,new_value,1);
+end;
+
+procedure gnome_config_private_set_bool(path : PChar; new_value : gboolean);
+begin
+   _gnome_config_set_bool(path,new_value,1);
+end;
+
+procedure gnome_config_private_set_vector(path:Pchar; argc:longint; argv:PPchar);
+begin
+   _gnome_config_set_vector(path,argc,argv,1);
+end;
+
+function gnome_config_has_section(path : Pchar) : gboolean;
+begin
+   gnome_config_has_section:=_gnome_config_has_section(path,0);
+end;
+
+function gnome_config_private_has_section(path : pchar) : gboolean;
+begin
+   gnome_config_private_has_section:=_gnome_config_has_section(path,1);
+end;
+
+function gnome_config_init_iterator(path : pchar) : pointer;
+begin
+   gnome_config_init_iterator:=_gnome_config_init_iterator(path,0);
+end;
+
+function gnome_config_init_iterator_sections(path : Pchar) : pointer;
+begin
+   gnome_config_init_iterator_sections:=_gnome_config_init_iterator_sections(path,0);
+end;
+
+function gnome_config_private_init_iterator(path : Pchar) : pointer;
+begin
+   gnome_config_private_init_iterator:=_gnome_config_init_iterator(path,1);
+end;
+
+function gnome_config_private_init_iterator_sections(path : Pchar) : pointer;
+begin
+   gnome_config_private_init_iterator_sections:=_gnome_config_init_iterator_sections(path,1);
+end;
+
+procedure gnome_config_sync_file(path : Pchar);
+begin
+   _gnome_config_sync_file(path,0);
+end;
+
+procedure gnome_config_private_sync_file(path : Pchar);
+begin
+   _gnome_config_sync_file(path,1);
+end;
+
+procedure gnome_config_drop_file(path : Pchar);
+begin
+   _gnome_config_drop_file(path,0);
+end;
+
+procedure gnome_config_private_drop_file(path : Pchar);
+begin
+   _gnome_config_drop_file(path,1);
+end;
+
+Procedure gnome_config_clean_file(path:Pchar);
+begin
+   _gnome_config_clean_file(path,0);
+end;
+
+Procedure gnome_config_private_clean_file(path:Pchar);
+begin
+   _gnome_config_clean_file(path,1);
+end;
+
+procedure gnome_config_clean_section(path:Pchar);
+begin
+   _gnome_config_clean_section(path,0);
+end;
+
+procedure gnome_config_private_clean_section(path:Pchar);
+begin
+   _gnome_config_clean_section(path,1);
+end;
+
+procedure gnome_config_clean_key(path:Pchar);
+begin
+   _gnome_config_clean_key(path,0);
+end;
+
+procedure gnome_config_private_clean_key(path:Pchar);
+begin
+   _gnome_config_clean_key(path,1);
+end;
+
+function gnome_config_get_real_path(path : pchar) : pchar;
+begin
+  gnome_config_get_real_path := g_concat_dir_and_file(gnome_user_dir, Path);
+end;
+
+function gnome_config_private_get_real_path(path : pchar) : pchar;
+begin
+  gnome_config_private_get_real_path := g_concat_dir_and_file(gnome_user_private_dir, Path);
+end;
+
+{$Endif read_implementation}

+ 78 - 0
packages/extra/gnome1/gnome/libgnome/gnomedentry.inc

@@ -0,0 +1,78 @@
+{$IfDef read_interface}
+type
+   PGnomeDesktopEntry = ^TGnomeDesktopEntry;
+   TGnomeDesktopEntry = record
+        name : Pchar;
+        comment : Pchar;
+        exec_length : longint;
+        exec : PPchar;
+        tryexec : Pchar;
+        icon : Pchar;
+        docpath : Pchar;
+        terminal : longint;
+        thetype : Pchar;
+        location : Pchar;
+        geometry : Pchar;
+        flag0 : word;
+     end;
+     
+const
+   bm_GnomeDesktopEntry_multiple_args = $1;
+   bp_GnomeDesktopEntry_multiple_args = 0;
+   bm_GnomeDesktopEntry_is_kde = $2;
+   bp_GnomeDesktopEntry_is_kde = 1;
+   
+function multiple_args(var a : TGnomeDesktopEntry) : Boolean;
+procedure set_multiple_args(var a : TGnomeDesktopEntry; __multiple_args : Boolean);
+function is_kde(var a : TGnomeDesktopEntry) : Boolean;
+procedure set_is_kde(var a : TGnomeDesktopEntry; __is_kde : Boolean);
+
+function gnome_desktop_entry_load(afile:Pchar):PGnomeDesktopEntry;cdecl;external libgnomedll name 'gnome_desktop_entry_load';
+function gnome_desktop_entry_load_flags(afile:Pchar; clean_from_memory_after_load:longint):PGnomeDesktopEntry;cdecl;external libgnomedll name 'gnome_desktop_entry_load_flags';
+function gnome_desktop_entry_load_flags_conditional(afile:Pchar; clean_from_memory_after_load:longint; unconditional:longint):PGnomeDesktopEntry;cdecl;external libgnomedll name 'gnome_desktop_entry_load_flags_conditional';
+function gnome_desktop_entry_load_unconditional(afile:Pchar):PGnomeDesktopEntry;cdecl;external libgnomedll name 'gnome_desktop_entry_load_unconditional';
+
+procedure gnome_desktop_entry_save(dentry:PGnomeDesktopEntry);cdecl;external libgnomedll name 'gnome_desktop_entry_save';
+procedure gnome_desktop_entry_free(item:PGnomeDesktopEntry);cdecl;external libgnomedll name 'gnome_desktop_entry_free';
+procedure gnome_desktop_entry_destroy(item:PGnomeDesktopEntry);cdecl;external libgnomedll name 'gnome_desktop_entry_destroy';
+procedure gnome_desktop_entry_launch(item:PGnomeDesktopEntry);cdecl;external libgnomedll name 'gnome_desktop_entry_launch';
+procedure gnome_desktop_entry_launch_with_args(item:PGnomeDesktopEntry; the_argc:longint; the_argv:array of Pchar);cdecl;external libgnomedll name 'gnome_desktop_entry_launch_with_args';
+function gnome_desktop_entry_copy(source:PGnomeDesktopEntry):PGnomeDesktopEntry;cdecl;external libgnomedll name 'gnome_desktop_entry_copy';
+
+type
+   PGnomeDesktopEntryI18N = ^TGnomeDesktopEntryI18N;
+   TGnomeDesktopEntryI18N = record
+        lang : Pchar;
+        name : Pchar;
+        comment : Pchar;
+     end;
+
+function gnome_desktop_entry_get_i18n_list(item:PGnomeDesktopEntry):PGList;cdecl;external libgnomedll name 'gnome_desktop_entry_get_i18n_list';
+procedure gnome_desktop_entry_set_i18n_list(item:PGnomeDesktopEntry; list:PGList);cdecl;external libgnomedll name 'gnome_desktop_entry_set_i18n_list';
+procedure gnome_desktop_entry_free_i18n_list(list:PGList);cdecl;external libgnomedll name 'gnome_desktop_entry_free_i18n_list';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function multiple_args(var a : TGnomeDesktopEntry) : Boolean;
+begin
+   multiple_args:=Boolean((a.flag0 and bm_GnomeDesktopEntry_multiple_args) shr bp_GnomeDesktopEntry_multiple_args);
+end;
+
+procedure set_multiple_args(var a : TGnomeDesktopEntry; __multiple_args : Boolean);
+begin
+   a.flag0:=a.flag0 or ((longint(__multiple_args) shl bp_GnomeDesktopEntry_multiple_args) and bm_GnomeDesktopEntry_multiple_args);
+end;
+
+function is_kde(var a : TGnomeDesktopEntry) : Boolean;
+begin
+   is_kde:=Boolean((a.flag0 and bm_GnomeDesktopEntry_is_kde) shr bp_GnomeDesktopEntry_is_kde);
+end;
+
+procedure set_is_kde(var a : TGnomeDesktopEntry; __is_kde : Boolean);
+begin
+   a.flag0:=a.flag0 or ((Longint(__is_kde) shl bp_GnomeDesktopEntry_is_kde) and bm_GnomeDesktopEntry_is_kde);
+end;
+
+{$Endif read_implementation}

+ 14 - 0
packages/extra/gnome1/gnome/libgnome/gnomeexec.inc

@@ -0,0 +1,14 @@
+{$IfDef read_interface}
+
+function gnome_execute_async(dir:Pchar; argc:longint; argv:PPchar):longint;cdecl;external libgnomedll name 'gnome_execute_async';
+function gnome_execute_async_fds(dir:Pchar; argc:longint; argv:PPchar; close_fds:gboolean):longint;cdecl;external libgnomedll name 'gnome_execute_async_fds';
+function gnome_execute_async_with_env(dir:Pchar; argc:longint; argv:PPchar; envc:longint; envv:PPchar):longint;cdecl;external libgnomedll name 'gnome_execute_async_with_env';
+function gnome_execute_async_with_env_fds(dir:Pchar; argc:longint; argv:PPchar; envc:longint; envv:PPchar; close_fds:gboolean):longint;cdecl;external libgnomedll name 'gnome_execute_async_with_env_fds'; 
+function gnome_execute_shell(dir:Pchar; commandline:Pchar):longint;cdecl;external libgnomedll name 'gnome_execute_shell';
+function gnome_execute_shell_fds(dir:Pchar; commandline:Pchar; close_fds:gboolean):longint;cdecl;external libgnomedll name 'gnome_execute_shell_fds';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 21 - 0
packages/extra/gnome1/gnome/libgnome/gnomehelp.inc

@@ -0,0 +1,21 @@
+{$IfDef read_interface}
+
+type
+   PGnomeHelpMenuEntry = ^TGnomeHelpMenuEntry;
+   TGnomeHelpMenuEntry = record
+        name : Pgchar;
+        path : Pgchar;
+     end;
+
+function gnome_help_file_find_file(app:Pgchar; path:Pgchar):pgchar;cdecl;external libgnomedll name 'gnome_help_file_find_file';
+function gnome_help_file_path(app:Pgchar; path:Pgchar):pgchar;cdecl;external libgnomedll name 'gnome_help_file_path';
+procedure gnome_help_display(ignore:pointer; ref:PGnomeHelpMenuEntry);cdecl;external libgnomedll name 'gnome_help_display';
+procedure gnome_help_pbox_display(ignore:pointer; page_num:gint; ref:PGnomeHelpMenuEntry);cdecl;external libgnomedll name 'gnome_help_pbox_display';
+procedure gnome_help_pbox_goto(ignore:pointer; ignore2:longint; ref:PGnomeHelpMenuEntry);cdecl;external libgnomedll name 'gnome_help_pbox_goto';
+procedure gnome_help_goto(ignore:pointer; afile:Pgchar);cdecl;external libgnomedll name 'gnome_help_goto';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 13 - 0
packages/extra/gnome1/gnome/libgnome/gnomei18n.inc

@@ -0,0 +1,13 @@
+{$IfDef read_interface}
+
+function gnome_i18n_get_language:Pchar;cdecl;external libgnomedll name 'gnome_i18n_get_language';
+function gnome_i18n_get_language_list(category_name:Pgchar):PGList;cdecl;external libgnomedll name 'gnome_i18n_get_language_list';
+procedure gnome_i18n_set_preferred_language(val:Pchar);cdecl;external libgnomedll name 'gnome_i18n_set_preferred_language';
+function gnome_i18n_get_preferred_language:Pchar;cdecl;external libgnomedll name 'gnome_i18n_get_preferred_language';
+procedure gnome_i18n_init;cdecl;external libgnomedll name 'gnome_i18n_init';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 25 - 0
packages/extra/gnome1/gnome/libgnome/gnomemetadata.inc

@@ -0,0 +1,25 @@
+{$IfDef read_interface}
+type
+   TGnomeMetadataError = (GNOME_METADATA_OK := 0,GNOME_METADATA_IO_ERROR,
+     GNOME_METADATA_NOT_FOUND);
+
+function gnome_metadata_set(afile:Pchar; name:Pchar; size:longint; data:Pchar):longint;cdecl;external libgnomedll name 'gnome_metadata_set';
+function gnome_metadata_remove(afile:Pchar; name:Pchar):longint;cdecl;external libgnomedll name 'gnome_metadata_remove';
+function gnome_metadata_list(afile:Pchar):PPchar;cdecl;external libgnomedll name 'gnome_metadata_list';
+function gnome_metadata_get(afile:Pchar; name:Pchar; size:Plongint; buffer:PPchar):longint;cdecl;external libgnomedll name 'gnome_metadata_get';
+function gnome_metadata_get_fast(afile:Pchar; name:Pchar; size:Plongint; buffer:PPchar):longint;cdecl;external libgnomedll name 'gnome_metadata_get_fast';
+function gnome_metadata_rename(isfrom:Pchar; isto:Pchar):longint;cdecl;external libgnomedll name 'gnome_metadata_rename';
+function gnome_metadata_copy(isfrom:Pchar; isto:Pchar):longint;cdecl;external libgnomedll name 'gnome_metadata_copy';
+function gnome_metadata_delete(afile:Pchar):longint;cdecl;external libgnomedll name 'gnome_metadata_delete';
+procedure gnome_metadata_regex_add(regex:Pchar; key:Pchar; size:longint; data:Pchar);cdecl;external libgnomedll name 'gnome_metadata_regex_add';
+procedure gnome_metadata_regex_remove(regex:Pchar; key:Pchar);cdecl;external libgnomedll name 'gnome_metadata_regex_remove';
+procedure gnome_metadata_type_add(thetype:Pchar; key:Pchar; size:longint; data:Pchar);cdecl;external libgnomedll name 'gnome_metadata_type_add';
+procedure gnome_metadata_type_remove(thetype:Pchar; key:Pchar);cdecl;external libgnomedll name 'gnome_metadata_type_remove';
+procedure gnome_metadata_lock;cdecl;external libgnomedll name 'gnome_metadata_lock';
+procedure gnome_metadata_unlock;cdecl;external libgnomedll name 'gnome_metadata_unlock';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 16 - 0
packages/extra/gnome1/gnome/libgnome/gnomemime.inc

@@ -0,0 +1,16 @@
+{$IfDef read_interface}
+
+function gnome_mime_type(filename:Pgchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_type';
+function gnome_mime_type_or_default(filename:Pgchar; defaultv:Pgchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_type_or_default';
+function gnome_mime_type_of_file(existing_filename:Pchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_type_of_file';
+function gnome_mime_type_or_default_of_file(existing_filename:Pchar; defaultv:Pgchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_type_or_default_of_file';
+function gnome_mime_type_from_magic(filename:Pgchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_type_from_magic';
+function gnome_uri_list_extract_filenames(uri_list:Pgchar):PGList;cdecl;external libgnomedll name 'gnome_uri_list_extract_filenames';
+function gnome_uri_list_extract_uris(uri_list:Pgchar):PGList;cdecl;external libgnomedll name 'gnome_uri_list_extract_uris';
+procedure gnome_uri_list_free_strings(list:PGList);cdecl;external libgnomedll name 'gnome_uri_list_free_strings';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 16 - 0
packages/extra/gnome1/gnome/libgnome/gnomemimeinfo.inc

@@ -0,0 +1,16 @@
+{$IfDef read_interface}
+
+function gnome_mime_get_value(mime_type:Pchar; key:Pchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_get_value';
+function gnome_mime_get_keys(mime_type:Pchar):PGList;cdecl;external libgnomedll name 'gnome_mime_get_keys';
+function gnome_mime_program(mime_type:Pchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_program';
+function gnome_mime_description(mime_type:Pchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_description';
+function gnome_mime_test(mime_type:Pchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_test';
+function gnome_mime_composetyped(mime_type:Pchar):Pchar;cdecl;external libgnomedll name 'gnome_mime_composetyped';
+function gnome_mime_copiousoutput(mime_type:Pchar; key:Pchar):gboolean;cdecl;external libgnomedll name 'gnome_mime_copiousoutput';
+function gnome_mime_needsterminal(mime_type:Pchar; key:Pchar):gboolean;cdecl;external libgnomedll name 'gnome_mime_needsterminal';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 32 - 0
packages/extra/gnome1/gnome/libgnome/gnomepaper.inc

@@ -0,0 +1,32 @@
+{$IfDef read_interface}
+
+type
+   PGnomePaper = ^TGnomePaper;
+   TGnomePaper = Record
+   end;
+   
+   PGnomeUnit = ^TGnomeUnit;
+   TGnomeUnit = Record
+   end;
+
+function gnome_paper_name_list:PGList;cdecl;external libgnomedll name 'gnome_paper_name_list';
+function gnome_paper_with_name(papername:Pgchar):PGnomePaper;cdecl;external libgnomedll name 'gnome_paper_with_name';
+function gnome_paper_with_size(pswidth:double; psheight:double):PGnomePaper;cdecl;external libgnomedll name 'gnome_paper_with_size';
+function gnome_paper_name(paper:PGnomePaper):Pgchar;cdecl;external libgnomedll name 'gnome_paper_name';
+function gnome_paper_pswidth(paper:PGnomePaper):gdouble;cdecl;external libgnomedll name 'gnome_paper_pswidth';
+function gnome_paper_psheight(paper:PGnomePaper):gdouble;cdecl;external libgnomedll name 'gnome_paper_psheight';
+function gnome_paper_lmargin(paper:PGnomePaper):gdouble;cdecl;external libgnomedll name 'gnome_paper_lmargin';
+function gnome_paper_tmargin(paper:PGnomePaper):gdouble;cdecl;external libgnomedll name 'gnome_paper_tmargin';
+function gnome_paper_rmargin(paper:PGnomePaper):gdouble;cdecl;external libgnomedll name 'gnome_paper_rmargin';
+function gnome_paper_bmargin(paper:PGnomePaper):gdouble;cdecl;external libgnomedll name 'gnome_paper_bmargin';
+function gnome_paper_name_default:Pgchar;cdecl;external libgnomedll name 'gnome_paper_name_default';
+function gnome_unit_name_list:PGList;cdecl;external libgnomedll name 'gnome_unit_name_list';
+function gnome_unit_with_name(unitname:Pgchar):PGnomeUnit;cdecl;external libgnomedll name 'gnome_unit_with_name';
+function gnome_paper_convert(psvalue:double; aunit:PGnomeUnit):gdouble;cdecl;external libgnomedll name 'gnome_paper_convert';
+function gnome_paper_convert_to_points(othervalue:double; aunit:PGnomeUnit):double;cdecl;external libgnomedll name 'gnome_paper_convert_to_points';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 10 - 0
packages/extra/gnome1/gnome/libgnome/gnomeremote.inc

@@ -0,0 +1,10 @@
+{$IfDef read_interface}
+
+procedure gnome_remote_get_command(host:Pchar; argcp:Pgint; argvp:PPPchar);cdecl;external libgnomedll name 'gnome_remote_get_command';
+procedure gnome_remote_set_command(host:Pchar; argc:gint; argv:PPchar);cdecl;external libgnomedll name 'gnome_remote_set_command';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 11 - 0
packages/extra/gnome1/gnome/libgnome/gnomescore.inc

@@ -0,0 +1,11 @@
+{$IfDef read_interface}
+
+function gnome_score_init(gamename:Pgchar):gint;cdecl;external libgnomedll name 'gnome_score_init';
+function gnome_score_log(score:gfloat; level:Pgchar; higher_to_lower_score_order:gboolean):gint;cdecl;external libgnomedll name 'gnome_score_log';
+function gnome_score_get_notable(gamename:Pgchar; level:Pgchar; names:PPPgchar; scores:PPgfloat; scoretimes:PPtime_t):gint;cdecl;external libgnomedll name 'gnome_score_get_notable';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 15 - 0
packages/extra/gnome1/gnome/libgnome/gnomesound.inc

@@ -0,0 +1,15 @@
+{$IfDef read_interface}
+
+var
+   gnome_sound_connection : longint;cvar;external;
+
+procedure gnome_sound_init(hostname:Pchar);cdecl;external libgnomedll name 'gnome_sound_init';
+procedure gnome_sound_shutdown;cdecl;external libgnomedll name 'gnome_sound_shutdown';
+function gnome_sound_sample_load(sample_name:Pchar; filename:Pchar):longint;cdecl;external libgnomedll name 'gnome_sound_sample_load';
+procedure gnome_sound_play(filename:Pchar);cdecl;external libgnomedll name 'gnome_sound_play';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 37 - 0
packages/extra/gnome1/gnome/libgnome/gnometriggers.inc

@@ -0,0 +1,37 @@
+{$IfDef read_interface}
+
+type
+  TGnomeTriggerType = (GTRIG_NONE,GTRIG_FUNCTION,GTRIG_COMMAND,
+     GTRIG_MEDIAPLAY);
+
+  TGnomeTriggerActionFunction = procedure (msg:Pchar; level:Pchar; supinfo:PPchar);cdecl;
+  
+  PGnomeTrigger = ^TGnomeTrigger; 
+  TGnomeTrigger = Record
+    thetype : TGnomeTriggerType;
+    U : record
+      Case longint of 
+        1: (thefunction : TGnomeTriggerActionFunction);
+	2: (command : pgchar);
+	3 :(media : record
+	      thefile : Pgchar;
+	      cache_id : integer;
+	    end);
+      end;	
+    level : PGchar;
+  end;
+
+procedure gnome_triggers_init;cdecl;external libgnomedll name 'gnome_triggers_init';
+function gnome_triggers_readfile(infilename:Pchar):gint;cdecl;external libgnomedll name 'gnome_triggers_readfile';
+procedure gnome_triggers_add_trigger(nt:PGnomeTrigger; args:array of const);cdecl;external libgnomedll name 'gnome_triggers_add_trigger';
+procedure gnome_triggers_add_trigger(nt:PGnomeTrigger);cdecl;external libgnomedll name 'gnome_triggers_add_trigger';
+procedure gnome_triggers_vadd_trigger(nt:PGnomeTrigger; supinfo:PPchar);cdecl;external libgnomedll name 'gnome_triggers_vadd_trigger';
+procedure gnome_triggers_do(msg:Pchar; level:Pchar; args:array of const);cdecl;external libgnomedll name 'gnome_triggers_do';
+procedure gnome_triggers_do(msg:Pchar; level:Pchar);cdecl;external libgnomedll name 'gnome_triggers_do';
+procedure gnome_triggers_vdo(msg:Pchar; level:Pchar; supinfo:PPchar);cdecl;external libgnomedll name 'gnome_triggers_vdo';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 9 - 0
packages/extra/gnome1/gnome/libgnome/gnomeurl.inc

@@ -0,0 +1,9 @@
+{$IfDef read_interface}
+
+procedure gnome_url_show(url:Pchar);cdecl;external libgnomedll name 'gnome_url_show';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 83 - 0
packages/extra/gnome1/gnome/libgnome/gnomeutil.inc

@@ -0,0 +1,83 @@
+{$IfDef read_interface}
+
+const
+   PATH_SEP = '/';
+   PATH_SEP_STR = '/';
+
+function gnome_libdir_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_libdir_file';
+function gnome_datadir_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_datadir_file';
+function gnome_sound_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_sound_file';
+function gnome_pixmap_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_pixmap_file';
+function gnome_config_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_config_file';
+function gnome_unconditional_libdir_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_unconditional_libdir_file';
+function gnome_unconditional_datadir_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_unconditional_datadir_file';
+function gnome_unconditional_sound_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_unconditional_sound_file';
+function gnome_unconditional_pixmap_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_unconditional_pixmap_file';
+function gnome_unconditional_config_file(filename:Pchar):pchar;cdecl;external libgnomedll name 'gnome_unconditional_config_file';
+
+const
+  G_FILE_TEST_EXISTS = ((1 shl 0) or (1 shl 1)) or (1 shl 2);
+  G_FILE_TEST_ISFILE = 1 shl 0;
+  G_FILE_TEST_ISLINK = 1 shl 1;
+  G_FILE_TEST_ISDIR = 1 shl 2;
+
+function g_file_test(filename:Pchar; test:longint):longint;cdecl;external libgnomedll name 'g_file_test';
+function g_file_exists(filename:Pchar):longint;cdecl;external libgnomedll name 'g_file_exists';
+function gnome_is_program_in_path(aprogram:Pgchar):Pgchar;cdecl;external libgnomedll name 'gnome_is_program_in_path';
+
+function g_unix_error_string(error_num:longint):pchar;cdecl;external libgnomedll name 'g_unix_error_string';
+function g_concat_dir_and_file(dir:Pchar; afile:Pchar):pchar;cdecl;external libgnomedll name 'g_concat_dir_and_file';
+
+function g_extension_pointer(path:Pchar):pchar;cdecl;external libgnomedll name 'g_extension_pointer';
+function g_copy_vector(vec:PPchar):Ppchar;cdecl;external libgnomedll name 'g_copy_vector';
+
+function gnome_util_user_shell:pchar;cdecl;external libgnomedll name 'gnome_util_user_shell';
+function g_is_image_filename(path:Pchar):gboolean;cdecl;external libgnomedll name 'g_is_image_filename';
+
+Function g_copy_strings(string1:Pgchar; args:array of const):Pgchar;
+Function g_filename_index(path : Pgchar) : Pgchar;
+Function g_filename_pointer(file_name:Pgchar):Pgchar; 
+Function g_flatten_vector(separator:Pgchar; str_array:PPgchar) : Pgchar;
+Function gnome_util_user_home : Pgchar;
+Function gnome_util_prepend_user_home(x : Pgchar) : Pgchar; 
+Function gnome_util_home_file(afile : Pgchar) : Pgchar;
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+Function g_copy_strings(string1:Pgchar; args:array of const):Pgchar;
+begin
+  g_copy_strings := g_strconcat(string1, args);
+end;
+
+Function g_filename_index(path : Pgchar) : Pgchar;
+begin
+  g_filename_index := Pointer(Longint(g_basename(path))-Longint(path));
+end;
+
+Function g_filename_pointer(file_name:Pgchar):Pgchar; 
+begin
+  g_filename_pointer := g_basename(file_name);
+end;
+
+Function g_flatten_vector(separator:Pgchar; str_array:PPgchar) : Pgchar;
+begin
+  g_flatten_vector := g_strjoinv(separator, str_array);
+end;  
+
+Function gnome_util_user_home : Pgchar;
+begin
+  gnome_util_user_home := g_get_home_dir;
+end;
+
+Function gnome_util_prepend_user_home(x : Pgchar) : PgChar; 
+begin
+  gnome_util_prepend_user_home := g_concat_dir_and_file(gnome_util_user_home, x);
+end;
+
+Function gnome_util_home_file(afile : Pgchar) : Pgchar;
+begin
+ gnome_util_home_file := g_strconcat(gnome_util_user_home, ['/.gnome/', afile, nil]);
+end;
+
+{$Endif read_implementation}

+ 98 - 0
packages/extra/gnome1/gnome/libgnome/libgnome.pp

@@ -0,0 +1,98 @@
+unit libgnome;
+
+{$PACKRECORDS C}
+{$mode objfpc}
+
+interface
+
+Uses glib;
+
+{$linklib esd}
+{$linklib popt}
+{$linklib db1}
+
+const
+ libgnomedll='gnome';
+
+Type
+  PPPChar = ^PPChar;
+  PPPgChar = ^PPgChar;
+  PPPgfloat = ^PPgfloat;
+  PPgfloat = ^Pgfloat;
+
+  PPpid_t = ^Ppid_t;
+  Ppid_t = ^pid_t;
+  pid_t = longint;
+
+  PPTime_t = ^PTime_t;
+  PTime_t = ^Time_t;
+  Time_t = longint;
+
+  Ptm = ^tm;
+  tm = record
+    tm_sec : integer;
+    tm_min : integer;
+    tm_hour : integer;
+    tm_mday : integer;
+    tm_mon : integer;
+    tm_year : integer;
+    tm_wday : integer;
+    tm_yday : integer;
+    tm_isdst : integer;
+    tm_gmtoff : Pchar;
+    tm_zone : Pchar;
+  end;  
+  
+var
+  gnome_user_home_dir : Pchar;cvar;external;
+  gnome_user_dir : Pchar;cvar;external;
+  gnome_user_private_dir : Pchar;cvar;external;
+  gnome_user_accels_dir : Pchar;cvar;external;
+  gnome_app_id : Pchar;cvar;external;
+  gnome_do_not_create_directories : char;cvar;external;
+
+{$define read_interface}
+{$undef read_implementation}
+
+{$include gnomeutil.inc}
+{$include gnomeconfig.inc}
+{$include gnomedentry.inc}
+{$include gnomeexec.inc}
+{$include gnomehelp.inc}
+{$include gnomei18n.inc}
+{$include gnomemetadata.inc}
+{$include gnomemime.inc}
+{$include gnomemimeinfo.inc}
+{$include gnomepaper.inc}
+{.$include gnomepopt.inc}
+{$include gnomeremote.inc}
+{$include gnomescore.inc}
+{$include gnomesound.inc}
+{$include gnometriggers.inc}
+{$include gnomeurl.inc}
+
+procedure gnomelib_init(app_id:Pchar; app_version:Pchar);cdecl;external;
+
+implementation
+
+{$undef read_interface}
+{$define read_implementation}
+
+{$include gnomeutil.inc}
+{$include gnomeconfig.inc}
+{$include gnomedentry.inc}
+{$include gnomeexec.inc}
+{$include gnomehelp.inc}
+{$include gnomei18n.inc}
+{$include gnomemetadata.inc}
+{$include gnomemime.inc}
+{$include gnomemimeinfo.inc}
+{$include gnomepaper.inc}
+{.$include gnomepopt.inc}
+{$include gnomeremote.inc}
+{$include gnomescore.inc}
+{$include gnomesound.inc}
+{$include gnometriggers.inc}
+{$include gnomeurl.inc}
+
+end.

+ 45 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeabout.inc

@@ -0,0 +1,45 @@
+{$IfDef read_interface}
+
+type
+   PGnomeAbout =  ^TGnomeAbout;
+   TGnomeAbout = record
+        dialog : TGnomeDialog;
+     end;
+   GNOME_ABOUT = PGnomeAbout;
+
+   PGnomeAboutClass =  ^TGnomeAboutClass;
+   TGnomeAboutClass = record
+        parent_class : TGnomeDialogClass;
+     end;
+   GNOME_ABOUT_CLASS = PGnomeAboutClass;
+
+function GNOME_TYPE_ABOUT : TGTKType;
+function GNOME_IS_ABOUT(obj : Pointer) : Boolean;
+function GNOME_IS_ABOUT_CLASS(klass : Pointer) : Boolean;
+
+function gnome_about_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_about_get_type';
+function gnome_about_new(title:Pgchar; version:Pgchar; copyright:Pgchar; authors:PPgchar; comments:Pgchar; 
+           logo:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_about_new';
+procedure gnome_about_construct(about:PGnomeAbout; title:Pgchar; version:Pgchar; copyright:Pgchar; authors:PPgchar; 
+            comments:Pgchar; logo:Pgchar);cdecl;external libgnomeuidll name 'gnome_about_construct';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_ABOUT : TGTKType;
+begin
+  GNOME_TYPE_ABOUT:=gnome_about_get_type;
+end;
+
+function GNOME_IS_ABOUT(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_ABOUT:=(obj<>nil) and GNOME_IS_ABOUT_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_ABOUT_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_ABOUT_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_ABOUT);
+end;
+
+{$Endif read_implementation}

+ 89 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeanimator.inc

@@ -0,0 +1,89 @@
+{$IfDef read_interface}
+
+type
+   TGnomeAnimatorStatus = (GNOME_ANIMATOR_STATUS_STOPPED,GNOME_ANIMATOR_STATUS_RUNNING);
+
+   TGnomeAnimatorLoopType = (GNOME_ANIMATOR_LOOP_NONE,GNOME_ANIMATOR_LOOP_RESTART,
+     GNOME_ANIMATOR_LOOP_PING_PONG);
+     
+   PGnomeAnimatorPrivate = ^TGnomeAnimatorPrivate;
+   TGnomeAnimatorPrivate = record
+   end;
+
+   PGnomeAnimatorFrame = ^TGnomeAnimatorFrame;
+   TGnomeAnimatorFrame = record
+   end;
+   
+   PGnomeAnimator = ^TGnomeAnimator;
+   TGnomeAnimator = record
+        widget : PGtkWidget;
+        num_frames : guint;
+        current_frame_number : guint;
+        status : TGnomeAnimatorStatus;
+        loop_type : TGnomeAnimatorLoopType;
+        playback_direction : gint;
+        playback_speed : gdouble;
+        privat : PGnomeAnimatorPrivate;
+     end;
+   GNOME_ANIMATOR = ^TGnomeAnimator;
+
+   PGnomeAnimatorClass = ^TGnomeAnimatorClass;
+   TGnomeAnimatorClass = record
+        parent_class : TGtkWidgetClass;
+     end;
+   GNOME_ANIMATOR_CLASS = ^TGnomeAnimatorClass;
+
+function GNOME_TYPE_ANIMATOR : TGTKType;
+function GNOME_IS_ANIMATOR(obj : Pointer) : Boolean;
+function GNOME_IS_ANIMATOR_CLASS(klass : Pointer) : Boolean;
+
+function gnome_animator_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_animator_get_type';
+function gnome_animator_new_with_size(width:guint; height:guint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_animator_new_with_size';
+procedure gnome_animator_set_loop_type(animator:PGnomeAnimator; loop_type:TGnomeAnimatorLoopType);cdecl;external libgnomeuidll name 'gnome_animator_set_loop_type';
+function gnome_animator_get_loop_type(animator:PGnomeAnimator):TGnomeAnimatorLoopType;cdecl;external libgnomeuidll name 'gnome_animator_get_loop_type';
+procedure gnome_animator_set_playback_direction(animator:PGnomeAnimator; playback_direction:gint);cdecl;external libgnomeuidll name 'gnome_animator_set_playback_direction';
+function gnome_animator_get_playback_direction(animator:PGnomeAnimator):gint;cdecl;external libgnomeuidll name 'gnome_animator_get_playback_direction';
+function gnome_animator_append_frame_from_imlib_at_size(animator:PGnomeAnimator; image:PGdkImlibImage; x_offset:gint; y_offset:gint; interval:guint32; 
+           width:guint; height:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frame_from_imlib_at_size';
+function gnome_animator_append_frame_from_imlib(animator:PGnomeAnimator; image:PGdkImlibImage; x_offset:gint; y_offset:gint; interval:guint32):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frame_from_imlib';
+function gnome_animator_append_frame_from_file_at_size(animator:PGnomeAnimator; name:Pgchar; x_offset:gint; y_offset:gint; interval:guint32; 
+           width:guint; height:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frame_from_file_at_size';
+function gnome_animator_append_frame_from_file(animator:PGnomeAnimator; name:Pgchar; x_offset:gint; y_offset:gint; interval:guint32):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frame_from_file';
+function gnome_animator_append_frames_from_imlib_at_size(animator:PGnomeAnimator; image:PGdkImlibImage; x_offset:gint; y_offset:gint; interval:guint32; 
+           x_unit:gint; width:guint; height:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frames_from_imlib_at_size';
+function gnome_animator_append_frames_from_imlib(animator:PGnomeAnimator; image:PGdkImlibImage; x_offset:gint; y_offset:gint; interval:guint32; 
+           x_unit:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frames_from_imlib';
+function gnome_animator_append_frames_from_file_at_size(animator:PGnomeAnimator; name:Pgchar; x_offset:gint; y_offset:gint; interval:guint32; 
+           x_unit:gint; width:guint; height:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frames_from_file_at_size';
+function gnome_animator_append_frames_from_file(animator:PGnomeAnimator; name:Pgchar; x_offset:gint; y_offset:gint; interval:guint32; 
+           x_unit:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frames_from_file';
+function gnome_animator_append_frame_from_gnome_pixmap(animator:PGnomeAnimator; pixmap:PGnomePixmap; x_offset:gint; y_offset:gint; interval:guint32):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_append_frame_from_gnome_pixmap';
+procedure gnome_animator_start(animator:PGnomeAnimator);cdecl;external libgnomeuidll name 'gnome_animator_start';
+procedure gnome_animator_stop(animator:PGnomeAnimator);cdecl;external libgnomeuidll name 'gnome_animator_stop';
+function gnome_animator_advance(animator:PGnomeAnimator; num:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_animator_advance';
+procedure gnome_animator_goto_frame(animator:PGnomeAnimator; frame_number:guint);cdecl;external libgnomeuidll name 'gnome_animator_goto_frame';
+function gnome_animator_get_current_frame_number(animator:PGnomeAnimator):guint;cdecl;external libgnomeuidll name 'gnome_animator_get_current_frame_number';
+function gnome_animator_get_status(animator:PGnomeAnimator):TGnomeAnimatorStatus;cdecl;external libgnomeuidll name 'gnome_animator_get_status';
+procedure gnome_animator_set_playback_speed(animator:PGnomeAnimator; speed:gdouble);cdecl;external libgnomeuidll name 'gnome_animator_set_playback_speed';
+function gnome_animator_get_playback_speed(animator:PGnomeAnimator):gdouble;cdecl;external libgnomeuidll name 'gnome_animator_get_playback_speed';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_ANIMATOR : TGTKType;
+begin
+  GNOME_TYPE_ANIMATOR:=gnome_animator_get_type;
+end;
+
+function GNOME_IS_ANIMATOR(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_ANIMATOR:=(obj<>nil) and GNOME_IS_ANIMATOR_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_ANIMATOR_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_ANIMATOR_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_ANIMATOR);
+end;
+
+{$Endif read_implementation}

+ 88 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeapp.inc

@@ -0,0 +1,88 @@
+{$IfDef read_interface}
+const
+   GNOME_APP_MENUBAR_NAME = 'Menubar';
+   GNOME_APP_TOOLBAR_NAME = 'Toolbar';
+
+type
+   PGnomeApp = ^TGnomeApp;
+   TGnomeApp = record
+        parent_object : TGtkWindow;
+        name : Pgchar;
+        prefix : Pgchar;
+        dock : PGtkWidget;
+        statusbar : PGtkWidget;
+        vbox : PGtkWidget;
+        menubar : PGtkWidget;
+        contents : PGtkWidget;
+        layout : PGnomeDockLayout;
+        accel_group : PGtkAccelGroup;
+        flag0 : word;
+     end;
+   GNOME_APP = PGnomeApp;
+
+const
+   bm__GnomeApp_enable_layout_config = $1;
+   bp__GnomeApp_enable_layout_config = 0;
+
+function enable_layout_config(var a : TGnomeApp) : gboolean;
+procedure set_enable_layout_config(var a : TGnomeApp; __enable_layout_config : gboolean);
+
+type
+   PGnomeAppClass = ^TGnomeAppClass;
+   TGnomeAppClass = record
+        parent_class : TGtkWindowClass;
+     end;
+   GNOME_APP_CLASS = PGnomeAppClass;
+
+function GNOME_TYPE_APP : TGTKType;
+function GNOME_IS_APP(obj : Pointer) : Boolean;
+function GNOME_IS_APP_CLASS(klass : Pointer) : Boolean;
+
+function gnome_app_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_app_get_type';
+function gnome_app_new(appname:Pgchar; title:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_new';
+procedure gnome_app_construct(app:PGnomeApp; appname:Pgchar; title:Pgchar);cdecl;external libgnomeuidll name 'gnome_app_construct';
+procedure gnome_app_set_menus(app:PGnomeApp; menubar:PGtkMenuBar);cdecl;external libgnomeuidll name 'gnome_app_set_menus';
+procedure gnome_app_set_toolbar(app:PGnomeApp; toolbar:PGtkToolbar);cdecl;external libgnomeuidll name 'gnome_app_set_toolbar';
+procedure gnome_app_set_statusbar(app:PGnomeApp; statusbar:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_app_set_statusbar';
+procedure gnome_app_set_statusbar_custom(app:PGnomeApp; container:PGtkWidget; statusbar:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_app_set_statusbar_custom';
+procedure gnome_app_set_contents(app:PGnomeApp; contents:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_app_set_contents';
+procedure gnome_app_add_toolbar(app:PGnomeApp; toolbar:PGtkToolbar; name:Pgchar; behavior:TGnomeDockItemBehavior; placement:TGnomeDockPlacement; 
+            band_num:gint; band_position:gint; offset:gint);cdecl;external libgnomeuidll name 'gnome_app_add_toolbar';
+procedure gnome_app_add_docked(app:PGnomeApp; widget:PGtkWidget; name:Pgchar; behavior:TGnomeDockItemBehavior; placement:TGnomeDockPlacement; 
+            band_num:gint; band_position:gint; offset:gint);cdecl;external libgnomeuidll name 'gnome_app_add_docked';
+procedure gnome_app_add_dock_item(app:PGnomeApp; item:PGnomeDockItem; placement:TGnomeDockPlacement; band_num:gint; band_position:gint; 
+            offset:gint);cdecl;external libgnomeuidll name 'gnome_app_add_dock_item';
+procedure gnome_app_enable_layout_config(app:PGnomeApp; enable:gboolean);cdecl;external libgnomeuidll name 'gnome_app_enable_layout_config';
+function gnome_app_get_dock(app:PGnomeApp):PGnomeDock;cdecl;external libgnomeuidll name 'gnome_app_get_dock';
+function gnome_app_get_dock_item_by_name(app:PGnomeApp; name:Pgchar):PGnomeDockItem;cdecl;external libgnomeuidll name 'gnome_app_get_dock_item_by_name';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_APP : TGTKType;
+begin
+  GNOME_TYPE_APP:=gnome_app_get_type;
+end;
+
+function GNOME_IS_APP(obj : pointer) : Boolean;
+begin
+   GNOME_IS_APP:=(obj<>nil) and GNOME_IS_APP_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_APP_CLASS(klass : pointer) : boolean;
+begin
+   GNOME_IS_APP_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_APP);
+end;
+
+function enable_layout_config(var a : TGnomeApp) : gboolean;
+begin
+   enable_layout_config:=gboolean((a.flag0 and bm__GnomeApp_enable_layout_config) shr bp__GnomeApp_enable_layout_config);
+end;
+
+procedure set_enable_layout_config(var a : TGnomeApp; __enable_layout_config : gboolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__enable_layout_config) shl bp__GnomeApp_enable_layout_config) and bm__GnomeApp_enable_layout_config);
+end;
+
+{$Endif read_implementation}

+ 105 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeappbar.inc

@@ -0,0 +1,105 @@
+{$IfDef read_interface}
+type
+   PGnomeAppBar = ^TGnomeAppBar;
+   TGnomeAppBar = record
+        parent_widget : TGtkHBox;
+        progress : PGtkWidget;
+        status : PGtkWidget;
+        flag0 : word;
+        editable_start : gint;
+        prompt : Pgchar;
+        status_stack : PGSList;
+        default_status : Pgchar;
+     end;
+   GNOME_APPBAR = PGnomeAppBar;
+
+const
+   bm__GnomeAppBar_interactive = $1;
+   bp__GnomeAppBar_interactive = 0;
+   
+function interactive(var a : TGnomeAppBar) : gboolean;
+procedure set_interactive(var a : TGnomeAppBar; __interactive : gboolean);
+
+type
+   PGnomeAppBarClass = ^TGnomeAppBarClass;
+   TGnomeAppBarClass = record
+        parent_class : TGtkHBoxClass;
+        user_response : procedure (ab:PGnomeAppBar);cdecl;
+        clear_prompt : procedure (ab:PGnomeAppBar);cdecl;
+     end;
+   GNOME_APPBAR_CLASS = PGnomeAppBarClass;
+
+function GNOME_TYPE_APPBAR : TGTKType;
+function GNOME_IS_APPBAR(obj : Pointer) : Boolean;
+function GNOME_IS_APPBAR_CLASS(klass : Pointer) : Boolean;
+
+function GNOME_APPBAR_HAS_STATUS(appbar : PGnomeAppBar) : gboolean;
+function GNOME_APPBAR_HAS_PROGRESS(appbar : PGnomeAppBar) : gboolean;
+function GNOME_APPBAR_INTERACTIVE(ab : PGnomeAppBar) : gboolean;
+
+function gnome_appbar_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_appbar_get_type';
+function gnome_appbar_new(has_progress:gboolean; has_status:gboolean; interactivity:TGnomePreferencesType):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_appbar_new';
+procedure gnome_appbar_set_status(appbar:PGnomeAppBar; status:Pgchar);cdecl;external libgnomeuidll name 'gnome_appbar_set_status';
+procedure gnome_appbar_set_default(appbar:PGnomeAppBar; default_status:Pgchar);cdecl;external libgnomeuidll name 'gnome_appbar_set_default';
+procedure gnome_appbar_push(appbar:PGnomeAppBar; status:Pgchar);cdecl;external libgnomeuidll name 'gnome_appbar_push';
+procedure gnome_appbar_pop(appbar:PGnomeAppBar);cdecl;external libgnomeuidll name 'gnome_appbar_pop';
+procedure gnome_appbar_clear_stack(appbar:PGnomeAppBar);cdecl;external libgnomeuidll name 'gnome_appbar_clear_stack';
+procedure gnome_appbar_set_progress(appbar:PGnomeAppBar; percentage:gfloat);cdecl;external libgnomeuidll name 'gnome_appbar_set_progress';
+function gnome_appbar_get_progress(appbar:PGnomeAppBar):PGtkProgress;cdecl;external libgnomeuidll name 'gnome_appbar_get_progress';
+procedure gnome_appbar_refresh(appbar:PGnomeAppBar);cdecl;external libgnomeuidll name 'gnome_appbar_refresh';
+procedure gnome_appbar_set_prompt(appbar:PGnomeAppBar; prompt:Pgchar; modal:gboolean);cdecl;external libgnomeuidll name 'gnome_appbar_set_prompt';
+procedure gnome_appbar_clear_prompt(appbar:PGnomeAppBar);cdecl;external libgnomeuidll name 'gnome_appbar_clear_prompt';
+function gnome_appbar_get_response(appbar:PGnomeAppBar):Pgchar;cdecl;external libgnomeuidll name 'gnome_appbar_get_response';
+procedure gnome_appbar_construct(ab:PGnomeAppBar; has_progress:gboolean; has_status:gboolean; interactivity:TGnomePreferencesType);cdecl;external libgnomeuidll name 'gnome_appbar_construct';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_APPBAR : TGTKType;
+begin
+  GNOME_TYPE_APPBAR:=gnome_appbar_get_type;
+end;
+
+function GNOME_IS_APPBAR(obj : pointer) : Boolean;
+begin
+   GNOME_IS_APPBAR:=(obj<>nil) and GNOME_IS_APPBAR_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_APPBAR_CLASS(klass : pointer) : boolean;
+begin
+   GNOME_IS_APPBAR_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_APPBAR);
+end;
+
+function GNOME_APPBAR_HAS_STATUS(appbar : PGnomeAppBar) : gboolean;
+begin
+   GNOME_APPBAR_HAS_STATUS:=(appbar^.status) <> NULL;
+end;
+
+function GNOME_APPBAR_HAS_PROGRESS(appbar : PGnomeAppBar) : gboolean;
+begin
+   GNOME_APPBAR_HAS_PROGRESS:=(appbar^.progress) <> NULL;
+end;
+
+function interactive(var a : TGnomeAppBar) : gboolean;
+begin
+   interactive:=gboolean((a.flag0 and bm__GnomeAppBar_interactive) shr bp__GnomeAppBar_interactive);
+end;
+
+procedure set_interactive(var a : TGnomeAppBar; __interactive : gboolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__interactive) shl bp__GnomeAppBar_interactive) and bm__GnomeAppBar_interactive);
+end;
+
+function GNOME_APPBAR_INTERACTIVE(ab : PGnomeAppBar) : gboolean;
+var
+   if_local1 : gboolean;
+begin
+   if ab <> nil then
+     if_local1:=interactive(ab^)
+   else
+     if_local1:=False;
+   GNOME_APPBAR_INTERACTIVE:=if_local1;
+end;
+
+{$Endif read_implementation}

+ 475 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeapphelper.inc

@@ -0,0 +1,475 @@
+{$IfDef read_interface}
+type
+   TGnomeUIInfoType = (GNOME_APP_UI_ENDOFINFO,GNOME_APP_UI_ITEM,
+     GNOME_APP_UI_TOGGLEITEM,GNOME_APP_UI_RADIOITEMS,
+     GNOME_APP_UI_SUBTREE,GNOME_APP_UI_SEPARATOR,
+     GNOME_APP_UI_HELP,GNOME_APP_UI_BUILDER_DATA,
+     GNOME_APP_UI_ITEM_CONFIGURABLE,GNOME_APP_UI_SUBTREE_STOCK
+     );
+
+   TGnomeUIInfoConfigurableTypes = (GNOME_APP_CONFIGURABLE_ITEM_NEW,GNOME_APP_CONFIGURABLE_ITEM_OPEN,
+     GNOME_APP_CONFIGURABLE_ITEM_SAVE,GNOME_APP_CONFIGURABLE_ITEM_SAVE_AS,
+     GNOME_APP_CONFIGURABLE_ITEM_REVERT,GNOME_APP_CONFIGURABLE_ITEM_PRINT,
+     GNOME_APP_CONFIGURABLE_ITEM_PRINT_SETUP,
+     GNOME_APP_CONFIGURABLE_ITEM_CLOSE,GNOME_APP_CONFIGURABLE_ITEM_EXIT,
+     GNOME_APP_CONFIGURABLE_ITEM_CUT,GNOME_APP_CONFIGURABLE_ITEM_COPY,
+     GNOME_APP_CONFIGURABLE_ITEM_PASTE,GNOME_APP_CONFIGURABLE_ITEM_CLEAR,
+     GNOME_APP_CONFIGURABLE_ITEM_UNDO,GNOME_APP_CONFIGURABLE_ITEM_REDO,
+     GNOME_APP_CONFIGURABLE_ITEM_FIND,GNOME_APP_CONFIGURABLE_ITEM_FIND_AGAIN,
+     GNOME_APP_CONFIGURABLE_ITEM_REPLACE,GNOME_APP_CONFIGURABLE_ITEM_PROPERTIES,
+     GNOME_APP_CONFIGURABLE_ITEM_PREFERENCES,
+     GNOME_APP_CONFIGURABLE_ITEM_ABOUT,GNOME_APP_CONFIGURABLE_ITEM_SELECT_ALL,
+     GNOME_APP_CONFIGURABLE_ITEM_NEW_WINDOW,
+     GNOME_APP_CONFIGURABLE_ITEM_CLOSE_WINDOW,
+     GNOME_APP_CONFIGURABLE_ITEM_NEW_GAME,
+     GNOME_APP_CONFIGURABLE_ITEM_PAUSE_GAME,
+     GNOME_APP_CONFIGURABLE_ITEM_RESTART_GAME,
+     GNOME_APP_CONFIGURABLE_ITEM_UNDO_MOVE,
+     GNOME_APP_CONFIGURABLE_ITEM_REDO_MOVE,
+     GNOME_APP_CONFIGURABLE_ITEM_HINT,GNOME_APP_CONFIGURABLE_ITEM_SCORES,
+     GNOME_APP_CONFIGURABLE_ITEM_END_GAME
+     );
+
+   TGnomeUIPixmapType = (GNOME_APP_PIXMAP_NONE,GNOME_APP_PIXMAP_STOCK,
+     GNOME_APP_PIXMAP_DATA,GNOME_APP_PIXMAP_FILENAME
+     );
+
+   PGnomeUIInfo = ^TGnomeUIInfo;
+   TGnomeUIInfo = record
+        thetype : TGnomeUIInfoType;
+        thelabel : Pgchar;
+        hint : Pgchar;
+        moreinfo : gpointer;//aka Callback
+        user_data : gpointer;
+        unused_data : gpointer;
+        pixmap_type : TGnomeUIPixmapType;
+        pixmap_info : gconstpointer;
+        accelerator_key : guint;
+        ac_mods : TGdkModifierType;
+        widget : PGtkWidget;
+     end;
+
+const
+   GNOMEUIINFO_KEY_UIDATA :Pchar = 'uidata';
+   GNOMEUIINFO_KEY_UIBDATA :Pchar = 'uibdata';
+
+function GNOMEUIINFO_END : TGnomeUIInfo;
+function GNOMEUIINFO_SEPARATOR : TGnomeUIInfo;
+function GNOMEUIINFO_ITEM(thelabel : Pgchar;tooltip:Pgchar; callback : TGTKCallback; xpm_data : Pgchar) : TGnomeUIInfo;
+function GNOMEUIINFO_ITEM_STOCK(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;stock_id : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_ITEM_NONE(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback) : TGnomeUIInfo;
+function GNOMEUIINFO_ITEM_DATA(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;user_data : gpointer;xpm_data : Pgchar) : TGnomeUIInfo;
+function GNOMEUIINFO_TOGGLEITEM(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;xpm_data : Pgchar) : TGnomeUIInfo;
+function GNOMEUIINFO_TOGGLEITEM_DATA(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;user_data : gpointer;xpm_data : Pgchar) : TGnomeUIInfo;
+function GNOMEUIINFO_HELP(app_name : Pgchar) : TGnomeUIInfo;
+function GNOMEUIINFO_SUBTREE(thelabel : Pgchar;tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_SUBTREE_HINT(thelabel : Pgchar;hint : Pgchar;tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_SUBTREE_STOCK(thelabel : Pgchar;tree : gpointer;stock_id : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_RADIOLIST(list : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_RADIOITEM(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;xpm_data : Pgchar) : TGnomeUIInfo;
+function GNOMEUIINFO_RADIOITEM_DATA(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;user_data : gpointer;xpm_data : Pgchar) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_NEW_ITEM(thelabel : Pgchar;tip : Pgchar;cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_NEW_SUBTREE(tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_OPEN_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_SAVE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_SAVE_AS_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_REVERT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_PRINT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_PRINT_SETUP_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_CLOSE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_EXIT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_CUT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_COPY_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_PASTE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_SELECT_ALL_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_CLEAR_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_UNDO_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_REDO_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_FIND_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_FIND_AGAIN_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_REPLACE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_PROPERTIES_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_PREFERENCES_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_NEW_WINDOW_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_CLOSE_WINDOW_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_ABOUT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_NEW_GAME_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_PAUSE_GAME_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_RESTART_GAME_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_UNDO_MOVE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_REDO_MOVE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_HINT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_SCORES_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_END_GAME_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+
+function gnome_app_helper_gettext(_string:Pgchar):Pgchar;cdecl;external libgnomeuidll name 'gnome_app_helper_gettext';
+
+function GNOMEUIINFO_MENU_FILE_TREE(tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_EDIT_TREE(tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_VIEW_TREE(tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_SETTINGS_TREE(tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_FILES_TREE(tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_WINDOWS_TREE(tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_HELP_TREE(tree : gpointer) : TGnomeUIInfo;
+function GNOMEUIINFO_MENU_GAME_TREE(tree : gpointer) : TGnomeUIInfo;
+
+
+const
+   GNOME_MENU_FILE_STRING :Pchar = '_File';
+   GNOME_MENU_FILE_PATH :Pchar = '_File/';
+   GNOME_MENU_EDIT_STRING :Pchar = '_Edit';
+   GNOME_MENU_EDIT_PATH :Pchar = '_Edit/';
+   GNOME_MENU_VIEW_STRING :Pchar = '_View';
+   GNOME_MENU_VIEW_PATH :Pchar = '_View/';
+   GNOME_MENU_SETTINGS_STRING :Pchar = '_Settings';
+   GNOME_MENU_SETTINGS_PATH :Pchar = '_Settings/';
+   GNOME_MENU_NEW_STRING :Pchar = '_New';
+   GNOME_MENU_NEW_PATH :Pchar = '_New/';
+   GNOME_MENU_FILES_STRING :Pchar = 'Fi_les';
+   GNOME_MENU_FILES_PATH :Pchar = 'Fi_les/';
+   GNOME_MENU_WINDOWS_STRING :Pchar = '_Windows';
+   GNOME_MENU_WINDOWS_PATH :Pchar = '_Windows/';
+type
+   PGnomeUIBuilderData = ^TGnomeUIBuilderData;
+   TGnomeUISignalConnectFunc = procedure (uiinfo:PGnomeUIInfo; signal_name:Pgchar; uibdata:PGnomeUIBuilderData);cdecl;
+   TGnomeUIBuilderData = record
+        connect_func : TGnomeUISignalConnectFunc;
+        data : gpointer;
+        is_interp : gboolean;
+        relay_func : TGtkCallbackMarshal;
+        destroy_func : TGtkDestroyNotify;
+     end;
+
+procedure gnome_accelerators_sync;cdecl;external libgnomeuidll name 'gnome_accelerators_sync';
+procedure gnome_app_fill_menu(menu_shell:PGtkMenuShell; uiinfo:PGnomeUIInfo; accel_group:PGtkAccelGroup; uline_accels:gboolean; pos:gint);cdecl;external libgnomeuidll name 'gnome_app_fill_menu';
+procedure gnome_app_fill_menu_with_data(menu_shell:PGtkMenuShell; uiinfo:PGnomeUIInfo; accel_group:PGtkAccelGroup; uline_accels:gboolean; pos:gint; 
+            user_data:gpointer);cdecl;external libgnomeuidll name 'gnome_app_fill_menu_with_data';
+procedure gnome_app_fill_menu_custom(menu_shell:PGtkMenuShell; uiinfo:PGnomeUIInfo; uibdata:PGnomeUIBuilderData; accel_group:PGtkAccelGroup; uline_accels:gboolean; 
+            pos:gint);cdecl;external libgnomeuidll name 'gnome_app_fill_menu_custom';
+procedure gnome_app_ui_configure_configurable(uiinfo:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_app_ui_configure_configurable';
+procedure gnome_app_create_menus(app:PGnomeApp; uiinfo:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_app_create_menus';
+procedure gnome_app_create_menus_interp(app:PGnomeApp; uiinfo:PGnomeUIInfo; relay_func:TGtkCallbackMarshal; data:gpointer; destroy_func:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_app_create_menus_interp';
+procedure gnome_app_create_menus_with_data(app:PGnomeApp; uiinfo:PGnomeUIInfo; user_data:gpointer);cdecl;external libgnomeuidll name 'gnome_app_create_menus_with_data';
+procedure gnome_app_create_menus_custom(app:PGnomeApp; uiinfo:PGnomeUIInfo; uibdata:PGnomeUIBuilderData);cdecl;external libgnomeuidll name 'gnome_app_create_menus_custom';
+procedure gnome_app_fill_toolbar(toolbar:PGtkToolbar; uiinfo:PGnomeUIInfo; accel_group:PGtkAccelGroup);cdecl;external libgnomeuidll name 'gnome_app_fill_toolbar';
+procedure gnome_app_fill_toolbar_with_data(toolbar:PGtkToolbar; uiinfo:PGnomeUIInfo; accel_group:PGtkAccelGroup; user_data:gpointer);cdecl;external libgnomeuidll name 'gnome_app_fill_toolbar_with_data';
+procedure gnome_app_fill_toolbar_custom(toolbar:PGtkToolbar; uiinfo:PGnomeUIInfo; uibdata:PGnomeUIBuilderData; accel_group:PGtkAccelGroup);cdecl;external libgnomeuidll name 'gnome_app_fill_toolbar_custom';
+procedure gnome_app_create_toolbar(app:PGnomeApp; uiinfo:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_app_create_toolbar';
+procedure gnome_app_create_toolbar_interp(app:PGnomeApp; uiinfo:PGnomeUIInfo; relay_func:TGtkCallbackMarshal; data:gpointer; destroy_func:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_app_create_toolbar_interp';
+procedure gnome_app_create_toolbar_with_data(app:PGnomeApp; uiinfo:PGnomeUIInfo; user_data:gpointer);cdecl;external libgnomeuidll name 'gnome_app_create_toolbar_with_data';
+procedure gnome_app_create_toolbar_custom(app:PGnomeApp; uiinfo:PGnomeUIInfo; uibdata:PGnomeUIBuilderData);cdecl;external libgnomeuidll name 'gnome_app_create_toolbar_custom';
+function gnome_app_find_menu_pos(parent:PGtkWidget; path:Pgchar; pos:Pgint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_find_menu_pos';
+procedure gnome_app_remove_menus(app:PGnomeApp; path:Pgchar; items:gint);cdecl;external libgnomeuidll name 'gnome_app_remove_menus';
+procedure gnome_app_remove_menu_range(app:PGnomeApp; path:Pgchar; start:gint; items:gint);cdecl;external libgnomeuidll name 'gnome_app_remove_menu_range';
+procedure gnome_app_insert_menus_custom(app:PGnomeApp; path:Pgchar; menuinfo:PGnomeUIInfo; uibdata:PGnomeUIBuilderData);cdecl;external libgnomeuidll name 'gnome_app_insert_menus_custom';
+procedure gnome_app_insert_menus(app:PGnomeApp; path:Pgchar; menuinfo:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_app_insert_menus';
+procedure gnome_app_insert_menus_with_data(app:PGnomeApp; path:Pgchar; menuinfo:PGnomeUIInfo; data:gpointer);cdecl;external libgnomeuidll name 'gnome_app_insert_menus_with_data';
+procedure gnome_app_insert_menus_interp(app:PGnomeApp; path:Pgchar; menuinfo:PGnomeUIInfo; relay_func:TGtkCallbackMarshal; data:gpointer; 
+            destroy_func:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_app_insert_menus_interp';
+procedure gnome_app_install_appbar_menu_hints(appbar:PGnomeAppBar; uiinfo:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_app_install_appbar_menu_hints';
+procedure gnome_app_install_statusbar_menu_hints(bar:PGtkStatusbar; uiinfo:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_app_install_statusbar_menu_hints';
+procedure gnome_app_install_menu_hints(app:PGnomeApp; uinfo:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_app_install_menu_hints';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+
+function GETGNOMEUIINFO(thetype : TGnomeUIInfoType; thelabel : Pgchar; hint : Pgchar; moreinfo : gpointer; 
+  user_data : gpointer;unused_data : gpointer; pixmap_type : TGnomeUIPixmapType; pixmap_info : Pgchar; 
+  accelerator_key : guint; ac_mods : TGdkModifierType;widget : PGtkWidget) : TGnomeUIInfo;
+begin
+  Result.thetype := thetype;
+  Result.thelabel := thelabel;
+  Result.hint := hint;
+  Result.moreinfo := moreinfo;
+  Result.user_data := user_data;
+  Result.unused_data := unused_data;
+  Result.pixmap_type := pixmap_type;
+  Result.pixmap_info := pixmap_info;
+  Result.accelerator_key := accelerator_key;
+  Result.ac_mods := ac_mods;
+  Result.widget := widget;
+end;
+
+function GNOMEUIINFO_END: TGnomeUIInfo;
+begin
+  GNOMEUIINFO_END:=GETGNOMEUIINFO(GNOME_APP_UI_ENDOFINFO,nil,nil,nil,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_SEPARATOR: TGnomeUIInfo;
+begin
+   GNOMEUIINFO_SEPARATOR:=GETGNOMEUIINFO(GNOME_APP_UI_SEPARATOR,nil,nil,nil,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_ITEM(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;xpm_data : Pgchar) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM,thelabel,tooltip,gpointer(callback),nil,nil,GNOME_APP_PIXMAP_DATA,xpm_data,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_ITEM_STOCK(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;stock_id : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_ITEM_STOCK:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM,thelabel,tooltip,gpointer(callback),nil,nil,GNOME_APP_PIXMAP_STOCK,stock_id,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_ITEM_NONE(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_ITEM_NONE:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM,thelabel,tooltip,gpointer(callback),nil,nil,GNOME_APP_PIXMAP_NONE,nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_ITEM_DATA(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;user_data : gpointer;xpm_data : Pgchar) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_ITEM_DATA:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM,thelabel,tooltip,gpointer(callback),user_data,nil,GNOME_APP_PIXMAP_DATA,xpm_data,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_TOGGLEITEM(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;xpm_data : Pgchar) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_TOGGLEITEM:=GETGNOMEUIINFO(GNOME_APP_UI_TOGGLEITEM,thelabel,tooltip,gpointer(callback),nil,nil,GNOME_APP_PIXMAP_DATA,xpm_data,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_TOGGLEITEM_DATA(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;user_data : gpointer;xpm_data : Pgchar) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_TOGGLEITEM_DATA:=GETGNOMEUIINFO(GNOME_APP_UI_TOGGLEITEM,thelabel,tooltip,gpointer(callback),user_data,nil,GNOME_APP_PIXMAP_DATA,xpm_data,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_HELP(app_name : Pgchar) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_HELP:=GETGNOMEUIINFO(GNOME_APP_UI_HELP,nil,nil,app_name,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_SUBTREE(thelabel : Pgchar;tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_SUBTREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE,thelabel,nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_SUBTREE_HINT(thelabel : Pgchar;hint : Pgchar;tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_SUBTREE_HINT:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE,thelabel,hint,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_SUBTREE_STOCK(thelabel : Pgchar;tree : gpointer;stock_id : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_SUBTREE_STOCK:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE,thelabel,nil,tree,nil,nil,GNOME_APP_PIXMAP_STOCK,stock_id,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_RADIOLIST(list : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_RADIOLIST:=GETGNOMEUIINFO(GNOME_APP_UI_RADIOITEMS,nil,nil,list,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_RADIOITEM(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;xpm_data : Pgchar) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_RADIOITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM,thelabel,tooltip,gpointer(callback),nil,nil,GNOME_APP_PIXMAP_DATA,xpm_data,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_RADIOITEM_DATA(thelabel : Pgchar;tooltip:Pgchar;callback : TGTKCallback;user_data : gpointer;xpm_data : Pgchar) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_RADIOITEM_DATA:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM,thelabel,tooltip,gpointer(callback),user_data,nil,GNOME_APP_PIXMAP_DATA,xpm_data,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_NEW_ITEM(thelabel : Pgchar;tip : Pgchar;cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_NEW_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,thelabel,tip,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_NEW),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_NEW_SUBTREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_NEW_SUBTREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'_New',nil,tree,nil,nil,GNOME_APP_PIXMAP_STOCK,GNOME_STOCK_MENU_NEW,GNOME_KEY_NAME_NEW,GNOME_KEY_MOD_NEW,nil);
+end;
+
+function GNOMEUIINFO_MENU_OPEN_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_OPEN_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_OPEN),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_SAVE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_SAVE_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_SAVE),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_SAVE_AS_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_SAVE_AS_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_SAVE_AS),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_REVERT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_REVERT_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_REVERT),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_PRINT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_PRINT_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_PRINT),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_PRINT_SETUP_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_PRINT_SETUP_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_PRINT_SETUP),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_CLOSE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_CLOSE_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_CLOSE),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_EXIT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_EXIT_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_EXIT),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_CUT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_CUT_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_CUT),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_COPY_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_COPY_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_COPY),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_PASTE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_PASTE_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_PASTE),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_SELECT_ALL_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_SELECT_ALL_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_SELECT_ALL),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_CLEAR_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_CLEAR_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_CLEAR),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_UNDO_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_UNDO_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_UNDO),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_REDO_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_REDO_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_REDO),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_FIND_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_FIND_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_FIND),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_FIND_AGAIN_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_FIND_AGAIN_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_FIND_AGAIN),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_REPLACE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_REPLACE_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_REPLACE),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_PROPERTIES_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_PROPERTIES_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_PROPERTIES),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_PREFERENCES_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_PREFERENCES_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_PREFERENCES),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_NEW_WINDOW_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_NEW_WINDOW_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_NEW_WINDOW),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_CLOSE_WINDOW_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_CLOSE_WINDOW_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_CLOSE_WINDOW),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_ABOUT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_ABOUT_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_ABOUT),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_NEW_GAME_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_NEW_GAME_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_NEW_GAME),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_PAUSE_GAME_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_PAUSE_GAME_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_PAUSE_GAME),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_RESTART_GAME_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_RESTART_GAME_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_RESTART_GAME),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_UNDO_MOVE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_UNDO_MOVE_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_UNDO_MOVE),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_REDO_MOVE_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_REDO_MOVE_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_REDO_MOVE),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_HINT_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_HINT_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_HINT),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_SCORES_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_SCORES_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_SCORES),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_END_GAME_ITEM(cb : TGTKCallback;data:gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_END_GAME_ITEM:=GETGNOMEUIINFO(GNOME_APP_UI_ITEM_CONFIGURABLE,nil,nil,gpointer(cb),gpointer(data),nil,GNOME_APP_PIXMAP_NONE,nil,longint(GNOME_APP_CONFIGURABLE_ITEM_END_GAME),TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_FILE_TREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_FILE_TREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'_File',nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_EDIT_TREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_EDIT_TREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'_Edit',nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_VIEW_TREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_VIEW_TREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'_View',nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_SETTINGS_TREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_SETTINGS_TREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'_Settings',nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_FILES_TREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_FILES_TREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'Fi_les',nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_WINDOWS_TREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_WINDOWS_TREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'_Windows',nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_HELP_TREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_HELP_TREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'_Help',nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+function GNOMEUIINFO_MENU_GAME_TREE(tree : gpointer) : TGnomeUIInfo;
+begin
+   GNOMEUIINFO_MENU_GAME_TREE:=GETGNOMEUIINFO(GNOME_APP_UI_SUBTREE_STOCK,'_Game',nil,tree,nil,nil,TGnomeUIPixmapType(0),nil,0,TGdkModifierType(0),nil);
+end;
+
+{$Endif read_implementation}

+ 29 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeapputil.inc

@@ -0,0 +1,29 @@
+{$IfDef read_interface}
+
+function gnome_app_message(app:PGnomeApp; message:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_message';
+procedure gnome_app_flash(app:PGnomeApp; flash:Pgchar);cdecl;external libgnomeuidll name 'gnome_app_flash';
+function gnome_app_error(app:PGnomeApp; error:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_error';
+function gnome_app_warning(app:PGnomeApp; warning:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_warning';
+function gnome_app_question(app:PGnomeApp; question:Pgchar; callback:TGnomeReplyCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_question';
+function gnome_app_question_modal(app:PGnomeApp; question:Pgchar; callback:TGnomeReplyCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_question_modal';
+function gnome_app_ok_cancel(app:PGnomeApp; message:Pgchar; callback:TGnomeReplyCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_ok_cancel';
+function gnome_app_ok_cancel_modal(app:PGnomeApp; message:Pgchar; callback:TGnomeReplyCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_ok_cancel_modal';
+function gnome_app_request_string(app:PGnomeApp; prompt:Pgchar; callback:TGnomeStringCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_request_string';
+function gnome_app_request_password(app:PGnomeApp; prompt:Pgchar; callback:TGnomeStringCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_app_request_password';
+
+type
+   TGnomeAppProgressFunc = function (data:gpointer):gdouble;cdecl;
+   TGnomeAppProgressCancelFunc = procedure (data:gpointer);cdecl;
+   TGnomeAppProgressKey = gpointer;
+
+function gnome_app_progress_timeout(app:PGnomeApp; description:Pgchar; interval:guint32; percentage_cb:TGnomeAppProgressFunc; cancel_cb:TGnomeAppProgressCancelFunc; 
+           data:gpointer):TGnomeAppProgressKey;cdecl;external libgnomeuidll name 'gnome_app_progress_timeout';
+function gnome_app_progress_manual(app:PGnomeApp; description:Pgchar; cancel_cb:TGnomeAppProgressCancelFunc; data:gpointer):TGnomeAppProgressKey;cdecl;external libgnomeuidll name 'gnome_app_progress_manual';
+procedure gnome_app_set_progress(key:TGnomeAppProgressKey; percent:gdouble);cdecl;external libgnomeuidll name 'gnome_app_set_progress';
+procedure gnome_app_progress_done(key:TGnomeAppProgressKey);cdecl;external libgnomeuidll name 'gnome_app_progress_done';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 110 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecalculator.inc

@@ -0,0 +1,110 @@
+{$IfDef read_interface}
+
+type
+   TGnomeCalculatorMode = (GNOME_CALCULATOR_DEG,GNOME_CALCULATOR_RAD,
+     GNOME_CALCULATOR_GRAD);
+
+   PGnomeCalculator = ^TGnomeCalculator;
+   TGnomeCalculator = record
+        vbox : TGtkVBox;
+        result : gdouble;
+        result_string : array[0..12] of gchar;
+        memory : gdouble;
+        display : PGtkWidget;
+        mode : TGnomeCalculatorMode;
+        flag0 : word;
+        invert_button : PGtkWidget;
+        stack : PGList;
+        accel : PGtkAccelGroup;
+     end;
+   GNOME_CALCULATOR = PGnomeCalculator;
+
+const
+   bm__GnomeCalculator_add_digit = $1;
+   bp__GnomeCalculator_add_digit = 0;
+   bm__GnomeCalculator_error = $2;
+   bp__GnomeCalculator_error = 1;
+   bm__GnomeCalculator_invert = $4;
+   bp__GnomeCalculator_invert = 2;
+   
+function add_digit(var a : TGnomeCalculator) : guint;
+procedure set_add_digit(var a : TGnomeCalculator; __add_digit : guint);
+function error(var a : TGnomeCalculator) : guint;
+procedure set_error(var a : TGnomeCalculator; __error : guint);
+function invert(var a : TGnomeCalculator) : guint;
+procedure set_invert(var a : TGnomeCalculator; __invert : guint);
+
+type
+   PGnomeCalculatorClass = ^TGnomeCalculatorClass;
+   TGnomeCalculatorClass = record
+        parent_class : TGtkVBoxClass;
+        result_changed : procedure (gc:PGnomeCalculator; result:gdouble);cdecl;
+     end;
+   GNOME_CALCULATOR_CLASS = PGnomeCalculatorClass;
+
+function GNOME_TYPE_CALCULATOR : TGTKType;
+function GNOME_IS_CALCULATOR(obj : Pointer) : Boolean;
+function GNOME_IS_CALCULATOR_CLASS(klass : Pointer) : Boolean;
+
+function gnome_calculator_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_calculator_get_type';
+function gnome_calculator_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_calculator_new';
+procedure gnome_calculator_clear(gc:PGnomeCalculator; doreset:gboolean);cdecl;external libgnomeuidll name 'gnome_calculator_clear';
+procedure gnome_calculator_set(gc:PGnomeCalculator; result:gdouble);cdecl;external libgnomeuidll name 'gnome_calculator_set';
+
+function gnome_calculator_get_result(gc : PGnomeCalculator) : gdouble;
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_CALCULATOR : TGTKType;
+begin
+  GNOME_TYPE_CALCULATOR:=gnome_calculator_get_type;
+end;
+
+function GNOME_IS_CALCULATOR(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CALCULATOR:=(obj<>nil) and GNOME_IS_CALCULATOR_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CALCULATOR_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CALCULATOR_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CALCULATOR);
+end;
+
+function add_digit(var a : TGnomeCalculator) : guint;
+begin
+   add_digit:=(a.flag0 and bm__GnomeCalculator_add_digit) shr bp__GnomeCalculator_add_digit;
+end;
+
+procedure set_add_digit(var a : TGnomeCalculator; __add_digit : guint);
+begin
+   a.flag0:=a.flag0 or ((__add_digit shl bp__GnomeCalculator_add_digit) and bm__GnomeCalculator_add_digit);
+end;
+
+function error(var a : TGnomeCalculator) : guint;
+begin
+   error:=(a.flag0 and bm__GnomeCalculator_error) shr bp__GnomeCalculator_error;
+end;
+
+procedure set_error(var a : TGnomeCalculator; __error : guint);
+begin
+   a.flag0:=a.flag0 or ((__error shl bp__GnomeCalculator_error) and bm__GnomeCalculator_error);
+end;
+
+function invert(var a : TGnomeCalculator) : guint;
+begin
+   invert:=(a.flag0 and bm__GnomeCalculator_invert) shr bp__GnomeCalculator_invert;
+end;
+
+procedure set_invert(var a : TGnomeCalculator; __invert : guint);
+begin
+   a.flag0:=a.flag0 or ((__invert shl bp__GnomeCalculator_invert) and bm__GnomeCalculator_invert);
+end;
+
+function gnome_calculator_get_result(gc : PGnomeCalculator) : gdouble;
+begin
+   gnome_calculator_get_result:=gc^.result;
+end;
+
+{$Endif read_implementation}

+ 177 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecalulator.inc

@@ -0,0 +1,177 @@
+unit gnomecalulator;
+interface
+
+{
+  Automatically converted by H2Pas 0.99.15 from gnome-calculator.h
+  The following command line parameters were used:
+    -d
+    -c
+    -s
+    -o
+    gnomecalulator.inc
+    gnome-calculator.h
+}
+
+{$PACKRECORDS C}
+
+{$ifndef GNOME_CALCULATOR_H}
+{$define GNOME_CALCULATOR_H}
+{$include <gdk/gdk.h>}
+{$include <gtk/gtkvbox.h>}
+{$include <libgnome/gnome-defs.h>}
+{ was #define dname def_expr }
+function GNOME_TYPE_CALCULATOR : longint;
+    { return type might be wrong }
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function GNOME_CALCULATOR(obj : longint) : longint;
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function GNOME_CALCULATOR_CLASS(klass : longint) : longint;
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function GNOME_IS_CALCULATOR(obj : longint) : longint;
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function GNOME_IS_CALCULATOR_CLASS(klass : longint) : longint;
+
+type
+   _GnomeCalculator = GnomeCalculator;
+   _GnomeCalculatorClass = GnomeCalculatorClass;
+
+   GnomeCalculatorMode = (GNOME_CALCULATOR_DEG,GNOME_CALCULATOR_RAD,
+     GNOME_CALCULATOR_GRAD);
+   _GnomeCalculator = record
+        vbox : GtkVBox;
+        result : gdouble;
+        result_string : array[0..12] of gchar;
+        memory : gdouble;
+        display : ^GtkWidget;
+        mode : GnomeCalculatorMode;
+        flag0 : word;
+        invert_button : ^GtkWidget;
+        stack : ^GList;
+        accel : ^GtkAccelGroup;
+     end;
+
+const
+   bm__GnomeCalculator_add_digit = $1;
+   bp__GnomeCalculator_add_digit = 0;
+   bm__GnomeCalculator_error = $2;
+   bp__GnomeCalculator_error = 1;
+   bm__GnomeCalculator_invert = $4;
+   bp__GnomeCalculator_invert = 2;
+function add_digit(var a : _GnomeCalculator) : guint;
+procedure set_add_digit(var a : _GnomeCalculator; __add_digit : guint);
+function error(var a : _GnomeCalculator) : guint;
+procedure set_error(var a : _GnomeCalculator; __error : guint);
+function invert(var a : _GnomeCalculator) : guint;
+procedure set_invert(var a : _GnomeCalculator; __invert : guint);
+type
+   _GnomeCalculatorClass = record
+        parent_class : GtkVBoxClass;
+        result_changed : procedure (gc:PGnomeCalculator; result:gdouble);cdecl;
+     end;
+
+
+function gnome_calculator_get_type:guint;cdecl;external;
+function gnome_calculator_new:^GtkWidget;cdecl;external;
+(* Const before type ignored *)
+procedure gnome_calculator_clear(gc:PGnomeCalculator; reset:gboolean);cdecl;external;
+procedure gnome_calculator_set(gc:PGnomeCalculator; result:gdouble);cdecl;external;
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function gnome_calculator_get_result(gc : longint) : longint;
+
+{$endif}
+
+implementation
+
+{ was #define dname def_expr }
+function GNOME_TYPE_CALCULATOR : longint;
+    { return type might be wrong }
+  begin
+     GNOME_TYPE_CALCULATOR:=gnome_calculator_get_type;
+  end;
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function GNOME_CALCULATOR(obj : longint) : longint;
+begin
+   GNOME_CALCULATOR:=GTK_CHECK_CAST(obj,GNOME_TYPE_CALCULATOR,GnomeCalculator);
+end;
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function GNOME_CALCULATOR_CLASS(klass : longint) : longint;
+begin
+   GNOME_CALCULATOR_CLASS:=GTK_CHECK_CLASS_CAST(klass,GNOME_TYPE_CALCULATOR,GnomeCalculatorClass);
+end;
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function GNOME_IS_CALCULATOR(obj : longint) : longint;
+begin
+   GNOME_IS_CALCULATOR:=GTK_CHECK_TYPE(obj,GNOME_TYPE_CALCULATOR);
+end;
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function GNOME_IS_CALCULATOR_CLASS(klass : longint) : longint;
+begin
+   GNOME_IS_CALCULATOR_CLASS:=GTK_CHECK_CLASS_TYPE(klass,GNOME_TYPE_CALCULATOR);
+end;
+
+function add_digit(var a : _GnomeCalculator) : guint;
+begin
+   add_digit:=(a.flag0 and bm__GnomeCalculator_add_digit) shr bp__GnomeCalculator_add_digit;
+end;
+
+procedure set_add_digit(var a : _GnomeCalculator; __add_digit : guint);
+begin
+   a.flag0:=a.flag0 or ((__add_digit shl bp__GnomeCalculator_add_digit) and bm__GnomeCalculator_add_digit);
+end;
+
+function error(var a : _GnomeCalculator) : guint;
+begin
+   error:=(a.flag0 and bm__GnomeCalculator_error) shr bp__GnomeCalculator_error;
+end;
+
+procedure set_error(var a : _GnomeCalculator; __error : guint);
+begin
+   a.flag0:=a.flag0 or ((__error shl bp__GnomeCalculator_error) and bm__GnomeCalculator_error);
+end;
+
+function invert(var a : _GnomeCalculator) : guint;
+begin
+   invert:=(a.flag0 and bm__GnomeCalculator_invert) shr bp__GnomeCalculator_invert;
+end;
+
+procedure set_invert(var a : _GnomeCalculator; __invert : guint);
+begin
+   a.flag0:=a.flag0 or ((__invert shl bp__GnomeCalculator_invert) and bm__GnomeCalculator_invert);
+end;
+
+{ was #define dname(params) para_def_expr }
+{ argument types are unknown }
+{ return type might be wrong }   
+function gnome_calculator_get_result(gc : longint) : longint;
+begin
+   gnome_calculator_get_result:=(GNOME_CALCULATOR(gc))^.result;
+end;
+
+
+end.

+ 392 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvas.inc

@@ -0,0 +1,392 @@
+{$IfDef read_interface}
+
+const
+   GNOME_CANVAS_EPSILON = 1e-10;
+
+function GNOME_CANVAS_COLOR(r,g,b : longint) : longint;
+function GNOME_CANVAS_COLOR_A(r,g,b,a : longint) : longint;
+
+const
+   GNOME_CANVAS_ITEM_REALIZED = 1 shl 4;
+   GNOME_CANVAS_ITEM_MAPPED = 1 shl 5;
+   GNOME_CANVAS_ITEM_ALWAYS_REDRAW = 1 shl 6;
+   GNOME_CANVAS_ITEM_VISIBLE = 1 shl 7;
+   GNOME_CANVAS_ITEM_NEED_UPDATE = 1 shl 8;
+   GNOME_CANVAS_ITEM_NEED_AFFINE = 1 shl 9;
+   GNOME_CANVAS_ITEM_NEED_CLIP = 1 shl 10;
+   GNOME_CANVAS_ITEM_NEED_VIS = 1 shl 11;
+   GNOME_CANVAS_ITEM_AFFINE_FULL = 1 shl 12;
+
+   GNOME_CANVAS_UPDATE_REQUESTED = 1 shl 0;
+   GNOME_CANVAS_UPDATE_AFFINE = 1 shl 1;
+   GNOME_CANVAS_UPDATE_CLIP = 1 shl 2;
+   GNOME_CANVAS_UPDATE_VISIBILITY = 1 shl 3;
+
+Type
+   PGnomeCanvasBuf = ^TGnomeCanvasBuf;
+   TGnomeCanvasBuf = record
+        buf : Pguchar;
+        buf_rowstride : longint;
+        rect : TArtIRect;
+        bg_color : guint32;
+        flag0 : word;
+     end;
+
+const
+   bm_GnomeCanvasBuf_is_bg = $1;
+   bp_GnomeCanvasBuf_is_bg = 0;
+   bm_GnomeCanvasBuf_is_buf = $2;
+   bp_GnomeCanvasBuf_is_buf = 1;
+
+function is_bg(var a : TGnomeCanvasBuf) : dword;
+procedure set_is_bg(var a : TGnomeCanvasBuf; __is_bg : dword);
+function is_buf(var a : TGnomeCanvasBuf) : dword;
+procedure set_is_buf(var a : TGnomeCanvasBuf; __is_buf : dword);
+
+type
+   PPGnomeCanvasItem = ^PGnomeCanvasItem;
+   PGnomeCanvasItem = ^TGnomeCanvasItem;
+   PGnomeCanvasGroup = ^TGnomeCanvasGroup;
+   PGnomeCanvas = ^TGnomeCanvas;
+
+   TGnomeCanvasItem = record
+        theobject : TGtkObject;
+        canvas : PGnomeCanvas;
+        parent : PGnomeCanvasItem;
+        x1 : double;
+        y1 : double;
+        x2 : double;
+        y2 : double;
+        xform : Pdouble;
+     end;
+   GNOME_CANVAS_ITEM = PGnomeCanvasItem;
+
+   PGnomeCanvasItemClass = ^TGnomeCanvasItemClass;
+   TGnomeCanvasItemClass = record
+        parent_class : TGtkObjectClass;
+        update : procedure (item:PGnomeCanvasItem; affine:Pdouble; clip_path:PArtSVP; flags:longint);cdecl;
+        realize : procedure (item:PGnomeCanvasItem);cdecl;
+        unrealize : procedure (item:PGnomeCanvasItem);cdecl;
+        map : procedure (item:PGnomeCanvasItem);cdecl;
+        unmap : procedure (item:PGnomeCanvasItem);cdecl;
+        coverage : function (item:PGnomeCanvasItem):PArtUta;cdecl;
+        draw : procedure (item:PGnomeCanvasItem; drawable:PGdkDrawable; x:longint; y:longint; width:longint; 
+                      height:longint);cdecl;
+        render : procedure (item:PGnomeCanvasItem; buf:PGnomeCanvasBuf);cdecl;
+        point : function (item:PGnomeCanvasItem; x:double; y:double; cx:longint; cy:longint; 
+                     actual_item:PPGnomeCanvasItem):double;cdecl;
+        translate : procedure (item:PGnomeCanvasItem; dx:double; dy:double);cdecl;
+        bounds : procedure (item:PGnomeCanvasItem; x1:Pdouble; y1:Pdouble; x2:Pdouble; y2:Pdouble);cdecl;
+        event : function (item:PGnomeCanvasItem; event:PGdkEvent):gint;cdecl;
+     end;
+   GNOME_CANVAS_ITEM_CLASS = PGnomeCanvasItemClass;
+
+   TGnomeCanvasGroup = record
+        item : TGnomeCanvasItem;
+        item_list : PGList;
+        item_list_end : PGList;
+        xpos : double;
+        ypos : double;
+     end;
+   GNOME_CANVAS_GROUP = PGnomeCanvasGroup;
+
+   PGnomeCanvasGroupClass = ^TGnomeCanvasGroupClass;
+   TGnomeCanvasGroupClass = record
+        parent_class : TGnomeCanvasItemClass;
+     end;
+   GNOME_CANVAS_GROUP_CLASS = PGnomeCanvasGroupClass;
+
+   TGnomeCanvas = record
+        layout : TGtkLayout;
+        idle_id : guint;
+        root : PGnomeCanvasItem;
+        root_destroy_id : guint;
+        scroll_x1 : double;
+        scroll_y1 : double;
+        scroll_x2 : double;
+        scroll_y2 : double;
+        pixels_per_unit : double;
+        redraw_x1 : longint;
+        redraw_y1 : longint;
+        redraw_x2 : longint;
+        redraw_y2 : longint;
+        redraw_area : PArtUta;
+        draw_xofs : longint;
+        draw_yofs : longint;
+        zoom_xofs : longint;
+        zoom_yofs : longint;
+        state : longint;
+        current_item : PGnomeCanvasItem;
+        new_current_item : PGnomeCanvasItem;
+        grabbed_item : PGnomeCanvasItem;
+        grabbed_event_mask : guint;
+        focused_item : PGnomeCanvasItem;
+        pick_event : TGdkEvent;
+        close_enough : longint;
+        cc : PGdkColorContext;
+        pixmap_gc : PGdkGC;
+        flag0 : word;
+     end;
+   GNOME_CANVAS = PGnomeCanvas;
+
+   PGnomeCanvasClass = ^TGnomeCanvasClass;
+   TGnomeCanvasClass = record
+        parent_class : TGtkLayoutClass;
+     end;
+   GNOME_CANVAS_CLASS = PGnomeCanvasClass;
+
+function GNOME_TYPE_CANVAS_ITEM : TGTKType;
+function GNOME_IS_CANVAS_ITEM(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_ITEM_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_item_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_item_get_type';
+function gnome_canvas_item_new(parent:PGnomeCanvasGroup; thetype:TGtkType; first_arg_name:Pgchar; args:array of const):PGnomeCanvasItem;cdecl;external libgnomeuidll name 'gnome_canvas_item_new';
+function gnome_canvas_item_newv(parent:PGnomeCanvasGroup; thetype:TGtkType; nargs:guint; args:PGtkArg):PGnomeCanvasItem;cdecl;external libgnomeuidll name 'gnome_canvas_item_newv';
+procedure gnome_canvas_item_construct(item:PGnomeCanvasItem; parent:PGnomeCanvasGroup; first_arg_name:Pgchar; args:va_list);cdecl;external libgnomeuidll name 'gnome_canvas_item_construct';
+procedure gnome_canvas_item_constructv(item:PGnomeCanvasItem; parent:PGnomeCanvasGroup; nargs:guint; args:PGtkArg);cdecl;external libgnomeuidll name 'gnome_canvas_item_constructv';
+procedure gnome_canvas_item_set(item:PGnomeCanvasItem; first_arg_name:Pgchar; args:array of const);cdecl;external libgnomeuidll name 'gnome_canvas_item_set';
+procedure gnome_canvas_item_setv(item:PGnomeCanvasItem; nargs:guint; args:PGtkArg);cdecl;external libgnomeuidll name 'gnome_canvas_item_setv';
+procedure gnome_canvas_item_set_valist(item:PGnomeCanvasItem; first_arg_name:Pgchar; args:va_list);cdecl;external libgnomeuidll name 'gnome_canvas_item_set_valist';
+procedure gnome_canvas_item_move(item:PGnomeCanvasItem; dx:double; dy:double);cdecl;external libgnomeuidll name 'gnome_canvas_item_move';
+procedure gnome_canvas_item_affine_relative(item:PGnomeCanvasItem; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_item_affine_relative';
+procedure gnome_canvas_item_affine_absolute(item:PGnomeCanvasItem; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_item_affine_absolute';
+procedure gnome_canvas_item_scale(item:PGnomeCanvasItem; x:double; y:double; scale_x:double; scale_y:double);cdecl;external libgnomeuidll name 'gnome_canvas_item_scale';
+procedure gnome_canvas_item_rotate(item:PGnomeCanvasItem; x:double; y:double; angle:double);cdecl;external libgnomeuidll name 'gnome_canvas_item_rotate';
+procedure gnome_canvas_item_raise(item:PGnomeCanvasItem; positions:longint);cdecl;external libgnomeuidll name 'gnome_canvas_item_raise';
+procedure gnome_canvas_item_lower(item:PGnomeCanvasItem; positions:longint);cdecl;external libgnomeuidll name 'gnome_canvas_item_lower';
+procedure gnome_canvas_item_raise_to_top(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_raise_to_top';
+procedure gnome_canvas_item_lower_to_bottom(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_lower_to_bottom';
+procedure gnome_canvas_item_show(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_show';
+procedure gnome_canvas_item_hide(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_hide';
+function gnome_canvas_item_grab(item:PGnomeCanvasItem; event_mask:dword; cursor:PGdkCursor; etime:guint32):longint;cdecl;external libgnomeuidll name 'gnome_canvas_item_grab';
+procedure gnome_canvas_item_ungrab(item:PGnomeCanvasItem; etime:guint32);cdecl;external libgnomeuidll name 'gnome_canvas_item_ungrab';
+procedure gnome_canvas_item_w2i(item:PGnomeCanvasItem; x:Pdouble; y:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_item_w2i';
+procedure gnome_canvas_item_i2w(item:PGnomeCanvasItem; x:Pdouble; y:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_item_i2w';
+procedure gnome_canvas_item_i2w_affine(item:PGnomeCanvasItem; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_item_i2w_affine';
+procedure gnome_canvas_item_i2c_affine(item:PGnomeCanvasItem; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_item_i2c_affine';
+procedure gnome_canvas_item_reparent(item:PGnomeCanvasItem; new_group:PGnomeCanvasGroup);cdecl;external libgnomeuidll name 'gnome_canvas_item_reparent';
+procedure gnome_canvas_item_grab_focus(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_grab_focus';
+procedure gnome_canvas_item_get_bounds(item:PGnomeCanvasItem; x1:Pdouble; y1:Pdouble; x2:Pdouble; y2:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_item_get_bounds';
+procedure gnome_canvas_item_request_update(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_request_update';
+
+function GNOME_TYPE_CANVAS_GROUP : TGTKType;
+function GNOME_IS_CANVAS_GROUP(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_GROUP_CLASS(klass : Pointer) : Boolean;
+
+
+function gnome_canvas_group_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_group_get_type';
+procedure gnome_canvas_group_child_bounds(group:PGnomeCanvasGroup; item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_group_child_bounds';
+
+const
+   bm__GnomeCanvas_need_update = $1;
+   bp__GnomeCanvas_need_update = 0;
+   bm__GnomeCanvas_need_redraw = $2;
+   bp__GnomeCanvas_need_redraw = 1;
+   bm__GnomeCanvas_need_repick = $4;
+   bp__GnomeCanvas_need_repick = 2;
+   bm__GnomeCanvas_left_grabbed_item = $8;
+   bp__GnomeCanvas_left_grabbed_item = 3;
+   bm__GnomeCanvas_in_repick = $10;
+   bp__GnomeCanvas_in_repick = 4;
+   bm__GnomeCanvas_aa = $20;
+   bp__GnomeCanvas_aa = 5;
+   bm__GnomeCanvas_dither = $C0;
+   bp__GnomeCanvas_dither = 6;
+function need_update(var a : TGnomeCanvas) : dword;
+procedure set_need_update(var a : TGnomeCanvas; __need_update : dword);
+function need_redraw(var a : TGnomeCanvas) : dword;
+procedure set_need_redraw(var a : TGnomeCanvas; __need_redraw : dword);
+function need_repick(var a : TGnomeCanvas) : dword;
+procedure set_need_repick(var a : TGnomeCanvas; __need_repick : dword);
+function left_grabbed_item(var a : TGnomeCanvas) : dword;
+procedure set_left_grabbed_item(var a : TGnomeCanvas; __left_grabbed_item : dword);
+function in_repick(var a : TGnomeCanvas) : dword;
+procedure set_in_repick(var a : TGnomeCanvas; __in_repick : dword);
+function aa(var a : TGnomeCanvas) : dword;
+procedure set_aa(var a : TGnomeCanvas; __aa : dword);
+function dither(var a : TGnomeCanvas) : dword;
+procedure set_dither(var a : TGnomeCanvas; __dither : dword);
+
+function GNOME_TYPE_CANVAS : TGTKType;
+function GNOME_IS_CANVAS(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_get_type';
+function gnome_canvas_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_canvas_new';
+
+{$ifndef GNOME_EXCLUDE_EXPERIMENTAL}
+  function gnome_canvas_new_aa:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_canvas_new_aa';
+{$endif}
+
+function gnome_canvas_root(canvas:PGnomeCanvas):PGnomeCanvasGroup;cdecl;external libgnomeuidll name 'gnome_canvas_root';
+procedure gnome_canvas_set_scroll_region(canvas:PGnomeCanvas; x1:double; y1:double; x2:double; y2:double);cdecl;external libgnomeuidll name 'gnome_canvas_set_scroll_region';
+procedure gnome_canvas_get_scroll_region(canvas:PGnomeCanvas; x1:Pdouble; y1:Pdouble; x2:Pdouble; y2:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_get_scroll_region';
+procedure gnome_canvas_set_pixels_per_unit(canvas:PGnomeCanvas; n:double);cdecl;external libgnomeuidll name 'gnome_canvas_set_pixels_per_unit';
+procedure gnome_canvas_scroll_to(canvas:PGnomeCanvas; cx:longint; cy:longint);cdecl;external libgnomeuidll name 'gnome_canvas_scroll_to';
+procedure gnome_canvas_get_scroll_offsets(canvas:PGnomeCanvas; cx:Plongint; cy:Plongint);cdecl;external libgnomeuidll name 'gnome_canvas_get_scroll_offsets';
+procedure gnome_canvas_update_now(canvas:PGnomeCanvas);cdecl;external libgnomeuidll name 'gnome_canvas_update_now';
+function gnome_canvas_get_item_at(canvas:PGnomeCanvas; x:double; y:double):PGnomeCanvasItem;cdecl;external libgnomeuidll name 'gnome_canvas_get_item_at';
+procedure gnome_canvas_request_redraw_uta(canvas:PGnomeCanvas; uta:PArtUta);cdecl;external libgnomeuidll name 'gnome_canvas_request_redraw_uta';
+procedure gnome_canvas_request_redraw(canvas:PGnomeCanvas; x1:longint; y1:longint; x2:longint; y2:longint);cdecl;external libgnomeuidll name 'gnome_canvas_request_redraw';
+procedure gnome_canvas_w2c_affine(canvas:PGnomeCanvas; affine:Taffine_array);cdecl;external libgnomeuidll name 'gnome_canvas_w2c_affine';
+procedure gnome_canvas_w2c(canvas:PGnomeCanvas; wx:double; wy:double; cx:Plongint; cy:Plongint);cdecl;external libgnomeuidll name 'gnome_canvas_w2c';
+procedure gnome_canvas_w2c_d(canvas:PGnomeCanvas; wx:double; wy:double; cx:Pdouble; cy:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_w2c_d';
+procedure gnome_canvas_c2w(canvas:PGnomeCanvas; cx:longint; cy:longint; wx:Pdouble; wy:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_c2w';
+procedure gnome_canvas_window_to_world(canvas:PGnomeCanvas; winx:double; winy:double; worldx:Pdouble; worldy:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_window_to_world';
+procedure gnome_canvas_world_to_window(canvas:PGnomeCanvas; worldx:double; worldy:double; winx:Pdouble; winy:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_world_to_window';
+function gnome_canvas_get_color(canvas:PGnomeCanvas; spec:Pchar; color:PGdkColor):longint;cdecl;external libgnomeuidll name 'gnome_canvas_get_color';
+function gnome_canvas_get_color_pixel(canvas:PGnomeCanvas; rgba:guint):gulong;cdecl;external libgnomeuidll name 'gnome_canvas_get_color_pixel';
+procedure gnome_canvas_set_stipple_origin(canvas:PGnomeCanvas; gc:PGdkGC);cdecl;external libgnomeuidll name 'gnome_canvas_set_stipple_origin';
+procedure gnome_canvas_set_dither(canvas:PGnomeCanvas; dither:TGdkRgbDither);cdecl;external libgnomeuidll name 'gnome_canvas_set_dither';
+function gnome_canvas_get_dither(canvas:PGnomeCanvas):TGdkRgbDither;cdecl;external libgnomeuidll name 'gnome_canvas_get_dither';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+Function GNOME_CANVAS_COLOR(r, g, b : longint) : Longint;
+begin
+  result := (((r and $ff) shl 24) or ((g and $ff) shl 16) or ((b and $ff) shl 8) or $ff);
+end;
+
+Function GNOME_CANVAS_COLOR_A(r, g, b, a : longint)  : longint;
+begin
+  result := (((r and $ff) shl 24) or ((g and $ff) shl 16) or ((b and $ff) shl 8) or (a and $ff))
+end;
+
+function is_bg(var a : TGnomeCanvasBuf) : dword;
+begin
+   is_bg:=(a.flag0 and bm_GnomeCanvasBuf_is_bg) shr bp_GnomeCanvasBuf_is_bg;
+end;
+
+procedure set_is_bg(var a : TGnomeCanvasBuf; __is_bg : dword);
+begin
+   a.flag0:=a.flag0 or ((__is_bg shl bp_GnomeCanvasBuf_is_bg) and bm_GnomeCanvasBuf_is_bg);
+end;
+
+function is_buf(var a : TGnomeCanvasBuf) : dword;
+begin
+   is_buf:=(a.flag0 and bm_GnomeCanvasBuf_is_buf) shr bp_GnomeCanvasBuf_is_buf;
+end;
+
+procedure set_is_buf(var a : TGnomeCanvasBuf; __is_buf : dword);
+begin
+   a.flag0:=a.flag0 or ((__is_buf shl bp_GnomeCanvasBuf_is_buf) and bm_GnomeCanvasBuf_is_buf);
+end;
+
+function GNOME_TYPE_CANVAS_ITEM : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_ITEM:=gnome_canvas_item_get_type;
+end;
+
+function GNOME_IS_CANVAS_ITEM(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_ITEM:=(obj<>nil) and GNOME_IS_CANVAS_ITEM_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_ITEM_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_ITEM_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_ITEM);
+end;
+
+function GNOME_TYPE_CANVAS_GROUP : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_GROUP:=gnome_canvas_group_get_type;
+end;
+
+function GNOME_IS_CANVAS_GROUP(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_GROUP:=(obj<>nil) and GNOME_IS_CANVAS_GROUP_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_GROUP_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_GROUP_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_GROUP);
+end;
+
+function need_update(var a : TGnomeCanvas) : dword;
+begin
+   need_update:=(a.flag0 and bm__GnomeCanvas_need_update) shr bp__GnomeCanvas_need_update;
+end;
+
+procedure set_need_update(var a : TGnomeCanvas; __need_update : dword);
+begin
+   a.flag0:=a.flag0 or ((__need_update shl bp__GnomeCanvas_need_update) and bm__GnomeCanvas_need_update);
+end;
+
+function need_redraw(var a : TGnomeCanvas) : dword;
+begin
+   need_redraw:=(a.flag0 and bm__GnomeCanvas_need_redraw) shr bp__GnomeCanvas_need_redraw;
+end;
+
+procedure set_need_redraw(var a : TGnomeCanvas; __need_redraw : dword);
+begin
+   a.flag0:=a.flag0 or ((__need_redraw shl bp__GnomeCanvas_need_redraw) and bm__GnomeCanvas_need_redraw);
+end;
+
+function need_repick(var a : TGnomeCanvas) : dword;
+begin
+   need_repick:=(a.flag0 and bm__GnomeCanvas_need_repick) shr bp__GnomeCanvas_need_repick;
+end;
+
+procedure set_need_repick(var a : TGnomeCanvas; __need_repick : dword);
+begin
+   a.flag0:=a.flag0 or ((__need_repick shl bp__GnomeCanvas_need_repick) and bm__GnomeCanvas_need_repick);
+end;
+
+function left_grabbed_item(var a : TGnomeCanvas) : dword;
+begin
+   left_grabbed_item:=(a.flag0 and bm__GnomeCanvas_left_grabbed_item) shr bp__GnomeCanvas_left_grabbed_item;
+end;
+
+procedure set_left_grabbed_item(var a : TGnomeCanvas; __left_grabbed_item : dword);
+begin
+   a.flag0:=a.flag0 or ((__left_grabbed_item shl bp__GnomeCanvas_left_grabbed_item) and bm__GnomeCanvas_left_grabbed_item);
+end;
+
+function in_repick(var a : TGnomeCanvas) : dword;
+begin
+   in_repick:=(a.flag0 and bm__GnomeCanvas_in_repick) shr bp__GnomeCanvas_in_repick;
+end;
+
+procedure set_in_repick(var a : TGnomeCanvas; __in_repick : dword);
+begin
+   a.flag0:=a.flag0 or ((__in_repick shl bp__GnomeCanvas_in_repick) and bm__GnomeCanvas_in_repick);
+end;
+
+function aa(var a : TGnomeCanvas) : dword;
+begin
+   aa:=(a.flag0 and bm__GnomeCanvas_aa) shr bp__GnomeCanvas_aa;
+end;
+
+procedure set_aa(var a : TGnomeCanvas; __aa : dword);
+begin
+   a.flag0:=a.flag0 or ((__aa shl bp__GnomeCanvas_aa) and bm__GnomeCanvas_aa);
+end;
+
+function dither(var a : TGnomeCanvas) : dword;
+begin
+   dither:=(a.flag0 and bm__GnomeCanvas_dither) shr bp__GnomeCanvas_dither;
+end;
+
+procedure set_dither(var a : TGnomeCanvas; __dither : dword);
+begin
+   a.flag0:=a.flag0 or ((__dither shl bp__GnomeCanvas_dither) and bm__GnomeCanvas_dither);
+end;
+
+function GNOME_TYPE_CANVAS : TGTKType;
+begin
+  GNOME_TYPE_CANVAS:=gnome_canvas_get_type;
+end;
+
+function GNOME_IS_CANVAS(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS:=(obj<>nil) and GNOME_IS_CANVAS_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS);
+end;
+
+{$Endif read_implementation}

+ 75 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvasimage.inc

@@ -0,0 +1,75 @@
+{$IfDef read_interface}
+
+type
+   PGnomeCanvasImage = ^TGnomeCanvasImage;
+   TGnomeCanvasImage = record
+        item : TGnomeCanvasItem;
+        image : PGdkImlibImage;
+        pixmap : PGdkPixmap;
+        mask : PGdkBitmap;
+        x : double;
+        y : double;
+        width : double;
+        height : double;
+        anchor : TGtkAnchorType;
+        cx : longint;
+        cy : longint;
+        cwidth : longint;
+        cheight : longint;
+        gc : PGdkGC;
+        flag0 : word;
+        pixbuf : PArtPixBuf;
+        affine : Taffine_array;
+     end;
+   GNOME_CANVAS_IMAGE = PGnomeCanvasImage;
+
+const
+   bm__GnomeCanvasImage_need_recalc = $1;
+   bp__GnomeCanvasImage_need_recalc = 0;
+
+function need_recalc(var a : TGnomeCanvasImage) : dword;
+procedure set_need_recalc(var a : TGnomeCanvasImage; __need_recalc : dword);
+
+type
+   PGnomeCanvasImageClass = ^TGnomeCanvasImageClass;
+   TGnomeCanvasImageClass = record
+        parent_class : TGnomeCanvasItemClass;
+     end;
+   GNOME_CANVAS_IMAGE_CLASS = PGnomeCanvasImageClass;
+
+function GNOME_TYPE_CANVAS_IMAGE : TGTKType;
+function GNOME_IS_CANVAS_IMAGE(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_IMAGE_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_image_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_image_get_type';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_CANVAS_IMAGE : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_IMAGE:=gnome_canvas_image_get_type;
+end;
+
+function GNOME_IS_CANVAS_IMAGE(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_IMAGE:=(obj<>nil) and GNOME_IS_CANVAS_IMAGE_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_IMAGE_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_IMAGE_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_IMAGE);
+end;
+
+function need_recalc(var a : TGnomeCanvasImage) : dword;
+begin
+   need_recalc:=(a.flag0 and bm__GnomeCanvasImage_need_recalc) shr bp__GnomeCanvasImage_need_recalc;
+end;
+
+procedure set_need_recalc(var a : TGnomeCanvasImage; __need_recalc : dword);
+begin
+   a.flag0:=a.flag0 or ((__need_recalc shl bp__GnomeCanvasImage_need_recalc) and bm__GnomeCanvasImage_need_recalc);
+end;
+
+{$Endif read_implementation}

+ 120 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvasline.inc

@@ -0,0 +1,120 @@
+{$IfDef read_interface}
+
+type
+   PGnomeCanvasLine = ^TGnomeCanvasLine;
+   TGnomeCanvasLine = record
+        item : TGnomeCanvasItem;
+        num_points : longint;
+        coords : Pdouble;
+        width : double;
+        fill_color : guint;
+        fill_pixel : gulong;
+        stipple : PGdkBitmap;
+        cap : TGdkCapStyle;
+        join : TGdkJoinStyle;
+        line_style : TGdkLineStyle;
+        shape_a : double;
+        shape_b : double;
+        shape_c : double;
+        first_coords : Pdouble;
+        last_coords : Pdouble;
+        spline_steps : longint;
+        gc : PGdkGC;
+        flag0 : word;
+        fill_rgba : guint32;
+        fill_svp : PArtSVP;
+        first_svp : PArtSVP;
+        last_svp : PArtSVP;
+     end;
+   GNOME_CANVAS_LINE = PGnomeCanvasLine;
+
+const
+   bm__GnomeCanvasLine_width_pixels = $1;
+   bp__GnomeCanvasLine_width_pixels = 0;
+   bm__GnomeCanvasLine_first_arrow = $2;
+   bp__GnomeCanvasLine_first_arrow = 1;
+   bm__GnomeCanvasLine_last_arrow = $4;
+   bp__GnomeCanvasLine_last_arrow = 2;
+   bm__GnomeCanvasLine_smooth = $8;
+   bp__GnomeCanvasLine_smooth = 3;
+function width_pixels(var a : TGnomeCanvasLine) : guint;
+procedure set_width_pixels(var a : TGnomeCanvasLine; __width_pixels : guint);
+function first_arrow(var a : TGnomeCanvasLine) : guint;
+procedure set_first_arrow(var a : TGnomeCanvasLine; __first_arrow : guint);
+function last_arrow(var a : TGnomeCanvasLine) : guint;
+procedure set_last_arrow(var a : TGnomeCanvasLine; __last_arrow : guint);
+function smooth(var a : TGnomeCanvasLine) : guint;
+procedure set_smooth(var a : TGnomeCanvasLine; __smooth : guint);
+type
+   PGnomeCanvasLineClass = ^TGnomeCanvasLineClass;
+   TGnomeCanvasLineClass = record
+        parent_class : TGnomeCanvasItemClass;
+     end;
+   GNOME_CANVAS_LINE_CLASS = PGnomeCanvasLineClass;
+
+function GNOME_TYPE_CANVAS_LINE : TGTKType;
+function GNOME_IS_CANVAS_LINE(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_LINE_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_line_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_line_get_type';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_CANVAS_LINE : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_LINE:=gnome_canvas_line_get_type;
+end;
+
+function GNOME_IS_CANVAS_LINE(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_LINE:=(obj<>nil) and GNOME_IS_CANVAS_LINE_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_LINE_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_LINE_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_LINE);
+end;
+
+function width_pixels(var a : TGnomeCanvasLine) : guint;
+begin
+   width_pixels:=(a.flag0 and bm__GnomeCanvasLine_width_pixels) shr bp__GnomeCanvasLine_width_pixels;
+end;
+
+procedure set_width_pixels(var a : TGnomeCanvasLine; __width_pixels : guint);
+begin
+   a.flag0:=a.flag0 or ((__width_pixels shl bp__GnomeCanvasLine_width_pixels) and bm__GnomeCanvasLine_width_pixels);
+end;
+
+function first_arrow(var a : TGnomeCanvasLine) : guint;
+begin
+   first_arrow:=(a.flag0 and bm__GnomeCanvasLine_first_arrow) shr bp__GnomeCanvasLine_first_arrow;
+end;
+
+procedure set_first_arrow(var a : TGnomeCanvasLine; __first_arrow : guint);
+begin
+   a.flag0:=a.flag0 or ((__first_arrow shl bp__GnomeCanvasLine_first_arrow) and bm__GnomeCanvasLine_first_arrow);
+end;
+
+function last_arrow(var a : TGnomeCanvasLine) : guint;
+begin
+   last_arrow:=(a.flag0 and bm__GnomeCanvasLine_last_arrow) shr bp__GnomeCanvasLine_last_arrow;
+end;
+
+procedure set_last_arrow(var a : TGnomeCanvasLine; __last_arrow : guint);
+begin
+   a.flag0:=a.flag0 or ((__last_arrow shl bp__GnomeCanvasLine_last_arrow) and bm__GnomeCanvasLine_last_arrow);
+end;
+
+function smooth(var a : TGnomeCanvasLine) : guint;
+begin
+   smooth:=(a.flag0 and bm__GnomeCanvasLine_smooth) shr bp__GnomeCanvasLine_smooth;
+end;
+
+procedure set_smooth(var a : TGnomeCanvasLine; __smooth : guint);
+begin
+   a.flag0:=a.flag0 or ((__smooth shl bp__GnomeCanvasLine_smooth) and bm__GnomeCanvasLine_smooth);
+end;
+
+{$Endif read_implementation}

+ 10 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvasload.inc

@@ -0,0 +1,10 @@
+{$IfDef read_interface}
+
+function gnome_canvas_load_alpha(thefile:Pgchar):PGdkImlibImage;cdecl;external libgnomeuidll name 'gnome_canvas_load_alpha';
+procedure gnome_canvas_destroy_image(image:PGdkImlibImage);cdecl;external libgnomeuidll name 'gnome_canvas_destroy_image';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 103 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvaspolygon.inc

@@ -0,0 +1,103 @@
+{$IfDef read_interface}
+
+type
+   PGnomeCanvasPolygon = ^TGnomeCanvasPolygon;
+   TGnomeCanvasPolygon = record
+        item : TGnomeCanvasItem;
+        num_points : longint;
+        coords : Pdouble;
+        width : double;
+        fill_color : guint;
+        outline_color : guint;
+        fill_pixel : gulong;
+        outline_pixel : gulong;
+        fill_stipple : PGdkBitmap;
+        outline_stipple : PGdkBitmap;
+        fill_gc : PGdkGC;
+        outline_gc : PGdkGC;
+        flag0 : word;
+        fill_rgba : guint32;
+        fill_svp : PArtSVP;
+        outline_rgba : guint32;
+        outline_svp : PArtSVP;
+     end;
+   GNOME_CANVAS_POLYGON = PGnomeCanvasPolygon;
+
+const
+   bm__GnomeCanvasPolygon_fill_set = $1;
+   bp__GnomeCanvasPolygon_fill_set = 0;
+   bm__GnomeCanvasPolygon_outline_set = $2;
+   bp__GnomeCanvasPolygon_outline_set = 1;
+   bm__GnomeCanvasPolygon_width_pixels = $4;
+   bp__GnomeCanvasPolygon_width_pixels = 2;
+   
+function fill_set(var a : TGnomeCanvasPolygon) : guint;
+procedure set_fill_set(var a : TGnomeCanvasPolygon; __fill_set : guint);
+function outline_set(var a : TGnomeCanvasPolygon) : guint;
+procedure set_outline_set(var a : TGnomeCanvasPolygon; __outline_set : guint);
+function width_pixels(var a : TGnomeCanvasPolygon) : guint;
+procedure set_width_pixels(var a : TGnomeCanvasPolygon; __width_pixels : guint);
+
+type
+   PGnomeCanvasPolygonClass = ^TGnomeCanvasPolygonClass;
+   TGnomeCanvasPolygonClass = record
+        parent_class : TGnomeCanvasItemClass;
+     end;
+   GNOME_CANVAS_POLYGON_CLASS = PGnomeCanvasPolygonClass;
+
+function GNOME_TYPE_CANVAS_POLYGON : TGTKType;
+function GNOME_IS_CANVAS_POLYGON(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_POLYGON_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_polygon_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_polygon_get_type';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_CANVAS_POLYGON : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_POLYGON:=gnome_canvas_polygon_get_type;
+end;
+
+function GNOME_IS_CANVAS_POLYGON(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_POLYGON:=(obj<>nil) and GNOME_IS_CANVAS_POLYGON_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_POLYGON_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_POLYGON_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_POLYGON);
+end;
+
+function fill_set(var a : TGnomeCanvasPolygon) : guint;
+begin
+   fill_set:=(a.flag0 and bm__GnomeCanvasPolygon_fill_set) shr bp__GnomeCanvasPolygon_fill_set;
+end;
+
+procedure set_fill_set(var a : TGnomeCanvasPolygon; __fill_set : guint);
+begin
+   a.flag0:=a.flag0 or ((__fill_set shl bp__GnomeCanvasPolygon_fill_set) and bm__GnomeCanvasPolygon_fill_set);
+end;
+
+function outline_set(var a : TGnomeCanvasPolygon) : guint;
+begin
+   outline_set:=(a.flag0 and bm__GnomeCanvasPolygon_outline_set) shr bp__GnomeCanvasPolygon_outline_set;
+end;
+
+procedure set_outline_set(var a : TGnomeCanvasPolygon; __outline_set : guint);
+begin
+   a.flag0:=a.flag0 or ((__outline_set shl bp__GnomeCanvasPolygon_outline_set) and bm__GnomeCanvasPolygon_outline_set);
+end;
+
+function width_pixels(var a : TGnomeCanvasPolygon) : guint;
+begin
+   width_pixels:=(a.flag0 and bm__GnomeCanvasPolygon_width_pixels) shr bp__GnomeCanvasPolygon_width_pixels;
+end;
+
+procedure set_width_pixels(var a : TGnomeCanvasPolygon; __width_pixels : guint);
+begin
+   a.flag0:=a.flag0 or ((__width_pixels shl bp__GnomeCanvasPolygon_width_pixels) and bm__GnomeCanvasPolygon_width_pixels);
+end;
+
+{$Endif read_implementation}

+ 170 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvasrectellipse.inc

@@ -0,0 +1,170 @@
+{$IfDef read_interface}
+
+type
+   PGnomeCanvasRE = ^TGnomeCanvasRE;
+   TGnomeCanvasRE = record
+        item : TGnomeCanvasItem;
+        x1 : double;
+        y1 : double;
+        x2 : double;
+        y2 : double;
+        width : double;
+        fill_color : guint;
+        outline_color : guint;
+        fill_pixel : gulong;
+        outline_pixel : gulong;
+        fill_stipple : PGdkBitmap;
+        outline_stipple : PGdkBitmap;
+        fill_gc : PGdkGC;
+        outline_gc : PGdkGC;
+        fill_svp : PArtSVP;
+        outline_svp : PArtSVP;
+        flag0 : word;
+     end;
+   GNOME_CANVAS_RE = PGnomeCanvasRE;
+
+const
+   bm__GnomeCanvasRE_fill_set = $1;
+   bp__GnomeCanvasRE_fill_set = 0;
+   bm__GnomeCanvasRE_outline_set = $2;
+   bp__GnomeCanvasRE_outline_set = 1;
+   bm__GnomeCanvasRE_width_pixels = $4;
+   bp__GnomeCanvasRE_width_pixels = 2;
+function fill_set(var a : TGnomeCanvasRE) : dword;
+procedure set_fill_set(var a : TGnomeCanvasRE; __fill_set : dword);
+function outline_set(var a : TGnomeCanvasRE) : dword;
+procedure set_outline_set(var a : TGnomeCanvasRE; __outline_set : dword);
+function width_pixels(var a : TGnomeCanvasRE) : dword;
+procedure set_width_pixels(var a : TGnomeCanvasRE; __width_pixels : dword);
+
+type
+   PGnomeCanvasREClass = ^TGnomeCanvasREClass;
+   TGnomeCanvasREClass = record
+        parent_class : TGnomeCanvasItemClass;
+     end;
+   GNOME_CANVAS_RE_CLASS = PGnomeCanvasREClass;
+
+function GNOME_TYPE_CANVAS_RE : TGTKType;
+function GNOME_IS_CANVAS_RE(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_RE_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_re_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_re_get_type';
+
+type
+   PGnomeCanvasRect = ^TGnomeCanvasRect;
+   TGnomeCanvasRect = record
+        rect : TGnomeCanvasRE;
+     end;
+   GNOME_CANVAS_RECT = PGnomeCanvasRect;
+
+   PGnomeCanvasRectClass = ^TGnomeCanvasRectClass;
+   TGnomeCanvasRectClass = record
+        parent_class : TGnomeCanvasREClass;
+     end;
+   GNOME_CANVAS_RECT_CLASS = PGnomeCanvasRectClass;
+
+function GNOME_TYPE_CANVAS_RECT : TGTKType;
+function GNOME_IS_CANVAS_RECT(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_RECT_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_rect_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_rect_get_type';
+
+type
+   PGnomeCanvasEllipse = ^TGnomeCanvasEllipse;
+   TGnomeCanvasEllipse = record
+        rect : TGnomeCanvasRE;
+     end;
+   GNOME_CANVAS_ELLIPSE = PGnomeCanvasEllipse;
+
+   PGnomeCanvasEllipseClass = ^TGnomeCanvasEllipseClass;
+   TGnomeCanvasEllipseClass = record
+        parent_class : TGnomeCanvasREClass;
+     end;
+   GNOME_CANVAS_ELLIPSE_CLASS = PGnomeCanvasEllipseClass;
+
+function GNOME_TYPE_CANVAS_ELLIPSE : TGTKType;
+function GNOME_IS_CANVAS_ELLIPSE(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_ELLIPSE_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_ellipse_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_ellipse_get_type';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_CANVAS_RE : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_RE:=gnome_canvas_re_get_type;
+end;
+
+function GNOME_IS_CANVAS_RE(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_RE:=(obj<>nil) and GNOME_IS_CANVAS_RE_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_RE_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_RE_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_RE);
+end;
+
+function fill_set(var a : TGnomeCanvasRE) : dword;
+begin
+   fill_set:=(a.flag0 and bm__GnomeCanvasRE_fill_set) shr bp__GnomeCanvasRE_fill_set;
+end;
+
+procedure set_fill_set(var a : TGnomeCanvasRE; __fill_set : dword);
+begin
+   a.flag0:=a.flag0 or ((__fill_set shl bp__GnomeCanvasRE_fill_set) and bm__GnomeCanvasRE_fill_set);
+end;
+
+function outline_set(var a : TGnomeCanvasRE) : dword;
+begin
+   outline_set:=(a.flag0 and bm__GnomeCanvasRE_outline_set) shr bp__GnomeCanvasRE_outline_set;
+end;
+
+procedure set_outline_set(var a : TGnomeCanvasRE; __outline_set : dword);
+begin
+   a.flag0:=a.flag0 or ((__outline_set shl bp__GnomeCanvasRE_outline_set) and bm__GnomeCanvasRE_outline_set);
+end;
+
+function width_pixels(var a : TGnomeCanvasRE) : dword;
+begin
+   width_pixels:=(a.flag0 and bm__GnomeCanvasRE_width_pixels) shr bp__GnomeCanvasRE_width_pixels;
+end;
+
+procedure set_width_pixels(var a : TGnomeCanvasRE; __width_pixels : dword);
+begin
+   a.flag0:=a.flag0 or ((__width_pixels shl bp__GnomeCanvasRE_width_pixels) and bm__GnomeCanvasRE_width_pixels);
+end;
+
+function GNOME_TYPE_CANVAS_RECT : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_RECT:=gnome_canvas_rect_get_type;
+end;
+
+function GNOME_IS_CANVAS_RECT(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_RECT:=(obj<>nil) and GNOME_IS_CANVAS_RECT_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_RECT_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_RECT_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_RECT);
+end;
+
+function GNOME_TYPE_CANVAS_ELLIPSE : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_ELLIPSE:=gnome_canvas_ellipse_get_type;
+end;
+
+function GNOME_IS_CANVAS_ELLIPSE(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_ELLIPSE:=(obj<>nil) and GNOME_IS_CANVAS_ELLIPSE_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_ELLIPSE_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_ELLIPSE_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_ELLIPSE);
+end;
+
+{$Endif read_implementation}

+ 103 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvastext.inc

@@ -0,0 +1,103 @@
+{$IfDef read_interface}
+
+type
+   PGnomeCanvasTextSuckChar = ^TGnomeCanvasTextSuckChar;
+   TGnomeCanvasTextSuckChar = record
+        left_sb : longint;
+        right_sb : longint;
+        width : longint;
+        ascent : longint;
+        descent : longint;
+        bitmap_offset : longint;
+     end;
+
+   PGnomeCanvasTextSuckFont = ^TGnomeCanvasTextSuckFont;
+   TGnomeCanvasTextSuckFont = record
+        bitmap : Pguchar;
+        bitmap_width : gint;
+        bitmap_height : gint;
+        ascent : gint;
+        chars : array[0..255] of TGnomeCanvasTextSuckChar;
+     end;
+
+   PGnomeCanvasText = ^TGnomeCanvasText;
+   TGnomeCanvasText = record
+        item : TGnomeCanvasItem;
+        thetext : Pchar;
+        lines : gpointer;
+        num_lines : longint;
+        x : double;
+        y : double;
+        font : PGdkFont;
+        anchor : TGtkAnchorType;
+        justification : TGtkJustification;
+        clip_width : double;
+        clip_height : double;
+        xofs : double;
+        yofs : double;
+        pixel : gulong;
+        stipple : PGdkBitmap;
+        gc : PGdkGC;
+        cx : longint;
+        cy : longint;
+        clip_cx : longint;
+        clip_cy : longint;
+        clip_cwidth : longint;
+        clip_cheight : longint;
+        max_width : longint;
+        height : longint;
+        flag0 : word;
+        suckfont : PGnomeCanvasTextSuckFont;
+        rgba : guint32;
+        affine : Taffine_array;
+     end;
+   GNOME_CANVAS_TEXT = PGnomeCanvasText;
+
+const
+   bm__GnomeCanvasText_clip = $1;
+   bp__GnomeCanvasText_clip = 0;
+function clip(var a : TGnomeCanvasText) : guint;
+procedure set_clip(var a : TGnomeCanvasText; __clip : guint);
+type
+   PGnomeCanvasTextClass = ^TGnomeCanvasTextClass;
+   TGnomeCanvasTextClass = record
+        parent_class : TGnomeCanvasItemClass;
+     end;
+   GNOME_CANVAS_TEXT_CLASS = PGnomeCanvasTextClass;
+
+function GNOME_TYPE_CANVAS_TEXT : TGTKType;
+function GNOME_IS_CANVAS_TEXT(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_TEXT_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_text_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_text_get_type';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function clip(var a : TGnomeCanvasText) : guint;
+begin
+   clip:=(a.flag0 and bm__GnomeCanvasText_clip) shr bp__GnomeCanvasText_clip;
+end;
+
+procedure set_clip(var a : TGnomeCanvasText; __clip : guint);
+begin
+   a.flag0:=a.flag0 or ((__clip shl bp__GnomeCanvasText_clip) and bm__GnomeCanvasText_clip);
+end;
+
+function GNOME_TYPE_CANVAS_TEXT : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_TEXT:=gnome_canvas_text_get_type;
+end;
+
+function GNOME_IS_CANVAS_TEXT(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_TEXT:=(obj<>nil) and GNOME_IS_CANVAS_TEXT_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_TEXT_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_TEXT_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_TEXT);
+end;
+
+{$Endif read_implementation}

+ 40 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvasutil.inc

@@ -0,0 +1,40 @@
+{$IfDef read_interface}
+
+type
+   PGnomeCanvasPoints = ^TGnomeCanvasPoints;
+   TGnomeCanvasPoints = record
+        num_points : longint;
+        coords : Pdouble;
+        ref_count : longint;
+     end;
+
+function gnome_canvas_points_new(num_points:longint):PGnomeCanvasPoints;cdecl;external libgnomeuidll name 'gnome_canvas_points_new';
+function gnome_canvas_points_ref(points:PGnomeCanvasPoints):PGnomeCanvasPoints;cdecl;external libgnomeuidll name 'gnome_canvas_points_ref';
+
+procedure gnome_canvas_points_unref(points:PGnomeCanvasPoints);cdecl;external libgnomeuidll name 'gnome_canvas_points_free';
+procedure gnome_canvas_points_free(points:PGnomeCanvasPoints);cdecl;external libgnomeuidll name 'gnome_canvas_points_free';
+
+function gnome_canvas_get_miter_points(x1:double; y1:double; x2:double; y2:double; x3:double; 
+           y3:double; width:double; mx1:Pdouble; my1:Pdouble; mx2:Pdouble; 
+           my2:Pdouble):longint;cdecl;external libgnomeuidll name 'gnome_canvas_get_miter_points';
+procedure gnome_canvas_get_butt_points(x1:double; y1:double; x2:double; y2:double; width:double; 
+            project:longint; bx1:Pdouble; by1:Pdouble; bx2:Pdouble; by2:Pdouble);cdecl;external libgnomeuidll name 'gnome_canvas_get_butt_points';
+function gnome_canvas_polygon_to_point(poly:Pdouble; num_points:longint; x:double; y:double):double;cdecl;external libgnomeuidll name 'gnome_canvas_polygon_to_point';
+procedure gnome_canvas_render_svp(buf:PGnomeCanvasBuf; svp:PArtSVP; rgba:guint32);cdecl;external libgnomeuidll name 'gnome_canvas_render_svp';
+procedure gnome_canvas_update_svp(canvas:PGnomeCanvas; p_svp:PPArtSVP; new_svp:PArtSVP);cdecl;external libgnomeuidll name 'gnome_canvas_update_svp';
+procedure gnome_canvas_update_svp_clip(canvas:PGnomeCanvas; p_svp:PPArtSVP; new_svp:PArtSVP; clip_svp:PArtSVP);cdecl;external libgnomeuidll name 'gnome_canvas_update_svp_clip';
+procedure gnome_canvas_item_reset_bounds(item:PGnomeCanvasItem);cdecl;external libgnomeuidll name 'gnome_canvas_item_reset_bounds';
+procedure gnome_canvas_item_update_svp(item:PGnomeCanvasItem; p_svp:PPArtSVP; new_svp:PArtSVP);cdecl;external libgnomeuidll name 'gnome_canvas_item_update_svp';
+procedure gnome_canvas_item_update_svp_clip(item:PGnomeCanvasItem; p_svp:PPArtSVP; new_svp:PArtSVP; clip_svp:PArtSVP);cdecl;external libgnomeuidll name 'gnome_canvas_item_update_svp_clip';
+procedure gnome_canvas_item_request_redraw_svp(item:PGnomeCanvasItem; svp:PArtSVP);cdecl;external libgnomeuidll name 'gnome_canvas_item_request_redraw_svp';
+procedure gnome_canvas_update_bbox(item:PGnomeCanvasItem; x1:longint; y1:longint; x2:longint; y2:longint);cdecl;external libgnomeuidll name 'gnome_canvas_update_bbox';
+procedure gnome_canvas_buf_ensure_buf(buf:PGnomeCanvasBuf);cdecl;external libgnomeuidll name 'gnome_canvas_buf_ensure_buf';
+function gnome_canvas_join_gdk_to_art(gdk_join:TGdkJoinStyle):TArtPathStrokeJoinType;cdecl;external libgnomeuidll name 'gnome_canvas_join_gdk_to_art';
+function gnome_canvas_cap_gdk_to_art(gdk_cap:TGdkCapStyle):TArtPathStrokeCapType;cdecl;external libgnomeuidll name 'gnome_canvas_cap_gdk_to_art';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+
+{$Endif read_implementation}

+ 83 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecanvaswidget.inc

@@ -0,0 +1,83 @@
+{$IfDef read_interface}
+
+type
+   PGnomeCanvasWidget = ^TGnomeCanvasWidget;
+   TGnomeCanvasWidget = record
+        item : TGnomeCanvasItem;
+        widget : PGtkWidget;
+        x : double;
+        y : double;
+        width : double;
+        height : double;
+        anchor : TGtkAnchorType;
+        cx : longint;
+        cy : longint;
+        cwidth : longint;
+        cheight : longint;
+        destroy_id : guint;
+        flag0 : word;
+     end;
+   GNOME_CANVAS_WIDGET = PGnomeCanvasWidget;
+
+const
+   bm__GnomeCanvasWidget_size_pixels = $1;
+   bp__GnomeCanvasWidget_size_pixels = 0;
+   bm__GnomeCanvasWidget_in_destroy = $2;
+   bp__GnomeCanvasWidget_in_destroy = 1;
+function size_pixels(var a : TGnomeCanvasWidget) : guint;
+procedure set_size_pixels(var a : TGnomeCanvasWidget; __size_pixels : guint);
+function in_destroy(var a : TGnomeCanvasWidget) : guint;
+procedure set_in_destroy(var a : TGnomeCanvasWidget; __in_destroy : guint);
+type
+   PGnomeCanvasWidgetClass = ^TGnomeCanvasWidgetClass;
+   TGnomeCanvasWidgetClass = record
+        parent_class : TGnomeCanvasItemClass;
+     end;
+   GNOME_CANVAS_WIDGET_CLASS = PGnomeCanvasWidgetClass;
+
+function GNOME_TYPE_CANVAS_WIDGET : TGTKType;
+function GNOME_IS_CANVAS_WIDGET(obj : Pointer) : Boolean;
+function GNOME_IS_CANVAS_WIDGET_CLASS(klass : Pointer) : Boolean;
+
+function gnome_canvas_widget_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_canvas_widget_get_type';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_CANVAS_WIDGET : TGTKType;
+begin
+  GNOME_TYPE_CANVAS_WIDGET:=gnome_canvas_widget_get_type;
+end;
+
+function GNOME_IS_CANVAS_WIDGET(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_WIDGET:=(obj<>nil) and GNOME_IS_CANVAS_WIDGET_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CANVAS_WIDGET_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CANVAS_WIDGET_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CANVAS_WIDGET);
+end;
+
+function size_pixels(var a : TGnomeCanvasWidget) : guint;
+begin
+   size_pixels:=(a.flag0 and bm__GnomeCanvasWidget_size_pixels) shr bp__GnomeCanvasWidget_size_pixels;
+end;
+
+procedure set_size_pixels(var a : TGnomeCanvasWidget; __size_pixels : guint);
+begin
+   a.flag0:=a.flag0 or ((__size_pixels shl bp__GnomeCanvasWidget_size_pixels) and bm__GnomeCanvasWidget_size_pixels);
+end;
+
+function in_destroy(var a : TGnomeCanvasWidget) : guint;
+begin
+   in_destroy:=(a.flag0 and bm__GnomeCanvasWidget_in_destroy) shr bp__GnomeCanvasWidget_in_destroy;
+end;
+
+procedure set_in_destroy(var a : TGnomeCanvasWidget; __in_destroy : guint);
+begin
+   a.flag0:=a.flag0 or ((__in_destroy shl bp__GnomeCanvasWidget_in_destroy) and bm__GnomeCanvasWidget_in_destroy);
+end;
+
+{$Endif read_implementation}

+ 143 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeclient.inc

@@ -0,0 +1,143 @@
+{$IfDef read_interface}
+
+type
+   TGnomeInteractStyle = (GNOME_INTERACT_NONE,GNOME_INTERACT_ERRORS,
+     GNOME_INTERACT_ANY);
+
+   TGnomeDialogType = (GNOME_DIALOG_ERROR,GNOME_DIALOG_NORMAL
+     );
+
+   TGnomeSaveStyle = (GNOME_SAVE_GLOBAL,GNOME_SAVE_LOCAL,GNOME_SAVE_BOTH
+     );
+
+   TGnomeRestartStyle = (GNOME_RESTART_IF_RUNNING,GNOME_RESTART_ANYWAY,
+     GNOME_RESTART_IMMEDIATELY,GNOME_RESTART_NEVER
+     );
+
+   TGnomeClientState = (GNOME_CLIENT_IDLE,GNOME_CLIENT_SAVING_PHASE_1,
+     GNOME_CLIENT_WAITING_FOR_PHASE_2,GNOME_CLIENT_SAVING_PHASE_2,
+     GNOME_CLIENT_FROZEN,GNOME_CLIENT_DISCONNECTED,
+     GNOME_CLIENT_REGISTERING);
+
+   TGnomeClientFlags = (GNOME_CLIENT_IS_CONNECTED := 1 shl 0,GNOME_CLIENT_RESTARTED := 1 shl 1,
+     GNOME_CLIENT_RESTORED := 1 shl 2);
+
+   PGnomeClient = ^TGnomeClient;
+   TGnomeClient = record
+        theobject : TGtkObject;
+        smc_conn : gpointer;
+        input_id : gint;
+        client_id : Pgchar;
+        previous_id : Pgchar;
+        config_prefix : Pgchar;
+        global_config_prefix : Pgchar;
+        static_args : PGList;
+        clone_command : PPgchar;
+        current_directory : Pgchar;
+        discard_command : PPgchar;
+        environment : PGHashTable;
+        process_id : pid_t;
+        theprogram : Pgchar;
+        resign_command : PPgchar;
+        restart_command : PPgchar;
+        restart_style : TGnomeRestartStyle;
+        shutdown_command : PPgchar;
+        user_id : Pgchar;
+        save_style : TGnomeSaveStyle;
+        interact_style : TGnomeInteractStyle;
+        shutdown : gboolean;
+        fast : gboolean;
+        state : TGnomeClientState;
+        save_phase_2_requested : gboolean;
+        save_successfull : gboolean;
+        save_yourself_emitted : gboolean;
+        interaction_keys : PGSList;
+     end;
+   GNOME_CLIENT = PGnomeClient;
+
+   TGnomeInteractFunction = procedure (client:PGnomeClient; key:gint; dialog_type:TGnomeDialogType; data:gpointer);cdecl;
+
+  function GNOME_CLIENT_CONNECTED(obj : pointer) : gboolean;
+
+Type
+   PGnomeClientClass = ^TGnomeClientClass;
+   TGnomeClientClass = record
+        parent_class : TGtkObjectClass;
+        save_yourself : function (client:PGnomeClient; phase:gint; save_style:TGnomeSaveStyle; shutdown:gint; interact_style:TGnomeInteractStyle; 
+                     fast:gint):gboolean; cdecl;
+        die : procedure (client:PGnomeClient); cdecl;
+        save_complete : procedure (client:PGnomeClient); cdecl;
+        shutdown_cancelled : procedure (client:PGnomeClient); cdecl;
+        connect : procedure (client:PGnomeClient; restarted:gint); cdecl;
+        disconnect : procedure (client:PGnomeClient);cdecl;
+     end;
+   GNOME_CLIENT_CLASS = PGnomeClientClass;
+
+function GNOME_TYPE_CLIENT : TGTKType;
+function GNOME_IS_CLIENT(obj : Pointer) : Boolean;
+function GNOME_IS_CLIENT_CLASS(klass : Pointer) : Boolean;
+
+function gnome_client_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_client_get_type';
+procedure gnome_client_init;cdecl;external libgnomeuidll name 'gnome_client_init';
+function gnome_master_client:PGnomeClient;cdecl;external libgnomeuidll name 'gnome_master_client';
+function gnome_client_get_config_prefix(client:PGnomeClient):Pgchar;cdecl;external libgnomeuidll name 'gnome_client_get_config_prefix';
+function gnome_client_get_global_config_prefix(client:PGnomeClient):Pgchar;cdecl;external libgnomeuidll name 'gnome_client_get_global_config_prefix';
+procedure gnome_client_set_global_config_prefix(client:PGnomeClient; prefix:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_global_config_prefix';
+function gnome_client_get_flags(client:PGnomeClient):TGnomeClientFlags;cdecl;external libgnomeuidll name 'gnome_client_get_flags';
+procedure gnome_client_set_restart_style(client:PGnomeClient; style:TGnomeRestartStyle);cdecl;external libgnomeuidll name 'gnome_client_set_restart_style';
+procedure gnome_client_set_priority(client:PGnomeClient; priority:guint);cdecl;external libgnomeuidll name 'gnome_client_set_priority';
+procedure gnome_client_set_restart_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_restart_command';
+procedure gnome_client_add_static_arg(client:PGnomeClient; args:array of const);cdecl;external libgnomeuidll name 'gnome_client_add_static_arg';
+procedure gnome_client_set_discard_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_discard_command';
+procedure gnome_client_set_resign_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_resign_command';
+procedure gnome_client_set_shutdown_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_shutdown_command';
+procedure gnome_client_set_current_directory(client:PGnomeClient; dir:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_current_directory';
+procedure gnome_client_set_environment(client:PGnomeClient; name:Pgchar; value:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_environment';
+procedure gnome_client_set_clone_command(client:PGnomeClient; argc:gint; argv:PPgchar);cdecl;external libgnomeuidll name 'gnome_client_set_clone_command';
+procedure gnome_client_set_process_id(client:PGnomeClient; pid:pid_t);cdecl;external libgnomeuidll name 'gnome_client_set_process_id';
+procedure gnome_client_set_program(client:PGnomeClient; theprogram:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_program';
+procedure gnome_client_set_user_id(client:PGnomeClient; user_id:Pgchar);cdecl;external libgnomeuidll name 'gnome_client_set_user_id';
+procedure gnome_client_save_any_dialog(client:PGnomeClient; dialog:PGnomeDialog);cdecl;external libgnomeuidll name 'gnome_client_save_any_dialog';
+procedure gnome_client_save_error_dialog(client:PGnomeClient; dialog:PGnomeDialog);cdecl;external libgnomeuidll name 'gnome_client_save_error_dialog';
+procedure gnome_client_request_phase_2(client:PGnomeClient);cdecl;external libgnomeuidll name 'gnome_client_request_phase_2';
+procedure gnome_client_request_save(client:PGnomeClient; save_style:TGnomeSaveStyle; shutdown:gboolean; interact_style:TGnomeInteractStyle; fast:gboolean; 
+            global:gboolean);cdecl;external libgnomeuidll name 'gnome_client_request_save';
+procedure gnome_client_flush(client:PGnomeClient);cdecl;external libgnomeuidll name 'gnome_client_flush';
+procedure gnome_client_disable_master_connection;cdecl;external libgnomeuidll name 'gnome_client_disable_master_connection';
+function gnome_client_new:PGnomeClient;cdecl;external libgnomeuidll name 'gnome_client_new';
+function gnome_client_new_without_connection:PGnomeClient;cdecl;external libgnomeuidll name 'gnome_client_new_without_connection';
+procedure gnome_client_connect(client:PGnomeClient);cdecl;external libgnomeuidll name 'gnome_client_connect';
+procedure gnome_client_disconnect(client:PGnomeClient);cdecl;external libgnomeuidll name 'gnome_client_disconnect';
+procedure gnome_client_set_id(client:PGnomeClient; client_id:Pgchar);cdecl;external libgnomeuidll name '';
+function gnome_client_get_id(client:PGnomeClient):Pgchar;cdecl;external libgnomeuidll name 'gnome_client_get_id';
+function gnome_client_get_previous_id(client:PGnomeClient):Pgchar;cdecl;external libgnomeuidll name 'gnome_client_get_previous_id';
+function gnome_cloned_client:PGnomeClient;cdecl;external libgnomeuidll name 'gnome_cloned_client';
+procedure gnome_client_request_interaction(client:PGnomeClient; dialog:TGnomeDialogType; func:TGnomeInteractFunction; client_data:gpointer);cdecl;external libgnomeuidll name 'gnome_client_request_interaction';
+procedure gnome_client_request_interaction_interp(client:PGnomeClient; dialog:TGnomeDialogType; func:TGtkCallbackMarshal; data:gpointer; destroy:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_client_request_interaction_interp';
+procedure gnome_interaction_key_return(key:gint; cancel_shutdown:gboolean);cdecl;external libgnomeuidll name 'gnome_interaction_key_return';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_CLIENT : TGTKType;
+begin
+  GNOME_TYPE_CLIENT:=gnome_client_get_type;
+end;
+
+function GNOME_IS_CLIENT(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_CLIENT:=(obj<>nil) and GNOME_IS_CLIENT_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_CLIENT_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_CLIENT_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_CLIENT);
+end;
+
+function GNOME_CLIENT_CONNECTED(obj : pointer) : gboolean;
+begin
+   GNOME_CLIENT_CONNECTED:=(obj <> nil) and ((GNOME_CLIENT(obj))^.smc_conn <> nil);
+end;
+
+{$Endif read_implementation}

+ 94 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomecolorpicker.inc

@@ -0,0 +1,94 @@
+{$IfDef read_interface}
+type
+   PGnomeColorPicker = ^TGnomeColorPicker;
+   TGnomeColorPicker = record
+        button : TGtkButton;
+        r : gdouble;
+        g : gdouble;
+        b : gdouble;
+        a : gdouble;
+        image : PGdkImlibImage;
+        pixmap : PGdkPixmap;
+        gc : PGdkGC;
+        da : PGtkWidget;
+        cs_dialog : PGtkWidget;
+        title : Pgchar;
+        flag0 : word;
+     end;
+   GNOME_COLOR_PICKER = PGnomeColorPicker;
+
+const
+   bm__GnomeColorPicker_dither = $1;
+   bp__GnomeColorPicker_dither = 0;
+   bm__GnomeColorPicker_use_alpha = $2;
+   bp__GnomeColorPicker_use_alpha = 1;
+function dither(var a :TGnomeColorPicker) : guint;
+procedure set_dither(var a :TGnomeColorPicker; __dither : guint);
+function use_alpha(var a :TGnomeColorPicker) : guint;
+procedure set_use_alpha(var a :TGnomeColorPicker; __use_alpha : guint);
+
+type
+   PGnomeColorPickerClass = ^TGnomeColorPickerClass;
+   TGnomeColorPickerClass = record
+        parent_class : TGtkButtonClass;
+        color_set : procedure (cp:PGnomeColorPicker; r:guint; g:guint; b:guint; a:guint);cdecl;
+     end;
+   GNOME_COLOR_PICKER_CLASS = PGnomeColorPickerClass;
+
+
+function GNOME_TYPE_COLOR_PICKER : TGTKType;
+function GNOME_IS_COLOR_PICKER(obj : Pointer) : Boolean;
+function GNOME_IS_COLOR_PICKER_CLASS(klass : Pointer) : Boolean;
+
+function gnome_color_picker_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_color_picker_get_type';
+function gnome_color_picker_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_color_picker_new';
+procedure gnome_color_picker_set_d(cp:PGnomeColorPicker; r:gdouble; g:gdouble; b:gdouble; a:gdouble);cdecl;external libgnomeuidll name 'gnome_color_picker_set_d';
+procedure gnome_color_picker_get_d(cp:PGnomeColorPicker; r:Pgdouble; g:Pgdouble; b:Pgdouble; a:Pgdouble);cdecl;external libgnomeuidll name 'gnome_color_picker_get_d';
+procedure gnome_color_picker_set_i8(cp:PGnomeColorPicker; r:guint8; g:guint8; b:guint8; a:guint8);cdecl;external libgnomeuidll name 'gnome_color_picker_set_i8';
+procedure gnome_color_picker_get_i8(cp:PGnomeColorPicker; r:Pguint8; g:Pguint8; b:Pguint8; a:Pguint8);cdecl;external libgnomeuidll name 'gnome_color_picker_get_i8';
+procedure gnome_color_picker_set_i16(cp:PGnomeColorPicker; r:gushort; g:gushort; b:gushort; a:gushort);cdecl;external libgnomeuidll name 'gnome_color_picker_set_i16';
+procedure gnome_color_picker_get_i16(cp:PGnomeColorPicker; r:Pgushort; g:Pgushort; b:Pgushort; a:Pgushort);cdecl;external libgnomeuidll name 'gnome_color_picker_get_i16';
+procedure gnome_color_picker_set_dither(cp:PGnomeColorPicker; dither:gboolean);cdecl;external libgnomeuidll name 'gnome_color_picker_set_dither';
+procedure gnome_color_picker_set_use_alpha(cp:PGnomeColorPicker; use_alpha:gboolean);cdecl;external libgnomeuidll name 'gnome_color_picker_set_use_alpha';
+procedure gnome_color_picker_set_title(cp:PGnomeColorPicker; title:Pgchar);cdecl;external libgnomeuidll name 'gnome_color_picker_set_title';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_COLOR_PICKER : TGTKType;
+begin
+  GNOME_TYPE_COLOR_PICKER:=gnome_color_picker_get_type;
+end;
+
+function GNOME_IS_COLOR_PICKER(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_COLOR_PICKER:=(obj<>nil) and GNOME_IS_COLOR_PICKER_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_COLOR_PICKER_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_COLOR_PICKER_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_COLOR_PICKER);
+end;
+
+function dither(var a :TGnomeColorPicker) : guint;
+begin
+   dither:=(a.flag0 and bm__GnomeColorPicker_dither) shr bp__GnomeColorPicker_dither;
+end;
+
+procedure set_dither(var a :TGnomeColorPicker; __dither : guint);
+begin
+   a.flag0:=a.flag0 or ((__dither shl bp__GnomeColorPicker_dither) and bm__GnomeColorPicker_dither);
+end;
+
+function use_alpha(var a :TGnomeColorPicker) : guint;
+begin
+   use_alpha:=(a.flag0 and bm__GnomeColorPicker_use_alpha) shr bp__GnomeColorPicker_use_alpha;
+end;
+
+procedure set_use_alpha(var a :TGnomeColorPicker; __use_alpha : guint);
+begin
+   a.flag0:=a.flag0 or ((__use_alpha shl bp__GnomeColorPicker_use_alpha) and bm__GnomeColorPicker_use_alpha);
+end;
+
+{$Endif read_implementation}

+ 65 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedateedit.inc

@@ -0,0 +1,65 @@
+{$IfDef read_interface}
+type
+   TGnomeDateEditFlags = (GNOME_DATE_EDIT_SHOW_TIME := 1 shl 0,GNOME_DATE_EDIT_24_HR := 1 shl 1,
+     GNOME_DATE_EDIT_WEEK_STARTS_ON_MONDAY := 1 shl 2
+     );
+
+type
+   PGnomeDateEdit = ^TGnomeDateEdit;
+   TGnomeDateEdit = record
+        hbox : TGtkHBox;
+        date_entry : PGtkWidget;
+        date_button : PGtkWidget;
+        time_entry : PGtkWidget;
+        time_popup : PGtkWidget;
+        cal_label : PGtkWidget;
+        cal_popup : PGtkWidget;
+        calendar : PGtkWidget;
+        lower_hour : longint;
+        upper_hour : longint;
+        initial_time : time_t;
+        flags : longint;
+     end;
+   GNOME_DATE_EDIT = PGnomeDateEdit;
+
+   PGnomeDateEditClass = ^TGnomeDateEditClass;
+   TGnomeDateEditClass = record
+        parent_class : TGtkHBoxClass;
+        date_changed : procedure (gde:PGnomeDateEdit);cdecl;
+        time_changed : procedure (gde:PGnomeDateEdit);cdecl;
+     end;
+   GNOME_DATE_EDIT_CLASS = PGnomeDateEditClass;
+
+function GNOME_TYPE_DATE_EDIT : TGTKType;
+function GNOME_IS_DATE_EDIT(obj : Pointer) : Boolean;
+function GNOME_IS_DATE_EDIT_CLASS(klass : Pointer) : Boolean;
+
+function gnome_date_edit_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_date_edit_get_type';
+function gnome_date_edit_new(the_time:time_t; show_time:longint; use_24_format:longint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_date_edit_new';
+function gnome_date_edit_new_flags(the_time:time_t; flags:TGnomeDateEditFlags):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_date_edit_new_flags';
+procedure gnome_date_edit_set_time(gde:PGnomeDateEdit; the_time:time_t);cdecl;external libgnomeuidll name 'gnome_date_edit_set_time';
+procedure gnome_date_edit_set_popup_range(gde:PGnomeDateEdit; low_hour:longint; up_hour:longint);cdecl;external libgnomeuidll name 'gnome_date_edit_set_popup_range';
+function gnome_date_edit_get_date(gde:PGnomeDateEdit):time_t;cdecl;external libgnomeuidll name 'gnome_date_edit_get_date';
+procedure gnome_date_edit_set_flags(gde:PGnomeDateEdit; flags:TGnomeDateEditFlags);cdecl;external libgnomeuidll name 'gnome_date_edit_set_flags';
+function gnome_date_edit_get_flags(gde:PGnomeDateEdit):longint;cdecl;external libgnomeuidll name 'gnome_date_edit_get_flags';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DATE_EDIT : TGTKType;
+begin
+  GNOME_TYPE_DATE_EDIT:=gnome_date_edit_get_type;
+end;
+
+function GNOME_IS_DATE_EDIT(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_DATE_EDIT:=(obj<>nil) and GNOME_IS_DATE_EDIT_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DATE_EDIT_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_DATE_EDIT_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DATE_EDIT);
+end;
+
+{$Endif read_implementation}

+ 87 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedentryedit.inc

@@ -0,0 +1,87 @@
+{$IfDef read_interface}
+
+type
+   PGnomeDEntryEdit = ^TGnomeDEntryEdit;
+   TGnomeDEntryEdit = record
+        theobject : TGtkObject;
+        child1 : PGtkWidget;
+        child2 : PGtkWidget;
+        name_entry : PGtkWidget;
+        comment_entry : PGtkWidget;
+        exec_entry : PGtkWidget;
+        tryexec_entry : PGtkWidget;
+        doc_entry : PGtkWidget;
+        type_combo : PGtkWidget;
+        terminal_button : PGtkWidget;
+        icon_entry : PGtkWidget;
+        translations : PGtkWidget;
+        transl_lang_entry : PGtkWidget;
+        transl_name_entry : PGtkWidget;
+        transl_comment_entry : PGtkWidget;
+     end;
+   GNOME_DENTRY_EDIT = PGnomeDEntryEdit;
+
+   PGnomeDEntryEditClass = ^TGnomeDEntryEditClass;
+   TGnomeDEntryEditClass = record
+        parent_class : TGtkObjectClass;
+        changed : procedure (gee:PGnomeDEntryEdit);cdecl;
+        icon_changed : procedure (gee:PGnomeDEntryEdit);cdecl;
+        name_changed : procedure (gee:PGnomeDEntryEdit);cdecl;
+     end;
+   GNOME_DENTRY_EDIT_CLASS = PGnomeDEntryEditClass;
+
+function GNOME_TYPE_DENTRY_EDIT : TGTKType;
+function GNOME_IS_DENTRY_EDIT(obj : Pointer) : Boolean;
+function GNOME_IS_DENTRY_EDIT_CLASS(klass : Pointer) : Boolean;
+
+function gnome_dentry_edit_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dentry_edit_get_type';
+function gnome_dentry_edit_new:PGtkObject;cdecl;external libgnomeuidll name 'gnome_dentry_edit_new';
+
+function gnome_dentry_edit_child1(d : PGnomeDEntryEdit) : PGTKWidget;
+function gnome_dentry_edit_child2(d : PGnomeDEntryEdit) : PGTKWidget;
+
+function gnome_dentry_edit_new_notebook(notebook:PGtkNotebook):PGtkObject;cdecl;external libgnomeuidll name 'gnome_dentry_edit_new_notebook';
+procedure gnome_dentry_edit_clear(dee:PGnomeDEntryEdit);cdecl;external libgnomeuidll name 'gnome_dentry_edit_clear';
+procedure gnome_dentry_edit_load_file(dee:PGnomeDEntryEdit; path:Pgchar);cdecl;external libgnomeuidll name 'gnome_dentry_edit_load_file';
+procedure gnome_dentry_edit_set_dentry(dee:PGnomeDEntryEdit; dentry:PGnomeDesktopEntry);cdecl;external libgnomeuidll name 'gnome_dentry_edit_set_dentry';
+function gnome_dentry_edit_get_dentry(dee:PGnomeDEntryEdit):PGnomeDesktopEntry;cdecl;external libgnomeuidll name 'gnome_dentry_edit_get_dentry';
+function gnome_dentry_get_dentry(dee:PGnomeDEntryEdit):PGnomeDesktopEntry;cdecl;external libgnomeuidll name 'gnome_dentry_get_dentry';
+function gnome_dentry_edit_get_icon(dee:PGnomeDEntryEdit):Pgchar;cdecl;external libgnomeuidll name 'gnome_dentry_edit_get_icon';
+function gnome_dentry_edit_get_name(dee:PGnomeDEntryEdit):Pgchar;cdecl;external libgnomeuidll name 'gnome_dentry_edit_get_name';
+function gnome_dentry_get_name_entry(dee:PGnomeDEntryEdit):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dentry_get_name_entry';
+function gnome_dentry_get_comment_entry(dee:PGnomeDEntryEdit):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dentry_get_comment_entry';
+function gnome_dentry_get_exec_entry(dee:PGnomeDEntryEdit):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dentry_get_exec_entry';
+function gnome_dentry_get_tryexec_entry(dee:PGnomeDEntryEdit):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dentry_get_tryexec_entry';
+function gnome_dentry_get_doc_entry(dee:PGnomeDEntryEdit):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dentry_get_doc_entry';
+function gnome_dentry_get_icon_entry(dee:PGnomeDEntryEdit):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dentry_get_icon_entry';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DENTRY_EDIT : TGTKType;
+begin
+  GNOME_TYPE_DENTRY_EDIT:=gnome_dentry_edit_get_type;
+end;
+
+function GNOME_IS_DENTRY_EDIT(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_DENTRY_EDIT:=(obj<>nil) and GNOME_IS_DENTRY_EDIT_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DENTRY_EDIT_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_DENTRY_EDIT_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DENTRY_EDIT);
+end;
+
+function gnome_dentry_edit_child1(d : PGnomeDEntryEdit) : PGTKWidget;
+begin
+   gnome_dentry_edit_child1:=d^.child1;
+end;
+
+function gnome_dentry_edit_child2(d : PGnomeDEntryEdit) : PGTKWidget;
+begin
+   gnome_dentry_edit_child2:=d^.child2;
+end;
+
+{$Endif read_implementation}

+ 105 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedialog.inc

@@ -0,0 +1,105 @@
+{$IfDef read_interface}
+type
+  PGnomeDialog = ^TGnomeDialog;
+  
+  TGnomeDialog = record
+      window : TGtkWindow;
+      vbox : PGtkWidget;
+      action_area : PGtkWidget;
+      buttons : PGList;
+      accelerators : PGtkAccelGroup;
+      flag0 : word;
+      padding : gpointer;
+   end;
+  GNOME_DIALOG = PGnomeDialog;
+
+const
+   bm_TGnomeDialog_click_closes = $1;
+   bp_TGnomeDialog_click_closes = 0;
+   bm_TGnomeDialog_just_hide = $2;
+   bp_TGnomeDialog_just_hide = 1;
+   
+function click_closes(var a : TGnomeDialog) : Boolean;
+procedure set_click_closes(var a : TGnomeDialog; __click_closes : Boolean);
+function just_hide(var a : TGnomeDialog) : Boolean;
+procedure set_just_hide(var a : TGnomeDialog; __just_hide : Boolean);
+
+type
+   PGnomeDialogClass = ^TGnomeDialogClass;
+   TGnomeDialogClass = record
+        parent_class : TGtkWindowClass;
+        clicked : procedure (dialog:PGnomeDialog; button_number:gint);cdecl;
+        close : function (dialog:PGnomeDialog):gboolean; cdecl;
+    end;
+    GNOME_DIALOG_CLASS = PGnomeDialogClass;
+
+function GNOME_TYPE_DIALOG : TGTKType;
+function GNOME_IS_DIALOG(obj : Pointer) : Boolean;
+function GNOME_IS_DIALOG_CLASS(klass : Pointer) : Boolean;
+
+function gnome_dialog_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_dialog_get_type';
+function gnome_dialog_new(title:Pgchar; args:array of const):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dialog_new';
+function gnome_dialog_new(title:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dialog_new';
+function gnome_dialog_newv(title:Pgchar; buttons:PPgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dialog_newv';
+procedure gnome_dialog_set_parent(dialog:PGnomeDialog; parent:PGtkWindow);cdecl;external libgnomeuidll name 'gnome_dialog_set_parent';
+procedure gnome_dialog_button_connect(dialog:PGnomeDialog; button:gint; callback:TGtkSignalFunc; data:gpointer);cdecl;external libgnomeuidll name 'gnome_dialog_button_connect';
+procedure gnome_dialog_button_connect_object(dialog:PGnomeDialog; button:gint; callback:TGtkSignalFunc; obj:PGtkObject);cdecl;external libgnomeuidll name 'gnome_dialog_button_connect_object';
+function gnome_dialog_run(dialog:PGnomeDialog):gint;cdecl;external libgnomeuidll name 'gnome_dialog_run';
+function gnome_dialog_run_and_close(dialog:PGnomeDialog):gint;cdecl;external libgnomeuidll name 'gnome_dialog_run_and_close';
+procedure gnome_dialog_set_default(dialog:PGnomeDialog; button:gint);cdecl;external libgnomeuidll name 'gnome_dialog_set_default';
+procedure gnome_dialog_grab_focus(dialog:PGnomeDialog; button:gint);cdecl;external libgnomeuidll name 'gnome_dialog_grab_focus';
+procedure gnome_dialog_set_sensitive(dialog:PGnomeDialog; button:gint; setting:gboolean);cdecl;external libgnomeuidll name 'gnome_dialog_set_sensitive';
+procedure gnome_dialog_set_accelerator(dialog:PGnomeDialog; button:gint; accelerator_key:guchar; accelerator_mods:guint8);cdecl;external libgnomeuidll name 'gnome_dialog_set_accelerator';
+procedure gnome_dialog_close(dialog:PGnomeDialog);cdecl;external libgnomeuidll name 'gnome_dialog_close';
+procedure gnome_dialog_close_hides(dialog:PGnomeDialog; just_hide:gboolean);cdecl;external libgnomeuidll name 'gnome_dialog_close_hides';
+procedure gnome_dialog_set_close(dialog:PGnomeDialog; click_closes:gboolean);cdecl;external libgnomeuidll name 'gnome_dialog_set_close';
+procedure gnome_dialog_editable_enters(dialog:PGnomeDialog; editable:PGtkEditable);cdecl;external libgnomeuidll name 'gnome_dialog_editable_enters';
+procedure gnome_dialog_append_buttons(dialog:PGnomeDialog; first:Pgchar; args:array of const);cdecl;external libgnomeuidll name 'gnome_dialog_append_buttons';
+procedure gnome_dialog_append_buttons(dialog:PGnomeDialog; first:Pgchar);cdecl;external libgnomeuidll name 'gnome_dialog_append_buttons';
+procedure gnome_dialog_append_button(dialog:PGnomeDialog; name:Pgchar);cdecl;external libgnomeuidll name 'gnome_dialog_append_button';
+procedure gnome_dialog_append_buttonsv(dialog:PGnomeDialog; buttons:PPgchar);cdecl;external libgnomeuidll name 'gnome_dialog_append_buttonsv';
+procedure gnome_dialog_append_button_with_pixmap(dialog:PGnomeDialog; name:Pgchar; pixmap:Pgchar);cdecl;external libgnomeuidll name 'gnome_dialog_append_button_with_pixmap';
+procedure gnome_dialog_append_buttons_with_pixmaps(dialog:PGnomeDialog; names:PPgchar; pixmaps:PPgchar);cdecl;external libgnomeuidll name 'gnome_dialog_append_buttons_with_pixmaps';
+procedure gnome_dialog_construct(dialog:PGnomeDialog; title:Pgchar; ap:va_list);cdecl;external libgnomeuidll name 'gnome_dialog_construct';
+procedure gnome_dialog_constructv(dialog:PGnomeDialog; title:Pgchar; buttons:PPgchar);cdecl;external libgnomeuidll name 'gnome_dialog_constructv';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DIALOG : TGTKType;
+begin
+  GNOME_TYPE_DIALOG:=gnome_dialog_get_type;
+end;
+
+function GNOME_IS_DIALOG(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_DIALOG:=(obj<>nil) and GNOME_IS_DIALOG_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DIALOG_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_DIALOG_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DIALOG);
+end;
+
+function click_closes(var a : TGnomeDialog) : Boolean;
+begin
+   click_closes:=Boolean((a.flag0 and bm_TGnomeDialog_click_closes) shr bp_TGnomeDialog_click_closes);
+end;
+
+procedure set_click_closes(var a : TGnomeDialog; __click_closes : Boolean);
+begin
+   a.flag0:=a.flag0 or ((Longint(__click_closes) shl bp_TGnomeDialog_click_closes) and bm_TGnomeDialog_click_closes);
+end;
+
+function just_hide(var a : TGnomeDialog) : Boolean;
+begin
+   just_hide:=Boolean((a.flag0 and bm_TGnomeDialog_just_hide) shr bp_TGnomeDialog_just_hide);
+end;
+
+procedure set_just_hide(var a : TGnomeDialog; __just_hide : Boolean);
+begin
+   a.flag0:=a.flag0 or ((Longint(__just_hide) shl bp_TGnomeDialog_just_hide) and bm_TGnomeDialog_just_hide);
+end;
+
+{$Endif read_implementation}

+ 24 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedialogutil.inc

@@ -0,0 +1,24 @@
+{$IfDef read_interface}
+
+function gnome_ok_dialog(message:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_ok_dialog';
+function gnome_ok_dialog_parented(message:Pgchar; parent:PGtkWindow):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_ok_dialog_parented';
+function gnome_error_dialog(error:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_error_dialog';
+function gnome_error_dialog_parented(error:Pgchar; parent:PGtkWindow):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_error_dialog_parented';
+function gnome_warning_dialog(warning:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_warning_dialog';
+function gnome_warning_dialog_parented(warning:Pgchar; parent:PGtkWindow):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_warning_dialog_parented';
+function gnome_question_dialog(question:Pgchar; callback:TGnomeReplyCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_question_dialog';
+function gnome_question_dialog_parented(question:Pgchar; callback:TGnomeReplyCallback; data:gpointer; parent:PGtkWindow):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_question_dialog_parented';
+function gnome_question_dialog_modal(question:Pgchar; callback:TGnomeReplyCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_question_dialog_modal';
+function gnome_question_dialog_modal_parented(question:Pgchar; callback:TGnomeReplyCallback; data:gpointer; parent:PGtkWindow):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_question_dialog_modal_parented';
+function gnome_ok_cancel_dialog(message:Pgchar; callback:TGnomeReplyCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_ok_cancel_dialog';
+function gnome_ok_cancel_dialog_parented(message:Pgchar; callback:TGnomeReplyCallback; data:gpointer; parent:PGtkWindow):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_ok_cancel_dialog_parented';
+function gnome_ok_cancel_dialog_modal(message:Pgchar; callback:TGnomeReplyCallback; data:gpointer):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_ok_cancel_dialog_modal';
+function gnome_ok_cancel_dialog_modal_parented(message:Pgchar; callback:TGnomeReplyCallback; data:gpointer; parent:PGtkWindow):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_ok_cancel_dialog_modal_parented';
+function gnome_request_dialog(password:gboolean; prompt:Pgchar; default_text:Pgchar; max_length:guint16; callback:TGnomeStringCallback; 
+           data:gpointer; parent:PGtkWindow):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_request_dialog';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 368 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedock.inc

@@ -0,0 +1,368 @@
+{$IfDef read_interface}
+type
+   PGnomeDockPlacement = ^TGnomeDockPlacement;
+   TGnomeDockPlacement = (GNOME_DOCK_TOP,GNOME_DOCK_RIGHT,GNOME_DOCK_BOTTOM,
+     GNOME_DOCK_LEFT,GNOME_DOCK_FLOATING);
+
+type
+   TGnomeDockItemBehavior = (GNOME_DOCK_ITEM_BEH_NORMAL := 0,GNOME_DOCK_ITEM_BEH_EXCLUSIVE := 1 shl 0,
+     GNOME_DOCK_ITEM_BEH_NEVER_FLOATING := 1 shl 1,
+     GNOME_DOCK_ITEM_BEH_NEVER_VERTICAL := 1 shl 2,
+     GNOME_DOCK_ITEM_BEH_NEVER_HORIZONTAL := 1 shl 3,
+     GNOME_DOCK_ITEM_BEH_LOCKED := 1 shl 4);
+
+const
+   GNOME_DOCK_ITEM_BEH_NEVER_DETACH = GNOME_DOCK_ITEM_BEH_NEVER_FLOATING;
+
+type
+   PGnomeDockItem = ^TGnomeDockItem;
+   TGnomeDockItem = record
+        bin : TGtkBin;
+        name : Pgchar;
+        bin_window : PGdkWindow;
+        float_window : PGdkWindow;
+        shadow_type : TGtkShadowType;
+        orientation : TGtkOrientation;
+        behavior : TGnomeDockItemBehavior;
+        flag0 : word;
+        dragoff_x : gint;
+        dragoff_y : gint;
+        float_x : gint;
+        float_y : gint;
+        grab_on_map_event : guint;
+     end;
+   GNOME_DOCK_ITEM = PGnomeDockItem;
+
+function GNOME_DOCK_ITEM_NOT_LOCKED(x : PGnomeDockItem) : gboolean;
+
+const
+   bm__GnomeDockItem_float_window_mapped = $1;
+   bp__GnomeDockItem_float_window_mapped = 0;
+   bm__GnomeDockItem_is_floating = $2;
+   bp__GnomeDockItem_is_floating = 1;
+   bm__GnomeDockItem_in_drag = $4;
+   bp__GnomeDockItem_in_drag = 2;
+   
+function float_window_mapped(var a : TGnomeDockItem) : gboolean;
+procedure set_float_window_mapped(var a : TGnomeDockItem; __float_window_mapped : gboolean);
+function is_floating(var a : TGnomeDockItem) : gboolean;
+procedure set_is_floating(var a : TGnomeDockItem; __is_floating : gboolean);
+function in_drag(var a : TGnomeDockItem) : gboolean;
+procedure set_in_drag(var a : TGnomeDockItem; __in_drag : gboolean);
+
+type
+   PGnomeDockItemClass = ^TGnomeDockItemClass;
+   TGnomeDockItemClass = record
+        parent_class : TGtkBinClass;
+        dock_drag_begin : procedure (item:PGnomeDockItem);cdecl;
+        dock_drag_motion : procedure (item:PGnomeDockItem; x:gint; y:gint);cdecl;
+        dock_drag_end : procedure (item:PGnomeDockItem);cdecl;
+        dock_detach : procedure (item:PGnomeDockItem);cdecl;
+     end;
+   GNOME_DOCK_ITEM_CLASS = PGnomeDockItemClass;
+
+type
+   PGnomeDockLayoutItem = ^TGnomeDockLayoutItem;
+   TGnomeDockLayoutItem = record
+        item : PGnomeDockItem;
+        placement : TGnomeDockPlacement;
+        position : record
+            case longint of
+               0 : ( floating : record
+                    x : gint;
+                    y : gint;
+                    orientation : TGtkOrientation;
+                 end );
+               1 : ( docked : record
+                    band_num : gint;
+                    band_position : gint;
+                    offset : gint;
+                 end );
+            end;
+     end;
+   GNOME_DOCK_LAYOUT_ITEM = PGnomeDockLayoutItem;
+
+   PGnomeDockLayout = ^TGnomeDockLayout;
+   TGnomeDockLayout = record
+        theobject : TGtkObject;
+        items : PGList;
+     end;
+   GNOME_DOCK_LAYOUT = PGnomeDockLayout;
+
+   PGnomeDockLayoutClass = ^TGnomeDockLayoutClass;
+   TGnomeDockLayoutClass = record
+        parent_class : TGtkObjectClass;
+     end;
+   GNOME_DOCK_LAYOUT_CLASS = PGnomeDockLayoutClass;
+
+type
+   PGnomeDockBand = ^TGnomeDockBand;
+   TGnomeDockBand = record
+        container : TGtkContainer;
+        orientation : TGtkOrientation;
+        children : PGList;
+        num_children : guint;
+        floating_child : PGList;
+        doing_drag : gboolean;
+        max_space_requisition : guint;
+        tot_offsets : guint;
+        drag_allocation : TGtkAllocation;
+        flag0 : word;
+     end;
+   GNOME_DOCK_BAND = PGnomeDockBand;
+
+const
+   bm__GnomeDockBand_new_for_drag = $1;
+   bp__GnomeDockBand_new_for_drag = 0;
+
+function new_for_drag(var a : TGnomeDockBand) : Boolean;
+procedure set_new_for_drag(var a : TGnomeDockBand; __new_for_drag : Boolean);
+
+type
+   PGnomeDockBandClass = ^TGnomeDockBandClass;
+   TGnomeDockBandClass = record
+        parent_class : TGtkContainerClass;
+     end;
+   GNOME_DOCK_BAND_CLASS = PGnomeDockBandClass;
+
+   PGnomeDockBandChild = ^TGnomeDockBandChild;
+   TGnomeDockBandChild = record
+        widget : PGtkWidget;
+        offset : guint;
+        real_offset : guint;
+        drag_offset : guint;
+        drag_allocation : TGtkAllocation;
+        prev_space : guint;
+        foll_space : guint;
+        drag_prev_space : guint;
+        drag_foll_space : guint;
+        max_space_requisition : guint;
+     end;
+   GNOME_DOCK_BAND_CHILD = PGnomeDockBandChild;
+
+type
+   PGnomeDock = ^TGnomeDock;
+   TGnomeDock = record
+        container : TGtkContainer;
+        client_area : PGtkWidget;
+        top_bands : PGList;
+        bottom_bands : PGList;
+        right_bands : PGList;
+        left_bands : PGList;
+        floating_children : PGList;
+        client_rect : TGtkAllocation;
+        flag0 : word;
+     end;
+   GNOME_DOCK = PGnomeDock;
+
+const
+   bm__GnomeDock_floating_items_allowed = $1;
+   bp__GnomeDock_floating_items_allowed = 0;
+
+function floating_items_allowed(var a : TGnomeDock) : gboolean;
+procedure set_floating_items_allowed(var a : TGnomeDock; __floating_items_allowed : gboolean);
+
+type
+   PGnomeDockClass = ^TGnomeDockClass;
+   TGnomeDockClass = record
+        parent_class : TGtkContainerClass;
+        layout_changed : procedure (dock:PGnomeDock);cdecl;
+     end;
+   GNOME_DOCK_CLASS = PGnomeDockClass;
+
+function GNOME_TYPE_DOCK_ITEM : TGTKType;
+function GNOME_IS_DOCK_ITEM(obj : Pointer) : Boolean;
+function GNOME_IS_DOCK_ITEM_CLASS(klass : Pointer) : Boolean;
+
+function gnome_dock_item_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_item_get_type';
+function gnome_dock_item_new(name:Pgchar; behavior:TGnomeDockItemBehavior):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_item_new';
+procedure gnome_dock_item_construct(new_dock_item:PGnomeDockItem; name:Pgchar; behavior:TGnomeDockItemBehavior);cdecl;external libgnomeuidll name 'gnome_dock_item_construct';
+function gnome_dock_item_get_child(dock_item:PGnomeDockItem):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_item_get_child';
+function gnome_dock_item_get_name(dock_item:PGnomeDockItem):Pchar;cdecl;external libgnomeuidll name 'gnome_dock_item_get_name';
+procedure gnome_dock_item_set_shadow_type(dock_item:PGnomeDockItem; thetype:TGtkShadowType);cdecl;external libgnomeuidll name 'gnome_dock_item_set_shadow_type';
+function gnome_dock_item_get_shadow_type(dock_item:PGnomeDockItem):TGtkShadowType;cdecl;external libgnomeuidll name 'gnome_dock_item_get_shadow_type';
+function gnome_dock_item_set_orientation(dock_item:PGnomeDockItem; orientation:TGtkOrientation):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_item_set_orientation';
+function gnome_dock_item_get_orientation(dock_item:PGnomeDockItem):TGtkOrientation;cdecl;external libgnomeuidll name 'gnome_dock_item_get_orientation';
+function gnome_dock_item_get_behavior(dock_item:PGnomeDockItem):TGnomeDockItemBehavior;cdecl;external libgnomeuidll name 'gnome_dock_item_get_behavior';
+function gnome_dock_item_detach(item:PGnomeDockItem; x:gint; y:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_item_detach';
+procedure gnome_dock_item_attach(item:PGnomeDockItem; parent:PGtkWidget; x:gint; y:gint);cdecl;external libgnomeuidll name 'gnome_dock_item_attach';
+procedure gnome_dock_item_grab_pointer(item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_item_grab_pointer';
+procedure gnome_dock_item_drag_floating(item:PGnomeDockItem; x:gint; y:gint);cdecl;external libgnomeuidll name 'gnome_dock_item_drag_floating';
+procedure gnome_dock_item_handle_size_request(item:PGnomeDockItem; requisition:PGtkRequisition);cdecl;external libgnomeuidll name 'gnome_dock_item_handle_size_request';
+procedure gnome_dock_item_get_floating_position(item:PGnomeDockItem; x:Pgint; y:Pgint);cdecl;external libgnomeuidll name 'gnome_dock_item_get_floating_position';
+
+function GNOME_TYPE_DOCK_LAYOUT : TGTKType;
+function GNOME_IS_DOCK_LAYOUT(obj : pointer) : Boolean;
+function GNOME_IS_DOCK_LAYOUT_CLASS(klass : pointer) : boolean;
+
+function gnome_dock_layout_new:PGnomeDockLayout;cdecl;external libgnomeuidll name 'gnome_dock_layout_new';
+function gnome_dock_layout_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_type';
+function gnome_dock_layout_add_item(layout:PGnomeDockLayout; item:PGnomeDockItem; placement:TGnomeDockPlacement; band_num:gint; band_position:gint; 
+           offset:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_item';
+function gnome_dock_layout_add_floating_item(layout:PGnomeDockLayout; item:PGnomeDockItem; x:gint; y:gint; orientation:TGtkOrientation):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_floating_item';
+function gnome_dock_layout_get_item(layout:PGnomeDockLayout; item:PGnomeDockItem):PGnomeDockLayoutItem;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_item';
+function gnome_dock_layout_get_item_by_name(layout:PGnomeDockLayout; name:Pgchar):PGnomeDockLayoutItem;cdecl;external libgnomeuidll name 'gnome_dock_layout_get_item_by_name';
+function gnome_dock_layout_remove_item(layout:PGnomeDockLayout; item:PGnomeDockItem):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_remove_item';
+function gnome_dock_layout_remove_item_by_name(layout:PGnomeDockLayout; name:Pgchar):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_remove_item_by_name';
+function gnome_dock_layout_create_string(layout:PGnomeDockLayout):Pgchar;cdecl;external libgnomeuidll name 'gnome_dock_layout_create_string';
+function gnome_dock_layout_parse_string(layout:PGnomeDockLayout; _string:Pgchar):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_parse_string';
+function gnome_dock_layout_add_to_dock(layout:PGnomeDockLayout; dock:PGnomeDock):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_layout_add_to_dock';
+
+function GNOME_TYPE_DOCK_BAND : TGTKType;
+function GNOME_IS_DOCK_BAND(obj : Pointer) : Boolean;
+function GNOME_IS_DOCK_BAND_CLASS(klass : Pointer) : Boolean;
+
+function gnome_dock_band_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_band_new';
+function gnome_dock_band_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_band_get_type';
+procedure gnome_dock_band_set_orientation(band:PGnomeDockBand; orientation:TGtkOrientation);cdecl;external libgnomeuidll name 'gnome_dock_band_set_orientation';
+function gnome_dock_band_get_orientation(band:PGnomeDockBand):TGtkOrientation;cdecl;external libgnomeuidll name 'gnome_dock_band_get_orientation';
+function gnome_dock_band_insert(band:PGnomeDockBand; child:PGtkWidget; offset:guint; position:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_insert';
+function gnome_dock_band_prepend(band:PGnomeDockBand; child:PGtkWidget; offset:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_prepend';
+function gnome_dock_band_append(band:PGnomeDockBand; child:PGtkWidget; offset:guint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_append';
+procedure gnome_dock_band_set_child_offset(band:PGnomeDockBand; child:PGtkWidget; offset:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_set_child_offset';
+function gnome_dock_band_get_child_offset(band:PGnomeDockBand; child:PGtkWidget):guint;cdecl;external libgnomeuidll name 'gnome_dock_band_get_child_offset';
+procedure gnome_dock_band_move_child(band:PGnomeDockBand; old_child:PGList; new_num:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_move_child';
+function gnome_dock_band_get_num_children(band:PGnomeDockBand):guint;cdecl;external libgnomeuidll name 'gnome_dock_band_get_num_children';
+procedure gnome_dock_band_drag_begin(band:PGnomeDockBand; item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_band_drag_begin';
+function gnome_dock_band_drag_to(band:PGnomeDockBand; item:PGnomeDockItem; x:gint; y:gint):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_band_drag_to';
+procedure gnome_dock_band_drag_end(band:PGnomeDockBand; item:PGnomeDockItem);cdecl;external libgnomeuidll name 'gnome_dock_band_drag_end';
+function gnome_dock_band_get_item_by_name(band:PGnomeDockBand; name:Pchar; position_return:Pguint; offset_return:Pguint):PGnomeDockItem;cdecl;external libgnomeuidll name 'gnome_dock_band_get_item_by_name';
+procedure gnome_dock_band_layout_add(band:PGnomeDockBand; layout:PGnomeDockLayout; placement:TGnomeDockPlacement; band_num:guint);cdecl;external libgnomeuidll name 'gnome_dock_band_layout_add';
+
+function GNOME_TYPE_DOCK : TGTKType;
+function GNOME_IS_DOCK(obj : Pointer) : Boolean;
+function GNOME_IS_DOCK_CLASS(klass : Pointer) : Boolean;
+
+function gnome_dock_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_new';
+function gnome_dock_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_dock_get_type';
+procedure gnome_dock_allow_floating_items(dock:PGnomeDock; enable:gboolean);cdecl;external libgnomeuidll name 'gnome_dock_allow_floating_items';
+procedure gnome_dock_add_item(dock:PGnomeDock; item:PGnomeDockItem; placement:TGnomeDockPlacement; band_num:guint; position:gint; 
+            offset:guint; in_new_band:gboolean);cdecl;external libgnomeuidll name 'gnome_dock_add_item';
+procedure gnome_dock_add_floating_item(dock:PGnomeDock; widget:PGnomeDockItem; x:gint; y:gint; orientation:TGtkOrientation);cdecl;external libgnomeuidll name 'gnome_dock_add_floating_item';
+procedure gnome_dock_set_client_area(dock:PGnomeDock; widget:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_dock_set_client_area';
+function gnome_dock_get_client_area(dock:PGnomeDock):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_dock_get_client_area';
+function gnome_dock_get_item_by_name(dock:PGnomeDock; name:Pgchar; placement_return:PGnomeDockPlacement; num_band_return:Pguint; band_position_return:Pguint; 
+           offset_return:Pguint):PGnomeDockItem;cdecl;external libgnomeuidll name 'gnome_dock_get_item_by_name';
+function gnome_dock_get_layout(dock:PGnomeDock):PGnomeDockLayout;cdecl;external libgnomeuidll name 'gnome_dock_get_layout';
+function gnome_dock_add_from_layout(dock:PGnomeDock; layout:PGnomeDockLayout):gboolean;cdecl;external libgnomeuidll name 'gnome_dock_add_from_layout';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DOCK_ITEM : TGTKType;
+begin
+  GNOME_TYPE_DOCK_ITEM:=gnome_dock_band_get_type;
+end;
+
+function GNOME_IS_DOCK_ITEM(obj : pointer) : Boolean;
+begin
+   GNOME_IS_DOCK_ITEM:=(obj<>nil) and GNOME_IS_DOCK_ITEM_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DOCK_ITEM_CLASS(klass : pointer) : boolean;
+begin
+   GNOME_IS_DOCK_ITEM_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_ITEM);
+end;
+
+function GNOME_DOCK_ITEM_NOT_LOCKED(x : PGnomeDockItem) : gboolean;
+begin
+   GNOME_DOCK_ITEM_NOT_LOCKED:= not gboolean(gint(x^.behavior) and gint(GNOME_DOCK_ITEM_BEH_LOCKED));
+end;
+
+function float_window_mapped(var a : TGnomeDockItem) : gboolean;
+begin
+   float_window_mapped:=gboolean((a.flag0 and bm__GnomeDockItem_float_window_mapped) shr bp__GnomeDockItem_float_window_mapped);
+end;
+
+procedure set_float_window_mapped(var a : TGnomeDockItem; __float_window_mapped : gboolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__float_window_mapped) shl bp__GnomeDockItem_float_window_mapped) and bm__GnomeDockItem_float_window_mapped);
+end;
+
+function is_floating(var a : TGnomeDockItem) : gboolean;
+begin
+   is_floating:=gboolean((a.flag0 and bm__GnomeDockItem_is_floating) shr bp__GnomeDockItem_is_floating);
+end;
+
+procedure set_is_floating(var a : TGnomeDockItem; __is_floating : gboolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__is_floating) shl bp__GnomeDockItem_is_floating) and bm__GnomeDockItem_is_floating);
+end;
+
+function in_drag(var a : TGnomeDockItem) : gboolean;
+begin
+   in_drag:=gboolean((a.flag0 and bm__GnomeDockItem_in_drag) shr bp__GnomeDockItem_in_drag);
+end;
+
+procedure set_in_drag(var a : TGnomeDockItem; __in_drag : gboolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__in_drag) shl bp__GnomeDockItem_in_drag) and bm__GnomeDockItem_in_drag);
+end;
+
+function GNOME_TYPE_DOCK_LAYOUT : TGTKType;
+begin
+  GNOME_TYPE_DOCK_LAYOUT:=gnome_dock_layout_get_type;
+end;
+
+function GNOME_IS_DOCK_LAYOUT(obj : pointer) : Boolean;
+begin
+   GNOME_IS_DOCK_LAYOUT:=(obj<>nil) and GNOME_IS_DOCK_LAYOUT_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DOCK_LAYOUT_CLASS(klass : pointer) : boolean;
+begin
+   GNOME_IS_DOCK_LAYOUT_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_LAYOUT);
+end;
+
+function GNOME_TYPE_DOCK_BAND : TGTKType;
+begin
+  GNOME_TYPE_DOCK_BAND:=gnome_dock_band_get_type;
+end;
+
+function GNOME_IS_DOCK_BAND(obj : pointer) : Boolean;
+begin
+   GNOME_IS_DOCK_BAND:=(obj<>nil) and GNOME_IS_DOCK_BAND_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DOCK_BAND_CLASS(klass : pointer) : boolean;
+begin
+   GNOME_IS_DOCK_BAND_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK_BAND);
+end;
+
+function new_for_drag(var a : TGnomeDockBand) : boolean;
+begin
+   new_for_drag:=boolean((a.flag0 and bm__GnomeDockBand_new_for_drag) shr bp__GnomeDockBand_new_for_drag);
+end;
+
+procedure set_new_for_drag(var a : TGnomeDockBand; __new_for_drag : boolean);
+begin
+   a.flag0:=a.flag0 or ((longint(__new_for_drag) shl bp__GnomeDockBand_new_for_drag) and bm__GnomeDockBand_new_for_drag);
+end;
+
+function GNOME_TYPE_DOCK : TGTKType;
+begin
+  GNOME_TYPE_DOCK:=gnome_dock_get_type;
+end;
+
+function GNOME_IS_DOCK(obj : pointer) : Boolean;
+begin
+   GNOME_IS_DOCK:=(obj<>nil) and GNOME_IS_DOCK_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DOCK_CLASS(klass : pointer) : boolean;
+begin
+   GNOME_IS_DOCK_CLASS:= (klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DOCK);
+end;
+
+function floating_items_allowed(var a : TGnomeDock) : gboolean;
+begin
+   floating_items_allowed:=gBoolean((a.flag0 and bm__GnomeDock_floating_items_allowed) shr bp__GnomeDock_floating_items_allowed);
+end;
+
+procedure set_floating_items_allowed(var a : TGnomeDock; __floating_items_allowed : gboolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__floating_items_allowed) shl bp__GnomeDock_floating_items_allowed) and bm__GnomeDock_floating_items_allowed);
+end;
+
+{$Endif read_implementation}

+ 56 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedruid.inc

@@ -0,0 +1,56 @@
+{$IfDef read_interface}
+
+type
+   PGnomeDruid = ^TGnomeDruid;
+   TGnomeDruid = record
+        parent : TGtkContainer;
+        back : PGtkWidget;
+        next : PGtkWidget;
+        cancel : PGtkWidget;
+        finish : PGtkWidget;
+        current : PGnomeDruidPage;
+        children : PGList;
+        show_finish : gboolean;
+     end;
+   GNOME_DRUID = PGnomeDruid;
+
+   PGnomeDruidClass = ^TGnomeDruidClass;
+   TGnomeDruidClass = record
+        parent_class : TGtkContainerClass;
+        cancel : procedure (druid:PGnomeDruid);cdecl;
+     end;
+   GNOME_DRUID_CLASS = PGnomeDruidClass;
+
+function GNOME_TYPE_DRUID : TGTKType;
+function GNOME_IS_DRUID(obj : Pointer) : Boolean;
+function GNOME_IS_DRUID_CLASS(klass : Pointer) : Boolean;
+
+function gnome_druid_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_druid_get_type';
+function gnome_druid_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_druid_new';
+procedure gnome_druid_set_buttons_sensitive(druid:PGnomeDruid; back_sensitive:gboolean; next_sensitive:gboolean; cancel_sensitive:gboolean);cdecl;external libgnomeuidll name 'gnome_druid_set_buttons_sensitive';
+procedure gnome_druid_set_show_finish(druid:PGnomeDruid; show_finish:gboolean);cdecl;external libgnomeuidll name 'gnome_druid_set_show_finish';
+procedure gnome_druid_prepend_page(druid:PGnomeDruid; page:PGnomeDruidPage);cdecl;external libgnomeuidll name 'gnome_druid_prepend_page';
+procedure gnome_druid_insert_page(druid:PGnomeDruid; back_page:PGnomeDruidPage; page:PGnomeDruidPage);cdecl;external libgnomeuidll name 'gnome_druid_insert_page';
+procedure gnome_druid_append_page(druid:PGnomeDruid; page:PGnomeDruidPage);cdecl;external libgnomeuidll name 'gnome_druid_append_page';
+procedure gnome_druid_set_page(druid:PGnomeDruid; page:PGnomeDruidPage);cdecl;external libgnomeuidll name 'gnome_druid_set_page';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DRUID : TGTKType;
+begin
+  GNOME_TYPE_DRUID:=gnome_druid_get_type;
+end;
+
+function GNOME_IS_DRUID(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID:=(obj<>nil) and GNOME_IS_DRUID_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DRUID_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DRUID);
+end;
+
+{$Endif read_implementation}

+ 50 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedruidpage.inc

@@ -0,0 +1,50 @@
+{$IfDef read_interface}
+type
+   PGnomeDruidPage = ^TGnomeDruidPage;
+   TGnomeDruidPage = record
+        parent : TGtkBin;
+     end;
+   GNOME_DRUID_PAGE = PGnomeDruidPage;
+
+   PGnomeDruidPageClass = ^TGnomeDruidPageClass;
+   TGnomeDruidPageClass = record
+        parent_class : TGtkBinClass;
+        next : function (druid_page:PGnomeDruidPage; druid:PGtkWidget):gboolean;cdecl;
+        prepare : procedure (druid_page:PGnomeDruidPage; druid:PGtkWidget);cdecl;
+        back : function (druid_page:PGnomeDruidPage; druid:PGtkWidget):gboolean;cdecl;
+        finish : procedure (druid_page:PGnomeDruidPage; druid:PGtkWidget);cdecl;
+        cancel : function (druid_page:PGnomeDruidPage; druid:PGtkWidget):gboolean;cdecl;
+     end;
+   GNOME_DRUID_PAGE_CLASS = PGnomeDruidPageClass;
+
+function GNOME_TYPE_DRUID_PAGE : TGTKType;
+function GNOME_IS_DRUID_PAGE(obj : Pointer) : Boolean;
+function GNOME_IS_DRUID_PAGE_CLASS(klass : Pointer) : Boolean;
+
+function gnome_druid_page_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_druid_page_get_type';
+function gnome_druid_page_next(druid_page:PGnomeDruidPage):gboolean;cdecl;external libgnomeuidll name 'gnome_druid_page_next';
+procedure gnome_druid_page_prepare(druid_page:PGnomeDruidPage);cdecl;external libgnomeuidll name 'gnome_druid_page_prepare';
+function gnome_druid_page_back(druid_page:PGnomeDruidPage):gboolean;cdecl;external libgnomeuidll name 'gnome_druid_page_back';
+function gnome_druid_page_cancel(druid_page:PGnomeDruidPage):gboolean;cdecl;external libgnomeuidll name 'gnome_druid_page_cancel';
+procedure gnome_druid_page_finish(druid_page:PGnomeDruidPage);cdecl;external libgnomeuidll name 'gnome_druid_page_finish';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DRUID_PAGE : TGTKType;
+begin
+  GNOME_TYPE_DRUID_PAGE:=gnome_druid_page_get_type;
+end;
+
+function GNOME_IS_DRUID_PAGE(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_PAGE:=(obj<>nil) and GNOME_IS_DRUID_PAGE_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DRUID_PAGE_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_PAGE_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DRUID_PAGE);
+end;
+
+{$Endif read_implementation}

+ 69 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedruidpagefinish.inc

@@ -0,0 +1,69 @@
+{$IfDef read_interface}
+
+type
+   PGnomeDruidPageFinish = ^TGnomeDruidPageFinish;
+   TGnomeDruidPageFinish = record
+        parent : TGnomeDruidPage;
+        background_color : TGdkColor;
+        textbox_color : TGdkColor;
+        logo_background_color : TGdkColor;
+        title_color : TGdkColor;
+        text_color : TGdkColor;
+        title : Pgchar;
+        thetext : Pgchar;
+        logo_image : PGdkImlibImage;
+        watermark_image : PGdkImlibImage;
+        canvas : PGtkWidget;
+        background_item : PGnomeCanvasItem;
+        textbox_item : PGnomeCanvasItem;
+        text_item : PGnomeCanvasItem;
+        logo_item : PGnomeCanvasItem;
+        logoframe_item : PGnomeCanvasItem;
+        watermark_item : PGnomeCanvasItem;
+        title_item : PGnomeCanvasItem;
+     end;
+   //GNOME_DRUID_PAGE_FINISH = PGnomeDruidPageFinish;(* this is also a function in gnomedruidpage.inc *)
+
+   PGnomeDruidPageFinishClass = ^TGnomeDruidPageFinishClass;
+   TGnomeDruidPageFinishClass = record
+        parent_class : TGnomeDruidPageClass;
+     end;
+   GNOME_DRUID_PAGE_FINISH_CLASS = PGnomeDruidPageFinishClass;
+
+function GNOME_TYPE_DRUID_PAGE_FINISH : TGTKType;
+function GNOME_IS_DRUID_PAGE_FINISH(obj : Pointer) : Boolean;
+function GNOME_IS_DRUID_PAGE_FINISH_CLASS(klass : Pointer) : Boolean;
+
+function gnome_druid_page_finish_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_druid_page_finish_get_type';
+function gnome_druid_page_finish_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_druid_page_finish_new';
+function gnome_druid_page_finish_new_with_vals(title:Pgchar; thetext:Pgchar; logo:PGdkImlibImage; watermark:PGdkImlibImage):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_druid_page_finish_new_with_vals';
+procedure gnome_druid_page_finish_set_bg_color(druid_page_finish:PGnomeDruidPageFinish; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_bg_color';
+procedure gnome_druid_page_finish_set_textbox_color(druid_page_finish:PGnomeDruidPageFinish; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_textbox_color';
+procedure gnome_druid_page_finish_set_logo_bg_color(druid_page_finish:PGnomeDruidPageFinish; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_logo_bg_color';
+procedure gnome_druid_page_finish_set_title_color(druid_page_finish:PGnomeDruidPageFinish; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_title_color';
+procedure gnome_druid_page_finish_set_text_color(druid_page_finish:PGnomeDruidPageFinish; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_text_color';
+procedure gnome_druid_page_finish_set_text(druid_page_finish:PGnomeDruidPageFinish; thetext:Pgchar);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_text';
+procedure gnome_druid_page_finish_set_title(druid_page_finish:PGnomeDruidPageFinish; title:Pgchar);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_title';
+procedure gnome_druid_page_finish_set_logo(druid_page_finish:PGnomeDruidPageFinish; logo_image:PGdkImlibImage);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_logo';
+procedure gnome_druid_page_finish_set_watermark(druid_page_finish:PGnomeDruidPageFinish; watermark:PGdkImlibImage);cdecl;external libgnomeuidll name 'gnome_druid_page_finish_set_watermark';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DRUID_PAGE_FINISH : TGTKType;
+begin
+  GNOME_TYPE_DRUID_PAGE_FINISH:=gnome_druid_page_finish_get_type;
+end;
+
+function GNOME_IS_DRUID_PAGE_FINISH(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_PAGE_FINISH:=(obj<>nil) and GNOME_IS_DRUID_PAGE_FINISH_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DRUID_PAGE_FINISH_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_PAGE_FINISH_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DRUID_PAGE_FINISH);
+end;
+
+{$Endif read_implementation}

+ 62 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedruidpagestandard.inc

@@ -0,0 +1,62 @@
+{$IfDef read_interface}
+
+type
+   PGnomeDruidPageStandard = ^TGnomeDruidPageStandard;
+   TGnomeDruidPageStandard = record
+        parent : TGnomeDruidPage;
+        vbox : PGtkWidget;
+        background_color : TGdkColor;
+        logo_background_color : TGdkColor;
+        title_color : TGdkColor;
+        logo_image : PGdkImlibImage;
+        title : Pgchar;
+        canvas : PGtkWidget;
+        side_bar : PGtkWidget;
+        logoframe_item : PGnomeCanvasItem;
+        logo_item : PGnomeCanvasItem;
+        title_item : PGnomeCanvasItem;
+        background_item : PGnomeCanvasItem;
+        bottom_bar : PGtkWidget;
+        right_bar : PGtkWidget;
+     end;
+   GNOME_DRUID_PAGE_STANDARD = PGnomeDruidPageStandard;
+
+   PGnomeDruidPageStandardClass = ^TGnomeDruidPageStandardClass;
+   TGnomeDruidPageStandardClass = record
+        parent_class : TGnomeDruidPageClass;
+     end;
+   GNOME_DRUID_PAGE_STANDARD_CLASS = PGnomeDruidPageStandardClass;
+
+function GNOME_TYPE_DRUID_PAGE_STANDARD : TGTKType;
+function GNOME_IS_DRUID_PAGE_STANDARD(obj : Pointer) : Boolean;
+function GNOME_IS_DRUID_PAGE_STANDARD_CLASS(klass : Pointer) : Boolean;
+
+function gnome_druid_page_standard_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_druid_page_standard_get_type';
+function gnome_druid_page_standard_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_druid_page_standard_new';
+function gnome_druid_page_standard_new_with_vals(title:Pgchar; logo:PGdkImlibImage):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_druid_page_standard_new_with_vals';
+procedure gnome_druid_page_standard_set_bg_color(druid_page_standard:PGnomeDruidPageStandard; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_standard_set_bg_color';
+procedure gnome_druid_page_standard_set_logo_bg_color(druid_page_standard:PGnomeDruidPageStandard; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_standard_set_logo_bg_color';
+procedure gnome_druid_page_standard_set_title_color(druid_page_standard:PGnomeDruidPageStandard; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_standard_set_title_color';
+procedure gnome_druid_page_standard_set_title(druid_page_standard:PGnomeDruidPageStandard; title:Pgchar);cdecl;external libgnomeuidll name 'gnome_druid_page_standard_set_title';
+procedure gnome_druid_page_standard_set_logo(druid_page_standard:PGnomeDruidPageStandard; logo_image:PGdkImlibImage);cdecl;external libgnomeuidll name 'gnome_druid_page_standard_set_logo';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DRUID_PAGE_STANDARD : TGTKType;
+begin
+  GNOME_TYPE_DRUID_PAGE_STANDARD:=gnome_druid_page_standard_get_type;
+end;
+
+function GNOME_IS_DRUID_PAGE_STANDARD(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_PAGE_STANDARD:=(obj<>nil) and GNOME_IS_DRUID_PAGE_STANDARD_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DRUID_PAGE_STANDARD_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_PAGE_STANDARD_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DRUID_PAGE_STANDARD);
+end;
+
+{$Endif read_implementation}

+ 70 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomedruidpagestart.inc

@@ -0,0 +1,70 @@
+{$IfDef read_interface}
+
+type
+   PGnomeDruidPageStart = ^TGnomeDruidPageStart;
+   TGnomeDruidPageStart = record
+        parent : TGnomeDruidPage;
+        background_color : TGdkColor;
+        textbox_color : TGdkColor;
+        logo_background_color : TGdkColor;
+        title_color : TGdkColor;
+        text_color : TGdkColor;
+        title : Pgchar;
+        thetext : Pgchar;
+        logo_image : PGdkImlibImage;
+        watermark_image : PGdkImlibImage;
+        canvas : PGtkWidget;
+        background_item : PGnomeCanvasItem;
+        textbox_item : PGnomeCanvasItem;
+        text_item : PGnomeCanvasItem;
+        logo_item : PGnomeCanvasItem;
+        logoframe_item : PGnomeCanvasItem;
+        watermark_item : PGnomeCanvasItem;
+        title_item : PGnomeCanvasItem;
+     end;
+   GNOME_DRUID_PAGE_START = PGnomeDruidPageStart;
+
+   PGnomeDruidPageStartClass = ^TGnomeDruidPageStartClass;
+   TGnomeDruidPageStartClass = record
+        parent_class : TGnomeDruidPageClass;
+     end;
+   GNOME_DRUID_PAGE_START_CLASS = PGnomeDruidPageStartClass;
+
+
+function GNOME_TYPE_DRUID_PAGE_START : TGTKType;
+function GNOME_IS_DRUID_PAGE_START(obj : Pointer) : Boolean;
+function GNOME_IS_DRUID_PAGE_START_CLASS(klass : Pointer) : Boolean;
+
+function gnome_druid_page_start_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_druid_page_start_get_type';
+function gnome_druid_page_start_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_druid_page_start_new';
+function gnome_druid_page_start_new_with_vals(title:Pgchar; thetext:Pgchar; logo:PGdkImlibImage; watermark:PGdkImlibImage):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_druid_page_start_new_with_vals';
+procedure gnome_druid_page_start_set_bg_color(druid_page_start:PGnomeDruidPageStart; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_bg_color';
+procedure gnome_druid_page_start_set_textbox_color(druid_page_start:PGnomeDruidPageStart; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_textbox_color';
+procedure gnome_druid_page_start_set_logo_bg_color(druid_page_start:PGnomeDruidPageStart; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_logo_bg_color';
+procedure gnome_druid_page_start_set_title_color(druid_page_start:PGnomeDruidPageStart; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_title_color';
+procedure gnome_druid_page_start_set_text_color(druid_page_start:PGnomeDruidPageStart; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_text_color';
+procedure gnome_druid_page_start_set_text(druid_page_start:PGnomeDruidPageStart; thetext:Pgchar);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_text';
+procedure gnome_druid_page_start_set_title(druid_page_start:PGnomeDruidPageStart; title:Pgchar);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_title';
+procedure gnome_druid_page_start_set_logo(druid_page_start:PGnomeDruidPageStart; logo_image:PGdkImlibImage);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_logo';
+procedure gnome_druid_page_start_set_watermark(druid_page_start:PGnomeDruidPageStart; watermark:PGdkImlibImage);cdecl;external libgnomeuidll name 'gnome_druid_page_start_set_watermark';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_DRUID_PAGE_START : TGTKType;
+begin
+  GNOME_TYPE_DRUID_PAGE_START:=gnome_druid_page_start_get_type;
+end;
+
+function GNOME_IS_DRUID_PAGE_START(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_PAGE_START:=(obj<>nil) and GNOME_IS_DRUID_PAGE_START_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_DRUID_PAGE_START_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_DRUID_PAGE_START_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_DRUID_PAGE_START);
+end;
+
+{$Endif read_implementation}

+ 52 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeentry.inc

@@ -0,0 +1,52 @@
+{$IfDef read_interface}
+type
+   PGnomeEntry = ^TGnomeEntry;
+   TGnomeEntry = record
+        combo : TGtkCombo;
+        changed : gboolean;
+        history_id : Pgchar;
+        items : PGList;
+        max_saved : guint;
+     end;
+   GNOME_ENTRY = PGnomeEntry;
+
+   PGnomeEntryClass = ^TGnomeEntryClass;
+   TGnomeEntryClass = record
+        parent_class : TGtkComboClass;
+     end;
+   GNOME_ENTRY_CLASS = PGnomeEntryClass;
+
+function GNOME_TYPE_ENTRY : TGTKType;
+function GNOME_IS_ENTRY(obj : Pointer) : Boolean;
+function GNOME_IS_ENTRY_CLASS(klass : Pointer) : Boolean;
+
+function gnome_entry_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_entry_get_type';
+function gnome_entry_new(history_id:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_entry_new';
+function gnome_entry_gtk_entry(gentry:PGnomeEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_entry_gtk_entry';
+procedure gnome_entry_set_history_id(gentry:PGnomeEntry; history_id:Pgchar);cdecl;external libgnomeuidll name 'gnome_entry_set_history_id';
+procedure gnome_entry_set_max_saved(gentry:PGnomeEntry; max_saved:guint);cdecl;external libgnomeuidll name 'gnome_entry_set_max_saved';
+procedure gnome_entry_prepend_history(gentry:PGnomeEntry; save:gint; thetext:Pgchar);cdecl;external libgnomeuidll name 'gnome_entry_prepend_history';
+procedure gnome_entry_append_history(gentry:PGnomeEntry; save:gint; thetext:Pgchar);cdecl;external libgnomeuidll name 'gnome_entry_append_history';
+procedure gnome_entry_load_history(gentry:PGnomeEntry);cdecl;external libgnomeuidll name 'gnome_entry_load_history';
+procedure gnome_entry_save_history(gentry:PGnomeEntry);cdecl;external libgnomeuidll name 'gnome_entry_save_history';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_ENTRY : TGTKType;
+begin
+  GNOME_TYPE_ENTRY:=gnome_entry_get_type;
+end;
+
+function GNOME_IS_ENTRY(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_ENTRY:=(obj<>nil) and GNOME_IS_ENTRY_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_ENTRY_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_ENTRY_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_ENTRY);
+end;
+
+{$Endif read_implementation}

+ 57 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomefileentry.inc

@@ -0,0 +1,57 @@
+{$IfDef read_interface}
+type
+   PGnomeFileEntry = ^TGnomeFileEntry;
+   TGnomeFileEntry = record
+        hbox : TGtkHBox;
+        browse_dialog_title : Pchar;
+        default_path : Pchar;
+        fsw : PGtkWidget;
+        is_modal : gboolean;
+        directory_entry : gboolean;
+        gentry : PGtkWidget;
+     end;
+   GNOME_FILE_ENTRY = PGnomeFileEntry;
+
+   PGnomeFileEntryClass = ^TGnomeFileEntryClass;
+   TGnomeFileEntryClass = record
+        parent_class : TGtkHBoxClass;
+        browse_clicked : procedure (fentry:PGnomeFileEntry);cdecl;
+     end;
+   GNOME_FILE_ENTRY_CLASS = PGnomeFileEntryClass;
+
+
+function GNOME_TYPE_FILE_ENTRY : TGTKType;
+function GNOME_IS_FILE_ENTRY(obj : Pointer) : Boolean;
+function GNOME_IS_FILE_ENTRY_CLASS(klass : Pointer) : Boolean;
+
+function gnome_file_entry_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_file_entry_get_type';
+function gnome_file_entry_new(history_id:Pchar; browse_dialog_title:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_file_entry_new';
+procedure gnome_file_entry_construct(fentry:PGnomeFileEntry; history_id:Pchar; browse_dialog_title:Pchar);cdecl;external libgnomeuidll name 'gnome_file_entry_construct';
+function gnome_file_entry_gnome_entry(fentry:PGnomeFileEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_file_entry_gnome_entry';
+function gnome_file_entry_gtk_entry(fentry:PGnomeFileEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_file_entry_gtk_entry';
+procedure gnome_file_entry_set_title(fentry:PGnomeFileEntry; browse_dialog_title:Pchar);cdecl;external libgnomeuidll name 'gnome_file_entry_set_title';
+procedure gnome_file_entry_set_default_path(fentry:PGnomeFileEntry; path:Pchar);cdecl;external libgnomeuidll name 'gnome_file_entry_set_default_path';
+procedure gnome_file_entry_set_directory(fentry:PGnomeFileEntry; directory_entry:gboolean);cdecl;external libgnomeuidll name 'gnome_file_entry_set_directory';
+function gnome_file_entry_get_full_path(fentry:PGnomeFileEntry; file_must_exist:gboolean):Pchar;cdecl;external libgnomeuidll name 'gnome_file_entry_get_full_path';
+procedure gnome_file_entry_set_modal(fentry:PGnomeFileEntry; is_modal:gboolean);cdecl;external libgnomeuidll name 'gnome_file_entry_set_modal';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_FILE_ENTRY : TGTKType;
+begin
+  GNOME_TYPE_FILE_ENTRY:=gnome_file_entry_get_type;
+end;
+
+function GNOME_IS_FILE_ENTRY(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_FILE_ENTRY:=(obj<>nil) and GNOME_IS_FILE_ENTRY_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_FILE_ENTRY_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_FILE_ENTRY_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_FILE_ENTRY);
+end;
+
+{$Endif read_implementation}

+ 70 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomefontpicker.inc

@@ -0,0 +1,70 @@
+{$IfDef read_interface}
+
+type
+   TGnomeFontPickerMode = (GNOME_FONT_PICKER_MODE_PIXMAP,GNOME_FONT_PICKER_MODE_FONT_INFO,
+     GNOME_FONT_PICKER_MODE_USER_WIDGET,GNOME_FONT_PICKER_MODE_UNKNOWN
+     );
+
+   PGnomeFontPicker = ^TGnomeFontPicker;
+   TGnomeFontPicker = record
+        button : TGtkButton;
+        font_dialog : PGtkWidget;
+        inside : PGtkWidget;
+        font_label : PGtkWidget;
+        vsep : PGtkWidget;
+        size_label : PGtkWidget;
+        mode : TGnomeFontPickerMode;
+        font_name : Pgchar;
+        preview_text : Pgchar;
+        use_font_in_label : gboolean;
+        use_font_in_label_size : gboolean;
+        show_size : gboolean;
+        title : Pgchar;
+     end;
+   GNOME_FONT_PICKER = PGnomeFontPicker;
+
+   PGnomeFontPickerClass = ^TGnomeFontPickerClass;
+   TGnomeFontPickerClass = record
+        parent_class : TGtkButtonClass;
+        font_set : procedure (gfp:PGnomeFontPicker; font_name:Pgchar);cdecl;
+     end;
+   GNOME_FONT_PICKER_CLASS = PGnomeFontPickerClass;
+
+function GNOME_TYPE_FONT_PICKER : TGTKType;
+function GNOME_IS_FONT_PICKER(obj : Pointer) : Boolean;
+function GNOME_IS_FONT_PICKER_CLASS(klass : Pointer) : Boolean;
+
+function gnome_font_picker_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_font_picker_get_type';
+function gnome_font_picker_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_font_picker_new';
+procedure gnome_font_picker_set_title(gfp:PGnomeFontPicker; title:Pgchar);cdecl;external libgnomeuidll name 'gnome_font_picker_set_title';
+function gnome_font_picker_get_mode(gfp:PGnomeFontPicker):TGnomeFontPickerMode;cdecl;external libgnomeuidll name 'gnome_font_picker_get_mode';
+procedure gnome_font_picker_set_mode(gfp:PGnomeFontPicker; mode:TGnomeFontPickerMode);cdecl;external libgnomeuidll name 'gnome_font_picker_set_mode';
+procedure gnome_font_picker_fi_set_use_font_in_label(gfp:PGnomeFontPicker; use_font_in_label:gboolean; size:gint);cdecl;external libgnomeuidll name 'gnome_font_picker_fi_set_use_font_in_label';
+procedure gnome_font_picker_fi_set_show_size(gfp:PGnomeFontPicker; show_size:gboolean);cdecl;external libgnomeuidll name 'gnome_font_picker_fi_set_show_size';
+procedure gnome_font_picker_uw_set_widget(gfp:PGnomeFontPicker; widget:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_font_picker_uw_set_widget';
+function gnome_font_picker_get_font_name(gfp:PGnomeFontPicker):Pgchar;cdecl;external libgnomeuidll name 'gnome_font_picker_get_font_name';
+function gnome_font_picker_get_font(gfp:PGnomeFontPicker):PGdkFont;cdecl;external libgnomeuidll name 'gnome_font_picker_get_font';
+function gnome_font_picker_set_font_name(gfp:PGnomeFontPicker; fontname:Pgchar):gboolean;cdecl;external libgnomeuidll name 'gnome_font_picker_set_font_name';
+function gnome_font_picker_get_preview_text(gfp:PGnomeFontPicker):Pgchar;cdecl;external libgnomeuidll name 'gnome_font_picker_get_preview_text';
+procedure gnome_font_picker_set_preview_text(gfp:PGnomeFontPicker; thetext:Pgchar);cdecl;external libgnomeuidll name 'gnome_font_picker_set_preview_text';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_FONT_PICKER : TGTKType;
+begin
+  GNOME_TYPE_FONT_PICKER:=gnome_font_picker_get_type;
+end;
+
+function GNOME_IS_FONT_PICKER(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_FONT_PICKER:=(obj<>nil) and GNOME_IS_FONT_PICKER_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_FONT_PICKER_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_FONT_PICKER_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_FONT_PICKER);
+end;
+
+{$Endif read_implementation}

+ 10 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomegeometry.inc

@@ -0,0 +1,10 @@
+{$IfDef read_interface}
+
+function gnome_parse_geometry(geometry:Pgchar; xpos:Pgint; ypos:Pgint; width:Pgint; height:Pgint):gboolean;cdecl;external libgnomeuidll name 'gnome_parse_geometry';
+function gnome_geometry_string(window:PGdkWindow):Pgchar;cdecl;external libgnomeuidll name 'gnome_geometry_string';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 48 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomehref.inc

@@ -0,0 +1,48 @@
+{$IfDef read_interface}
+
+type
+   PGnomeHRef = ^TGnomeHRef;
+   TGnomeHRef = record
+        button : TGtkButton;
+        url : Pgchar;
+        thelabel : PGtkWidget;
+     end;
+   GNOME_HREF = PGnomeHRef;
+
+   PGnomeHRefClass = ^TGnomeHRefClass;
+   TGnomeHRefClass = record
+        parent_class : TGtkButtonClass;
+     end;
+   GNOME_HREF_CLASS = PGnomeHRefClass;
+
+function GNOME_TYPE_HREF : TGTKType;
+function GNOME_IS_HREF(obj : Pointer) : Boolean;
+function GNOME_IS_HREF_CLASS(klass : Pointer) : Boolean;
+
+function gnome_href_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_href_get_type';
+function gnome_href_new(url:Pgchar; thelabel:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_href_new';
+procedure gnome_href_set_url(href:PGnomeHRef; url:Pgchar);cdecl;external libgnomeuidll name 'gnome_href_set_url';
+function gnome_href_get_url(href:PGnomeHRef):Pgchar;cdecl;external libgnomeuidll name 'gnome_href_get_url';
+procedure gnome_href_set_label(href:PGnomeHRef; thelabel:Pgchar);cdecl;external libgnomeuidll name 'gnome_href_set_label';
+function gnome_href_get_label(href:PGnomeHRef):Pgchar;cdecl;external libgnomeuidll name 'gnome_href_get_label';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_HREF : TGTKType;
+begin
+  GNOME_TYPE_HREF:=gnome_href_get_type;
+end;
+
+function GNOME_IS_HREF(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_HREF:=(obj<>nil) and GNOME_IS_HREF_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_HREF_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_HREF_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_HREF);
+end;
+
+{$Endif read_implementation}

+ 52 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeiconentry.inc

@@ -0,0 +1,52 @@
+{$IfDef read_interface}
+
+type
+   PGnomeIconEntry = ^TGnomeIconEntry;
+   TGnomeIconEntry = record
+        vbox : TGtkVBox;
+        fentry : PGtkWidget;
+        pickbutton : PGtkWidget;
+        pick_dialog : PGtkWidget;
+        pick_dialog_dir : Pgchar;
+     end;
+   GNOME_ICON_ENTRY = PGnomeIconEntry;
+
+   PGnomeIconEntryClass = ^TGnomeIconEntryClass;
+   TGnomeIconEntryClass = record
+        parent_class : TGtkVBoxClass;
+     end;
+   GNOME_ICON_ENTRY_CLASS = PGnomeIconEntryClass;
+
+function GNOME_TYPE_ICON_ENTRY : TGTKType;
+function GNOME_IS_ICON_ENTRY(obj : Pointer) : Boolean;
+function GNOME_IS_ICON_ENTRY_CLASS(klass : Pointer) : Boolean;
+
+function gnome_icon_entry_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_icon_entry_get_type';
+function gnome_icon_entry_new(history_id:Pgchar; browse_dialog_title:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_icon_entry_new';
+procedure gnome_icon_entry_set_pixmap_subdir(ientry:PGnomeIconEntry; subdir:Pgchar);cdecl;external libgnomeuidll name 'gnome_icon_entry_set_pixmap_subdir';
+procedure gnome_icon_entry_set_icon(ientry:PGnomeIconEntry; filename:Pgchar);cdecl;external libgnomeuidll name 'gnome_icon_entry_set_icon';
+function gnome_icon_entry_gnome_file_entry(ientry:PGnomeIconEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_icon_entry_gnome_file_entry';
+function gnome_icon_entry_gnome_entry(ientry:PGnomeIconEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_icon_entry_gnome_entry';
+function gnome_icon_entry_gtk_entry(ientry:PGnomeIconEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_icon_entry_gtk_entry';
+function gnome_icon_entry_get_filename(ientry:PGnomeIconEntry):Pgchar;cdecl;external libgnomeuidll name 'gnome_icon_entry_get_filename';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_ICON_ENTRY : TGTKType;
+begin
+  GNOME_TYPE_ICON_ENTRY:=gnome_icon_entry_get_type;
+end;
+
+function GNOME_IS_ICON_ENTRY(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_ICON_ENTRY:=(obj<>nil) and GNOME_IS_ICON_ENTRY_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_ICON_ENTRY_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_ICON_ENTRY_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_ICON_ENTRY);
+end;
+
+{$Endif read_implementation}

+ 141 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeiconitem.inc

@@ -0,0 +1,141 @@
+{$IfDef read_interface}
+
+type
+   PGnomeIconTextItem = ^TGnomeIconTextItem;
+   TGnomeIconTextItem = record
+        canvas_item : TGnomeCanvasItem;
+        x : longint;
+        y : longint;
+        width : longint;
+        fontname : pchar;
+        priv : gpointer;
+        pad1 : gpointer;
+        pad2 : gpointer;
+        thetext : pchar;
+        ti : PGnomeIconTextInfo;
+        flag0 : word;
+        pad3 : dword;
+        flag1 : word;
+     end;
+   GNOME_ICON_TEXT_ITEM = PGnomeIconTextItem;
+     
+const
+   bm_GnomeIconTextItem_editing = $1;
+   bp_GnomeIconTextItem_editing = 0;
+   bm_GnomeIconTextItem_selected = $2;
+   bp_GnomeIconTextItem_selected = 1;
+   bm_GnomeIconTextItem_selecting = $1;
+   bp_GnomeIconTextItem_selecting = 0;
+   bm_GnomeIconTextItem_is_editable = $2;
+   bp_GnomeIconTextItem_is_editable = 1;
+   bm_GnomeIconTextItem_is_text_allocated = $4;
+   bp_GnomeIconTextItem_is_text_allocated = 2;
+
+function editing(var a : TGnomeIconTextItem) : dword;
+procedure set_editing(var a : TGnomeIconTextItem; __editing : dword);
+function selected(var a : TGnomeIconTextItem) : dword;
+procedure set_selected(var a : TGnomeIconTextItem; __selected : dword);
+function selecting(var a : TGnomeIconTextItem) : dword;
+procedure set_selecting(var a : TGnomeIconTextItem; __selecting : dword);
+function is_editable(var a : TGnomeIconTextItem) : dword;
+procedure set_is_editable(var a : TGnomeIconTextItem; __is_editable : dword);
+function is_text_allocated(var a : TGnomeIconTextItem) : dword;
+procedure set_is_text_allocated(var a : TGnomeIconTextItem; __is_text_allocated : dword);
+
+type
+   PGnomeIconTextItemClass = ^TGnomeIconTextItemClass;
+   TGnomeIconTextItemClass = record
+        parent_class : TGnomeCanvasItemClass;
+        text_changed : function (iti:PGnomeIconTextItem):longint;cdecl;
+        height_changed : procedure (iti:PGnomeIconTextItem);cdecl;
+        width_changed : procedure (iti:PGnomeIconTextItem);cdecl;
+        editing_started : procedure (iti:PGnomeIconTextItem);cdecl;
+        editing_stopped : procedure (iti:PGnomeIconTextItem);cdecl;
+        selection_started : procedure (iti:PGnomeIconTextItem);cdecl;
+        selection_stopped : procedure (iti:PGnomeIconTextItem);cdecl;
+     end;
+   GNOME_ICON_TEXT_ITEM_CLASS = PGnomeIconTextItemClass;
+
+function GNOME_TYPE_ICON_TEXT_ITEM : TGTKType;
+function GNOME_IS_ICON_TEXT_ITEM(obj : Pointer) : Boolean;
+function GNOME_IS_ICON_TEXT_ITEM_CLASS(klass : Pointer) : Boolean;
+
+function gnome_icon_text_item_get_type:TGtkType;cdecl;external libgnomeuidll name 'gnome_icon_text_item_get_type';
+procedure gnome_icon_text_item_configure(iti:PGnomeIconTextItem; x:longint; y:longint; width:longint; fontname:Pchar; 
+            thetext:Pchar; is_editable:gboolean; is_static:gboolean);cdecl;external libgnomeuidll name 'gnome_icon_text_item_configure';
+procedure gnome_icon_text_item_setxy(iti:PGnomeIconTextItem; x:longint; y:longint);cdecl;external libgnomeuidll name 'gnome_icon_text_item_setxy';
+procedure gnome_icon_text_item_select(iti:PGnomeIconTextItem; sel:longint);cdecl;external libgnomeuidll name 'gnome_icon_text_item_select';
+function gnome_icon_text_item_get_text(iti:PGnomeIconTextItem):Pchar;cdecl;external libgnomeuidll name 'gnome_icon_text_item_get_text';
+procedure gnome_icon_text_item_start_editing(iti:PGnomeIconTextItem);cdecl;external libgnomeuidll name 'gnome_icon_text_item_start_editing';
+procedure gnome_icon_text_item_stop_editing(iti:PGnomeIconTextItem; accept:gboolean);cdecl;external libgnomeuidll name 'gnome_icon_text_item_stop_editing';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_ICON_TEXT_ITEM : TGTKType;
+begin
+  GNOME_TYPE_ICON_TEXT_ITEM:=gnome_icon_text_item_get_type;
+end;
+
+function GNOME_IS_ICON_TEXT_ITEM(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_ICON_TEXT_ITEM:=(obj<>nil) and GNOME_IS_ICON_TEXT_ITEM_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_ICON_TEXT_ITEM_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_ICON_TEXT_ITEM_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_ICON_TEXT_ITEM);
+end;
+
+function editing(var a : TGnomeIconTextItem) : dword;
+begin
+   editing:=(a.flag0 and bm_GnomeIconTextItem_editing) shr bp_GnomeIconTextItem_editing;
+end;
+
+procedure set_editing(var a : TGnomeIconTextItem; __editing : dword);
+begin
+   a.flag0:=a.flag0 or ((__editing shl bp_GnomeIconTextItem_editing) and bm_GnomeIconTextItem_editing);
+end;
+
+function selected(var a : TGnomeIconTextItem) : dword;
+begin
+   selected:=(a.flag0 and bm_GnomeIconTextItem_selected) shr bp_GnomeIconTextItem_selected;
+end;
+
+procedure set_selected(var a : TGnomeIconTextItem; __selected : dword);
+begin
+   a.flag0:=a.flag0 or ((__selected shl bp_GnomeIconTextItem_selected) and bm_GnomeIconTextItem_selected);
+end;
+
+function selecting(var a : TGnomeIconTextItem) : dword;
+begin
+   selecting:=(a.flag1 and bm_GnomeIconTextItem_selecting) shr bp_GnomeIconTextItem_selecting;
+end;
+
+procedure set_selecting(var a : TGnomeIconTextItem; __selecting : dword);
+begin
+   a.flag1:=a.flag1 or ((__selecting shl bp_GnomeIconTextItem_selecting) and bm_GnomeIconTextItem_selecting);
+end;
+
+function is_editable(var a : TGnomeIconTextItem) : dword;
+begin
+   is_editable:=(a.flag1 and bm_GnomeIconTextItem_is_editable) shr bp_GnomeIconTextItem_is_editable;
+end;
+
+procedure set_is_editable(var a : TGnomeIconTextItem; __is_editable : dword);
+begin
+   a.flag1:=a.flag1 or ((__is_editable shl bp_GnomeIconTextItem_is_editable) and bm_GnomeIconTextItem_is_editable);
+end;
+
+function is_text_allocated(var a : TGnomeIconTextItem) : dword;
+begin
+   is_text_allocated:=(a.flag1 and bm_GnomeIconTextItem_is_text_allocated) shr bp_GnomeIconTextItem_is_text_allocated;
+end;
+
+procedure set_is_text_allocated(var a : TGnomeIconTextItem; __is_text_allocated : dword);
+begin
+   a.flag1:=a.flag1 or ((__is_text_allocated shl bp_GnomeIconTextItem_is_text_allocated) and bm_GnomeIconTextItem_is_text_allocated);
+end;
+
+{$Endif read_implementation}

+ 139 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeiconlist.inc

@@ -0,0 +1,139 @@
+{$IfDef read_interface}
+type
+   TGnomeIconListMode = (GNOME_ICON_LIST_ICONS,GNOME_ICON_LIST_TEXT_BELOW,GNOME_ICON_LIST_TEXT_RIGHT);
+
+   PGnomeIconList = ^TGnomeIconList;
+   TGnomeIconList = record
+        canvas : TGnomeCanvas;
+        adj : PGtkAdjustment;
+        hadj : PGtkAdjustment;
+        icons : longint;
+        priv : gpointer;
+        pad3 : longint;
+        pad4 : longint;
+        pad5 : longint;
+        pad6 : longint;
+        pad7 : longint;
+        pad8 : longint;
+        pad9 : gpointer;
+        pad10 : TGnomeIconListMode;
+        pad11 : TGtkSelectionMode;
+        selection : PGList;
+        pad12 : gpointer;
+        pad13 : longint;
+        flag0 : word;
+        pad16 : longint;
+        pad17 : gpointer;
+        pad18 : longint;
+        pad19 : longint;
+        pad20 : gdouble;
+        pad21 : gdouble;
+        pad22 : gpointer;
+        pad23 : longint;
+        pad24 : double;
+        pad25 : double;
+        pad26 : gpointer;
+     end;
+   GNOME_ICON_LIST = ^TGnomeIconList;
+     
+const
+   bm_GnomeIconList_pad14 = $1;
+   bp_GnomeIconList_pad14 = 0;
+   bm_GnomeIconList_pad15 = $2;
+   bp_GnomeIconList_pad15 = 1;
+   
+function pad14(var a : TGnomeIconList) : dword;
+procedure set_pad14(var a : TGnomeIconList; __pad14 : dword);
+function pad15(var a : TGnomeIconList) : dword;
+procedure set_pad15(var a : TGnomeIconList; __pad15 : dword);
+
+type
+   PGnomeIconListClass = ^TGnomeIconListClass;
+   TGnomeIconListClass = record
+        parent_class : TGnomeCanvasClass;
+        select_icon : procedure (gil:PGnomeIconList; num:gint; event:PGdkEvent);cdecl;
+        unselect_icon : procedure (gil:PGnomeIconList; num:gint; event:PGdkEvent);cdecl;
+        text_changed : function (gil:PGnomeIconList; num:gint; new_text:Pchar):gboolean;cdecl;
+     end;
+
+const
+   GNOME_ICON_LIST_IS_EDITABLE = 1;
+   GNOME_ICON_LIST_STATIC_TEXT = 2;
+
+function GNOME_TYPE_ICON_LIST : TGTKType;
+function GNOME_IS_ICON_LIST(obj : Pointer) : Boolean;
+function GNOME_IS_ICON_LIST_CLASS(klass : Pointer) : Boolean;
+
+function gnome_icon_list_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_icon_list_get_type';
+function gnome_icon_list_new(icon_width:guint; adj:PGtkAdjustment; flags:longint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_icon_list_new';
+function gnome_icon_list_new_flags(icon_width:guint; adj:PGtkAdjustment; flags:longint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_icon_list_new_flags';
+procedure gnome_icon_list_construct(gil:PGnomeIconList; icon_width:guint; adj:PGtkAdjustment; flags:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_construct';
+procedure gnome_icon_list_set_hadjustment(gil:PGnomeIconList; hadj:PGtkAdjustment);cdecl;external libgnomeuidll name 'gnome_icon_list_set_hadjustment';
+procedure gnome_icon_list_set_vadjustment(gil:PGnomeIconList; vadj:PGtkAdjustment);cdecl;external libgnomeuidll name 'gnome_icon_list_set_vadjustment';
+procedure gnome_icon_list_freeze(gil:PGnomeIconList);cdecl;external libgnomeuidll name 'gnome_icon_list_freeze';
+procedure gnome_icon_list_thaw(gil:PGnomeIconList);cdecl;external libgnomeuidll name 'gnome_icon_list_thaw';
+procedure gnome_icon_list_insert(gil:PGnomeIconList; pos:longint; icon_filename:Pchar; thetext:Pchar);cdecl;external libgnomeuidll name 'gnome_icon_list_insert';
+procedure gnome_icon_list_insert_imlib(gil:PGnomeIconList; pos:longint; image:PGdkImlibImage; thetext:Pchar);cdecl;external libgnomeuidll name 'gnome_icon_list_insert_imlib';
+function gnome_icon_list_append(gil:PGnomeIconList; icon_filename:Pchar; thetext:Pchar):longint;cdecl;external libgnomeuidll name 'gnome_icon_list_append';
+function gnome_icon_list_append_imlib(gil:PGnomeIconList; image:PGdkImlibImage; thetext:Pchar):longint;cdecl;external libgnomeuidll name 'gnome_icon_list_append_imlib';
+procedure gnome_icon_list_clear(gil:PGnomeIconList);cdecl;external libgnomeuidll name 'gnome_icon_list_clear';
+procedure gnome_icon_list_remove(gil:PGnomeIconList; pos:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_remove';
+procedure gnome_icon_list_set_selection_mode(gil:PGnomeIconList; mode:TGtkSelectionMode);cdecl;external libgnomeuidll name 'gnome_icon_list_set_selection_mode';
+procedure gnome_icon_list_select_icon(gil:PGnomeIconList; idx:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_select_icon';
+procedure gnome_icon_list_unselect_icon(gil:PGnomeIconList; pos:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_unselect_icon';
+function gnome_icon_list_unselect_all(gil:PGnomeIconList; event:PGdkEvent; keep:gpointer):longint;cdecl;external libgnomeuidll name 'gnome_icon_list_unselect_all';
+procedure gnome_icon_list_set_icon_width(gil:PGnomeIconList; w:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_set_icon_width';
+procedure gnome_icon_list_set_row_spacing(gil:PGnomeIconList; pixels:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_set_row_spacing';
+procedure gnome_icon_list_set_col_spacing(gil:PGnomeIconList; pixels:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_set_col_spacing';
+procedure gnome_icon_list_set_text_spacing(gil:PGnomeIconList; pixels:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_set_text_spacing';
+procedure gnome_icon_list_set_icon_border(gil:PGnomeIconList; pixels:longint);cdecl;external libgnomeuidll name 'gnome_icon_list_set_icon_border';
+procedure gnome_icon_list_set_separators(gil:PGnomeIconList; sep:Pchar);cdecl;external libgnomeuidll name 'gnome_icon_list_set_separators';
+procedure gnome_icon_list_set_icon_data(gil:PGnomeIconList; pos:longint; data:gpointer);cdecl;external libgnomeuidll name 'gnome_icon_list_set_icon_data';
+procedure gnome_icon_list_set_icon_data_full(gil:PGnomeIconList; pos:longint; data:gpointer; destroy:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_icon_list_set_icon_data_full';
+function gnome_icon_list_find_icon_from_data(gil:PGnomeIconList; data:gpointer):longint;cdecl;external libgnomeuidll name 'gnome_icon_list_find_icon_from_data';
+function gnome_icon_list_get_icon_data(gil:PGnomeIconList; pos:longint):gpointer;cdecl;external libgnomeuidll name 'gnome_icon_list_get_icon_data';
+procedure gnome_icon_list_moveto(gil:PGnomeIconList; pos:longint; yalign:double);cdecl;external libgnomeuidll name 'gnome_icon_list_moveto';
+function gnome_icon_list_icon_is_visible(gil:PGnomeIconList; pos:longint):TGtkVisibility;cdecl;external libgnomeuidll name 'gnome_icon_list_icon_is_visible';
+function gnome_icon_list_get_icon_at(gil:PGnomeIconList; x:longint; y:longint):longint;cdecl;external libgnomeuidll name 'gnome_icon_list_get_icon_at';
+function gnome_icon_list_get_items_per_line(gil:PGnomeIconList):longint;cdecl;external libgnomeuidll name 'gnome_icon_list_get_items_per_line';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_ICON_LIST : TGTKType;
+begin
+  GNOME_TYPE_ICON_LIST:=gnome_icon_list_get_type;
+end;
+
+function GNOME_IS_ICON_LIST(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_ICON_LIST:=(obj<>nil) and GNOME_IS_ICON_LIST_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_ICON_LIST_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_ICON_LIST_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_ICON_LIST);
+end;
+
+function pad14(var a : TGnomeIconList) : dword;
+begin
+   pad14:=(a.flag0 and bm_GnomeIconList_pad14) shr bp_GnomeIconList_pad14;
+end;
+
+procedure set_pad14(var a : TGnomeIconList; __pad14 : dword);
+begin
+   a.flag0:=a.flag0 or ((__pad14 shl bp_GnomeIconList_pad14) and bm_GnomeIconList_pad14);
+end;
+
+function pad15(var a : TGnomeIconList) : dword;
+begin
+   pad15:=(a.flag0 and bm_GnomeIconList_pad15) shr bp_GnomeIconList_pad15;
+end;
+
+procedure set_pad15(var a : TGnomeIconList; __pad15 : dword);
+begin
+   a.flag0:=a.flag0 or ((__pad15 shl bp_GnomeIconList_pad15) and bm_GnomeIconList_pad15);
+end;
+
+{$Endif read_implementation}

+ 53 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeiconsel.inc

@@ -0,0 +1,53 @@
+{$IfDef read_interface}
+
+type
+   PGnomeIconSelection = ^TGnomeIconSelection;
+   TGnomeIconSelection = record
+        vbox : TGtkVBox;
+        box : PGtkWidget;
+        gil : PGtkWidget;
+        file_list : PGList;
+        stop_loading : longint;
+     end;
+   GNOME_ICON_SELECTION = PGnomeIconSelection;
+
+   PGnomeIconSelectionClass = ^TGnomeIconSelectionClass;
+   TGnomeIconSelectionClass = record
+        parent_class : TGtkVBoxClass;
+     end;
+   GNOME_ICON_SELECTION_CLASS = PGnomeIconSelectionClass;
+
+function GNOME_TYPE_ICON_SELECTION : TGTKType;
+function GNOME_IS_ICON_SELECTION(obj : Pointer) : Boolean;
+function GNOME_IS_ICON_SELECTION_CLASS(klass : Pointer) : Boolean;
+
+function gnome_icon_selection_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_icon_selection_get_type';
+function gnome_icon_selection_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_icon_selection_new';
+procedure gnome_icon_selection_add_defaults(gis:PGnomeIconSelection);cdecl;external libgnomeuidll name 'gnome_icon_selection_add_defaults';
+procedure gnome_icon_selection_add_directory(gis:PGnomeIconSelection; dir:Pgchar);cdecl;external libgnomeuidll name 'gnome_icon_selection_add_directory';
+procedure gnome_icon_selection_show_icons(gis:PGnomeIconSelection);cdecl;external libgnomeuidll name 'gnome_icon_selection_show_icons';
+procedure gnome_icon_selection_clear(gis:PGnomeIconSelection; not_shown:gboolean);cdecl;external libgnomeuidll name 'gnome_icon_selection_clear';
+function gnome_icon_selection_get_icon(gis:PGnomeIconSelection; full_path:gboolean):Pgchar;cdecl;external libgnomeuidll name 'gnome_icon_selection_get_icon';
+procedure gnome_icon_selection_select_icon(gis:PGnomeIconSelection; filename:Pgchar);cdecl;external libgnomeuidll name 'gnome_icon_selection_select_icon';
+procedure gnome_icon_selection_stop_loading(gis:PGnomeIconSelection);cdecl;external libgnomeuidll name 'gnome_icon_selection_stop_loading';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_ICON_SELECTION : TGTKType;
+begin
+  GNOME_TYPE_ICON_SELECTION:=gnome_icon_selection_get_type;
+end;
+
+function GNOME_IS_ICON_SELECTION(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_ICON_SELECTION:=(obj<>nil) and GNOME_IS_ICON_SELECTION_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_ICON_SELECTION_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_ICON_SELECTION_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_ICON_SELECTION);
+end;
+
+{$Endif read_implementation}

+ 30 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeicontext.inc

@@ -0,0 +1,30 @@
+{$IfDef read_interface}
+
+type
+   PGnomeIconTextInfoRow = ^TGnomeIconTextInfoRow;
+   TGnomeIconTextInfoRow = record
+        thetext : Pgchar;
+        width : gint;
+        text_wc : PGdkWChar;
+        text_length : gint;
+     end;
+
+   PGnomeIconTextInfo = ^TGnomeIconTextInfo;
+   TGnomeIconTextInfo = record
+        rows : PGList;
+        font : PGdkFont;
+        width : gint;
+        height : gint;
+        baseline_skip : gint;
+     end;
+
+function gnome_icon_layout_text(font:PGdkFont; theetext:Pgchar; separators:Pgchar; max_width:gint; confine:gboolean):PGnomeIconTextInfo;cdecl;external libgnomeuidll name 'gnome_icon_layout_text';
+procedure gnome_icon_paint_text(ti:PGnomeIconTextInfo; drawable:PGdkDrawable; gc:PGdkGC; x:gint; y:gint; 
+            just:TGtkJustification);cdecl;external libgnomeuidll name 'gnome_icon_paint_text';
+procedure gnome_icon_text_info_free(ti:PGnomeIconTextInfo);cdecl;external libgnomeuidll name 'gnome_icon_text_info_free';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 14 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeinit.inc

@@ -0,0 +1,14 @@
+{$IfDef read_interface}
+
+
+function gnome_init(app_id:Pchar; app_version:Pchar; argc:longint; argv:PPchar):longint;cdecl;external libgnomeuidll name 'gnome_init';
+
+(* function gnome_init_with_popt_table(app_id:Pchar; app_version:Pchar; argc:longint; argv:PPchar; options:PpoptOption; 
+           flags:longint; return_ctx:PpoptContext):longint;cdecl;external libgnomeuidll name 'gnome_init_with_popt_table';*)
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+	   
+{$Endif read_implementation}

+ 111 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomemdi.inc

@@ -0,0 +1,111 @@
+{$IfDef read_interface}
+
+type
+   TGnomeMDIMode = (GNOME_MDI_NOTEBOOK,GNOME_MDI_TOPLEVEL,
+     GNOME_MDI_MODAL,GNOME_MDI_DEFAULT_MODE := 42);
+   
+   PGnomeMDI = ^TGnomeMDI;
+   TGnomeMDI = record
+        theobject : TGtkObject;
+        mode : TGnomeMDIMode;
+        tab_pos : TGtkPositionType;
+        signal_id : guint;
+        flag0 : word;
+        appname : Pgchar;
+        title : Pgchar;
+        menu_template : PGnomeUIInfo;
+        toolbar_template : PGnomeUIInfo;
+        active_child : PGnomeMDIChild;
+        active_view : PGtkWidget;
+        active_window : PGnomeApp;
+        windows : PGList;
+        children : PGList;
+        registered : PGSList;
+        child_menu_path : Pgchar;
+        child_list_path : Pgchar;
+     end;
+   GNOME_MDI = PGnomeMDI;
+
+const
+   bm__GnomeMDI_in_drag = $1;
+   bp__GnomeMDI_in_drag = 0;
+function in_drag(var a : TGnomeMDI) : gint;
+procedure set_in_drag(var a : TGnomeMDI; __in_drag : gint);
+
+type
+   PGnomeMDIClass = ^TGnomeMDIClass;
+   TGnomeMDIClass = record
+        parent_class : TGtkObjectClass;
+        add_child : function (_para1:PGnomeMDI; _para2:PGnomeMDIChild):gint;cdecl;
+        remove_child : function (_para1:PGnomeMDI; _para2:PGnomeMDIChild):gint;cdecl;
+        add_view : function (_para1:PGnomeMDI; _para2:PGtkWidget):gint;cdecl;
+        remove_view : function (_para1:PGnomeMDI; _para2:PGtkWidget):gint;cdecl;
+        child_changed : procedure (_para1:PGnomeMDI; _para2:PGnomeMDIChild);cdecl;
+        view_changed : procedure (_para1:PGnomeMDI; _para2:PGtkWidget);cdecl;
+        app_created : procedure (_para1:PGnomeMDI; _para2:PGnomeApp);cdecl;
+     end;
+   GNOME_MDI_CLASS = PGnomeMDIClass;
+
+function GNOME_TYPE_MDI : TGTKType;
+function GNOME_IS_MDI(obj : Pointer) : Boolean;
+function GNOME_IS_MDI_CLASS(klass : Pointer) : Boolean;
+
+function gnome_mdi_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_mdi_get_type';
+function gnome_mdi_new(appname:Pgchar; title:Pgchar):PGtkObject;cdecl;external libgnomeuidll name 'gnome_mdi_new';
+procedure gnome_mdi_set_mode(mdi:PGnomeMDI; mode:TGnomeMDIMode);cdecl;external libgnomeuidll name 'gnome_mdi_set_mode';
+procedure gnome_mdi_set_menubar_template(mdi:PGnomeMDI; menu_tmpl:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_mdi_set_menubar_template';
+procedure gnome_mdi_set_toolbar_template(mdi:PGnomeMDI; tbar_tmpl:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_mdi_set_toolbar_template';
+procedure gnome_mdi_set_child_menu_path(mdi:PGnomeMDI; path:Pgchar);cdecl;external libgnomeuidll name 'gnome_mdi_set_child_menu_path';
+procedure gnome_mdi_set_child_list_path(mdi:PGnomeMDI; path:Pgchar);cdecl;external libgnomeuidll name 'gnome_mdi_set_child_list_path';
+function gnome_mdi_add_view(mdi:PGnomeMDI; child:PGnomeMDIChild):gint;cdecl;external libgnomeuidll name 'gnome_mdi_add_view';
+function gnome_mdi_add_toplevel_view(mdi:PGnomeMDI; child:PGnomeMDIChild):gint;cdecl;external libgnomeuidll name 'gnome_mdi_add_toplevel_view';
+function gnome_mdi_remove_view(mdi:PGnomeMDI; view:PGtkWidget; force:gint):gint;cdecl;external libgnomeuidll name 'gnome_mdi_remove_view';
+function gnome_mdi_get_active_view(mdi:PGnomeMDI):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_mdi_get_active_view';
+procedure gnome_mdi_set_active_view(mdi:PGnomeMDI; view:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_mdi_set_active_view';
+function gnome_mdi_add_child(mdi:PGnomeMDI; child:PGnomeMDIChild):gint;cdecl;external libgnomeuidll name 'gnome_mdi_add_child';
+function gnome_mdi_remove_child(mdi:PGnomeMDI; child:PGnomeMDIChild; force:gint):gint;cdecl;external libgnomeuidll name 'gnome_mdi_remove_child';
+function gnome_mdi_remove_all(mdi:PGnomeMDI; force:gint):gint;cdecl;external libgnomeuidll name 'gnome_mdi_remove_all';
+procedure gnome_mdi_open_toplevel(mdi:PGnomeMDI);cdecl;external libgnomeuidll name 'gnome_mdi_open_toplevel';
+procedure gnome_mdi_update_child(mdi:PGnomeMDI; child:PGnomeMDIChild);cdecl;external libgnomeuidll name 'gnome_mdi_update_child';
+function gnome_mdi_get_active_child(mdi:PGnomeMDI):PGnomeMDIChild;cdecl;external libgnomeuidll name 'gnome_mdi_get_active_child';
+function gnome_mdi_find_child(mdi:PGnomeMDI; name:Pgchar):PGnomeMDIChild;cdecl;external libgnomeuidll name 'gnome_mdi_find_child';
+function gnome_mdi_get_active_window(mdi:PGnomeMDI):PGnomeApp;cdecl;external libgnomeuidll name 'gnome_mdi_get_active_window';
+procedure gnome_mdi_register(mdi:PGnomeMDI; theobject:PGtkObject);cdecl;external libgnomeuidll name 'gnome_mdi_register';
+procedure gnome_mdi_unregister(mdi:PGnomeMDI; theobject:PGtkObject);cdecl;external libgnomeuidll name 'gnome_mdi_unregister';
+function gnome_mdi_get_app_from_view(view:PGtkWidget):PGnomeApp;cdecl;external libgnomeuidll name 'gnome_mdi_get_app_from_view';
+function gnome_mdi_get_child_from_view(view:PGtkWidget):PGnomeMDIChild;cdecl;external libgnomeuidll name 'gnome_mdi_get_child_from_view';
+function gnome_mdi_get_view_from_window(mdi:PGnomeMDI; app:PGnomeApp):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_mdi_get_view_from_window';
+function gnome_mdi_get_menubar_info(app:PGnomeApp):PGnomeUIInfo;cdecl;external libgnomeuidll name 'gnome_mdi_get_menubar_info';
+function gnome_mdi_get_toolbar_info(app:PGnomeApp):PGnomeUIInfo;cdecl;external libgnomeuidll name 'gnome_mdi_get_toolbar_info';
+function gnome_mdi_get_child_menu_info(app:PGnomeApp):PGnomeUIInfo;cdecl;external libgnomeuidll name 'gnome_mdi_get_child_menu_info';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_MDI : TGTKType;
+begin
+  GNOME_TYPE_MDI:=gnome_mdi_get_type;
+end;
+
+function GNOME_IS_MDI(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_MDI:=(obj<>nil) and GNOME_IS_MDI_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_MDI_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_MDI_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_MDI);
+end;
+
+function in_drag(var a : TGnomeMDI) : gint;
+begin
+   in_drag:=(a.flag0 and bm__GnomeMDI_in_drag) shr bp__GnomeMDI_in_drag;
+end;
+
+procedure set_in_drag(var a : TGnomeMDI; __in_drag : gint);
+begin
+   a.flag0:=a.flag0 or ((__in_drag shl bp__GnomeMDI_in_drag) and bm__GnomeMDI_in_drag);
+end;
+
+{$Endif read_implementation}

+ 58 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomemdichild.inc

@@ -0,0 +1,58 @@
+{$IfDef read_interface}
+
+type
+   TGnomeMDIChildViewCreator = TGtkWidget;
+   TGnomeMDIChildMenuCreator = TGList;
+   TGnomeMDIChildConfigFunc = gchar;
+   TGnomeMDIChildLabelFunc = TGtkWidget;
+   
+   PGnomeMDIChild = ^TGnomeMDIChild;
+   TGnomeMDIChild = record
+        theobject : TGtkObject;
+        parent : PGtkObject;
+        name : Pgchar;
+        views : PGList;
+        menu_template : PGnomeUIInfo;
+     end;
+   GNOME_MDI_CHILD = PGnomeMDIChild;
+
+   TGnomeMDIChildClass = ^TGnomeMDIChildClass;
+   PGnomeMDIChildClass = record
+        parent_class : TGtkObjectClass;
+        create_view : TGnomeMDIChildViewCreator;
+        create_menus : TGnomeMDIChildMenuCreator;
+        get_config_string : TGnomeMDIChildConfigFunc;
+        set_label : TGnomeMDIChildLabelFunc;
+     end;
+   GNOME_MDI_CHILD_CLASS = PGnomeMDIChildClass;
+
+function GNOME_TYPE_MDI_CHILD : TGTKType;
+function GNOME_IS_MDI_CHILD(obj : Pointer) : Boolean;
+function GNOME_IS_MDI_CHILD_CLASS(klass : Pointer) : Boolean;
+
+function gnome_mdi_child_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_mdi_child_get_type';
+function gnome_mdi_child_add_view(mdi_child:PGnomeMDIChild):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_mdi_child_add_view';
+procedure gnome_mdi_child_remove_view(mdi_child:PGnomeMDIChild; view:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_mdi_child_remove_view';
+procedure gnome_mdi_child_set_name(mdi_child:PGnomeMDIChild; name:Pgchar);cdecl;external libgnomeuidll name 'gnome_mdi_child_set_name';
+procedure gnome_mdi_child_set_menu_template(mdi_child:PGnomeMDIChild; menu_tmpl:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_mdi_child_set_menu_template';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_MDI_CHILD : TGTKType;
+begin
+  GNOME_TYPE_MDI_CHILD:=gnome_mdi_child_get_type;
+end;
+
+function GNOME_IS_MDI_CHILD(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_MDI_CHILD:=(obj<>nil) and GNOME_IS_MDI_CHILD_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_MDI_CHILD_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_MDI_CHILD_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_MDI_CHILD);
+end;
+
+{$Endif read_implementation}

+ 66 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomemdigenericchild.inc

@@ -0,0 +1,66 @@
+{$IfDef read_interface}
+
+type
+   PGnomeMDIGenericChild = ^TGnomeMDIGenericChild;
+   TGnomeMDIGenericChild = record
+        mdi_child : TGnomeMDIChild;
+        create_view : TGnomeMDIChildViewCreator;
+        create_menus : TGnomeMDIChildMenuCreator;
+        get_config_string : TGnomeMDIChildConfigFunc;
+        set_label : TGnomeMDIChildLabelFunc;
+        create_view_cbm : TGtkCallbackMarshal;
+        create_menus_cbm : TGtkCallbackMarshal;
+        get_config_string_cbm : TGtkCallbackMarshal;
+        set_label_cbm : TGtkCallbackMarshal;
+        create_view_dn : TGtkDestroyNotify;
+        create_menus_dn : TGtkDestroyNotify;
+        get_config_string_dn : TGtkDestroyNotify;
+        set_label_dn : TGtkDestroyNotify;
+        create_view_data : gpointer;
+        create_menus_data : gpointer;
+        get_config_string_data : gpointer;
+        set_label_data : gpointer;
+     end;
+   GNOME_MDI_GENERIC_CHILD = PGnomeMDIGenericChild;
+
+   PGnomeMDIGenericChildClass = ^TGnomeMDIGenericChildClass;
+   TGnomeMDIGenericChildClass = record
+        parent_class : TGnomeMDIChildClass;
+     end;
+   GNOME_MDI_GENERIC_CHILD_CLASS = PGnomeMDIGenericChildClass;
+
+function GNOME_TYPE_MDI_GENERIC_CHILD : TGTKType;
+function GNOME_IS_MDI_GENERIC_CHILD(obj : Pointer) : Boolean;
+function GNOME_IS_MDI_GENERIC_CHILD_CLASS(klass : Pointer) : Boolean;
+
+function gnome_mdi_generic_child_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_get_type';
+function gnome_mdi_generic_child_new(name:Pgchar):PGnomeMDIGenericChild;cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_new';
+procedure gnome_mdi_generic_child_set_view_creator(child:PGnomeMDIGenericChild; func:TGnomeMDIChildViewCreator; data:gpointer);cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_set_view_creator';
+procedure gnome_mdi_generic_child_set_view_creator_full(child:PGnomeMDIGenericChild; func:TGnomeMDIChildViewCreator; marshal:TGtkCallbackMarshal; data:gpointer; notify:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_set_view_creator_full';
+procedure gnome_mdi_generic_child_set_menu_creator(child:PGnomeMDIGenericChild; func:TGnomeMDIChildMenuCreator; data:gpointer);cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_set_menu_creator';
+procedure gnome_mdi_generic_child_set_menu_creator_full(child:PGnomeMDIGenericChild; func:TGnomeMDIChildMenuCreator; marshal:TGtkCallbackMarshal; data:gpointer; notify:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_set_menu_creator_full';
+procedure gnome_mdi_generic_child_set_config_func(child:PGnomeMDIGenericChild; func:TGnomeMDIChildConfigFunc; data:gpointer);cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_set_config_func';
+procedure gnome_mdi_generic_child_set_config_func_full(child:PGnomeMDIGenericChild; func:TGnomeMDIChildConfigFunc; marshal:TGtkCallbackMarshal; data:gpointer; notify:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_set_config_func_full';
+procedure gnome_mdi_generic_child_set_label_func(child:PGnomeMDIGenericChild; func:TGnomeMDIChildLabelFunc; data:gpointer);cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_set_label_func';
+procedure gnome_mdi_generic_child_set_label_func_full(child:PGnomeMDIGenericChild; func:TGnomeMDIChildLabelFunc; marshal:TGtkCallbackMarshal; data:gpointer; notify:TGtkDestroyNotify);cdecl;external libgnomeuidll name 'gnome_mdi_generic_child_set_label_func_full';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_MDI_GENERIC_CHILD : TGTKType;
+begin
+  GNOME_TYPE_MDI_GENERIC_CHILD:=gnome_mdi_generic_child_get_type;
+end;
+
+function GNOME_IS_MDI_GENERIC_CHILD(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_MDI_GENERIC_CHILD:=(obj<>nil) and GNOME_IS_MDI_GENERIC_CHILD_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_MDI_GENERIC_CHILD_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_MDI_GENERIC_CHILD_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_MDI_GENERIC_CHILD);
+end;
+
+{$Endif read_implementation}

+ 12 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomemdisession.inc

@@ -0,0 +1,12 @@
+{$IfDef read_interface}
+type
+   TGnomeMDIChildCreator = Function (const name : gchar) : TGnomeMDIChild; cdecl;
+
+function gnome_mdi_restore_state(mdi:PGnomeMDI; section:Pgchar; child_create_func:TGnomeMDIChildCreator):gboolean;cdecl;external libgnomeuidll name 'gnome_mdi_restore_state';
+procedure gnome_mdi_save_state(mdi:PGnomeMDI; section:Pgchar);cdecl;external libgnomeuidll name 'gnome_mdi_save_state';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 49 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomemessagebox.inc

@@ -0,0 +1,49 @@
+{$IfDef read_interface}
+const
+   GNOME_MESSAGE_BOX_INFO = 'info';
+   GNOME_MESSAGE_BOX_WARNING = 'warning';
+   GNOME_MESSAGE_BOX_ERROR = 'error';
+   GNOME_MESSAGE_BOX_QUESTION = 'question';
+   GNOME_MESSAGE_BOX_GENERIC = 'generic';
+
+type
+   PGnomeMessageBox = ^TGnomeMessageBox;
+   TGnomeMessageBox = record
+        dialog : TGnomeDialog;
+     end;
+   GNOME_MESSAGE_BOX = PGnomeMessageBox;
+
+   PGnomeMessageBoxClass = ^TGnomeMessageBoxClass;
+   TGnomeMessageBoxClass = record
+        parent_class : TGnomeDialogClass;
+     end;
+   GNOME_MESSAGE_BOX_CLASS = PGnomeMessageBoxClass;
+
+function GNOME_TYPE_MESSAGE_BOX : TGTKType;
+function GNOME_IS_MESSAGE_BOX(obj : Pointer) : Boolean;
+function GNOME_IS_MESSAGE_BOX_CLASS(klass : Pointer) : Boolean;
+
+function gnome_message_box_get_type:TGTKType;cdecl;external libgnomeuidll name '';
+function gnome_message_box_new(message:Pgchar; messagebox_type:Pgchar; args:array of const):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_message_box_new';
+function gnome_message_box_newv(message:Pgchar; messagebox_type:Pgchar; buttons:PPgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_message_box_newv';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_MESSAGE_BOX : TGTKType;
+begin
+  GNOME_TYPE_MESSAGE_BOX:=gnome_message_box_get_type;
+end;
+
+function GNOME_IS_MESSAGE_BOX(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_MESSAGE_BOX:=(obj<>nil) and GNOME_IS_MESSAGE_BOX_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_MESSAGE_BOX_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_MESSAGE_BOX_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_MESSAGE_BOX);
+end;
+
+{$Endif read_implementation}

+ 50 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomenumberentry.inc

@@ -0,0 +1,50 @@
+{$IfDef read_interface}
+Type
+   PGnomenumberEntry = ^TGnomeNumberEntry;
+   TGnomeNumberEntry = record
+        hbox : TGtkHBox;
+        calc_dialog_title : Pgchar;
+        calc_dlg : PGtkWidget;
+        gentry : PGtkWidget;
+     end;
+   GNOME_NUMBER_ENTRY = PGnomeNumberEntry;
+
+   PGnomenumberEntryClass = ^TGnomeNumberEntryClass;
+   TGnomeNumberEntryClass = record
+        parent_class : TGtkHBoxClass;
+     end;
+
+   GNOME_NUMBER_ENTRY_CLASS = PGnomeNumberEntryClass;
+
+
+function GNOME_TYPE_NUMBER_ENTRY : TGTKType;
+function GNOME_IS_NUMBER_ENTRY(obj : Pointer) : Boolean;
+function GNOME_IS_NUMBER_ENTRY_CLASS(klass : Pointer) : Boolean;
+
+function gnome_number_entry_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_number_entry_get_type';
+function gnome_number_entry_new(history_id:Pgchar; calc_dialog_title:Pgchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_number_entry_new';
+function gnome_number_entry_gnome_entry(nentry:PGnomeNumberEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_number_entry_gnome_entry';
+function gnome_number_entry_gtk_entry(nentry:PGnomeNumberEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_number_entry_gtk_entry';
+procedure gnome_number_entry_set_title(nentry:PGnomeNumberEntry; calc_dialog_title:Pgchar);cdecl;external libgnomeuidll name 'gnome_number_entry_set_title';
+function gnome_number_entry_get_number(nentry:PGnomeNumberEntry):gdouble;cdecl;external libgnomeuidll name 'gnome_number_entry_get_number';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_NUMBER_ENTRY : TGTKType;
+begin
+  GNOME_TYPE_NUMBER_ENTRY:=gnome_number_entry_get_type;
+end;
+
+function GNOME_IS_NUMBER_ENTRY(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_NUMBER_ENTRY:=(obj<>nil) and GNOME_IS_NUMBER_ENTRY_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_NUMBER_ENTRY_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_NUMBER_ENTRY_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_NUMBER_ENTRY);
+end;
+
+{$Endif read_implementation}

+ 60 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomepaperselector.inc

@@ -0,0 +1,60 @@
+{$IfDef read_interface}
+
+type
+   PGnomePaperSelector = ^TGnomePaperSelector;
+   TGnomePaperSelector = record
+        vbox : TGtkVBox;
+        paper : PGtkWidget;
+        width : PGtkWidget;
+        height : PGtkWidget;
+        theunit : PGtkWidget;
+        unit_label : PGtkWidget;
+        paper_id : gint;
+        width_id : gint;
+        height_id : gint;
+     end;
+   GNOME_PAPER_SELECTOR = PGnomePaperSelector;
+
+   PGnomePaperSelectorClass = ^TGnomePaperSelectorClass;
+   TGnomePaperSelectorClass = record
+        parent_class : TGtkVBoxClass;
+     end;
+   GNOME_PAPER_SELECTOR_CLASS = PGnomePaperSelectorClass;
+
+function GNOME_TYPE_PAPER_SELECTOR : TGTKType;
+function GNOME_IS_PAPER_SELECTOR(obj : Pointer) : Boolean;
+function GNOME_IS_PAPER_SELECTOR_CLASS(klass : Pointer) : Boolean;
+
+function gnome_paper_selector_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_paper_selector_get_type';
+function gnome_paper_selector_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_paper_selector_new';
+function gnome_paper_selector_get_name(gspaper:PGnomePaperSelector):Pgchar;cdecl;external libgnomeuidll name 'gnome_paper_selector_get_name';
+function gnome_paper_selector_get_width(gspaper:PGnomePaperSelector):gfloat;cdecl;external libgnomeuidll name 'gnome_paper_selector_get_width';
+function gnome_paper_selector_get_height(gspaper:PGnomePaperSelector):gfloat;cdecl;external libgnomeuidll name 'gnome_paper_selector_get_height';
+function gnome_paper_selector_get_left_margin(gspaper:PGnomePaperSelector):gfloat;cdecl;external libgnomeuidll name 'gnome_paper_selector_get_left_margin';
+function gnome_paper_selector_get_right_margin(gspaper:PGnomePaperSelector):gfloat;cdecl;external libgnomeuidll name 'gnome_paper_selector_get_right_margin';
+function gnome_paper_selector_get_top_margin(gspaper:PGnomePaperSelector):gfloat;cdecl;external libgnomeuidll name 'gnome_paper_selector_get_top_margin';
+function gnome_paper_selector_get_bottom_margin(gspaper:PGnomePaperSelector):gfloat;cdecl;external libgnomeuidll name 'gnome_paper_selector_get_bottom_margin';
+procedure gnome_paper_selector_set_name(gspaper:PGnomePaperSelector; name:Pgchar);cdecl;external libgnomeuidll name 'gnome_paper_selector_set_name';
+procedure gnome_paper_selector_set_width(gspaper:PGnomePaperSelector; width:gfloat);cdecl;external libgnomeuidll name 'gnome_paper_selector_set_width';
+procedure gnome_paper_selector_set_height(gspaper:PGnomePaperSelector; height:gfloat);cdecl;external libgnomeuidll name 'gnome_paper_selector_set_height';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_PAPER_SELECTOR : TGTKType;
+begin
+  GNOME_TYPE_PAPER_SELECTOR:=gnome_paper_selector_get_type;
+end;
+
+function GNOME_IS_PAPER_SELECTOR(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_PAPER_SELECTOR:=(obj<>nil) and GNOME_IS_PAPER_SELECTOR_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_PAPER_SELECTOR_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_PAPER_SELECTOR_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_PAPER_SELECTOR);
+end;
+
+{$Endif read_implementation}

+ 69 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomepixmap.inc

@@ -0,0 +1,69 @@
+{$IfDef read_interface}
+type
+   PGnomePixmap = ^TGnomePixmap;
+   TGnomePixmap = record
+        widget : TGtkWidget;
+        pixmap : PGdkPixmap;
+        mask : PGdkBitmap;
+     end;
+   GNOME_PIXMAP = PGnomePixmap;
+
+   PGnomePixmapClass = ^TGnomePixmapClass;
+   TGnomePixmapClass = record
+        parent_class : TGtkWidgetClass;
+     end;
+   GNOME_PIXMAP_CLASS = PGnomePixmapClass;
+
+function GNOME_TYPE_PIXMAP : TGtkType;
+
+function GNOME_IS_PIXMAP(obj : pointer) : gboolean;
+function GNOME_IS_PIXMAP_CLASS(klass : pointer) : gboolean;
+
+function gnome_pixmap_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_pixmap_get_type';
+function gnome_pixmap_new_from_file(filename:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_file';
+function gnome_pixmap_new_from_file_at_size(filename:Pchar; width:longint; height:longint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_file_at_size';
+function gnome_pixmap_new_from_xpm_d(xpm_data:PPchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_xpm_d';
+function gnome_pixmap_new_from_xpm_d_at_size(xpm_data:PPchar; width:longint; height:longint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_xpm_d_at_size';
+function gnome_pixmap_new_from_rgb_d(data:Pbyte; alpha:Pbyte; rgb_width:longint; rgb_height:longint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_rgb_d';
+function gnome_pixmap_new_from_rgb_d_shaped(data:Pbyte; alpha:Pbyte; rgb_width:longint; rgb_height:longint; shape_color:PGdkImlibColor):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_rgb_d_shaped';
+function gnome_pixmap_new_from_rgb_d_shaped_at_size(data:Pbyte; alpha:Pbyte; rgb_width:longint; rgb_height:longint; width:longint; 
+           height:longint; shape_color:PGdkImlibColor):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_rgb_d_shaped_at_size';
+function gnome_pixmap_new_from_rgb_d_at_size(data:Pbyte; alpha:Pbyte; rgb_width:longint; rgb_height:longint; width:longint; 
+           height:longint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_rgb_d_at_size';
+function gnome_pixmap_new_from_gnome_pixmap(gpixmap:PGnomePixmap):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_gnome_pixmap';
+function gnome_pixmap_new_from_imlib(image:PGdkImlibImage):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_imlib';
+function gnome_pixmap_new_from_imlib_at_size(image:PGdkImlibImage; width:longint; height:longint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_new_from_imlib_at_size';
+procedure gnome_pixmap_load_file(gpixmap:PGnomePixmap; filename:Pchar);cdecl;external libgnomeuidll name 'gnome_pixmap_load_file';
+procedure gnome_pixmap_load_file_at_size(gpixmap:PGnomePixmap; filename:Pchar; width:longint; height:longint);cdecl;external libgnomeuidll name 'gnome_pixmap_load_file_at_size';
+procedure gnome_pixmap_load_xpm_d(gpixmap:PGnomePixmap; xpm_data:PPchar);cdecl;external libgnomeuidll name 'gnome_pixmap_load_xpm_d';
+procedure gnome_pixmap_load_xpm_d_at_size(gpixmap:PGnomePixmap; xpm_data:PPchar; width:longint; height:longint);cdecl;external libgnomeuidll name 'gnome_pixmap_load_xpm_d_at_size';
+procedure gnome_pixmap_load_rgb_d(gpixmap:PGnomePixmap; data:Pbyte; alpha:Pbyte; rgb_width:longint; rgb_height:longint);cdecl;external libgnomeuidll name 'gnome_pixmap_load_rgb_d';
+procedure gnome_pixmap_load_rgb_d_shaped(gpixmap:PGnomePixmap; data:Pbyte; alpha:Pbyte; rgb_width:longint; rgb_height:longint; 
+            shape_color:PGdkImlibColor);cdecl;external libgnomeuidll name 'gnome_pixmap_load_rgb_d_shaped';
+procedure gnome_pixmap_load_rgb_d_shaped_at_size(gpixmap:PGnomePixmap; data:Pbyte; alpha:Pbyte; rgb_width:longint; rgb_height:longint; 
+            width:longint; height:longint; shape_color:PGdkImlibColor);cdecl;external libgnomeuidll name 'gnome_pixmap_load_rgb_d_shaped_at_size';
+procedure gnome_pixmap_load_rgb_d_at_size(gpixmap:PGnomePixmap; data:Pbyte; alpha:Pbyte; rgb_width:longint; rgb_height:longint; 
+            width:longint; height:longint);cdecl;external libgnomeuidll name 'gnome_pixmap_load_rgb_d_at_size';
+procedure gnome_pixmap_load_imlib(gpixmap:PGnomePixmap; image:PGdkImlibImage);cdecl;external libgnomeuidll name 'gnome_pixmap_load_imlib';
+procedure gnome_pixmap_load_imlib_at_size(gpixmap:PGnomePixmap; image:PGdkImlibImage; width:longint; height:longint);cdecl;external libgnomeuidll name 'gnome_pixmap_load_imlib_at_size';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_PIXMAP : TGTKType;
+begin
+  GNOME_TYPE_PIXMAP:=gnome_pixmap_get_type;
+end;
+
+function GNOME_IS_PIXMAP(obj : Pointer) : gBoolean;
+begin
+   GNOME_IS_PIXMAP:=(obj<>nil) and GNOME_IS_PIXMAP_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_PIXMAP_CLASS(klass : Pointer) : gBoolean;
+begin
+   GNOME_IS_PIXMAP_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_PIXMAP);
+end;
+
+{$Endif read_implementation}

+ 56 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomepixmapentry.inc

@@ -0,0 +1,56 @@
+{$IfDef read_interface}
+Type
+   PGnomePixmapEntry = ^TGnomeNumberEntry;
+   TGnomePixmapEntry = record
+        vbox : TGtkVBox;
+        fentry : PGtkWidget;
+        do_preview : gboolean;
+        preview : PGtkWidget;
+        preview_sw : PGtkWidget;
+        last_preview : Pgchar;
+     end;
+   GNOME_PIXMAP_ENTRY = PGnomeNumberEntry;
+
+   PGnomePixmapEntryClass = ^TGnomePixmapEntryClass;
+   TGnomePixmapEntryClass = record
+        parent_class : TGtkVBoxClass;
+     end;
+   GNOME_PIXMAP_ENTRY_CLASS = PGnomePixmapEntryClass;
+
+
+function GNOME_TYPE_PIXMAP_ENTRY : TGTKType;
+function GNOME_IS_PIXMAP_ENTRY(obj : Pointer) : Boolean;
+function GNOME_IS_PIXMAP_ENTRY_CLASS(klass : Pointer) : Boolean;
+
+
+function gnome_pixmap_entry_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_pixmap_entry_get_type';
+function gnome_pixmap_entry_new(history_id:Pgchar; browse_dialog_title:Pgchar; do_preview:gboolean):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_entry_new';
+procedure gnome_pixmap_entry_construct(gentry:PGnomePixmapEntry; history_id:Pgchar; browse_dialog_title:Pgchar; do_preview:gboolean);cdecl;external libgnomeuidll name 'gnome_pixmap_entry_construct';
+procedure gnome_pixmap_entry_set_pixmap_subdir(pentry:PGnomePixmapEntry; subdir:Pgchar);cdecl;external libgnomeuidll name 'gnome_pixmap_entry_set_pixmap_subdir';
+function gnome_pixmap_entry_gnome_file_entry(pentry:PGnomePixmapEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_entry_gnome_file_entry';
+function gnome_pixmap_entry_gnome_entry(pentry:PGnomePixmapEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_entry_gnome_entry';
+function gnome_pixmap_entry_gtk_entry(pentry:PGnomePixmapEntry):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_entry_gtk_entry';
+procedure gnome_pixmap_entry_set_preview(pentry:PGnomePixmapEntry; do_preview:gboolean);cdecl;external libgnomeuidll name 'gnome_pixmap_entry_set_preview';
+procedure gnome_pixmap_entry_set_preview_size(pentry:PGnomePixmapEntry; preview_w:gint; preview_h:gint);cdecl;external libgnomeuidll name 'gnome_pixmap_entry_set_preview_size';
+function gnome_pixmap_entry_get_filename(pentry:PGnomePixmapEntry):Pgchar;cdecl;external libgnomeuidll name 'gnome_pixmap_entry_get_filename';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_PIXMAP_ENTRY : TGTKType;
+begin
+  GNOME_TYPE_PIXMAP_ENTRY:=gnome_pixmap_entry_get_type;
+end;
+
+function GNOME_IS_PIXMAP_ENTRY(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_PIXMAP_ENTRY:=(obj<>nil) and GNOME_IS_PIXMAP_ENTRY_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_PIXMAP_ENTRY_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_PIXMAP_ENTRY_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_PIXMAP_ENTRY);
+end;
+
+{$Endif read_implementation}

+ 16 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomepopuphelp.inc

@@ -0,0 +1,16 @@
+{$IfDef read_interface}
+
+Procedure gnome_widget_add_help(widget : PGTKWidget; help : PGChar);
+
+procedure gnome_widget_add_help_with_uidata(widget:PGtkWidget; help:Pgchar; menuinfo:PGnomeUIInfo; user_data:gpointer);cdecl;external libgnomeuidll name 'gnome_widget_add_help_with_uidata';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+Procedure gnome_widget_add_help(widget : PGTKWidget; help : PGChar);
+begin
+  gnome_widget_add_help_with_uidata(widget,help,nil,nil);
+end;
+
+{$Endif read_implementation}

+ 14 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomepopupmenu.inc

@@ -0,0 +1,14 @@
+{$IfDef read_interface}
+
+function gnome_popup_menu_new(uiinfo:PGnomeUIInfo):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_popup_menu_new';
+function gnome_popup_menu_new_with_accelgroup(uiinfo:PGnomeUIInfo; accelgroup:PGtkAccelGroup):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_popup_menu_new_with_accelgroup';
+function gnome_popup_menu_get_accel_group(menu:PGtkMenu):PGtkAccelGroup;cdecl;external libgnomeuidll name 'gnome_popup_menu_get_accel_group';
+procedure gnome_popup_menu_attach(popup:PGtkWidget; widget:PGtkWidget; user_data:gpointer);cdecl;external libgnomeuidll name 'gnome_popup_menu_attach';
+procedure gnome_popup_menu_do_popup(popup:PGtkWidget; pos_func:TGtkMenuPositionFunc; pos_data:gpointer; event:PGdkEventButton; user_data:gpointer);cdecl;external libgnomeuidll name 'gnome_popup_menu_do_popup';
+function gnome_popup_menu_do_popup_modal(popup:PGtkWidget; pos_func:TGtkMenuPositionFunc; pos_data:gpointer; event:PGdkEventButton; user_data:gpointer):longint;cdecl;external libgnomeuidll name 'gnome_popup_menu_do_popup_modal';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 79 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeprocbar.inc

@@ -0,0 +1,79 @@
+{$IfDef read_interface}
+
+type
+   TGnomeProcbarCallback = function (_para1:gpointer):gint; cdecl;
+   
+   PGnomeProcBar = ^TGnomeProcBar;
+   TGnomeProcBar = record
+        hbox : TGtkHBox;
+        bar : PGtkWidget;
+        thelabel : PGtkWidget;
+        frame : PGtkWidget;
+        flag0 : word;
+        bs : PGdkPixmap;
+        colors : PGdkColor;
+        colors_allocated : gint;
+        first_request : gint;
+        n : gint;
+        tag : gint;
+        last : Pdword;
+        cb : TGnomeProcbarCallback;
+        cb_data : gpointer;
+     end;
+   GNOME_PROC_BAR = PGnomeProcBar;
+
+const
+   bm__GnomeProcBar_vertical = $1;
+   bp__GnomeProcBar_vertical = 0;
+function vertical(var a : TGnomeProcBar) : gboolean;
+procedure set_vertical(var a : TGnomeProcBar; __vertical : gboolean);
+type
+   PGnomeProcBarClass = ^TGnomeProcBarClass;
+   TGnomeProcBarClass = record
+        parent_class : TGtkHBoxClass;
+     end;
+   GNOME_PROC_BAR_CLASS = PGnomeProcBarClass;
+
+function GNOME_TYPE_PROC_BAR : TGTKType;
+function GNOME_IS_PROC_BAR(obj : Pointer) : Boolean;
+function GNOME_IS_PROC_BAR_CLASS(klass : Pointer) : Boolean;
+
+function gnome_proc_bar_get_type:TGTKTYPE;cdecl;external libgnomeuidll name 'gnome_proc_bar_get_type';
+function gnome_proc_bar_new(thelabel:PGtkWidget; n:gint; colors:PGdkColor; cb : TGnomeProcbarCallback):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_proc_bar_new';
+procedure gnome_proc_bar_construct(pb:PGnomeProcBar; thelabel:PGtkWidget; n:gint; colors:PGdkColor; cb:TGnomeProcbarCallback);cdecl;external libgnomeuidll name 'gnome_proc_bar_construct';
+procedure gnome_proc_bar_set_values(pb:PGnomeProcBar; val:Pguint);cdecl;external libgnomeuidll name 'gnome_proc_bar_set_values';
+procedure gnome_proc_bar_set_orient(pb:PGnomeProcBar; vertical:gboolean);cdecl;external libgnomeuidll name 'gnome_proc_bar_set_orient';
+procedure gnome_proc_bar_start(pb:PGnomeProcBar; gtime:gint; data:gpointer);cdecl;external libgnomeuidll name 'gnome_proc_bar_start';
+procedure gnome_proc_bar_stop(pb:PGnomeProcBar);cdecl;external libgnomeuidll name 'gnome_proc_bar_stop';
+procedure gnome_proc_bar_update(pb:PGnomeProcBar; colors:PGdkColor);cdecl;external libgnomeuidll name 'gnome_proc_bar_update';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_PROC_BAR : TGTKType;
+begin
+  GNOME_TYPE_PROC_BAR:=gnome_proc_bar_get_type;
+end;
+
+function GNOME_IS_PROC_BAR(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_PROC_BAR:=(obj<>nil) and GNOME_IS_PROC_BAR_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_PROC_BAR_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_PROC_BAR_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_PROC_BAR);
+end;
+
+function vertical(var a : TGnomeProcBar) : gboolean;
+begin
+   vertical:=gboolean((a.flag0 and bm__GnomeProcBar_vertical) shr bp__GnomeProcBar_vertical);
+end;
+
+procedure set_vertical(var a : TGnomeProcBar; __vertical : gboolean);
+begin
+   a.flag0:=a.flag0 or ((gint(__vertical) shl bp__GnomeProcBar_vertical) and bm__GnomeProcBar_vertical);
+end;
+
+{$Endif read_implementation}

+ 55 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomepropertybox.inc

@@ -0,0 +1,55 @@
+{$IfDef read_interface}
+
+const
+   GNOME_PROPERTY_BOX_DIRTY = 'gnome_property_box_dirty';
+
+type
+   PGnomePropertyBox = ^TGnomePropertyBox;
+   TGnomePropertyBox = record
+        dialog : TGnomeDialog;
+        notebook : PGtkWidget;
+        ok_button : PGtkWidget;
+        apply_button : PGtkWidget;
+        cancel_button : PGtkWidget;
+        help_button : PGtkWidget;
+     end;
+   GNOME_PROPERTY_BOX = PGnomePropertyBox;
+
+   PGnomePropertyBoxClass = ^TGnomePropertyBoxClass;
+   TGnomePropertyBoxClass = record
+        parent_class : TGnomeDialogClass;
+        apply : procedure (propertybox:PGnomePropertyBox; page_num:gint);cdecl;
+        help : procedure (propertybox:PGnomePropertyBox; page_num:gint);cdecl;
+     end;
+   GNOME_PROPERTY_BOX_CLASS = PGnomePropertyBoxClass;
+
+function GNOME_TYPE_PROPERTY_BOX : TGTKType;
+function GNOME_IS_PROPERTY_BOX(obj : Pointer) : Boolean;
+function GNOME_IS_PROPERTY_BOX_CLASS(klass : Pointer) : Boolean;
+
+function gnome_property_box_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_property_box_get_type';
+function gnome_property_box_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_property_box_new';
+procedure gnome_property_box_changed(property_box:PGnomePropertyBox);cdecl;external libgnomeuidll name 'gnome_property_box_changed';
+procedure gnome_property_box_set_modified(property_box:PGnomePropertyBox; state:gboolean);cdecl;external libgnomeuidll name 'gnome_property_box_set_modified';
+function gnome_property_box_append_page(property_box:PGnomePropertyBox; child:PGtkWidget; tab_label:PGtkWidget):gint;cdecl;external libgnomeuidll name 'gnome_property_box_append_page';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_PROPERTY_BOX : TGTKType;
+begin
+  GNOME_TYPE_PROPERTY_BOX:=gnome_property_box_get_type;
+end;
+
+function GNOME_IS_PROPERTY_BOX(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_PROPERTY_BOX:=(obj<>nil) and GNOME_IS_PROPERTY_BOX_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_PROPERTY_BOX_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_PROPERTY_BOX_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_PROPERTY_BOX);
+end;
+
+{$Endif read_implementation}

+ 57 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomescores.inc

@@ -0,0 +1,57 @@
+{$IfDef read_interface}
+
+type
+   PGnomeScores = ^TGnomeScores;
+   TGnomeScores = record
+        dialog : TGnomeDialog;
+        but_clear : PGtkWidget;
+        n_scores : guint;
+        logo : PGtkWidget;
+        label_names : PPGtkWidget;
+        label_scores : PPGtkWidget;
+        label_times : PPGtkWidget;
+     end;
+   GNOMES_SCORES = PGnomeScores;
+
+   PGnomeScoresClass = ^TGnomeScoresClass;
+   TGnomeScoresClass = record
+        parent_class : TGnomeDialogClass;
+     end;
+   GNOMES_SCORES_CLASS = PGnomeScoresClass;
+
+function GNOME_TYPE_SCORES : TGTKType;
+function GNOME_IS_SCORES(obj : Pointer) : Boolean;
+function GNOME_IS_SCORES_CLASS(klass : Pointer) : Boolean;
+
+function gnome_scores_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_scores_get_type';
+procedure gnome_scores_display(title:Pgchar; app_name:Pgchar; level:Pgchar; pos:longint);cdecl;external libgnomeuidll name 'gnome_scores_display';
+function gnome_scores_new(n_scores:guint; names:PPgchar; scores:Pgfloat; times:Ptime_t; clear:guint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_scores_new';
+procedure gnome_scores_set_logo_label(gs:PGnomeScores; txt:Pgchar; font:Pgchar; color:PGdkColor);cdecl;external libgnomeuidll name 'gnome_scores_set_logo_label';
+procedure gnome_scores_set_logo_pixmap(gs:PGnomeScores; logo:Pgchar);cdecl;external libgnomeuidll name 'gnome_scores_set_logo_pixmap';
+procedure gnome_scores_set_logo_widget(gs:PGnomeScores; w:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_scores_set_logo_widget';
+procedure gnome_scores_set_color(gs:PGnomeScores; pos:guint; col:PGdkColor);cdecl;external libgnomeuidll name 'gnome_scores_set_color';
+procedure gnome_scores_set_def_color(gs:PGnomeScores; col:PGdkColor);cdecl;external libgnomeuidll name 'gnome_scores_set_def_color';
+procedure gnome_scores_set_colors(gs:PGnomeScores; col:PGdkColor);cdecl;external libgnomeuidll name 'gnome_scores_set_colors';
+procedure gnome_scores_set_logo_label_title(gs:PGnomeScores; txt:Pgchar);cdecl;external libgnomeuidll name 'gnome_scores_set_logo_label_title';
+procedure gnome_scores_set_current_player(gs:PGnomeScores; i:gint);cdecl;external libgnomeuidll name 'gnome_scores_set_current_player';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_SCORES : TGTKType;
+begin
+  GNOME_TYPE_SCORES:=gnome_scores_get_type;
+end;
+
+function GNOME_IS_SCORES(obj : Pointer) : Boolean;
+begin
+   GNOME_IS_SCORES:=(obj<>nil) and GNOME_IS_SCORES_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_SCORES_CLASS(klass : Pointer) : Boolean;
+begin
+   GNOME_IS_SCORES_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_SCORES);
+end;
+
+{$Endif read_implementation}

+ 341 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomestock.inc

@@ -0,0 +1,341 @@
+{$IfDef read_interface}
+const
+   GNOME_STOCK_PIXMAP_NEW = 'New';
+   GNOME_STOCK_PIXMAP_OPEN = 'Open';
+   GNOME_STOCK_PIXMAP_CLOSE = 'Close';
+   GNOME_STOCK_PIXMAP_REVERT = 'Revert';
+   GNOME_STOCK_PIXMAP_SAVE = 'Save';
+   GNOME_STOCK_PIXMAP_SAVE_AS = 'Save As';
+   GNOME_STOCK_PIXMAP_CUT = 'Cut';
+   GNOME_STOCK_PIXMAP_COPY = 'Copy';
+   GNOME_STOCK_PIXMAP_PASTE = 'Paste';
+   GNOME_STOCK_PIXMAP_CLEAR = 'Clear';
+   GNOME_STOCK_PIXMAP_PROPERTIES = 'Properties';
+   GNOME_STOCK_PIXMAP_PREFERENCES = 'Preferences';
+   GNOME_STOCK_PIXMAP_HELP = 'Help';
+   GNOME_STOCK_PIXMAP_SCORES = 'Scores';
+   GNOME_STOCK_PIXMAP_PRINT = 'Print';
+   GNOME_STOCK_PIXMAP_SEARCH = 'Search';
+   GNOME_STOCK_PIXMAP_SRCHRPL = 'Search/Replace';
+   GNOME_STOCK_PIXMAP_BACK = 'Back';
+   GNOME_STOCK_PIXMAP_FORWARD = 'Forward';
+   GNOME_STOCK_PIXMAP_FIRST = 'First';
+   GNOME_STOCK_PIXMAP_LAST = 'Last';
+   GNOME_STOCK_PIXMAP_HOME = 'Home';
+   GNOME_STOCK_PIXMAP_STOP = 'Stop';
+   GNOME_STOCK_PIXMAP_REFRESH = 'Refresh';
+   GNOME_STOCK_PIXMAP_UNDO = 'Undo';
+   GNOME_STOCK_PIXMAP_REDO = 'Redo';
+   GNOME_STOCK_PIXMAP_TIMER = 'Timer';
+   GNOME_STOCK_PIXMAP_TIMER_STOP = 'Timer Stopped';
+   GNOME_STOCK_PIXMAP_MAIL = 'Mail';
+   GNOME_STOCK_PIXMAP_MAIL_RCV = 'Receive Mail';
+   GNOME_STOCK_PIXMAP_MAIL_SND = 'Send Mail';
+   GNOME_STOCK_PIXMAP_MAIL_RPL = 'Reply to Mail';
+   GNOME_STOCK_PIXMAP_MAIL_FWD = 'Forward Mail';
+   GNOME_STOCK_PIXMAP_MAIL_NEW = 'New Mail';
+   GNOME_STOCK_PIXMAP_TRASH = 'Trash';
+   GNOME_STOCK_PIXMAP_TRASH_FULL = 'Trash Full';
+   GNOME_STOCK_PIXMAP_UNDELETE = 'Undelete';
+   GNOME_STOCK_PIXMAP_SPELLCHECK = 'Spellchecker';
+   GNOME_STOCK_PIXMAP_MIC = 'Microphone';
+   GNOME_STOCK_PIXMAP_LINE_IN = 'Line In';
+   GNOME_STOCK_PIXMAP_CDROM = 'Cdrom';
+   GNOME_STOCK_PIXMAP_VOLUME = 'Volume';
+   GNOME_STOCK_PIXMAP_MIDI = 'Midi';
+   GNOME_STOCK_PIXMAP_BOOK_RED = 'Book Red';
+   GNOME_STOCK_PIXMAP_BOOK_GREEN = 'Book Green';
+   GNOME_STOCK_PIXMAP_BOOK_BLUE = 'Book Blue';
+   GNOME_STOCK_PIXMAP_BOOK_YELLOW = 'Book Yellow';
+   GNOME_STOCK_PIXMAP_BOOK_OPEN = 'Book Open';
+   GNOME_STOCK_PIXMAP_ABOUT = 'About';
+   GNOME_STOCK_PIXMAP_QUIT = 'Quit';
+   GNOME_STOCK_PIXMAP_MULTIPLE = 'Multiple';
+   GNOME_STOCK_PIXMAP_NOT = 'Not';
+   GNOME_STOCK_PIXMAP_CONVERT = 'Convert';
+   GNOME_STOCK_PIXMAP_JUMP_TO = 'Jump To';
+   GNOME_STOCK_PIXMAP_UP = 'Up';
+   GNOME_STOCK_PIXMAP_DOWN = 'Down';
+   GNOME_STOCK_PIXMAP_TOP = 'Top';
+   GNOME_STOCK_PIXMAP_BOTTOM = 'Bottom';
+   GNOME_STOCK_PIXMAP_ATTACH = 'Attach';
+   GNOME_STOCK_PIXMAP_INDEX = 'Index';
+   GNOME_STOCK_PIXMAP_FONT = 'Font';
+   GNOME_STOCK_PIXMAP_EXEC = 'Exec';
+   GNOME_STOCK_PIXMAP_ALIGN_LEFT = 'Left';
+   GNOME_STOCK_PIXMAP_ALIGN_RIGHT = 'Right';
+   GNOME_STOCK_PIXMAP_ALIGN_CENTER = 'Center';
+   GNOME_STOCK_PIXMAP_ALIGN_JUSTIFY = 'Justify';
+   GNOME_STOCK_PIXMAP_TEXT_BOLD = 'Bold';
+   GNOME_STOCK_PIXMAP_TEXT_ITALIC = 'Italic';
+   GNOME_STOCK_PIXMAP_TEXT_UNDERLINE = 'Underline';
+   GNOME_STOCK_PIXMAP_TEXT_STRIKEOUT = 'Strikeout';
+   GNOME_STOCK_PIXMAP_TEXT_INDENT = 'Text Indent';
+   GNOME_STOCK_PIXMAP_TEXT_UNINDENT = 'Text Unindent';
+   GNOME_STOCK_PIXMAP_EXIT = GNOME_STOCK_PIXMAP_QUIT;
+   GNOME_STOCK_PIXMAP_COLORSELECTOR = 'Color Select';
+   GNOME_STOCK_PIXMAP_ADD = 'Add';
+   GNOME_STOCK_PIXMAP_REMOVE = 'Remove';
+   GNOME_STOCK_PIXMAP_TABLE_BORDERS = 'Table Borders';
+   GNOME_STOCK_PIXMAP_TABLE_FILL = 'Table Fill';
+   GNOME_STOCK_PIXMAP_TEXT_BULLETED_LIST = 'Text Bulleted List';
+   GNOME_STOCK_PIXMAP_TEXT_NUMBERED_LIST = 'Text Numbered List';
+   GNOME_STOCK_PIXMAP_REGULAR = 'regular';
+   GNOME_STOCK_PIXMAP_DISABLED = 'disabled';
+   GNOME_STOCK_PIXMAP_FOCUSED = 'focused';
+   
+type
+   TGnomeStockPixmapType = (GNOME_STOCK_PIXMAP_TYPE_NONE,GNOME_STOCK_PIXMAP_TYPE_DATA,
+     GNOME_STOCK_PIXMAP_TYPE_FILE,GNOME_STOCK_PIXMAP_TYPE_PATH,
+     GNOME_STOCK_PIXMAP_TYPE_WIDGET,GNOME_STOCK_PIXMAP_TYPE_IMLIB,
+     GNOME_STOCK_PIXMAP_TYPE_IMLIB_SCALED,
+     GNOME_STOCK_PIXMAP_TYPE_GPIXMAP);
+
+   PGnomeStockPixmapEntryData = ^TGnomeStockPixmapEntryData;
+   TGnomeStockPixmapEntryData = record
+        thetype : TGnomeStockPixmapType;
+        width : longint;
+        height : longint;
+        thelabel : Pchar;
+        xpm_data : PPgchar;
+     end;
+
+   PGnomeStockPixmapEntryImlib = ^TGnomeStockPixmapEntryImlib;
+   TGnomeStockPixmapEntryImlib = record
+        thetype : TGnomeStockPixmapType;
+        width : longint;
+        height : longint;
+        thelabel : Pchar;
+        rgb_data : Pgchar;
+        shape : TGdkImlibColor;
+     end;
+
+   PGnomeStockPixmapEntryImlibScaled = ^TGnomeStockPixmapEntryImlibScaled;
+   TGnomeStockPixmapEntryImlibScaled = record
+        thetype : TGnomeStockPixmapType;
+        width : longint;
+        height : longint;
+        thelabel : Pchar;
+        rgb_data : Pgchar;
+        shape : TGdkImlibColor;
+        scaled_width : longint;
+        scaled_height : longint;
+     end;
+
+   PGnomeStockPixmapEntryFile = ^TGnomeStockPixmapEntryFile;
+   TGnomeStockPixmapEntryFile = record
+        thetype : TGnomeStockPixmapType;
+        width : longint;
+        height : longint;
+        thelabel : Pchar;
+        filename : Pgchar;
+     end;
+
+   PGnomeStockPixmapEntryPath = ^TGnomeStockPixmapEntryPath;
+   TGnomeStockPixmapEntryPath = record
+        thetype : TGnomeStockPixmapType;
+        width : longint;
+        height : longint;
+        thelabel : Pchar;
+        pathname : Pgchar;
+     end;
+
+   PGnomeStockPixmapEntryWidget = ^TGnomeStockPixmapEntryWidget;
+   TGnomeStockPixmapEntryWidget = record
+        thetype : TGnomeStockPixmapType;
+        width : longint;
+        height : longint;
+        thelabel : Pchar;
+        widget : PGtkWidget;
+     end;
+
+   PGnomeStockPixmapEntryGPixmap = ^TGnomeStockPixmapEntryGPixmap;
+   TGnomeStockPixmapEntryGPixmap = record
+        thetype : TGnomeStockPixmapType;
+        width : longint;
+        height : longint;
+        thelabel : Pchar;
+        pixmap : PGnomePixmap;
+     end;
+
+   PGnomeStockPixmapEntryAny = ^TGnomeStockPixmapEntryAny;
+   TGnomeStockPixmapEntryAny = record
+        thetype : TGnomeStockPixmapType;
+        width : longint;
+        height : longint;
+        thelabel : Pchar;
+     end;
+
+   PGnomeStockPixmapEntry = ^TGnomeStockPixmapEntry;
+   TGnomeStockPixmapEntry = record
+       case longint of
+          0 : ( thetype : TGnomeStockPixmapType );
+          1 : ( any : TGnomeStockPixmapEntryAny );
+          2 : ( data : TGnomeStockPixmapEntryData );
+          3 : ( thefile : TGnomeStockPixmapEntryFile );
+          4 : ( path : TGnomeStockPixmapEntryPath );
+          5 : ( widget : TGnomeStockPixmapEntryWidget );
+          6 : ( imlib : TGnomeStockPixmapEntryImlib );
+          7 : ( imlib_s : TGnomeStockPixmapEntryImlibScaled );
+          8 : ( gpixmap : TGnomeStockPixmapEntryGPixmap );
+       end;
+
+   PGnomeStock = ^TGnomeStock;
+   TGnomeStock = record
+        pixmap : TGnomePixmap;
+        regular : PGnomePixmap;
+        disabled : PGnomePixmap;
+        focused : PGnomePixmap;
+        current : PGnomePixmap;
+        icon : Pchar;
+        c_regular : guint32;
+        c_disabled : guint32;
+        c_focused : guint32;
+     end;
+   GNOME_STOCK = TGnomeStock;
+
+   PGnomeStockClass = ^TGnomeStockClass;
+   TGnomeStockClass = record
+      pixmap_class : TGnomePixmapClass;
+    end;
+   GNOME_STOCK_CLASS = TGnomeStockClass;
+
+function GNOME_TYPE_STOCK : TGtkType;
+
+function GNOME_IS_STOCK(obj : pointer) : gboolean;
+function GNOME_IS_STOCK_CLASS(klass : pointer) : gboolean;
+function GNOME_IS_STOCK_PIXMAP_WIDGET(obj : pointer) : gboolean;
+
+function gnome_stock_pixmap_widget_new(window:PGtkWidget; icon:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_pixmap_widget_new';
+function gnome_stock_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_stock_get_type';
+function gnome_stock_new:PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_new';
+function gnome_stock_new_with_icon(icon:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_new_with_icon';
+function gnome_stock_set_icon(stock:PGnomeStock; icon:Pchar):gboolean;cdecl;external libgnomeuidll name 'gnome_stock_set_icon';
+function gnome_stock_pixmap(window:PGtkWidget; icon:Pchar; subtype:Pchar):PGnomePixmap;cdecl;external libgnomeuidll name 'gnome_stock_pixmap';
+function gnome_stock_pixmap_widget(window:PGtkWidget; icon:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_pixmap_widget';
+function gnome_stock_pixmap_widget_at_size(window:PGtkWidget; icon:Pchar; width:guint; height:guint):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_pixmap_widget_at_size';
+procedure gnome_stock_pixmap_widget_set_icon(widget:PGnomeStock; icon:Pchar);cdecl;external libgnomeuidll name 'gnome_stock_pixmap_widget_set_icon';
+function gnome_stock_pixmap_register(icon:Pchar; subtype:Pchar; entry:PGnomeStockPixmapEntry):gint;cdecl;external libgnomeuidll name 'gnome_stock_pixmap_register';
+function gnome_stock_pixmap_change(icon:Pchar; subtype:Pchar; entry:PGnomeStockPixmapEntry):gint;cdecl;external libgnomeuidll name 'gnome_stock_pixmap_change';
+function gnome_stock_pixmap_checkfor(icon:Pchar; subtype:Pchar):PGnomeStockPixmapEntry;cdecl;external libgnomeuidll name 'gnome_stock_pixmap_checkfor';
+function gnome_pixmap_button(pixmap:PGtkWidget; thetext:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_pixmap_button';
+procedure gnome_button_can_default(button:PGtkButton; can_default:gboolean);cdecl;external libgnomeuidll name 'gnome_button_can_default';
+
+const
+   GNOME_STOCK_BUTTON_OK = 'Button_Ok';
+   GNOME_STOCK_BUTTON_CANCEL = 'Button_Cancel';
+   GNOME_STOCK_BUTTON_YES = 'Button_Yes';
+   GNOME_STOCK_BUTTON_NO = 'Button_No';
+   GNOME_STOCK_BUTTON_CLOSE = 'Button_Close';
+   GNOME_STOCK_BUTTON_APPLY = 'Button_Apply';
+   GNOME_STOCK_BUTTON_HELP = 'Button_Help';
+   GNOME_STOCK_BUTTON_NEXT = 'Button_Next';
+   GNOME_STOCK_BUTTON_PREV = 'Button_Prev';
+   GNOME_STOCK_BUTTON_UP = 'Button_Up';
+   GNOME_STOCK_BUTTON_DOWN = 'Button_Down';
+   GNOME_STOCK_BUTTON_FONT = 'Button_Font';
+
+function gnome_stock_button(thetype:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_button';
+function gnome_stock_or_ordinary_button(thetype:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_or_ordinary_button';
+
+const
+   GNOME_STOCK_MENU_BLANK = 'Menu_';
+   GNOME_STOCK_MENU_NEW = 'Menu_New';
+   GNOME_STOCK_MENU_SAVE = 'Menu_Save';
+   GNOME_STOCK_MENU_SAVE_AS = 'Menu_Save As';
+   GNOME_STOCK_MENU_REVERT = 'Menu_Revert';
+   GNOME_STOCK_MENU_OPEN = 'Menu_Open';
+   GNOME_STOCK_MENU_CLOSE = 'Menu_Close';
+   GNOME_STOCK_MENU_QUIT = 'Menu_Quit';
+   GNOME_STOCK_MENU_CUT = 'Menu_Cut';
+   GNOME_STOCK_MENU_COPY = 'Menu_Copy';
+   GNOME_STOCK_MENU_PASTE = 'Menu_Paste';
+   GNOME_STOCK_MENU_PROP = 'Menu_Properties';
+   GNOME_STOCK_MENU_PREF = 'Menu_Preferences';
+   GNOME_STOCK_MENU_ABOUT = 'Menu_About';
+   GNOME_STOCK_MENU_SCORES = 'Menu_Scores';
+   GNOME_STOCK_MENU_UNDO = 'Menu_Undo';
+   GNOME_STOCK_MENU_REDO = 'Menu_Redo';
+   GNOME_STOCK_MENU_PRINT = 'Menu_Print';
+   GNOME_STOCK_MENU_SEARCH = 'Menu_Search';
+   GNOME_STOCK_MENU_SRCHRPL = 'Menu_Search/Replace';
+   GNOME_STOCK_MENU_BACK = 'Menu_Back';
+   GNOME_STOCK_MENU_FORWARD = 'Menu_Forward';
+   GNOME_STOCK_MENU_FIRST = 'Menu_First';
+   GNOME_STOCK_MENU_LAST = 'Menu_Last';
+   GNOME_STOCK_MENU_HOME = 'Menu_Home';
+   GNOME_STOCK_MENU_STOP = 'Menu_Stop';
+   GNOME_STOCK_MENU_REFRESH = 'Menu_Refresh';
+   GNOME_STOCK_MENU_MAIL = 'Menu_Mail';
+   GNOME_STOCK_MENU_MAIL_RCV = 'Menu_Receive Mail';
+   GNOME_STOCK_MENU_MAIL_SND = 'Menu_Send Mail';
+   GNOME_STOCK_MENU_MAIL_RPL = 'Menu_Reply to Mail';
+   GNOME_STOCK_MENU_MAIL_FWD = 'Menu_Forward Mail';
+   GNOME_STOCK_MENU_MAIL_NEW = 'Menu_New Mail';
+   GNOME_STOCK_MENU_TRASH = 'Menu_Trash';
+   GNOME_STOCK_MENU_TRASH_FULL = 'Menu_Trash Full';
+   GNOME_STOCK_MENU_UNDELETE = 'Menu_Undelete';
+   GNOME_STOCK_MENU_TIMER = 'Menu_Timer';
+   GNOME_STOCK_MENU_TIMER_STOP = 'Menu_Timer Stopped';
+   GNOME_STOCK_MENU_SPELLCHECK = 'Menu_Spellchecker';
+   GNOME_STOCK_MENU_MIC = 'Menu_Microphone';
+   GNOME_STOCK_MENU_LINE_IN = 'Menu_Line In';
+   GNOME_STOCK_MENU_CDROM = 'Menu_Cdrom';
+   GNOME_STOCK_MENU_VOLUME = 'Menu_Volume';
+   GNOME_STOCK_MENU_MIDI = 'Menu_Midi';
+   GNOME_STOCK_MENU_BOOK_RED = 'Menu_Book Red';
+   GNOME_STOCK_MENU_BOOK_GREEN = 'Menu_Book Green';
+   GNOME_STOCK_MENU_BOOK_BLUE = 'Menu_Book Blue';
+   GNOME_STOCK_MENU_BOOK_YELLOW = 'Menu_Book Yellow';
+   GNOME_STOCK_MENU_BOOK_OPEN = 'Menu_Book Open';
+   GNOME_STOCK_MENU_CONVERT = 'Menu_Convert';
+   GNOME_STOCK_MENU_JUMP_TO = 'Menu_Jump To';
+   GNOME_STOCK_MENU_UP = 'Menu_Up';
+   GNOME_STOCK_MENU_DOWN = 'Menu_Down';
+   GNOME_STOCK_MENU_TOP = 'Menu_Top';
+   GNOME_STOCK_MENU_BOTTOM = 'Menu_Bottom';
+   GNOME_STOCK_MENU_ATTACH = 'Menu_Attach';
+   GNOME_STOCK_MENU_INDEX = 'Menu_Index';
+   GNOME_STOCK_MENU_FONT = 'Menu_Font';
+   GNOME_STOCK_MENU_EXEC = 'Menu_Exec';
+   GNOME_STOCK_MENU_ALIGN_LEFT = 'Menu_Left';
+   GNOME_STOCK_MENU_ALIGN_RIGHT = 'Menu_Right';
+   GNOME_STOCK_MENU_ALIGN_CENTER = 'Menu_Center';
+   GNOME_STOCK_MENU_ALIGN_JUSTIFY = 'Menu_Justify';
+   GNOME_STOCK_MENU_TEXT_BOLD = 'Menu_Bold';
+   GNOME_STOCK_MENU_TEXT_ITALIC = 'Menu_Italic';
+   GNOME_STOCK_MENU_TEXT_UNDERLINE = 'Menu_Underline';
+   GNOME_STOCK_MENU_TEXT_STRIKEOUT = 'Menu_Strikeout';
+   GNOME_STOCK_MENU_EXIT = GNOME_STOCK_MENU_QUIT;
+
+function gnome_stock_menu_item(thetype:Pchar; thetext:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_menu_item';
+function gnome_stock_menu_accel(thetype:Pchar; key:Pguchar; mods:Pguint8):gboolean;cdecl;external libgnomeuidll name 'gnome_stock_menu_accel';
+procedure gnome_stock_menu_accel_parse(section:Pchar);cdecl;external libgnomeuidll name 'gnome_stock_menu_accel_parse';
+function gnome_stock_transparent_window(icon:Pchar; subtype:Pchar):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_stock_transparent_window';
+procedure gnome_stock_pixmap_gdk(icon:Pchar; subtype:Pchar; pixmap:PPGdkPixmap; mask:PPGdkPixmap);cdecl;external libgnomeuidll name 'gnome_stock_pixmap_gdk';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_STOCK : TGTKType;
+begin
+  GNOME_TYPE_STOCK:=gnome_stock_get_type;
+end;
+
+function GNOME_IS_STOCK(obj : Pointer) : gBoolean;
+begin
+   GNOME_IS_STOCK:=(obj<>nil) and GNOME_IS_STOCK_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_STOCK_CLASS(klass : Pointer) : gBoolean;
+begin
+   GNOME_IS_STOCK_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_STOCK);
+end;
+
+function GNOME_IS_STOCK_PIXMAP_WIDGET(obj : pointer) : gboolean;
+begin
+  GNOME_IS_STOCK_PIXMAP_WIDGET := GNOME_IS_STOCK(obj);
+end;
+
+{$Endif read_implementation}

+ 38 - 0
packages/extra/gnome1/gnome/libgnomeui/gnometypebuiltins.inc

@@ -0,0 +1,38 @@
+{$IfDef read_interface}
+
+  var
+     GTK_TYPE_GNOME_ANIMATOR_STATUS : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_ANIMATOR_LOOP_TYPE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_UI_INFO_TYPE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_UI_INFO_CONFIGURABLE_TYPES : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_UI_PIXMAP_TYPE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_CALCULATOR_MODE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_INTERACT_STYLE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_DIALOG_TYPE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_SAVE_STYLE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_RESTART_STYLE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_CLIENT_STATE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_CLIENT_FLAGS : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_DATE_EDIT_FLAGS : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_DOCK_PLACEMENT : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_DOCK_ITEM_BEHAVIOR : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_FONT_PICKER_MODE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_ICON_LIST_MODE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_MDI_MODE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_PROPERTY_ACTION : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_STOCK_PIXMAP_TYPE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_PREFERENCES_TYPE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_WIN_LAYER : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_WIN_STATE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_WIN_HINTS : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_WIN_APP_STATE : TGtkType;cvar;external;
+     GTK_TYPE_CLOCK_TYPE : TGtkType;cvar;external;
+     GTK_TYPE_GDK_IMLIB_IMAGE : TGtkType;cvar;external;
+     GTK_TYPE_GNOME_CANVAS_POINTS : TGtkType;cvar;external;
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+
+{$Endif read_implementation}

+ 65 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomeuidefs.inc

@@ -0,0 +1,65 @@
+{$IfDef read_interface}
+const
+   GNOME_PAD = 8;
+   GNOME_PAD_SMALL = 4;
+   GNOME_PAD_BIG = 12;
+   GNOME_YES = 0;
+   GNOME_NO = 1;
+   GNOME_OK = 0;
+   GNOME_CANCEL = 1;
+
+const
+   GNOME_KEY_NAME_EXIT = 'Q';
+   GNOME_KEY_MOD_EXIT = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_CLOSE = 'W';
+   GNOME_KEY_MOD_CLOSE = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_CUT = 'X';
+   GNOME_KEY_MOD_CUT = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_COPY = 'C';
+   GNOME_KEY_MOD_COPY = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_PASTE = 'V';
+   GNOME_KEY_MOD_PASTE = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_SELECT_ALL = 0;
+   GNOME_KEY_MOD_SELECT_ALL = 0;
+   GNOME_KEY_NAME_CLEAR = 0;
+   GNOME_KEY_MOD_CLEAR = 0;
+   GNOME_KEY_NAME_UNDO = 'Z';
+   GNOME_KEY_MOD_UNDO = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_REDO = 'R';
+   GNOME_KEY_MOD_REDO = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_SAVE = 'S';
+   GNOME_KEY_MOD_SAVE = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_OPEN = GDK_F3;
+   GNOME_KEY_MOD_OPEN = 0;
+   GNOME_KEY_NAME_SAVE_AS = 0;
+   GNOME_KEY_MOD_SAVE_AS = 0;
+   GNOME_KEY_NAME_NEW = 0;
+   GNOME_KEY_MOD_NEW = 0;
+   GNOME_KEY_NAME_PRINT = 0;
+   GNOME_KEY_MOD_PRINT = 0;
+   GNOME_KEY_NAME_PRINT_SETUP = 0;
+   GNOME_KEY_MOD_PRINT_SETUP = 0;
+   GNOME_KEY_NAME_FIND = GDK_F6;
+   GNOME_KEY_MOD_FIND = 0;
+   GNOME_KEY_NAME_FIND_AGAIN = GDK_F6;
+   GNOME_KEY_MOD_FIND_AGAIN = GDK_SHIFT_MASK;
+   GNOME_KEY_NAME_REPLACE = GDK_F7;
+   GNOME_KEY_MOD_REPLACE = 0;
+   GNOME_KEY_NAME_NEW_WINDOW = 0;
+   GNOME_KEY_MOD_NEW_WINDOW = 0;
+   GNOME_KEY_NAME_CLOSE_WINDOW = 0;
+   GNOME_KEY_MOD_CLOSE_WINDOW = 0;
+   GNOME_KEY_NAME_REDO_MOVE = 'R';
+   GNOME_KEY_MOD_REDO_MOVE = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_UNDO_MOVE = 'Z';
+   GNOME_KEY_MOD_UNDO_MOVE = GDK_CONTROL_MASK;
+   GNOME_KEY_NAME_PAUSE_GAME = 0;
+   GNOME_KEY_MOD_PAUSE_GAME = 0;
+   GNOME_KEY_NAME_NEW_GAME = 'N';
+   GNOME_KEY_MOD_NEW_GAME = GDK_CONTROL_MASK;
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 85 - 0
packages/extra/gnome1/gnome/libgnomeui/gnomewinhints.inc

@@ -0,0 +1,85 @@
+{$IfDef read_interface}
+
+const
+   XA_WIN_PROTOCOLS = '_WIN_PROTOCOLS';
+   XA_WIN_ICONS = '_WIN_ICONS';
+   XA_WIN_WORKSPACE = '_WIN_WORKSPACE';
+   XA_WIN_WORKSPACE_COUNT = '_WIN_WORKSPACE_COUNT';
+   XA_WIN_WORKSPACE_NAMES = '_WIN_WORKSPACE_NAMES';
+   XA_WIN_LAYER = '_WIN_LAYER';
+   XA_WIN_STATE = '_WIN_STATE';
+   XA_WIN_HINTS = '_WIN_HINTS';
+   XA_WIN_WORKAREA = '_WIN_WORKAREA';
+   XA_WIN_CLIENT_LIST = '_WIN_CLIENT_LIST';
+   XA_WIN_APP_STATE = '_WIN_APP_STATE';
+   XA_WIN_EXPANDED_SIZE = '_WIN_EXPANDED_SIZE';
+   XA_WIN_CLIENT_MOVING = '_WIN_CLIENT_MOVING';
+   XA_WIN_SUPPORTING_WM_CHECK = '_WIN_SUPPORTING_WM_CHECK';
+type
+   TGnomeWinLayer = (WIN_LAYER_DESKTOP := 0,WIN_LAYER_BELOW := 2,
+     WIN_LAYER_NORMAL := 4,WIN_LAYER_ONTOP := 6,
+     WIN_LAYER_DOCK := 8,WIN_LAYER_ABOVE_DOCK := 10
+     );
+
+   TGnomeWinState = (WIN_STATE_STICKY := 1 shl 0,WIN_STATE_MINIMIZED := 1 shl 1,
+     WIN_STATE_MAXIMIZED_VERT := 1 shl 2,WIN_STATE_MAXIMIZED_HORIZ := 1 shl 3,
+     WIN_STATE_HIDDEN := 1 shl 4,WIN_STATE_SHADED := 1 shl 5,
+     WIN_STATE_HID_WORKSPACE := 1 shl 6,WIN_STATE_HID_TRANSIENT := 1 shl 7,
+     WIN_STATE_FIXED_POSITION := 1 shl 8,WIN_STATE_ARRANGE_IGNORE := 1 shl 9
+     );
+
+   TGnomeWinHints = (WIN_HINTS_SKIP_FOCUS := 1 shl 0,WIN_HINTS_SKIP_WINLIST := 1 shl 1,
+     WIN_HINTS_SKIP_TASKBAR := 1 shl 2,WIN_HINTS_GROUP_TRANSIENT := 1 shl 3,
+     WIN_HINTS_FOCUS_ON_CLICK := 1 shl 4,WIN_HINTS_DO_NOT_COVER := 1 shl 5
+     );
+
+   TGnomeWinAppState = (WIN_APP_STATE_NONE,WIN_APP_STATE_ACTIVE1,
+     WIN_APP_STATE_ACTIVE2,WIN_APP_STATE_ERROR1,
+     WIN_APP_STATE_ERROR2,WIN_APP_STATE_FATAL_ERROR1,
+     WIN_APP_STATE_FATAL_ERROR2,WIN_APP_STATE_IDLE1,
+     WIN_APP_STATE_IDLE2,WIN_APP_STATE_WAITING1,
+     WIN_APP_STATE_WAITING2,WIN_APP_STATE_WORKING1,
+     WIN_APP_STATE_WORKING2,WIN_APP_STATE_NEED_USER_INPUT1,
+     WIN_APP_STATE_NEED_USER_INPUT2,WIN_APP_STATE_STRUGGLING1,
+     WIN_APP_STATE_STRUGGLING2,WIN_APP_STATE_DISK_TRAFFIC1,
+     WIN_APP_STATE_DISK_TRAFFIC2,WIN_APP_STATE_NETWORK_TRAFFIC1,
+     WIN_APP_STATE_NETWORK_TRAFFIC2,WIN_APP_STATE_OVERLOADED1,
+     WIN_APP_STATE_OVERLOADED2,WIN_APP_STATE_PERCENT000_1,
+     WIN_APP_STATE_PERCENT000_2,WIN_APP_STATE_PERCENT010_1,
+     WIN_APP_STATE_PERCENT010_2,WIN_APP_STATE_PERCENT020_1,
+     WIN_APP_STATE_PERCENT020_2,WIN_APP_STATE_PERCENT030_1,
+     WIN_APP_STATE_PERCENT030_2,WIN_APP_STATE_PERCENT040_1,
+     WIN_APP_STATE_PERCENT040_2,WIN_APP_STATE_PERCENT050_1,
+     WIN_APP_STATE_PERCENT050_2,WIN_APP_STATE_PERCENT060_1,
+     WIN_APP_STATE_PERCENT060_2,WIN_APP_STATE_PERCENT070_1,
+     WIN_APP_STATE_PERCENT070_2,WIN_APP_STATE_PERCENT080_1,
+     WIN_APP_STATE_PERCENT080_2,WIN_APP_STATE_PERCENT090_1,
+     WIN_APP_STATE_PERCENT090_2,WIN_APP_STATE_PERCENT100_1,
+     WIN_APP_STATE_PERCENT100_2);
+
+procedure gnome_win_hints_init;cdecl;external libgnomeuidll name 'gnome_win_hints_init';
+procedure gnome_win_hints_set_layer(window:PGtkWidget; layer:TGnomeWinLayer);cdecl;external libgnomeuidll name 'gnome_win_hints_set_layer';
+function gnome_win_hints_get_layer(window:PGtkWidget):TGnomeWinLayer;cdecl;external libgnomeuidll name 'gnome_win_hints_get_layer';
+procedure gnome_win_hints_set_state(window:PGtkWidget; state:TGnomeWinState);cdecl;external libgnomeuidll name 'gnome_win_hints_set_state';
+function gnome_win_hints_get_state(window:PGtkWidget):TGnomeWinState;cdecl;external libgnomeuidll name 'gnome_win_hints_get_state';
+procedure gnome_win_hints_set_hints(window:PGtkWidget; skip:TGnomeWinHints);cdecl;external libgnomeuidll name 'gnome_win_hints_set_hints';
+function gnome_win_hints_get_hints(window:PGtkWidget):TGnomeWinHints;cdecl;external libgnomeuidll name 'gnome_win_hints_get_hints';
+procedure gnome_win_hints_set_workspace(window:PGtkWidget; workspace:gint);cdecl;external libgnomeuidll name 'gnome_win_hints_set_workspace';
+function gnome_win_hints_get_workspace(window:PGtkWidget):gint;cdecl;external libgnomeuidll name 'gnome_win_hints_get_workspace';
+procedure gnome_win_hints_set_current_workspace(workspace:gint);cdecl;external libgnomeuidll name 'gnome_win_hints_set_current_workspace';
+function gnome_win_hints_get_current_workspace:gint;cdecl;external libgnomeuidll name 'gnome_win_hints_get_current_workspace';
+function gnome_win_hints_get_workspace_names:PGList;cdecl;external libgnomeuidll name 'gnome_win_hints_get_workspace_names';
+function gnome_win_hints_get_workspace_count:gint;cdecl;external libgnomeuidll name 'gnome_win_hints_get_workspace_count';
+procedure gnome_win_hints_set_expanded_size(window:PGtkWidget; x:gint; y:gint; width:gint; height:gint);cdecl;external libgnomeuidll name 'gnome_win_hints_set_expanded_size';
+function gnome_win_hints_get_expanded_size(window:PGtkWidget; x:Pgint; y:Pgint; width:Pgint; height:Pgint):gboolean;cdecl;external libgnomeuidll name 'gnome_win_hints_get_expanded_size';
+procedure gnome_win_hints_set_moving(window:PGtkWidget; moving:gboolean);cdecl;external libgnomeuidll name 'gnome_win_hints_set_moving';
+procedure gnome_win_hints_set_app_state(window:PGtkWidget; state:TGnomeWinAppState);cdecl;external libgnomeuidll name 'gnome_win_hints_set_app_state';
+function gnome_win_hints_get_app_state(window:PGtkWidget):TGnomeWinAppState;cdecl;external libgnomeuidll name 'gnome_win_hints_get_app_state';
+function gnome_win_hints_wm_exists:gboolean;cdecl;external libgnomeuidll name 'gnome_win_hints_wm_exists';
+function gnome_win_hints_get_client_window_ids:PGList;cdecl;external libgnomeuidll name 'gnome_win_hints_get_client_window_ids';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}

+ 57 - 0
packages/extra/gnome1/gnome/libgnomeui/gtkclock.inc

@@ -0,0 +1,57 @@
+{$IfDef read_interface}
+
+type
+   TGtkClockType = (GTK_CLOCK_INCREASING,GTK_CLOCK_DECREASING,
+     GTK_CLOCK_REALTIME);
+     
+   PGtkClock = ^TGtkClock;
+   TGtkClock = record
+        widget : TGtkLabel;
+        thetype : TGtkClockType;
+        timer_id : gint;
+        update_interval : gint;
+        seconds : time_t;
+        stopped : time_t;
+        fmt : Pgchar;
+        thetm : Ptm;
+     end;
+   GTK_CLOCK = PGTKClock;
+
+   PGtkClockClass = ^TGtkClockClass;
+   TGtkClockClass = record
+        parent_class : TGtkLabelClass;
+     end;
+   GTK_CLOCK_CLASS = PGTKClockClass;
+
+function GTK_TYPE_CLOCK : TGTKType;
+function GTK_IS_CLOCK(obj : Pointer) : gboolean;
+function GTK_IS_CLOCK_CLASS(klass : Pointer) : gboolean;
+
+function gtk_clock_get_type:TGTKType;cdecl;external libgnomeuidll name 'gtk_clock_get_type';
+function gtk_clock_new(thetype:TGtkClockType):PGtkWidget;cdecl;external libgnomeuidll name 'gtk_clock_new';
+procedure gtk_clock_set_format(gclock:PGtkClock; fmt:Pgchar);cdecl;external libgnomeuidll name 'gtk_clock_set_format';
+procedure gtk_clock_set_seconds(gclock:PGtkClock; seconds:time_t);cdecl;external libgnomeuidll name 'gtk_clock_set_seconds';
+procedure gtk_clock_set_update_interval(gclock:PGtkClock; seconds:gint);cdecl;external libgnomeuidll name 'gtk_clock_set_update_interval';
+procedure gtk_clock_start(gclock:PGtkClock);cdecl;external libgnomeuidll name 'gtk_clock_start';
+procedure gtk_clock_stop(gclock:PGtkClock);cdecl;external libgnomeuidll name 'gtk_clock_stop';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GTK_TYPE_CLOCK : TGTKType;
+begin
+  GTK_TYPE_CLOCK:=gtk_clock_get_type;
+end;
+
+function GTK_IS_CLOCK(obj : Pointer) : gboolean;
+begin
+   GTK_IS_CLOCK:=(obj<>nil) and GTK_IS_CLOCK_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GTK_IS_CLOCK_CLASS(klass : Pointer) : gboolean;
+begin
+   GTK_IS_CLOCK_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_TYPE_CLOCK);
+end;
+
+{$Endif read_implementation}

+ 93 - 0
packages/extra/gnome1/gnome/libgnomeui/gtkdial.inc

@@ -0,0 +1,93 @@
+{$IfDef read_interface}
+
+type
+   PGtkDial = ^TGtkDial;
+   TGtkDial = record
+        widget : TGtkWidget;
+        offscreen_pixmap : PGdkPixmap;
+        adjustment : PGtkAdjustment;
+        flag0 : word;
+        button : guint8;
+        radius : gint;
+        pointer_width : gint;
+        timer : guint32;
+        angle : gfloat;
+        percentage : gfloat;
+        old_value : gfloat;
+        old_lower : gfloat;
+        old_upper : gfloat;
+     end;
+   GTK_DIAL = PGtkDial;
+
+const
+   bm__GtkDial_policy = $3;
+   bp__GtkDial_policy = 0;
+   bm__GtkDial_view_only = $4;
+   bp__GtkDial_view_only = 2;
+function policy(var a : TGtkDial) : guint;
+procedure set_policy(var a : TGtkDial; __policy : guint);
+function view_only(var a : TGtkDial) : guint;
+procedure set_view_only(var a : TGtkDial; __view_only : guint);
+
+type
+   PGtkDialClass = ^TGtkDialClass;
+   TGtkDialClass = record
+        parent_class : TGtkWidgetClass;
+     end;
+   GTK_DIAL_CLASS = PGtkDialClass;
+
+function GTK_TYPE_DIAL : TGTKType;
+function GTK_IS_DIAL(obj : Pointer) : gboolean;
+function GTK_IS_DIAL_CLASS(klass : Pointer) : gboolean;
+
+function gtk_dial_new(adjustment:PGtkAdjustment):PGtkWidget;cdecl;external libgnomeuidll name 'gtk_dial_new';
+function gtk_dial_get_type:TGTKType;cdecl;external libgnomeuidll name 'gtk_dial_get_type';
+function gtk_dial_get_adjustment(dial:PGtkDial):PGtkAdjustment;cdecl;external libgnomeuidll name 'gtk_dial_get_adjustment';
+procedure gtk_dial_set_update_policy(dial:PGtkDial; policy:TGtkUpdateType);cdecl;external libgnomeuidll name 'gtk_dial_set_update_policy';
+procedure gtk_dial_set_adjustment(dial:PGtkDial; adjustment:PGtkAdjustment);cdecl;external libgnomeuidll name 'gtk_dial_set_adjustment';
+function gtk_dial_set_percentage(dial:PGtkDial; percent:gfloat):gfloat;cdecl;external libgnomeuidll name 'gtk_dial_set_percentage';
+function gtk_dial_get_percentage(dial:PGtkDial):gfloat;cdecl;external libgnomeuidll name 'gtk_dial_get_percentage';
+function gtk_dial_set_value(dial:PGtkDial; value:gfloat):gfloat;cdecl;external libgnomeuidll name 'gtk_dial_set_value';
+function gtk_dial_get_value(dial:PGtkDial):gfloat;cdecl;external libgnomeuidll name 'gtk_dial_get_value';
+procedure gtk_dial_set_view_only(dial:PGtkDial; view_only:gboolean);cdecl;external libgnomeuidll name 'gtk_dial_set_view_only';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GTK_TYPE_DIAL : TGTKType;
+begin
+  GTK_TYPE_DIAL:=gtk_dial_get_type;
+end;
+
+function GTK_IS_DIAL(obj : Pointer) : gboolean;
+begin
+   GTK_IS_DIAL:=(obj<>nil) and GTK_IS_DIAL_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GTK_IS_DIAL_CLASS(klass : Pointer) : gboolean;
+begin
+   GTK_IS_DIAL_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_TYPE_DIAL);
+end;
+
+function policy(var a : TGtkDial) : guint;
+begin
+   policy:=(a.flag0 and bm__GtkDial_policy) shr bp__GtkDial_policy;
+end;
+
+procedure set_policy(var a : TGtkDial; __policy : guint);
+begin
+   a.flag0:=a.flag0 or ((__policy shl bp__GtkDial_policy) and bm__GtkDial_policy);
+end;
+
+function view_only(var a : TGtkDial) : guint;
+begin
+   view_only:=(a.flag0 and bm__GtkDial_view_only) shr bp__GtkDial_view_only;
+end;
+
+procedure set_view_only(var a : TGtkDial; __view_only : guint);
+begin
+   a.flag0:=a.flag0 or ((__view_only shl bp__GtkDial_view_only) and bm__GtkDial_view_only);
+end;
+
+{$Endif read_implementation}

+ 44 - 0
packages/extra/gnome1/gnome/libgnomeui/gtkpixmapmenuitem.inc

@@ -0,0 +1,44 @@
+{$IfDef read_interface}
+
+type
+   PGtkPixmapMenuItem = ^TGtkPixmapMenuItem;
+   TGtkPixmapMenuItem = record
+        menu_item : TGtkMenuItem;
+        pixmap : PGtkWidget;
+     end;
+   GTK_PIXMAP_MENU_ITEM = PGtkPixmapMenuItem;
+
+   PGtkPixmapMenuItemClass = ^TGtkPixmapMenuItemClass;
+   TGtkPixmapMenuItemClass = record
+        parent_class : TGtkMenuItemClass;
+     end;
+   GTK_PIXMAP_MENU_ITEM_CLASS = PGtkPixmapMenuItemClass;
+
+function GNOME_TYPE_PIXMAP_MENU_ITEM : TGTKType;
+function GNOME_IS_PIXMAP_MENU_ITEM(obj : Pointer) : gboolean;
+function GNOME_IS_PIXMAP_MENU_ITEM_CLASS(klass : Pointer) : gboolean;
+
+function gtk_pixmap_menu_item_get_type:TGtkType;cdecl;external libgnomeuidll name 'gtk_pixmap_menu_item_get_type';
+function gtk_pixmap_menu_item_new:PGtkWidget;cdecl;external libgnomeuidll name 'gtk_pixmap_menu_item_new';
+procedure gtk_pixmap_menu_item_set_pixmap(menu_item:PGtkPixmapMenuItem; pixmap:PGtkWidget);cdecl;external libgnomeuidll name 'gtk_pixmap_menu_item_set_pixmap';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function GNOME_TYPE_PIXMAP_MENU_ITEM : TGTKType;
+begin
+  GNOME_TYPE_PIXMAP_MENU_ITEM:=gnome_dialog_get_type;
+end;
+
+function GNOME_IS_PIXMAP_MENU_ITEM(obj : Pointer) : gboolean;
+begin
+   GNOME_IS_PIXMAP_MENU_ITEM:=(obj<>nil) and GNOME_IS_PIXMAP_MENU_ITEM_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function GNOME_IS_PIXMAP_MENU_ITEM_CLASS(klass : Pointer) : gboolean;
+begin
+   GNOME_IS_PIXMAP_MENU_ITEM_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_PIXMAP_MENU_ITEM);
+end;
+
+{$Endif read_implementation}

+ 254 - 0
packages/extra/gnome1/gnome/libgnomeui/libgnomeui.pp

@@ -0,0 +1,254 @@
+unit libgnomeui;
+
+{off $DEFINE GNOME_EXCLUDE_EXPERIMENTAL}
+ 
+{$PACKRECORDS C}
+{$mode objfpc}
+
+interface
+
+Uses glib, gdk, gdk_imlib, gtk, libgnome, libart;
+
+const
+ libgnomeuidll='gnomeui';
+
+Type
+   va_list = pchar;
+
+{$define read_interface}
+{$undef read_implementation}
+
+(* GNOME initialization *)
+
+{$include gnomeinit.inc}
+
+
+(* GTK Helper Widgets *)
+
+{$include gtkpixmapmenuitem.inc}(* Menu item diplaying pixmap *)
+{$include gtkclock.inc}(* clock widget for counting or realtime *)
+{$include gtkdial.inc}(* Analog dial widget for number selection *)
+
+
+(* GNOME MISC. Types/Routines/Consts *)
+type
+  TGnomeStringCallback = procedure (_string:Pgchar; data:gpointer);cdecl;
+  TGnomeReplyCallback = procedure (reply:gint; data:gpointer);cdecl;
+  TGnomePreferencesType = (GNOME_PREFERENCES_NEVER,GNOME_PREFERENCES_USER,
+    GNOME_PREFERENCES_ALWAYS);
+
+{$include gnomeuidefs.inc} (* GNOME KEY CONST DEFINES *)
+{$include gnomegeometry.inc} (* WINDOW Geometry <-> String *)
+{$include gnometypebuiltins.inc} (* GTK type macros *)
+{$include gnomeicontext.inc}(* object & routines for painting word-wrapped text *)
+{$include gnomewinhints.inc} (* Convenience functions for working with XA_WIN_* hints *)
+{$include gnomedentryedit.inc} (* object(not widget) for handling the editing of Desktop entries *)
+
+(* GNOME MISC. Required Widgets *)
+
+{$include gnomepixmap.inc} (* widget for diplaying pixmaps *)
+{$include gnomedialog.inc}  (* base dialog class *)
+{$include gnomemessagebox.inc}(* message/error dialog class *)
+{$include gnomeclient.inc} (*routines to add session-management to apps *)
+
+
+(* GNOME APP. Core widgets *)
+
+{$include gnomeabout.inc} (* Dialog for creating app. about box *)
+{$include gnomedock.inc} (* Docking Widget/Items & Layout  *)
+{$include gnomeapp.inc} (* Main App Window, simplifies toolbars, menus etc. *)
+{$include gnomeappbar.inc} (* Main App bar, Status, progress, etc *)
+
+
+(* GNOME STOCK WIDGETS/ROUTINES *)
+
+{$include gnomestock.inc} (* Stock images/icons *)
+{$include gnomeapphelper.inc} (* Simplify stock menu/toolbar creation *)
+{$include gnomedialogutil.inc}(* Simplify message/error dialog creation *)
+
+{$ifndef GNOME_EXCLUDE_EXPERIMENTAL}
+  {$include gnomeapputil.inc} (* App. Message Dialogs and Progress modifications *)
+{$endif}
+
+{$include gnomepopupmenu.inc} (* routines for handling popup menus and attaching to widgets *)
+{$include gnomepopuphelp.inc} (* add help, Cut, Copy & Paste menu to Widgets *)
+
+
+(* GNOME ENTRY(aka Edit) Widgets *)
+
+{$include gnomedateedit.inc}(* Entry For Date & Time *)
+{$include gnomeentry.inc} (* Entry with History *)
+{$include gnomefileentry.inc} (* Entry For File Names *)
+{$include gnomeiconentry.inc}(* Entry for selecting icons *)
+{$include gnomenumberentry.inc}(* Entry for number input *)
+{$include gnomepixmapentry.inc} (* Entry For large images *)
+
+
+(* GNOME "Select" Widgets *)
+
+{$include gnomecolorpicker.inc} (* button tied to color dialog *)
+{$include gnomefontpicker.inc} (* button tied to font dialog *)
+{$include gnomepaperselector.inc} (* Widget used to select paper type *)
+{$include gnomeiconsel.inc}(* Widget used to select an icon *)
+
+
+(* GNOME Muliple Document Interface *)
+
+{$include gnomemdichild.inc}
+{$include gnomemdigenericchild.inc}
+{$include gnomemdi.inc}
+{$include gnomemdisession.inc}
+
+
+(* GNOME Canvas & Types *)
+
+{$include gnomecanvas.inc}
+{$include gnomecanvasline.inc}
+{$include gnomecanvasimage.inc}
+{$include gnomecanvasload.inc}
+{$include gnomecanvasrectellipse.inc}
+{$include gnomecanvaspolygon.inc}
+{$include gnomecanvastext.inc}
+{$include gnomecanvaswidget.inc}
+{$include gnomeiconitem.inc}
+
+{$include gnomecanvasutil.inc}
+
+(* GNOME Misc. Widgets *)
+
+{$include gnomecalculator.inc} (* fully functional embedable dialog widget *)
+{$include gnomeiconlist.inc} (* Icon list widget *)
+{$include gnomehref.inc} (* icon for displaying clickable url *)
+{$include gnomeprocbar.inc} (* Gnome Process Bar *)
+
+{$ifndef GNOME_EXCLUDE_EXPERIMENTAL}
+  {$include gnomeanimator.inc}
+{$endif}
+
+{$include gnomescores.inc} (* Game Dialog  for displaying High scores *)
+{$include gnomepropertybox.inc} (* Dialog Box for handling property configuration *)
+
+(* GNOME Druid Wizard System *)
+
+{$include gnomedruidpage.inc}
+{$include gnomedruidpagestart.inc}
+{$include gnomedruidpagestandard.inc}
+{$include gnomedruidpagefinish.inc}
+{$include gnomedruid.inc}
+
+implementation
+
+{$undef read_interface}
+{$define read_implementation}
+
+(* GTK Helper Widgets *)
+
+{$include gtkpixmapmenuitem.inc}(* Menu item diplaying pixmap *)
+{$include gtkclock.inc}(* clock widget for counting or realtime *)
+{$include gtkdial.inc}(* Analog dial widget for number selection *)
+
+
+(* GNOME MISC. Types/Routines/Consts *)
+
+{$include gnomeuidefs.inc} (* GNOME KEY CONST DEFINES *)
+{$include gnomegeometry.inc} (* WINDOW Geometry <-> String *)
+{$include gnomeicontext.inc}(* object & routines for painting word-wrapped text *)
+{$include gnometypebuiltins.inc} (* GTK type macros *)
+{$include gnomewinhints.inc} (* Convenience functions for working with XA_WIN_* hints *)
+{$include gnomedentryedit.inc} (* object(not widget) for handling the editing of Desktop entries *)
+
+
+(* GNOME MISC. Required Widgets *)
+
+{$include gnomepixmap.inc} (* widget for diplaying pixmaps *)
+{$include gnomedialog.inc}  (* base dialog class *)
+{$include gnomemessagebox.inc}(* message/error dialog class *)
+{$include gnomeclient.inc} (*routines to add session-management to apps *)
+
+
+(* GNOME APP. Core widgets *)
+
+{$include gnomeabout.inc} (* Dialog for creating app. about box *)
+{$include gnomedock.inc} (* Docking Widget/Items & Layout  *)
+{$include gnomeapp.inc} (* Main App Window, simplifies toolbars, menus etc. *)
+{$include gnomeappbar.inc} (* Main App bar, Status, progress, etc *)
+
+
+(* GNOME STOCK WIDGETS/ROUTINES *)
+
+{$include gnomestock.inc} (* Stock images/icons *)
+{$include gnomeapphelper.inc} (* Simplify stock menu/toolbar creation *)
+{$include gnomedialogutil.inc}(* Simplify message/error dialog creation *)
+
+{$ifndef GNOME_EXCLUDE_EXPERIMENTAL}
+  {$include gnomeapputil.inc} (* App. Message Dialogs and Progress modifications *)
+{$endif}
+
+{$include gnomepopupmenu.inc} (* routines for handling popup menus and attaching to widgets *)
+{$include gnomepopuphelp.inc} (* add help, Cut, Copy & Paste menu to Widgets *)
+
+
+(* GNOME ENTRY(aka Edit) Widgets *)
+
+{$include gnomedateedit.inc}(* Entry For Date & Time *)
+{$include gnomeentry.inc} (* Entry with History *)
+{$include gnomefileentry.inc} (* Entry For File Names *)
+{$include gnomeiconentry.inc}(* Entry for selecting icons *)
+{$include gnomenumberentry.inc}(* Entry for number input *)
+{$include gnomepixmapentry.inc} (* Entry For large images *)
+
+
+(* GNOME "Select" Widgets *)
+
+{$include gnomecolorpicker.inc} (* button tied to color dialog *)
+{$include gnomefontpicker.inc} (* button tied to font dialog *)
+{$include gnomepaperselector.inc} (* Widget used to select paper type *)
+{$include gnomeiconsel.inc}(* Widget used to select an icon *)
+
+
+(* GNOME Muliple Document Interface *)
+
+{$include gnomemdichild.inc}
+{$include gnomemdigenericchild.inc}
+{$include gnomemdi.inc}
+{$include gnomemdisession.inc}
+
+
+(* GNOME Canvas & Types *)
+
+{$include gnomecanvas.inc}
+{$include gnomecanvasline.inc}
+{$include gnomecanvasimage.inc}
+{$include gnomecanvasload.inc}
+{$include gnomecanvasrectellipse.inc}
+{$include gnomecanvaspolygon.inc}
+{$include gnomecanvastext.inc}
+{$include gnomecanvaswidget.inc}
+{$include gnomeiconitem.inc}
+
+{$include gnomecanvasutil.inc}
+
+(* GNOME Misc. Widgets *)
+
+{$include gnomecalculator.inc} (* fully functional embedable dialog widget *)
+{$include gnomeiconlist.inc} (* Icon list widget *)
+{$include gnomehref.inc} (* icon for displaying clickable url *)
+{$include gnomeprocbar.inc} (* Gnome Process Bar *)
+
+{$ifndef GNOME_EXCLUDE_EXPERIMENTAL}
+  {$include gnomeanimator.inc}
+{$endif}
+
+{$include gnomescores.inc} (* Game Dialog  for displaying High scores *)
+{$include gnomepropertybox.inc} (* Dialog Box for handling property configuration *)
+
+
+(* GNOME Druid Wizard System *)
+
+{$include gnomedruidpage.inc}
+{$include gnomedruidpagestart.inc}
+{$include gnomedruidpagestandard.inc}
+{$include gnomedruidpagefinish.inc}
+{$include gnomedruid.inc}
+
+end.

+ 2 - 0
packages/extra/gnome1/gnome/maketest.sh

@@ -0,0 +1,2 @@
+#!/bin/sh
+fpc -Fu../Imlib/gdk_imlib -Fu./libart_lgpl -Fu./libgnome -Fu./libgnomeui gnometest.pp

+ 217 - 0
packages/extra/imlib/gdk_imlib/gdk_imlib.pp

@@ -0,0 +1,217 @@
+{
+   $Id$
+
+   gdk_imlib library
+ 
+   Copyright (C) 1998 By The Rasterman (Carsten Haitzler)
+ 
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this library; if not, write to the
+   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.
+
+ **********************************************************************}
+unit gdk_imlib;
+
+interface
+
+{$PACKRECORDS C}
+{$mode objfpc}
+
+Uses glib, gdk, gtk;
+
+const
+ gdk_imlibdll='gdk_imlib';
+
+Type
+   PGdkImlibBorder = ^TGdkImlibBorder;
+   TGdkImlibBorder = record
+        left : gint;
+        right : gint;
+        top : gint;
+        bottom : gint;
+     end;
+
+   PGdkImlibColor = ^TGdkImlibColor;
+   TGdkImlibColor = record
+        r : gint;
+        g : gint;
+        b : gint;
+        pixel : gint;
+     end;
+
+   PGdkImlibColorModifier = ^TGdkImlibColorModifier;
+   TGdkImlibColorModifier = record
+        gamma : gint;
+        brightness : gint;
+        contrast : gint;
+     end;
+
+   PGdkImlibModifierMap = ^TGdkImlibModifierMap;
+   TGdkImlibModifierMap = record
+        rmap : array[0..255] of byte;
+        gmap : array[0..255] of byte;
+        bmap : array[0..255] of byte;
+     end;
+
+   PGdkImlibImage = ^TGdkImlibImage;
+   TGdkImlibImage = record
+        rgb_width : gint;
+        rgb_height : gint;
+        rgb_data : Pbyte;
+        alpha_data : Pbyte;
+        filename : Pgchar;
+        width : gint;
+        height : gint;
+        shape_color : TGdkImlibColor;
+        border : TGdkImlibBorder;
+        pixmap : PGdkPixmap;
+        shape_mask : PGdkBitmap;
+        cache : gchar;
+        mods : TGdkImlibColorModifier;
+        rmod : TGdkImlibColorModifier;
+        gmod : TGdkImlibColorModifier;
+        bmod : TGdkImlibColorModifier;
+        map : PGdkImlibModifierMap;
+        ref_count : longint;
+        pixmaps : PGHashTable;
+     end;
+
+   PGdkImlibSaveInfo = ^TGdkImlibSaveInfo;
+   TGdkImlibSaveInfo = record
+        quality : longint;
+        scaling : longint;
+        xjustification : longint;
+        yjustification : longint;
+        page_size : longint;
+        color : char;
+     end;
+
+   PGdkImlibInitParams = ^TGdkImlibInitParams;
+   TGdkImlibInitParams = record
+        flags : longint;
+        visualid : longint;
+        palettefile : Pchar;
+        sharedmem : char;
+        sharedpixmaps : char;
+        paletteoverride : char;
+        remap : char;
+        fastrender : char;
+        hiquality : char;
+        dither : char;
+        imagecachesize : longint;
+        pixmapcachesize : longint;
+     end;
+
+const
+  PARAMS_VISUALID        = 1 shl 0;
+  PARAMS_PALETTEFILE     = 1 shl 1;
+  PARAMS_SHAREDMEM       = 1 shl 2;
+  PARAMS_SHAREDPIXMAPS   = 1 shl 3;
+  PARAMS_PALETTEOVERRIDE = 1 shl 4;
+  PARAMS_REMAP           = 1 shl 5;
+  PARAMS_FASTRENDER      = 1 shl 6;
+  PARAMS_HIQUALITY       = 1 shl 7;
+  PARAMS_DITHER          = 1 shl 8;
+  PARAMS_IMAGECACHESIZE  = 1 shl 9;
+  PARAMS_PIXMAPCACHESIZE = 1 shl 10;
+
+  PAGE_SIZE_EXECUTIVE    = 0;
+  PAGE_SIZE_LETTER       = 1;
+  PAGE_SIZE_LEGAL        = 2;
+  PAGE_SIZE_A4           = 3;
+  PAGE_SIZE_A3           = 4;
+  PAGE_SIZE_A5           = 5;
+  PAGE_SIZE_FOLIO        = 6;
+
+  RT_PLAIN_PALETTE       = 0;
+  RT_PLAIN_PALETTE_FAST  = 1;
+  RT_DITHER_PALETTE      = 2;
+  RT_DITHER_PALETTE_FAST = 3;
+  RT_PLAIN_TRUECOL       = 4;
+  RT_DITHER_TRUECOL      = 5;
+
+procedure gdk_imlib_init;cdecl;external gdk_imlibdll name 'gdk_imlib_init';
+procedure gdk_imlib_init_params(p:PGdkImlibInitParams);cdecl;external gdk_imlibdll name 'gdk_imlib_init_params';
+function gdk_imlib_get_render_type:gint;cdecl;external gdk_imlibdll name 'gdk_imlib_get_render_type';
+procedure gdk_imlib_set_render_type(rend_type:gint);cdecl;external gdk_imlibdll name 'gdk_imlib_set_render_type';
+function gdk_imlib_load_colors(afile:Pchar):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_load_colors';
+function gdk_imlib_load_image(afile:Pchar):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_load_image';
+function gdk_imlib_load_alpha(afile:Pchar):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_load_alpha';
+function gdk_imlib_best_color_match(r:Pgint; g:Pgint; b:Pgint):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_best_color_match';
+procedure gdk_imlib_best_color_get(c:PGdkColor);cdecl;external gdk_imlibdll name 'gdk_imlib_best_color_get';
+function gdk_imlib_render(image:PGdkImlibImage; width:gint; height:gint):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_render';
+function gdk_imlib_copy_image(image:PGdkImlibImage):PGdkPixmap;cdecl;external gdk_imlibdll name 'gdk_imlib_copy_image';
+function gdk_imlib_copy_mask(image:PGdkImlibImage):PGdkBitmap;cdecl;external gdk_imlibdll name 'gdk_imlib_copy_mask';
+function gdk_imlib_move_image(image:PGdkImlibImage):PGdkPixmap;cdecl;external gdk_imlibdll name 'gdk_imlib_move_image';
+function gdk_imlib_move_mask(image:PGdkImlibImage):PGdkBitmap;cdecl;external gdk_imlibdll name 'gdk_imlib_move_mask';
+procedure gdk_imlib_destroy_image(image:PGdkImlibImage);cdecl;external gdk_imlibdll name 'gdk_imlib_destroy_image';
+procedure gdk_imlib_kill_image(image:PGdkImlibImage);cdecl;external gdk_imlibdll name 'gdk_imlib_kill_image';
+procedure gdk_imlib_free_colors;cdecl;external gdk_imlibdll name 'gdk_imlib_free_colors';
+procedure gdk_imlib_free_pixmap(pixmap:PGdkPixmap);cdecl;external gdk_imlibdll name 'gdk_imlib_free_pixmap';
+procedure gdk_imlib_free_bitmap(bitmap:PGdkBitmap);cdecl;external gdk_imlibdll name 'gdk_imlib_free_bitmap';
+procedure gdk_imlib_get_image_border(image:PGdkImlibImage; border:PGdkImlibBorder);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_border';
+procedure gdk_imlib_set_image_border(image:PGdkImlibImage; border:PGdkImlibBorder);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_border';
+procedure gdk_imlib_get_image_shape(image:PGdkImlibImage; color:PGdkImlibColor);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_shape';
+procedure gdk_imlib_set_image_shape(image:PGdkImlibImage; color:PGdkImlibColor);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_shape';
+function gdk_imlib_save_image_to_eim(image:PGdkImlibImage; afile:Pchar):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_save_image_to_eim';
+function gdk_imlib_add_image_to_eim(image:PGdkImlibImage; afile:Pchar):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_add_image_to_eim';
+function gdk_imlib_save_image_to_ppm(image:PGdkImlibImage; afile:Pchar):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_save_image_to_ppm';
+function gdk_imlib_load_file_to_pixmap(filename:Pchar; pmap:PPGdkPixmap; mask:PPGdkBitmap):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_load_file_to_pixmap';
+procedure gdk_imlib_set_image_modifier(image:PGdkImlibImage; mods:PGdkImlibColorModifier);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_modifier';
+procedure gdk_imlib_set_image_red_modifier(image:PGdkImlibImage; mods:PGdkImlibColorModifier);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_red_modifier';
+procedure gdk_imlib_set_image_green_modifier(image:PGdkImlibImage; mods:PGdkImlibColorModifier);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_green_modifier';
+procedure gdk_imlib_set_image_blue_modifier(image:PGdkImlibImage; mods:PGdkImlibColorModifier);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_blue_modifier';
+procedure gdk_imlib_get_image_modifier(image:PGdkImlibImage; mods:PGdkImlibColorModifier);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_modifier';
+procedure gdk_imlib_get_image_red_modifier(image:PGdkImlibImage; mods:PGdkImlibColorModifier);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_red_modifier';
+procedure gdk_imlib_get_image_green_modifier(image:PGdkImlibImage; mods:PGdkImlibColorModifier);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_green_modifier';
+procedure gdk_imlib_get_image_blue_modifier(image:PGdkImlibImage; mods:PGdkImlibColorModifier);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_blue_modifier';
+procedure gdk_imlib_set_image_red_curve(image:PGdkImlibImage; mods:Pbyte);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_red_curve';
+procedure gdk_imlib_set_image_green_curve(image:PGdkImlibImage; mods:Pbyte);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_green_curve';
+procedure gdk_imlib_set_image_blue_curve(image:PGdkImlibImage; mods:Pbyte);cdecl;external gdk_imlibdll name 'gdk_imlib_set_image_blue_curve';
+procedure gdk_imlib_get_image_red_curve(image:PGdkImlibImage; mods:Pbyte);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_red_curve';
+procedure gdk_imlib_get_image_green_curve(image:PGdkImlibImage; mods:Pbyte);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_green_curve';
+procedure gdk_imlib_get_image_blue_curve(image:PGdkImlibImage; mods:Pbyte);cdecl;external gdk_imlibdll name 'gdk_imlib_get_image_blue_curve';
+procedure gdk_imlib_apply_modifiers_to_rgb(image:PGdkImlibImage);cdecl;external gdk_imlibdll name 'gdk_imlib_apply_modifiers_to_rgb';
+procedure gdk_imlib_changed_image(image:PGdkImlibImage);cdecl;external gdk_imlibdll name 'gdk_imlib_changed_image';
+procedure gdk_imlib_apply_image(image:PGdkImlibImage; p:PGdkWindow);cdecl;external gdk_imlibdll name 'gdk_imlib_apply_image';
+procedure gdk_imlib_paste_image(image:PGdkImlibImage; p:PGdkWindow; x:gint; y:gint; w:gint; 
+            h:gint);cdecl;external gdk_imlibdll name 'gdk_imlib_paste_image';
+procedure gdk_imlib_paste_image_border(image:PGdkImlibImage; p:PGdkWindow; x:gint; y:gint; w:gint; 
+            h:gint);cdecl;external gdk_imlibdll name 'gdk_imlib_paste_image_border';
+procedure gdk_imlib_flip_image_horizontal(image:PGdkImlibImage);cdecl;external gdk_imlibdll name 'gdk_imlib_flip_image_horizontal';
+procedure gdk_imlib_flip_image_vertical(image:PGdkImlibImage);cdecl;external gdk_imlibdll name 'gdk_imlib_flip_image_vertical';
+procedure gdk_imlib_rotate_image(image:PGdkImlibImage; d:gint);cdecl;external gdk_imlibdll name 'gdk_imlib_rotate_image';
+function gdk_imlib_create_image_from_data(data:Pbyte; alpha:Pbyte; w:gint; h:gint):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_create_image_from_data';
+function gdk_imlib_clone_image(image:PGdkImlibImage):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_clone_image';
+function gdk_imlib_clone_scaled_image(image:PGdkImlibImage; w:longint; h:longint):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_clone_scaled_image';
+function gdk_imlib_get_fallback:gint;cdecl;external gdk_imlibdll name 'gdk_imlib_get_fallback';
+procedure gdk_imlib_set_fallback(fallback:gint);cdecl;external gdk_imlibdll name 'gdk_imlib_set_fallback';
+function gdk_imlib_get_visual:PGdkVisual;cdecl;external gdk_imlibdll name 'gdk_imlib_get_visual';
+function gdk_imlib_get_colormap:PGdkColormap;cdecl;external gdk_imlibdll name 'gdk_imlib_get_colormap';
+function gdk_imlib_get_sysconfig:Pgchar;cdecl;external gdk_imlibdll name 'gdk_imlib_get_sysconfig';
+function gdk_imlib_create_image_from_xpm_data(data:PPchar):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_create_image_from_xpm_data';
+function gdk_imlib_data_to_pixmap(data:PPchar; pmap:PPGdkPixmap; mask:PPGdkBitmap):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_data_to_pixmap';
+procedure gdk_imlib_crop_image(image:PGdkImlibImage; x:gint; y:gint; w:gint; h:gint);cdecl;external gdk_imlibdll name 'gdk_imlib_crop_image';
+function gdk_imlib_save_image(image:PGdkImlibImage; afile:Pchar; info:PGdkImlibSaveInfo):gint;cdecl;external gdk_imlibdll name 'gdk_imlib_save_image';
+function gdk_imlib_crop_and_clone_image(image:PGdkImlibImage; x:longint; y:longint; w:longint; h:longint):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_crop_and_clone_image';
+function gdk_imlib_create_image_from_drawable(gwin:PGdkWindow; gmask:PGdkBitmap; x:longint; y:longint; width:longint; 
+           height:longint):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_create_image_from_drawable';
+function gdk_imlib_inlined_png_to_image(data:Pbyte; data_size:longint):PGdkImlibImage;cdecl;external gdk_imlibdll name 'gdk_imlib_inlined_png_to_image';
+procedure gdk_imlib_get_cache_info(cache_pixmaps:Plongint; cache_images:Plongint);cdecl;external gdk_imlibdll name 'gdk_imlib_get_cache_info';
+procedure gdk_imlib_set_cache_info(cache_pixmaps:longint; cache_images:longint);cdecl;external gdk_imlibdll name 'gdk_imlib_set_cache_info';
+
+implementation
+
+
+end.

+ 270 - 0
packages/extra/imlib/imlib/Imlib.pp

@@ -0,0 +1,270 @@
+{
+   $Id$
+
+   Imlib library
+ 
+   Copyright (C) 1998 By The Rasterman (Carsten Haitzler)
+ 
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this library; if not, write to the
+   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.
+
+ **********************************************************************}
+unit Imlib;
+
+interface
+
+{$PACKRECORDS C}
+{$mode objfpc}
+
+Uses X, Xlib, XUtil;
+
+const
+ Imlibdll='Imlib';
+
+Type
+   PImlibBorder = ^TImlibBorder;
+   TImlibBorder = record
+        left : longint;
+        right : longint;
+        top : longint;
+        bottom : longint;
+     end;
+
+   PImlibColor = ^TImlibColor;
+   TImlibColor = record
+        r : longint;
+        g : longint;
+        b : longint;
+        pixel : longint;
+     end;
+
+   PImlibColorModifier = ^TImlibColorModifier;
+   TImlibColorModifier = record
+        gamma : longint;
+        brightness : longint;
+        contrast : longint;
+     end;
+
+   PImlibImage = ^TImlibImage;
+   TImlibImage = record
+        rgb_width : longint;
+        rgb_height : longint;
+        rgb_data : Pbyte;
+        alpha_data : Pbyte;
+        filename : PChar;
+        width : longint;
+        height : longint;
+        shape_color : TImlibColor;
+        border : TImlibBorder;
+        pixmap : TPixmap;
+        shape_mask : TPixmap;
+        cache : char;
+        mods : TImlibColorModifier;
+        rmod : TImlibColorModifier;
+        gmod : TImlibColorModifier;
+        bmod : TImlibColorModifier;
+        rmap : array[0..255] of byte;
+        gmap : array[0..255] of byte;
+        bmap : array[0..255] of byte;
+     end;
+
+   Pxdata = ^Txdata;
+   Txdata = record
+        disp : PDisplay;
+        screen : longint;
+        root : TWindow;
+        visual : PVisual;
+        depth : longint;
+        render_depth : longint;
+        root_cmap : TColormap;
+        shm : char;
+        shmp : char;
+        shm_event : longint;
+        last_xim : PXImage;
+        last_sxim : PXImage;
+        last_shminfo : Pointer;//XShmSegmentInfo;
+        last_sshminfo :Pointer;//XShmSegmentInfo;
+        base_window : TWindow;
+        byte_order : longint;
+        bit_order : longint;
+     end;
+
+   PImlibData = ^TImlibData;
+   TImlibData = record
+        num_colors : longint;
+        palette : PImlibColor;
+        palette_orig : PImlibColor;
+        fast_rgb : Pbyte;
+        fast_err : Plongint;
+        fast_erg : Plongint;
+        fast_erb : Plongint;
+        render_type : longint;
+        max_shm : longint;
+        x : TXdata;
+        byte_order : longint;
+        cache : record
+             on_image : char;
+             size_image : longint;
+             num_image : longint;
+             used_image : longint;
+             image : Pointer;//image_cache;
+             on_pixmap : char;
+             size_pixmap : longint;
+             num_pixmap : longint;
+             used_pixmap : longint;
+             pixmap : Pointer;//pixmap_cache;
+          end;
+        fastrend : char;
+        hiq : char;
+        mods : TImlibColorModifier;
+        rmod : TImlibColorModifier;
+        gmod : TImlibColorModifier;
+        bmod : TImlibColorModifier;
+        rmap : array[0..255] of byte;
+        gmap : array[0..255] of byte;
+        bmap : array[0..255] of byte;
+        fallback : char;
+        ordered_dither : char;
+     end;
+
+   PImlibSaveInfo = ^TImlibSaveInfo;
+   TImlibSaveInfo = record
+        quality : longint;
+        scaling : longint;
+        xjustification : longint;
+        yjustification : longint;
+        page_size : longint;
+        color : char;
+     end;
+
+   PImlibInitParams = ^TImlibInitParams;
+   TImlibInitParams = record
+        flags : longint;
+        visualid : longint;
+        palettefile : Pchar;
+        sharedmem : char;
+        sharedpixmaps : char;
+        paletteoverride : char;
+        remap : char;
+        fastrender : char;
+        hiquality : char;
+        dither : char;
+        imagecachesize : longint;
+        pixmapcachesize : longint;
+        cmap : TColormap;
+     end;
+
+const
+  PARAMS_VISUALID        = 1 shl 0;
+  PARAMS_PALETTEFILE     = 1 shl 1;
+  PARAMS_SHAREDMEM       = 1 shl 2;
+  PARAMS_SHAREDPIXMAPS   = 1 shl 3;
+  PARAMS_PALETTEOVERRIDE = 1 shl 4;
+  PARAMS_REMAP           = 1 shl 5;
+  PARAMS_FASTRENDER      = 1 shl 6;
+  PARAMS_HIQUALITY       = 1 shl 7;
+  PARAMS_DITHER          = 1 shl 8;
+  PARAMS_IMAGECACHESIZE  = 1 shl 9;
+  PARAMS_PIXMAPCACHESIZE = 1 shl 10;
+
+  PAGE_SIZE_EXECUTIVE    = 0;
+  PAGE_SIZE_LETTER       = 1;
+  PAGE_SIZE_LEGAL        = 2;
+  PAGE_SIZE_A4           = 3;
+  PAGE_SIZE_A3           = 4;
+  PAGE_SIZE_A5           = 5;
+  PAGE_SIZE_FOLIO        = 6;
+
+  RT_PLAIN_PALETTE       = 0;
+  RT_PLAIN_PALETTE_FAST  = 1;
+  RT_DITHER_PALETTE      = 2;
+  RT_DITHER_PALETTE_FAST = 3;
+  RT_PLAIN_TRUECOL       = 4;
+  RT_DITHER_TRUECOL      = 5;
+
+function Imlib_init(disp:PDisplay):PImlibData;cdecl;external imlibdll name 'Imlib_init';
+function Imlib_init_with_params(disp:PDisplay; p:PImlibInitParams):PImlibData;cdecl;external imlibdll name 'Imlib_init_with_params';
+function Imlib_get_render_type(id:PImlibData):longint;cdecl;external imlibdll name 'Imlib_get_render_type';
+procedure Imlib_set_render_type(id:PImlibData; rend_type:longint);cdecl;external imlibdll name 'Imlib_set_render_type';
+function Imlib_load_colors(id:PImlibData; thefile:Pchar):longint;cdecl;external imlibdll name 'Imlib_load_colors';
+function Imlib_load_image(id:PImlibData; thefile:Pchar):PImlibImage;cdecl;external imlibdll name 'Imlib_load_image';
+function Imlib_best_color_match(id:PImlibData; r:Plongint; g:Plongint; b:Plongint):longint;cdecl;external imlibdll name 'Imlib_best_color_match';
+function Imlib_render(id:PImlibData; image:PImlibImage; width:longint; height:longint):longint;cdecl;external imlibdll name 'Imlib_render';
+function Imlib_copy_image(id:PImlibData; image:PImlibImage):TPixmap;cdecl;external imlibdll name 'Imlib_copy_image';
+function Imlib_copy_mask(id:PImlibData; image:PImlibImage):TPixmap;cdecl;external imlibdll name 'Imlib_copy_mask';
+function Imlib_move_image(id:PImlibData; image:PImlibImage):TPixmap;cdecl;external imlibdll name 'Imlib_move_image';
+function Imlib_move_mask(id:PImlibData; image:PImlibImage):TPixmap;cdecl;external imlibdll name 'Imlib_move_mask';
+procedure Imlib_destroy_image(id:PImlibData; image:PImlibImage);cdecl;external imlibdll name 'Imlib_destroy_image';
+procedure Imlib_kill_image(id:PImlibData; image:PImlibImage);cdecl;external imlibdll name 'Imlib_kill_image';
+procedure Imlib_free_colors(id:PImlibData);cdecl;external imlibdll name 'Imlib_free_colors';
+procedure Imlib_free_pixmap(id:PImlibData; pixmap:TPixmap);cdecl;external imlibdll name 'Imlib_free_pixmap';
+procedure Imlib_get_image_border(id:PImlibData; image:PImlibImage; border:PImlibBorder);cdecl;external imlibdll name 'Imlib_get_image_border';
+procedure Imlib_set_image_border(id:PImlibData; image:PImlibImage; border:PImlibBorder);cdecl;external imlibdll name 'Imlib_set_image_border';
+procedure Imlib_get_image_shape(id:PImlibData; image:PImlibImage; color:PImlibColor);cdecl;external imlibdll name 'Imlib_get_image_shape';
+procedure Imlib_set_image_shape(id:PImlibData; image:PImlibImage; color:PImlibColor);cdecl;external imlibdll name 'Imlib_set_image_shape';
+function Imlib_save_image_to_eim(id:PImlibData; image:PImlibImage; thefile:Pchar):longint;cdecl;external imlibdll name 'Imlib_save_image_to_eim';
+function Imlib_add_image_to_eim(id:PImlibData; image:PImlibImage; thefile:Pchar):longint;cdecl;external imlibdll name 'Imlib_add_image_to_eim';
+function Imlib_save_image_to_ppm(id:PImlibData; image:PImlibImage; thefile:Pchar):longint;cdecl;external imlibdll name 'Imlib_save_image_to_ppm';
+function Imlib_load_file_to_pixmap(id:PImlibData; filename:Pchar; pmap:PPixmap; mask:PPixmap):longint;cdecl;external imlibdll name 'Imlib_load_file_to_pixmap';
+procedure Imlib_set_image_modifier(id:PImlibData; image:PImlibImage; mods:PImlibColorModifier);cdecl;external imlibdll name 'Imlib_set_image_modifier';
+procedure Imlib_set_image_red_modifier(id:PImlibData; image:PImlibImage; mods:PImlibColorModifier);cdecl;external imlibdll name 'Imlib_set_image_red_modifier';
+procedure Imlib_set_image_green_modifier(id:PImlibData; image:PImlibImage; mods:PImlibColorModifier);cdecl;external imlibdll name 'Imlib_set_image_green_modifier';
+procedure Imlib_set_image_blue_modifier(id:PImlibData; image:PImlibImage; mods:PImlibColorModifier);cdecl;external imlibdll name 'Imlib_set_image_blue_modifier';
+procedure Imlib_get_image_modifier(id:PImlibData; image:PImlibImage; mods:PImlibColorModifier);cdecl;external imlibdll name 'Imlib_get_image_modifier';
+procedure Imlib_get_image_red_modifier(id:PImlibData; image:PImlibImage; mods:PImlibColorModifier);cdecl;external imlibdll name 'Imlib_get_image_red_modifier';
+procedure Imlib_get_image_green_modifier(id:PImlibData; image:PImlibImage; mods:PImlibColorModifier);cdecl;external imlibdll name 'Imlib_get_image_green_modifier';
+procedure Imlib_get_image_blue_modifier(id:PImlibData; image:PImlibImage; mods:PImlibColorModifier);cdecl;external imlibdll name 'Imlib_get_image_blue_modifier';
+procedure Imlib_set_image_red_curve(id:PImlibData; image:PImlibImage; mods:Pbyte);cdecl;external imlibdll name 'Imlib_set_image_red_curve';
+procedure Imlib_set_image_green_curve(id:PImlibData; image:PImlibImage; mods:Pbyte);cdecl;external imlibdll name 'Imlib_set_image_green_curve';
+procedure Imlib_set_image_blue_curve(id:PImlibData; image:PImlibImage; mods:Pbyte);cdecl;external imlibdll name 'Imlib_set_image_blue_curve';
+procedure Imlib_get_image_red_curve(id:PImlibData; image:PImlibImage; mods:Pbyte);cdecl;external imlibdll name 'Imlib_get_image_red_curve';
+procedure Imlib_get_image_green_curve(id:PImlibData; image:PImlibImage; mods:Pbyte);cdecl;external imlibdll name 'Imlib_get_image_green_curve';
+procedure Imlib_get_image_blue_curve(id:PImlibData; image:PImlibImage; mods:Pbyte);cdecl;external imlibdll name 'Imlib_get_image_blue_curve';
+procedure Imlib_apply_modifiers_to_rgb(id:PImlibData; image:PImlibImage);cdecl;external imlibdll name 'Imlib_apply_modifiers_to_rgb';
+procedure Imlib_changed_image(id:PImlibData; image:PImlibImage);cdecl;external imlibdll name 'Imlib_changed_image';
+procedure Imlib_apply_image(id:PImlibData; image:PImlibImage; p:TWindow);cdecl;external imlibdll name 'Imlib_apply_image';
+procedure Imlib_paste_image(id:PImlibData; image:PImlibImage; p:TWindow; x:longint; y:longint; 
+            w:longint; h:longint);cdecl;external imlibdll name 'Imlib_paste_image';
+procedure Imlib_paste_image_border(id:PImlibData; image:PImlibImage; p:TWindow; x:longint; y:longint; 
+            w:longint; h:longint);cdecl;external imlibdll name 'Imlib_paste_image_border';
+procedure Imlib_bevel_image(id:PImlibData; image:PImlibImage; bord:PImlibBorder; up:byte);cdecl;external imlibdll name 'Imlib_bevel_image';
+procedure Imlib_bevel_pixmap(id:PImlibData; p:TPixmap; w:longint; h:longint; bord:PImlibBorder; 
+            up:byte);cdecl;external imlibdll name 'Imlib_bevel_pixmap';
+procedure Imlib_flip_image_horizontal(id:PImlibData; image:PImlibImage);cdecl;external imlibdll name 'Imlib_flip_image_horizontal';
+procedure Imlib_flip_image_vertical(id:PImlibData; image:PImlibImage);cdecl;external imlibdll name 'Imlib_flip_image_vertical';
+procedure Imlib_rotate_image(id:PImlibData; image:PImlibImage; d:longint);cdecl;external imlibdll name 'Imlib_rotate_image';
+function Imlib_create_image_from_data(id:PImlibData; data:Pbyte; alpha:Pbyte; w:longint; h:longint):PImlibimage;cdecl;external imlibdll name 'Imlib_create_image_from_data';
+function Imlib_clone_image(id:PImlibData; image:PImlibImage):PImlibImage;cdecl;external imlibdll name 'Imlib_clone_image';
+function Imlib_clone_scaled_image(id:PImlibData; image:PImlibImage; w:longint; h:longint):PImlibImage;cdecl;external imlibdll name 'Imlib_clone_scaled_image';
+function Imlib_get_fallback(id:PImlibData):longint;cdecl;external imlibdll name 'Imlib_get_fallback';
+procedure Imlib_set_fallback(id:PImlibData; fallback:longint);cdecl;external imlibdll name 'Imlib_set_fallback';
+function Imlib_get_visual(id:PImlibData):PVisual;cdecl;external imlibdll name 'Imlib_get_visual';
+function Imlib_get_colormap(id:PImlibData):TColormap;cdecl;external imlibdll name 'Imlib_get_colormap';
+function Imlib_get_sysconfig(id:PImlibData):Pchar;cdecl;external imlibdll name 'Imlib_get_sysconfig';
+function Imlib_create_image_from_xpm_data(id:PImlibData; data:PPchar):PImlibImage;cdecl;external imlibdll name 'Imlib_create_image_from_xpm_data';
+function Imlib_data_to_pixmap(id:PImlibData; data:PPchar; pmap:PPixmap; mask:PPixmap):longint;cdecl;external imlibdll name 'Imlib_data_to_pixmap';
+procedure Imlib_crop_image(id:PImlibData; image:PImlibImage; x:longint; y:longint; w:longint; 
+            h:longint);cdecl;external imlibdll name 'Imlib_crop_image';
+function Imlib_save_image(id:PImlibData; image:PImlibImage; thefile:Pchar; info:PImlibSaveInfo):longint;cdecl;external imlibdll name 'Imlib_save_image';
+function Imlib_crop_and_clone_image(id:PImlibData; image:PImlibImage; x:longint; y:longint; w:longint; 
+           h:longint):PImlibImage;cdecl;external imlibdll name 'Imlib_crop_and_clone_image';
+function Imlib_create_image_from_drawable(id:PImlibData; win:TDrawable; mask:TPixmap; x:longint; y:longint; 
+           width:longint; height:longint):PImlibImage;cdecl;external imlibdll name 'Imlib_create_image_from_drawable';
+function Imlib_inlined_png_to_image(id:PImlibData; data:Pbyte; data_size:longint):PImlibImage;cdecl;external imlibdll name 'Imlib_inlined_png_to_image';
+
+implementation
+
+
+end.