summaryrefslogtreecommitdiff
path: root/packages/gnome1/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gnome1/src')
-rw-r--r--packages/gnome1/src/gconf/gconf.pp147
-rw-r--r--packages/gnome1/src/gconf/gconfengine.inc19
-rw-r--r--packages/gnome1/src/gconf/gconferror.inc26
-rw-r--r--packages/gnome1/src/gconf/gconfglibpublic.inc26
-rw-r--r--packages/gnome1/src/gconf/gconfschema.inc77
-rw-r--r--packages/gnome1/src/gconf/gconfvalue.inc200
-rw-r--r--packages/gnome1/src/gconfclient/gconfchangeset.inc42
-rw-r--r--packages/gnome1/src/gconfclient/gconfclient.pp148
-rw-r--r--packages/gnome1/src/gconfclient/gconflisteners.inc29
-rw-r--r--packages/gnome1/src/libart.pp324
-rw-r--r--packages/gnome1/src/libgnome/gnomeconfig.inc395
-rw-r--r--packages/gnome1/src/libgnome/gnomedentry.inc78
-rw-r--r--packages/gnome1/src/libgnome/gnomeexec.inc14
-rw-r--r--packages/gnome1/src/libgnome/gnomehelp.inc21
-rw-r--r--packages/gnome1/src/libgnome/gnomei18n.inc13
-rw-r--r--packages/gnome1/src/libgnome/gnomemetadata.inc25
-rw-r--r--packages/gnome1/src/libgnome/gnomemime.inc16
-rw-r--r--packages/gnome1/src/libgnome/gnomemimeinfo.inc16
-rw-r--r--packages/gnome1/src/libgnome/gnomepaper.inc32
-rw-r--r--packages/gnome1/src/libgnome/gnomeremote.inc10
-rw-r--r--packages/gnome1/src/libgnome/gnomescore.inc11
-rw-r--r--packages/gnome1/src/libgnome/gnomesound.inc15
-rw-r--r--packages/gnome1/src/libgnome/gnometriggers.inc37
-rw-r--r--packages/gnome1/src/libgnome/gnomeurl.inc9
-rw-r--r--packages/gnome1/src/libgnome/gnomeutil.inc83
-rw-r--r--packages/gnome1/src/libgnome/libgnome.pp98
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeabout.inc45
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeanimator.inc89
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeapp.inc88
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeappbar.inc105
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeapphelper.inc475
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeapputil.inc29
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecalculator.inc110
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecalulator.inc177
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvas.inc392
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvasimage.inc75
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvasline.inc120
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvasload.inc10
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvaspolygon.inc103
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvasrectellipse.inc170
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvastext.inc103
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvasutil.inc40
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecanvaswidget.inc83
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeclient.inc143
-rw-r--r--packages/gnome1/src/libgnomeui/gnomecolorpicker.inc94
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedateedit.inc65
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedentryedit.inc87
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedialog.inc105
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedialogutil.inc24
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedock.inc368
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedruid.inc56
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedruidpage.inc50
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedruidpagefinish.inc69
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedruidpagestandard.inc62
-rw-r--r--packages/gnome1/src/libgnomeui/gnomedruidpagestart.inc70
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeentry.inc52
-rw-r--r--packages/gnome1/src/libgnomeui/gnomefileentry.inc57
-rw-r--r--packages/gnome1/src/libgnomeui/gnomefontpicker.inc70
-rw-r--r--packages/gnome1/src/libgnomeui/gnomegeometry.inc10
-rw-r--r--packages/gnome1/src/libgnomeui/gnomehref.inc48
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeiconentry.inc52
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeiconitem.inc141
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeiconlist.inc139
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeiconsel.inc53
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeicontext.inc30
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeinit.inc14
-rw-r--r--packages/gnome1/src/libgnomeui/gnomemdi.inc111
-rw-r--r--packages/gnome1/src/libgnomeui/gnomemdichild.inc58
-rw-r--r--packages/gnome1/src/libgnomeui/gnomemdigenericchild.inc66
-rw-r--r--packages/gnome1/src/libgnomeui/gnomemdisession.inc12
-rw-r--r--packages/gnome1/src/libgnomeui/gnomemessagebox.inc49
-rw-r--r--packages/gnome1/src/libgnomeui/gnomenumberentry.inc50
-rw-r--r--packages/gnome1/src/libgnomeui/gnomepaperselector.inc60
-rw-r--r--packages/gnome1/src/libgnomeui/gnomepixmap.inc69
-rw-r--r--packages/gnome1/src/libgnomeui/gnomepixmapentry.inc56
-rw-r--r--packages/gnome1/src/libgnomeui/gnomepopuphelp.inc16
-rw-r--r--packages/gnome1/src/libgnomeui/gnomepopupmenu.inc14
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeprocbar.inc79
-rw-r--r--packages/gnome1/src/libgnomeui/gnomepropertybox.inc55
-rw-r--r--packages/gnome1/src/libgnomeui/gnomescores.inc57
-rw-r--r--packages/gnome1/src/libgnomeui/gnomestock.inc341
-rw-r--r--packages/gnome1/src/libgnomeui/gnometypebuiltins.inc38
-rw-r--r--packages/gnome1/src/libgnomeui/gnomeuidefs.inc65
-rw-r--r--packages/gnome1/src/libgnomeui/gnomewinhints.inc85
-rw-r--r--packages/gnome1/src/libgnomeui/gtkclock.inc57
-rw-r--r--packages/gnome1/src/libgnomeui/gtkdial.inc93
-rw-r--r--packages/gnome1/src/libgnomeui/gtkpixmapmenuitem.inc44
-rw-r--r--packages/gnome1/src/libgnomeui/libgnomeui.pp254
-rw-r--r--packages/gnome1/src/zvt/libzvt.pp370
-rw-r--r--packages/gnome1/src/zvt/lists.inc31
-rw-r--r--packages/gnome1/src/zvt/vt.inc190
-rw-r--r--packages/gnome1/src/zvt/vtx.inc129
92 files changed, 8433 insertions, 0 deletions
diff --git a/packages/gnome1/src/gconf/gconf.pp b/packages/gnome1/src/gconf/gconf.pp
new file mode 100644
index 0000000000..b73f3f2105
--- /dev/null
+++ b/packages/gnome1/src/gconf/gconf.pp
@@ -0,0 +1,147 @@
+{
+
+ 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.
diff --git a/packages/gnome1/src/gconf/gconfengine.inc b/packages/gnome1/src/gconf/gconfengine.inc
new file mode 100644
index 0000000000..c8f52c7161
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/gconf/gconferror.inc b/packages/gnome1/src/gconf/gconferror.inc
new file mode 100644
index 0000000000..6237655ca0
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/gconf/gconfglibpublic.inc b/packages/gnome1/src/gconf/gconfglibpublic.inc
new file mode 100644
index 0000000000..6ba5b59b82
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/gconf/gconfschema.inc b/packages/gnome1/src/gconf/gconfschema.inc
new file mode 100644
index 0000000000..7939eee061
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/gconf/gconfvalue.inc b/packages/gnome1/src/gconf/gconfvalue.inc
new file mode 100644
index 0000000000..c364f24360
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/gconfclient/gconfchangeset.inc b/packages/gnome1/src/gconfclient/gconfchangeset.inc
new file mode 100644
index 0000000000..b640a19c26
--- /dev/null
+++ b/packages/gnome1/src/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;varargs;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}
diff --git a/packages/gnome1/src/gconfclient/gconfclient.pp b/packages/gnome1/src/gconfclient/gconfclient.pp
new file mode 100644
index 0000000000..7be3f7213f
--- /dev/null
+++ b/packages/gnome1/src/gconfclient/gconfclient.pp
@@ -0,0 +1,148 @@
+{
+
+ 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.
diff --git a/packages/gnome1/src/gconfclient/gconflisteners.inc b/packages/gnome1/src/gconfclient/gconflisteners.inc
new file mode 100644
index 0000000000..9b78095488
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libart.pp b/packages/gnome1/src/libart.pp
new file mode 100644
index 0000000000..8a8d227126
--- /dev/null
+++ b/packages/gnome1/src/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.
diff --git a/packages/gnome1/src/libgnome/gnomeconfig.inc b/packages/gnome1/src/libgnome/gnomeconfig.inc
new file mode 100644
index 0000000000..78e51cf3d7
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomedentry.inc b/packages/gnome1/src/libgnome/gnomedentry.inc
new file mode 100644
index 0000000000..cca635fe31
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomeexec.inc b/packages/gnome1/src/libgnome/gnomeexec.inc
new file mode 100644
index 0000000000..020c2af8ed
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomehelp.inc b/packages/gnome1/src/libgnome/gnomehelp.inc
new file mode 100644
index 0000000000..67e44d272d
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomei18n.inc b/packages/gnome1/src/libgnome/gnomei18n.inc
new file mode 100644
index 0000000000..37482f6ba7
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomemetadata.inc b/packages/gnome1/src/libgnome/gnomemetadata.inc
new file mode 100644
index 0000000000..c887c6b5e8
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomemime.inc b/packages/gnome1/src/libgnome/gnomemime.inc
new file mode 100644
index 0000000000..e7c2239282
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomemimeinfo.inc b/packages/gnome1/src/libgnome/gnomemimeinfo.inc
new file mode 100644
index 0000000000..5565ba5893
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomepaper.inc b/packages/gnome1/src/libgnome/gnomepaper.inc
new file mode 100644
index 0000000000..8e8dc8894c
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomeremote.inc b/packages/gnome1/src/libgnome/gnomeremote.inc
new file mode 100644
index 0000000000..4a0ce753d1
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomescore.inc b/packages/gnome1/src/libgnome/gnomescore.inc
new file mode 100644
index 0000000000..8020ef1ac8
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomesound.inc b/packages/gnome1/src/libgnome/gnomesound.inc
new file mode 100644
index 0000000000..c3f375c9aa
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnometriggers.inc b/packages/gnome1/src/libgnome/gnometriggers.inc
new file mode 100644
index 0000000000..dd21333d2e
--- /dev/null
+++ b/packages/gnome1/src/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;varargs;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;varargs;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}
diff --git a/packages/gnome1/src/libgnome/gnomeurl.inc b/packages/gnome1/src/libgnome/gnomeurl.inc
new file mode 100644
index 0000000000..57443589da
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/gnomeutil.inc b/packages/gnome1/src/libgnome/gnomeutil.inc
new file mode 100644
index 0000000000..133adade29
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnome/libgnome.pp b/packages/gnome1/src/libgnome/libgnome.pp
new file mode 100644
index 0000000000..b132c43b3c
--- /dev/null
+++ b/packages/gnome1/src/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.
diff --git a/packages/gnome1/src/libgnomeui/gnomeabout.inc b/packages/gnome1/src/libgnomeui/gnomeabout.inc
new file mode 100644
index 0000000000..5388e62d19
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeanimator.inc b/packages/gnome1/src/libgnomeui/gnomeanimator.inc
new file mode 100644
index 0000000000..ba7d1da7e9
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeapp.inc b/packages/gnome1/src/libgnomeui/gnomeapp.inc
new file mode 100644
index 0000000000..491aa88658
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeappbar.inc b/packages/gnome1/src/libgnomeui/gnomeappbar.inc
new file mode 100644
index 0000000000..19f4bfe470
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeapphelper.inc b/packages/gnome1/src/libgnomeui/gnomeapphelper.inc
new file mode 100644
index 0000000000..30b371faf5
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeapputil.inc b/packages/gnome1/src/libgnomeui/gnomeapputil.inc
new file mode 100644
index 0000000000..1265562984
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecalculator.inc b/packages/gnome1/src/libgnomeui/gnomecalculator.inc
new file mode 100644
index 0000000000..3600400ece
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecalulator.inc b/packages/gnome1/src/libgnomeui/gnomecalulator.inc
new file mode 100644
index 0000000000..830ff95f1c
--- /dev/null
+++ b/packages/gnome1/src/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.
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvas.inc b/packages/gnome1/src/libgnomeui/gnomecanvas.inc
new file mode 100644
index 0000000000..0a27d0bf2f
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvasimage.inc b/packages/gnome1/src/libgnomeui/gnomecanvasimage.inc
new file mode 100644
index 0000000000..8c335ceb49
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvasline.inc b/packages/gnome1/src/libgnomeui/gnomecanvasline.inc
new file mode 100644
index 0000000000..1c152ccde4
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvasload.inc b/packages/gnome1/src/libgnomeui/gnomecanvasload.inc
new file mode 100644
index 0000000000..efb3045aa0
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvaspolygon.inc b/packages/gnome1/src/libgnomeui/gnomecanvaspolygon.inc
new file mode 100644
index 0000000000..d2b6b549b7
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvasrectellipse.inc b/packages/gnome1/src/libgnomeui/gnomecanvasrectellipse.inc
new file mode 100644
index 0000000000..dd470cd0c3
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvastext.inc b/packages/gnome1/src/libgnomeui/gnomecanvastext.inc
new file mode 100644
index 0000000000..61e92f2cdd
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvasutil.inc b/packages/gnome1/src/libgnomeui/gnomecanvasutil.inc
new file mode 100644
index 0000000000..8848c28f79
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecanvaswidget.inc b/packages/gnome1/src/libgnomeui/gnomecanvaswidget.inc
new file mode 100644
index 0000000000..a0561fdd9c
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeclient.inc b/packages/gnome1/src/libgnomeui/gnomeclient.inc
new file mode 100644
index 0000000000..200d215ece
--- /dev/null
+++ b/packages/gnome1/src/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 'gnome_client_set_id';
+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}
diff --git a/packages/gnome1/src/libgnomeui/gnomecolorpicker.inc b/packages/gnome1/src/libgnomeui/gnomecolorpicker.inc
new file mode 100644
index 0000000000..ff0dcb36b2
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedateedit.inc b/packages/gnome1/src/libgnomeui/gnomedateedit.inc
new file mode 100644
index 0000000000..8282606ae6
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedentryedit.inc b/packages/gnome1/src/libgnomeui/gnomedentryedit.inc
new file mode 100644
index 0000000000..b52a9e1f28
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedialog.inc b/packages/gnome1/src/libgnomeui/gnomedialog.inc
new file mode 100644
index 0000000000..fd9886f8c6
--- /dev/null
+++ b/packages/gnome1/src/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; varargs; 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; varargs; 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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedialogutil.inc b/packages/gnome1/src/libgnomeui/gnomedialogutil.inc
new file mode 100644
index 0000000000..c77729208d
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedock.inc b/packages/gnome1/src/libgnomeui/gnomedock.inc
new file mode 100644
index 0000000000..978bc91f0e
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedruid.inc b/packages/gnome1/src/libgnomeui/gnomedruid.inc
new file mode 100644
index 0000000000..98e9e91c49
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedruidpage.inc b/packages/gnome1/src/libgnomeui/gnomedruidpage.inc
new file mode 100644
index 0000000000..2ec991ce37
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedruidpagefinish.inc b/packages/gnome1/src/libgnomeui/gnomedruidpagefinish.inc
new file mode 100644
index 0000000000..bc774584b0
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedruidpagestandard.inc b/packages/gnome1/src/libgnomeui/gnomedruidpagestandard.inc
new file mode 100644
index 0000000000..1ffb7c6a55
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomedruidpagestart.inc b/packages/gnome1/src/libgnomeui/gnomedruidpagestart.inc
new file mode 100644
index 0000000000..8faa693d62
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeentry.inc b/packages/gnome1/src/libgnomeui/gnomeentry.inc
new file mode 100644
index 0000000000..73c609851b
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomefileentry.inc b/packages/gnome1/src/libgnomeui/gnomefileentry.inc
new file mode 100644
index 0000000000..a1b9c0b61c
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomefontpicker.inc b/packages/gnome1/src/libgnomeui/gnomefontpicker.inc
new file mode 100644
index 0000000000..859dcb2f10
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomegeometry.inc b/packages/gnome1/src/libgnomeui/gnomegeometry.inc
new file mode 100644
index 0000000000..c75372a78e
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomehref.inc b/packages/gnome1/src/libgnomeui/gnomehref.inc
new file mode 100644
index 0000000000..353ae36634
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeiconentry.inc b/packages/gnome1/src/libgnomeui/gnomeiconentry.inc
new file mode 100644
index 0000000000..3c129d185f
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeiconitem.inc b/packages/gnome1/src/libgnomeui/gnomeiconitem.inc
new file mode 100644
index 0000000000..93fc444be6
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeiconlist.inc b/packages/gnome1/src/libgnomeui/gnomeiconlist.inc
new file mode 100644
index 0000000000..cd9d791588
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeiconsel.inc b/packages/gnome1/src/libgnomeui/gnomeiconsel.inc
new file mode 100644
index 0000000000..513a843041
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeicontext.inc b/packages/gnome1/src/libgnomeui/gnomeicontext.inc
new file mode 100644
index 0000000000..92b5d779cc
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeinit.inc b/packages/gnome1/src/libgnomeui/gnomeinit.inc
new file mode 100644
index 0000000000..4d4ed5e8cb
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomemdi.inc b/packages/gnome1/src/libgnomeui/gnomemdi.inc
new file mode 100644
index 0000000000..664740defd
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomemdichild.inc b/packages/gnome1/src/libgnomeui/gnomemdichild.inc
new file mode 100644
index 0000000000..13fae094e5
--- /dev/null
+++ b/packages/gnome1/src/libgnomeui/gnomemdichild.inc
@@ -0,0 +1,58 @@
+{$IfDef read_interface}
+
+type
+ TGnomeMDIChildViewCreator = Function : PGtkWidget; cdecl;
+ TGnomeMDIChildMenuCreator = Function : PGList; cdecl;
+ TGnomeMDIChildConfigFunc = Function : Pgchar; cdecl;
+ TGnomeMDIChildLabelFunc = Function : PGtkWidget; cdecl;
+
+ PGnomeMDIChild = ^TGnomeMDIChild;
+ TGnomeMDIChild = record
+ theobject : TGtkObject;
+ parent : PGtkObject;
+ name : Pgchar;
+ views : PGList;
+ menu_template : PGnomeUIInfo;
+ end;
+ GNOME_MDI_CHILD = PGnomeMDIChild;
+
+ PGnomeMDIChildClass = ^TGnomeMDIChildClass;
+ TGnomeMDIChildClass = 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}
diff --git a/packages/gnome1/src/libgnomeui/gnomemdigenericchild.inc b/packages/gnome1/src/libgnomeui/gnomemdigenericchild.inc
new file mode 100644
index 0000000000..bf416259f7
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomemdisession.inc b/packages/gnome1/src/libgnomeui/gnomemdisession.inc
new file mode 100644
index 0000000000..c4e42fe168
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomemessagebox.inc b/packages/gnome1/src/libgnomeui/gnomemessagebox.inc
new file mode 100644
index 0000000000..7641039480
--- /dev/null
+++ b/packages/gnome1/src/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 'gnome_message_box_get_type';
+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}
diff --git a/packages/gnome1/src/libgnomeui/gnomenumberentry.inc b/packages/gnome1/src/libgnomeui/gnomenumberentry.inc
new file mode 100644
index 0000000000..2806bf785f
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomepaperselector.inc b/packages/gnome1/src/libgnomeui/gnomepaperselector.inc
new file mode 100644
index 0000000000..140c5319d8
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomepixmap.inc b/packages/gnome1/src/libgnomeui/gnomepixmap.inc
new file mode 100644
index 0000000000..4d405da22a
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomepixmapentry.inc b/packages/gnome1/src/libgnomeui/gnomepixmapentry.inc
new file mode 100644
index 0000000000..df09cf6fbe
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomepopuphelp.inc b/packages/gnome1/src/libgnomeui/gnomepopuphelp.inc
new file mode 100644
index 0000000000..35e9466d4b
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomepopupmenu.inc b/packages/gnome1/src/libgnomeui/gnomepopupmenu.inc
new file mode 100644
index 0000000000..af68112674
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeprocbar.inc b/packages/gnome1/src/libgnomeui/gnomeprocbar.inc
new file mode 100644
index 0000000000..383d6b52d0
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomepropertybox.inc b/packages/gnome1/src/libgnomeui/gnomepropertybox.inc
new file mode 100644
index 0000000000..4187793b10
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomescores.inc b/packages/gnome1/src/libgnomeui/gnomescores.inc
new file mode 100644
index 0000000000..edfbf5b989
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomestock.inc b/packages/gnome1/src/libgnomeui/gnomestock.inc
new file mode 100644
index 0000000000..6c0433d1c5
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnometypebuiltins.inc b/packages/gnome1/src/libgnomeui/gnometypebuiltins.inc
new file mode 100644
index 0000000000..7fe2309fcf
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomeuidefs.inc b/packages/gnome1/src/libgnomeui/gnomeuidefs.inc
new file mode 100644
index 0000000000..b9c3f54bff
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gnomewinhints.inc b/packages/gnome1/src/libgnomeui/gnomewinhints.inc
new file mode 100644
index 0000000000..6c5d04b2d8
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gtkclock.inc b/packages/gnome1/src/libgnomeui/gtkclock.inc
new file mode 100644
index 0000000000..dc7f4efa43
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gtkdial.inc b/packages/gnome1/src/libgnomeui/gtkdial.inc
new file mode 100644
index 0000000000..002e72952a
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/gtkpixmapmenuitem.inc b/packages/gnome1/src/libgnomeui/gtkpixmapmenuitem.inc
new file mode 100644
index 0000000000..926d2504bd
--- /dev/null
+++ b/packages/gnome1/src/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}
diff --git a/packages/gnome1/src/libgnomeui/libgnomeui.pp b/packages/gnome1/src/libgnomeui/libgnomeui.pp
new file mode 100644
index 0000000000..a3d2aacb3c
--- /dev/null
+++ b/packages/gnome1/src/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.
diff --git a/packages/gnome1/src/zvt/libzvt.pp b/packages/gnome1/src/zvt/libzvt.pp
new file mode 100644
index 0000000000..175d26e6c0
--- /dev/null
+++ b/packages/gnome1/src/zvt/libzvt.pp
@@ -0,0 +1,370 @@
+{
+
+ libzvt - Zed's Virtual Terminal
+ Copyright (C) 1998 Michael Zucchi
+
+ 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 libzvt;
+
+{$PACKRECORDS C}
+{$Mode ObjFPC}
+
+interface
+
+{$linklib util}
+
+Uses glib, gdk, gtk, gdk_imlib;
+
+const
+ libzvtdll='zvt';
+
+Type
+ PLongint = ^Longint;
+ PSmallInt = ^SmallInt;
+ PByte = ^Byte;
+ PWord = ^Word;
+ PDWord = ^DWord;
+ PDouble = ^Double;
+
+ Ppid_t = ^pid_t;
+ pid_t = longint;
+
+{$define read_interface}
+{$undef read_implementation}
+
+{$Include lists.inc}
+{$Include vt.inc}
+{$Include vtx.inc}
+
+const
+ ZVT_TERM_PIXMAP_SUPPORT = $01;
+ ZVT_TERM_EMBOLDEN_SUPPORT = $02;
+ ZVT_TERM_TRANSPARENCY_SUPPORT = $04;
+ ZVT_TERM_PIXMAPSCROLL_SUPPORT = $08;
+ ZVT_TERM_MATCH_SUPPORT = $10;
+
+type
+ PZvtTerm = ^TZvtTerm;
+ TZvtTerm = record
+ widget : TGtkWidget;
+ adjustment : PGtkAdjustment;
+ shadow_type : TGtkShadowType;
+ term_window : PGdkWindow;
+ vx : Pvtx;
+ charwidth : longint;
+ charheight : longint;
+ input_id : gint;
+ msg_id : gint;
+ timeout_id : gint;
+ set_grid_size_pending : gboolean;
+ grid_width : guint;
+ grid_height : guint;
+ cursor_bar : PGdkCursor;
+ cursor_dot : PGdkCursor;
+ cursor_current : PGdkCursor;
+ font : PGdkFont;
+ font_bold : PGdkFont;
+ scroll_gc : PGdkGC;
+ fore_gc : PGdkGC;
+ back_gc : PGdkGC;
+ fore_last : longint;
+ back_last : longint;
+ color_ctx : PGdkColorContext;
+ colors : array[0..17] of gulong;
+ ic : PGdkIC;
+ pixmap_filename : Pchar;
+ background : record
+ pix : PGdkPixmap;
+ x : longint;
+ y : longint;
+ w : longint;
+ h : longint;
+ end;
+ flag0 : word;
+ end;
+ ZVT_TERM = PzvtTerm;
+
+const
+ bm_TZvtTerm_cursor_on = $1;
+ bp_TZvtTerm_cursor_on = 0;
+ bm_TZvtTerm_cursor_filled = $2;
+ bp_TZvtTerm_cursor_filled = 1;
+ bm_TZvtTerm_cursor_blink_state = $4;
+ bp_TZvtTerm_cursor_blink_state = 2;
+ bm_TZvtTerm_blink_enabled = $8;
+ bp_TZvtTerm_blink_enabled = 3;
+ bm_TZvtTerm_in_expose = $10;
+ bp_TZvtTerm_in_expose = 4;
+ bm_TZvtTerm_scroll_on_keystroke = $20;
+ bp_TZvtTerm_scroll_on_keystroke = 5;
+ bm_TZvtTerm_scroll_on_output = $40;
+ bp_TZvtTerm_scroll_on_output = 6;
+ bm_TZvtTerm_transparent = $80;
+ bp_TZvtTerm_transparent = 7;
+ bm_TZvtTerm_shaded = $100;
+ bp_TZvtTerm_shaded = 8;
+ bm_TZvtTerm_swap_del_key = $200;
+ bp_TZvtTerm_swap_del_key = 9;
+ bm_TZvtTerm_del_is_del = $400;
+ bp_TZvtTerm_del_is_del = 10;
+
+function cursor_on(var a : TZvtTerm) : dword;
+procedure set_cursor_on(var a : TZvtTerm; __cursor_on : dword);
+function cursor_filled(var a : TZvtTerm) : dword;
+procedure set_cursor_filled(var a : TZvtTerm; __cursor_filled : dword);
+function cursor_blink_state(var a : TZvtTerm) : dword;
+procedure set_cursor_blink_state(var a : TZvtTerm; __cursor_blink_state : dword);
+function blink_enabled(var a : TZvtTerm) : dword;
+procedure set_blink_enabled(var a : TZvtTerm; __blink_enabled : dword);
+function in_expose(var a : TZvtTerm) : dword;
+procedure set_in_expose(var a : TZvtTerm; __in_expose : dword);
+function scroll_on_keystroke(var a : TZvtTerm) : dword;
+procedure set_scroll_on_keystroke(var a : TZvtTerm; __scroll_on_keystroke : dword);
+function scroll_on_output(var a : TZvtTerm) : dword;
+procedure set_scroll_on_output(var a : TZvtTerm; __scroll_on_output : dword);
+function transparent(var a : TZvtTerm) : dword;
+procedure set_transparent(var a : TZvtTerm; __transparent : dword);
+function shaded(var a : TZvtTerm) : dword;
+procedure set_shaded(var a : TZvtTerm; __shaded : dword);
+function swap_del_key(var a : TZvtTerm) : dword;
+procedure set_swap_del_key(var a : TZvtTerm; __swap_del_key : dword);
+function del_is_del(var a : TZvtTerm) : dword;
+procedure set_del_is_del(var a : TZvtTerm; __del_is_del : dword);
+
+type
+ PZvtTermClass = ^TZvtTermClass;
+ TZvtTermClass = record
+ parent_class : TGtkWidgetClass;
+ child_died : procedure (term:PZvtTerm);cdecl;
+ title_changed : procedure (term:PZvtTerm; thetype:TVTTITLE_TYPE; newtitle:Pchar);
+ match_clicked : procedure (term:PZvtTerm; event:PGdkEventButton; match:Pchar; data:pointer);
+ end;
+ ZVT_TERM_CLASS = PZvtTermClass;
+
+ Pzvtfont_t = ^Tzvtfont_t;
+ Tzvtfont_t = (ZVT_FONT_1BYTE := 0,ZVT_FONT_2BYTE,ZVT_FONT_FONTSET);
+
+const
+ ZVT_TERM_DO_UTMP_LOG = 1;
+ ZVT_TERM_DO_WTMP_LOG = 2;
+ ZVT_TERM_DO_LASTLOG = 4;
+ ZVT_BACKGROUND_SHADED = $01;
+ ZVT_BACKGROUND_SCROLL = $02;
+
+function ZVT_TYPE_TERM : TGTKType;
+function ZVT_IS_TERM(obj : Pointer) : Boolean;
+function ZVT_IS_TERM_CLASS(klass : Pointer) : Boolean;
+
+
+function ZVT_GTK_TOPWGT(t : PGTKWidget) : PGTKWidget;
+function ZVT_GTK_WINDOW(t : PGTKWidget) : PGTKWindow;
+function ZVT_GDK_WINDOW(t : PGTKWidget) : PGDKWindow;
+function ZVT_GDK_TOPWIN(t : PGTKWidget) : PGDKWindow;
+
+function zvt_term_new:PGtkWidget;cdecl;external libzvtdll name 'zvt_term_new';
+function zvt_term_new_with_size(cols:longint; rows:longint):PGtkWidget;cdecl;external libzvtdll name 'zvt_term_new_with_size';
+procedure zvt_term_reset(term:PZvtTerm; hard:longint);cdecl;external libzvtdll name 'zvt_term_reset';
+procedure zvt_term_feed(term:PZvtTerm; thetext:Pchar; len:longint);cdecl;external libzvtdll name 'zvt_term_feed';
+function zvt_term_writechild(term:PZvtTerm; data:Pchar; len:longint):longint;cdecl;external libzvtdll name 'zvt_term_writechild';
+function zvt_term_forkpty(term:PZvtTerm; do_uwtmp_log:longint):longint;cdecl;external libzvtdll name 'zvt_term_forkpty';
+function zvt_term_closepty(term:PZvtTerm):longint;cdecl;external libzvtdll name 'zvt_term_closepty';
+function zvt_term_killchild(term:PZvtTerm; signal:longint):longint;cdecl;external libzvtdll name 'zvt_term_killchild';
+procedure zvt_term_bell(zvt_term:pointer);cdecl;external libzvtdll name 'zvt_term_bell';
+function zvt_term_get_type:guint;cdecl;external libzvtdll name 'zvt_term_get_type';
+procedure zvt_term_set_scrollback(term:PZvtTerm; lines:longint);cdecl;external libzvtdll name 'zvt_term_set_scrollback';
+function zvt_term_get_buffer(term:PZvtTerm; len:Plongint; thetype:longint; sx:longint; sy:longint;
+ ex:longint; ey:longint):Pchar;cdecl;external libzvtdll name 'zvt_term_get_buffer';
+procedure zvt_term_set_font_name(term:PZvtTerm; thename:Pchar);cdecl;external libzvtdll name 'zvt_term_set_font_name';
+procedure zvt_term_set_fonts(term:PZvtTerm; font:PGdkFont; font_bold:PGdkFont);cdecl;external libzvtdll name 'zvt_term_set_fonts';
+procedure zvt_term_hide_pointer(term:PZvtTerm);cdecl;external libzvtdll name 'zvt_term_hide_pointer';
+procedure zvt_term_show_pointer(term:PZvtTerm);cdecl;external libzvtdll name 'zvt_term_show_pointer';
+procedure zvt_term_set_bell(term:PZvtTerm; state:gboolean);cdecl;external libzvtdll name 'zvt_term_set_bell';
+function zvt_term_get_bell(term:PZvtTerm):gboolean;cdecl;external libzvtdll name 'zvt_term_get_bell';
+procedure zvt_term_set_blink(term:PZvtTerm; state:gboolean);cdecl;external libzvtdll name 'zvt_term_set_blink';
+procedure zvt_term_set_scroll_on_keystroke(term:PZvtTerm; state:gboolean);cdecl;external libzvtdll name 'zvt_term_set_scroll_on_keystroke';
+procedure zvt_term_set_scroll_on_output(term:PZvtTerm; state:gboolean);cdecl;external libzvtdll name 'zvt_term_set_scroll_on_output';
+procedure zvt_term_set_color_scheme(term:PZvtTerm; red:Pgushort; grn:Pgushort; blu:Pgushort);cdecl;external libzvtdll name 'zvt_term_set_color_scheme';
+procedure zvt_term_set_default_color_scheme(term:PZvtTerm);cdecl;external libzvtdll name 'zvt_term_set_default_color_scheme';
+procedure zvt_term_set_del_key_swap(term:PZvtTerm; state:longint);cdecl;external libzvtdll name 'zvt_term_set_del_key_swap';
+procedure zvt_term_set_del_is_del(term:PZvtTerm; state:longint);cdecl;external libzvtdll name 'zvt_term_set_del_is_del';
+procedure zvt_term_set_wordclass(term:PZvtTerm; klass:Pbyte);cdecl;external libzvtdll name 'zvt_term_set_wordclass';
+function zvt_term_match_add(term:PZvtTerm; regex:Pchar; highlight_mask:uint32; data:pointer):longint;cdecl;external libzvtdll name 'zvt_term_match_add';
+procedure zvt_term_match_clear(term:PZvtTerm; regex:Pchar);cdecl;external libzvtdll name 'zvt_term_match_clear';
+function zvt_term_match_check(term:PZvtTerm; x:longint; y:longint; user_data_ptr:Ppointer):Pchar;cdecl;external libzvtdll name 'zvt_term_match_check';
+procedure zvt_term_set_background(terminal:PZvtTerm; pixmap_file:Pchar; transparent:gboolean; flags:longint);cdecl;external libzvtdll name 'zvt_term_set_background';
+procedure zvt_term_set_shadow_type(term:PZvtTerm; thetype:TGtkShadowType);cdecl;external libzvtdll name 'zvt_term_set_shadow_type';
+procedure zvt_term_set_size(term:PZvtTerm; width:guint; height:guint);cdecl;external libzvtdll name 'zvt_term_set_size';
+procedure zvt_term_set_open_im(term:PZvtTerm; state:gboolean);cdecl;external libzvtdll name 'zvt_term_set_open_im';
+function zvt_term_get_capabilities(term:PZvtTerm):guint32;cdecl;external libzvtdll name 'zvt_term_get_capabilities';
+
+implementation
+
+{$define read_implementation}
+{$undef read_interface}
+
+{$Include lists.inc}
+{$Include vt.inc}
+{$Include vtx.inc}
+
+function ZVT_TYPE_TERM : TGTKType;
+begin
+ ZVT_TYPE_TERM:=zvt_term_get_type;
+end;
+
+function ZVT_IS_TERM(obj : Pointer) : Boolean;
+begin
+ ZVT_IS_TERM:=(obj<>nil) and ZVT_IS_TERM_CLASS(PGtkTypeObject(obj)^.klass);
+end;
+
+function ZVT_IS_TERM_CLASS(klass : Pointer) : Boolean;
+begin
+ ZVT_IS_TERM_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=ZVT_TYPE_TERM);
+end;
+
+function ZVT_GTK_TOPWGT(t : PGTKWidget) : PGTKWidget;
+begin
+ ZVT_GTK_TOPWGT := gtk_widget_get_toplevel(t);
+end;
+
+function ZVT_GTK_WINDOW(t : PGTKWidget) : PGTKWindow;
+begin
+ ZVT_GTK_WINDOW := GTK_WINDOW(ZVT_GTK_TOPWGT(t));
+end;
+
+function ZVT_GDK_WINDOW(t : PGTKWidget) : PGDKWindow;
+begin
+ ZVT_GDK_WINDOW := t^.window;
+end;
+
+function ZVT_GDK_TOPWIN(t : PGTKWidget) : PGDKWindow;
+begin
+ ZVT_GDK_TOPWIN := ZVT_GTK_TOPWGT(t)^.window;
+end;
+
+function cursor_on(var a : TZvtTerm) : dword;
+begin
+ cursor_on:=(a.flag0 and bm_TZvtTerm_cursor_on) shr bp_TZvtTerm_cursor_on;
+end;
+
+procedure set_cursor_on(var a : TZvtTerm; __cursor_on : dword);
+begin
+ a.flag0:=a.flag0 or ((__cursor_on shl bp_TZvtTerm_cursor_on) and bm_TZvtTerm_cursor_on);
+end;
+
+function cursor_filled(var a : TZvtTerm) : dword;
+begin
+ cursor_filled:=(a.flag0 and bm_TZvtTerm_cursor_filled) shr bp_TZvtTerm_cursor_filled;
+end;
+
+procedure set_cursor_filled(var a : TZvtTerm; __cursor_filled : dword);
+begin
+ a.flag0:=a.flag0 or ((__cursor_filled shl bp_TZvtTerm_cursor_filled) and bm_TZvtTerm_cursor_filled);
+end;
+
+function cursor_blink_state(var a : TZvtTerm) : dword;
+begin
+ cursor_blink_state:=(a.flag0 and bm_TZvtTerm_cursor_blink_state) shr bp_TZvtTerm_cursor_blink_state;
+end;
+
+procedure set_cursor_blink_state(var a : TZvtTerm; __cursor_blink_state : dword);
+begin
+ a.flag0:=a.flag0 or ((__cursor_blink_state shl bp_TZvtTerm_cursor_blink_state) and bm_TZvtTerm_cursor_blink_state);
+end;
+
+function blink_enabled(var a : TZvtTerm) : dword;
+begin
+ blink_enabled:=(a.flag0 and bm_TZvtTerm_blink_enabled) shr bp_TZvtTerm_blink_enabled;
+end;
+
+procedure set_blink_enabled(var a : TZvtTerm; __blink_enabled : dword);
+begin
+ a.flag0:=a.flag0 or ((__blink_enabled shl bp_TZvtTerm_blink_enabled) and bm_TZvtTerm_blink_enabled);
+end;
+
+function in_expose(var a : TZvtTerm) : dword;
+begin
+ in_expose:=(a.flag0 and bm_TZvtTerm_in_expose) shr bp_TZvtTerm_in_expose;
+end;
+
+procedure set_in_expose(var a : TZvtTerm; __in_expose : dword);
+begin
+ a.flag0:=a.flag0 or ((__in_expose shl bp_TZvtTerm_in_expose) and bm_TZvtTerm_in_expose);
+end;
+
+function scroll_on_keystroke(var a : TZvtTerm) : dword;
+begin
+ scroll_on_keystroke:=(a.flag0 and bm_TZvtTerm_scroll_on_keystroke) shr bp_TZvtTerm_scroll_on_keystroke;
+end;
+
+procedure set_scroll_on_keystroke(var a : TZvtTerm; __scroll_on_keystroke : dword);
+begin
+ a.flag0:=a.flag0 or ((__scroll_on_keystroke shl bp_TZvtTerm_scroll_on_keystroke) and bm_TZvtTerm_scroll_on_keystroke);
+end;
+
+function scroll_on_output(var a : TZvtTerm) : dword;
+begin
+ scroll_on_output:=(a.flag0 and bm_TZvtTerm_scroll_on_output) shr bp_TZvtTerm_scroll_on_output;
+end;
+
+procedure set_scroll_on_output(var a : TZvtTerm; __scroll_on_output : dword);
+begin
+ a.flag0:=a.flag0 or ((__scroll_on_output shl bp_TZvtTerm_scroll_on_output) and bm_TZvtTerm_scroll_on_output);
+end;
+
+function transparent(var a : TZvtTerm) : dword;
+begin
+ transparent:=(a.flag0 and bm_TZvtTerm_transparent) shr bp_TZvtTerm_transparent;
+end;
+
+procedure set_transparent(var a : TZvtTerm; __transparent : dword);
+begin
+ a.flag0:=a.flag0 or ((__transparent shl bp_TZvtTerm_transparent) and bm_TZvtTerm_transparent);
+end;
+
+function shaded(var a : TZvtTerm) : dword;
+begin
+ shaded:=(a.flag0 and bm_TZvtTerm_shaded) shr bp_TZvtTerm_shaded;
+end;
+
+procedure set_shaded(var a : TZvtTerm; __shaded : dword);
+begin
+ a.flag0:=a.flag0 or ((__shaded shl bp_TZvtTerm_shaded) and bm_TZvtTerm_shaded);
+end;
+
+function swap_del_key(var a : TZvtTerm) : dword;
+begin
+ swap_del_key:=(a.flag0 and bm_TZvtTerm_swap_del_key) shr bp_TZvtTerm_swap_del_key;
+end;
+
+procedure set_swap_del_key(var a : TZvtTerm; __swap_del_key : dword);
+begin
+ a.flag0:=a.flag0 or ((__swap_del_key shl bp_TZvtTerm_swap_del_key) and bm_TZvtTerm_swap_del_key);
+end;
+
+function del_is_del(var a : TZvtTerm) : dword;
+begin
+ del_is_del:=(a.flag0 and bm_TZvtTerm_del_is_del) shr bp_TZvtTerm_del_is_del;
+end;
+
+procedure set_del_is_del(var a : TZvtTerm; __del_is_del : dword);
+begin
+ a.flag0:=a.flag0 or ((__del_is_del shl bp_TZvtTerm_del_is_del) and bm_TZvtTerm_del_is_del);
+end;
+
+
+end.
diff --git a/packages/gnome1/src/zvt/lists.inc b/packages/gnome1/src/zvt/lists.inc
new file mode 100644
index 0000000000..aeb3e2bcd7
--- /dev/null
+++ b/packages/gnome1/src/zvt/lists.inc
@@ -0,0 +1,31 @@
+{$IfDef read_interface}
+
+type
+ Pvt_listnode = ^Tvt_listnode;
+ Tvt_listnode = record
+ next : Pvt_listnode;
+ prev : Pvt_listnode;
+ end;
+
+ Pvt_list = ^Tvt_list;
+ Tvt_list = record
+ head : Pvt_listnode;
+ tail : Pvt_listnode;
+ tailpred : Pvt_listnode;
+ end;
+
+procedure vt_list_new(List:Pvt_list);cdecl;external libzvtdll name 'vt_list_new';
+function vt_list_addhead(list:Pvt_list; node:Pvt_listnode):Pvt_listnode;cdecl;external libzvtdll name 'vt_list_addhead';
+function vt_list_addtail(list:Pvt_list; node:Pvt_listnode):Pvt_listnode;cdecl;external libzvtdll name 'vt_list_addtail';
+function vt_list_empty(list:Pvt_list):longint;cdecl;external libzvtdll name 'vt_list_empty';
+function vt_list_remhead(list:Pvt_list):Pvt_listnode;cdecl;external libzvtdll name 'vt_list_remhead';
+function vt_list_remtail(list:Pvt_list):Pvt_listnode;cdecl;external libzvtdll name 'vt_list_remtail';
+function vt_list_remove(node:Pvt_listnode):Pvt_listnode;cdecl;external libzvtdll name 'vt_list_remove';
+function vt_list_insert(list:Pvt_list; p:Pvt_listnode; node:Pvt_listnode):Pvt_listnode;cdecl;external libzvtdll name 'vt_list_insert';
+function vt_list_index(list:Pvt_list; index:longint):Pvt_listnode;cdecl;external libzvtdll name 'vt_list_index';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+{$Endif read_implementation}
diff --git a/packages/gnome1/src/zvt/vt.inc b/packages/gnome1/src/zvt/vt.inc
new file mode 100644
index 0000000000..e5365f2004
--- /dev/null
+++ b/packages/gnome1/src/zvt/vt.inc
@@ -0,0 +1,190 @@
+{$IfDef read_interface}
+
+const
+ UPDATE_CHANGES = $00;
+ UPDATE_REFRESH = $01;
+ UPDATE_SCROLLBACK = $02;
+
+type
+ Puint32 = ^uint32;
+ uint32 = dword;
+
+const
+ VTPARAM_MAXARGS = 5;
+ VTPARAM_ARGMAX = 20;
+ VTPARAM_INTARGS = 20;
+
+type
+ Pvt_line = ^Tvt_line;
+ Tvt_line = record
+ next : Pvt_line;
+ prev : Pvt_line;
+ line : longint;
+ width : longint;
+ modcount : longint;
+ data : array[0..0] of uint32;
+ end;
+
+ PVTTITLE_TYPE = ^TVTTITLE_TYPE;
+ TVTTITLE_TYPE = (VTTITLE_WINDOWICON := 0,VTTITLE_ICON,
+ VTTITLE_WINDOW,VTTITLE_XPROPERTY);
+
+ const
+ VTATTR_BOLD = $40000000;
+ VTATTR_UNDERLINE = $20000000;
+ VTATTR_BLINK = $10000000;
+ VTATTR_REVERSE = $08000000;
+ VTATTR_CONCEALED = $04000000;
+ VTATTR_MULTIBYTE = $80000000;
+ VTATTR_MASK = $ffff0000;
+ VTATTR_DATAMASK = not (VTATTR_MASK);
+ VTATTR_CLEARMASK = not (((VTATTR_BOLD or VTATTR_UNDERLINE) or VTATTR_BLINK) or VTATTR_REVERSE);
+ VTATTR_FORECOLOURM = $03e00000;
+ VTATTR_BACKCOLOURM = $001f0000;
+ VTATTR_FORECOLOURB = 21;
+ VTATTR_BACKCOLOURB = 16;
+
+ type
+ Pvt_em = ^Tvt_em;
+ Tvt_em = record
+ cursorx : longint;
+ cursory : longint;
+ width : longint;
+ height : longint;
+ scrolltop : longint;
+ scrollbottom : longint;
+ childpid : pid_t;
+ childfd : longint;
+ keyfd : longint;
+ pty_tag : pointer;
+ msgfd : longint;
+ savex : longint;
+ savey : longint;
+ savemode : uint32;
+ saveattr : uint32;
+ saveremaptable : Pbyte;
+ savethis : Pvt_line;
+ cx : longint;
+ cy : longint;
+ sx : longint;
+ sy : longint;
+ remaptable : Pbyte;
+ Gx : longint;
+ G : array[0..3] of Pbyte;
+ attr : uint32;
+ mode : uint32;
+ arg : record
+ case longint of
+ 0 : ( txt : record
+ args_dummy : array[0..(VTPARAM_MAXARGS)-1] of Pbyte;
+ args_mem : array[0..(VTPARAM_MAXARGS * VTPARAM_ARGMAX)-1] of char;
+ argptr_dummy : ^Pbyte;
+ outptr : Pchar;
+ outend_dummy : Pchar;
+ end );
+ 1 : ( num : record
+ intargs : array[0..(VTPARAM_INTARGS)-1] of dword;
+ intarg : dword;
+ end );
+ end;
+ argcnt : longint;
+ state : longint;
+ this_line : Pvt_line;
+ lines : Tvt_list;
+ lines_back : Tvt_list;
+ lines_alt : Tvt_list;
+ scrollback : Tvt_list;
+ scrollbacklines : longint;
+ scrollbackoffset : longint;
+ scrollbackold : longint;
+ scrollbackmax : longint;
+ ring_my_bell : procedure (user_data:pointer);cdecl;
+ change_my_name : procedure (user_data:pointer; _type:TVTTITLE_TYPE; name:Pchar);cdecl;
+ dtterm_seq : procedure (user_data:pointer);cdecl;
+ user_data : pointer;
+ decode : record
+ case longint of
+ 0 : ( utf8 : record
+ wchar : uint32;
+ shiftchar : longint;
+ shift : longint;
+ end );
+ end;
+ coding : longint;
+ end;
+
+
+ const
+ ZVT_CODE_ISOLATIN1 = 0;
+ ZVT_CODE_UTF8 = 1;
+ VTMODE_INSERT = $00000001;
+ VTMODE_SEND_MOUSE = $02;
+ VTMODE_WRAPOFF = $04;
+ VTMODE_APP_CURSOR = $00000008;
+ VTMODE_RELATIVE = $10;
+ VTMODE_APP_KEYPAD = $20;
+ VTMODE_SEND_MOUSE_PRESS = $42;
+ VTMODE_SEND_MOUSE_BOTH = $82;
+ VTMODE_SEND_MOUSE_MASK = $c2;
+ VTMODE_BLANK_CURSOR = $100;
+ VTMODE_ALTSCREEN = $80000000;
+
+ const
+ VT_THRESHHOLD = 4;
+
+function vt_init(vt:Pvt_em; width:longint; height:longint):Pvt_em;cdecl;external libzvtdll name 'vt_init';
+procedure vt_destroy(vt:Pvt_em);cdecl;external libzvtdll name 'vt_destroy';
+procedure vt_resize(vt:Pvt_em; width:longint; height:longint; pixwidth:longint; pixheight:longint);cdecl;external libzvtdll name 'vt_resize';
+procedure vt_parse_vt(vt:Pvt_em; ptr:Pchar; length:longint);cdecl;external libzvtdll name 'vt_parse_vt';
+procedure vt_swap_buffers(vt:Pvt_em);cdecl;external libzvtdll name 'vt_swap_buffers';
+function vt_forkpty(vt:Pvt_em; do_uwtmp_log:longint):pid_t;cdecl;external libzvtdll name 'vt_forkpty';
+function vt_readchild(vt:Pvt_em; buffer:Pchar; len:longint):longint;cdecl;external libzvtdll name 'vt_readchild';
+function vt_writechild(vt:Pvt_em; buffer:Pchar; len:longint):longint;cdecl;external libzvtdll name 'vt_writechild';
+function vt_report_button(vt:Pvt_em; down:longint; button:longint; qual:longint; x:longint;
+ y:longint):longint;cdecl;external libzvtdll name 'vt_report_button';
+procedure vt_scrollback_set(vt:Pvt_em; lines:longint);cdecl;external libzvtdll name 'vt_scrollback_set';
+function vt_killchild(vt:Pvt_em; signal:longint):longint;cdecl;external libzvtdll name 'vt_killchild';
+function vt_closepty(vt:Pvt_em):longint;cdecl;external libzvtdll name 'vt_closepty';
+procedure vt_reset_terminal(vt:Pvt_em; hard:longint);cdecl;external libzvtdll name 'vt_reset_terminal';
+function vt_line_mblen(x:longint; line:Pvt_line):longint;cdecl;external libzvtdll name 'vt_line_mblen';
+function vt_query_line_mbchar(x:longint; line:Pvt_line):longint;cdecl;external libzvtdll name 'vt_query_line_mbchar';
+
+Function VT_LINE_SIZE(width : Longint) : Longint;
+Function VTATTR_CLEAR : Longint;
+Function VT_BLANK(n : Longint) : Boolean;
+Function VT_ASCII(n : Longint) : Longint;
+function VT_BMASK(n : longint) : longint;
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+Function VT_LINE_SIZE(width : Longint) : Longint;
+begin
+ VT_LINE_SIZE := sizeof(Tvt_line) + (sizeof(uint32) * (width));
+end;
+
+Function VTATTR_CLEAR : Longint;
+begin
+ VTATTR_CLEAR := (16 shl VTATTR_FORECOLOURB) or (17 shl VTATTR_BACKCOLOURB) or 0;
+end;
+
+Function VT_BLANK(n : Longint) : Boolean;
+begin
+ VT_BLANK := (n = 0) or (n = 9) or (n = 32);
+end;
+
+Function VT_ASCII(n : Longint) : Longint;
+begin
+ If ((n and VTATTR_DATAMASK) = 0) or ((n and VTATTR_DATAMASK) = 9) then
+ VT_ASCII := 32
+ else
+ VT_ASCII := n and VTATTR_DATAMASK;
+end;
+
+function VT_BMASK(n : longint) : longint;
+begin
+ VT_BMASK := N and (VTATTR_FORECOLOURM or VTATTR_BACKCOLOURM or VTATTR_REVERSE or VTATTR_UNDERLINE);
+end;
+
+{$Endif read_implementation}
diff --git a/packages/gnome1/src/zvt/vtx.inc b/packages/gnome1/src/zvt/vtx.inc
new file mode 100644
index 0000000000..11c3f999a1
--- /dev/null
+++ b/packages/gnome1/src/zvt/vtx.inc
@@ -0,0 +1,129 @@
+{$IfDef read_interface}
+
+type
+ PVT_SELTYPE = ^TVT_SELTYPE;
+ TVT_SELTYPE = (VT_SELTYPE_NONE := 0,VT_SELTYPE_CHAR,VT_SELTYPE_WORD,VT_SELTYPE_LINE,VT_SELTYPE_MAGIC);
+
+const
+ VT_SELTYPE_MASK = $ff;
+ VT_SELTYPE_BYEND = $8000;
+ VT_SELTYPE_BYSTART = $4000;
+ VT_SELTYPE_MOVED = $2000;
+
+type
+ PVT_SCROLLTYPE = ^TVT_SCROLLTYPE;
+ TVT_SCROLLTYPE = (VT_SCROLL_ALWAYS := 0,VT_SCROLL_SOMETIMES,VT_SCROLL_NEVER);
+
+ Pvt_magic_match = ^Tvt_magic_match;
+ Pvt_match = ^Tvt_match;
+ Pvt_match_block = ^Tvt_match_block;
+
+ Pvtx = ^Tvtx;
+ Tvtx = record
+ vt : Tvt_em;
+ flag0 : word;
+ selection_data : Puint32;
+ selection_size : longint;
+ wordclass : array[0..31] of byte;
+ selected : longint;
+ selectiontype : TVT_SELTYPE;
+ selstartx : longint;
+ selstarty : longint;
+ selendx : longint;
+ selendy : longint;
+ selstartxold : longint;
+ selstartyold : longint;
+ selendxold : longint;
+ selendyold : longint;
+ draw_text : procedure (user_data:pointer; line:Pvt_line; row:longint; col:longint; len:longint;
+ attr:longint);cdecl;
+ scroll_area : procedure (user_data:pointer; firstrow:longint; count:longint; offset:longint; fill:longint); cdecl;
+ cursor_state : function (user_data:pointer; state:longint):longint; cdecl;
+ magic_list : Tvt_list;
+ matches : Pvt_match;
+ magic_matched : longint;
+ match_shown : Pvt_match;
+ scroll_type : byte;
+ end;
+
+ {$Warning (T)regex_t defined for (T)vt_magic_match may be wrong!!}
+ Tregex_t = Record
+ buffer : PByte;
+ allocated : LongWord;
+ sed : LongWord;
+ syntax : LongWord;
+ fastmap : PChar;
+ translate : PChar;
+ can_be_null : Word;
+ regs_allocated : Word;
+ fastmap_accurate : Word;
+ no_sub : Word;
+ not_bol : Word;
+ not_eol : Word;
+ newline_anchor : Word;
+ end;
+
+ Tvt_magic_match = record
+ next : Pvt_magic_match;
+ prev : Pvt_magic_match;
+ regex : Pchar;
+ preg : Tregex_t;
+ highlight_mask : uint32;
+ user_data : pointer;
+ end;
+
+ Tvt_match = record
+ next : Pvt_match;
+ match : Pvt_magic_match;
+ matchstr : Pchar;
+ blocks : Pvt_match_block;
+ end;
+
+ Tvt_match_block = record
+ next : Pvt_match_block;
+ line : Pvt_line;
+ saveline : Pvt_line;
+ lineno : dword;
+ start : dword;
+ theend : dword;
+ end;
+
+const
+ bm_Tvtx_back_match = $1;
+ bp_Tvtx_back_match = 0;
+function back_match(var a : Tvtx) : dword;
+procedure set_back_match(var a : Tvtx; __back_match : dword);
+
+function vt_get_selection(vx:Pvtx; size:longint; len:Plongint):Pchar;cdecl;external libzvtdll name 'vt_get_selection';
+procedure vt_clear_selection(vx:Pvtx);cdecl;external libzvtdll name 'vt_clear_selection';
+procedure vt_fix_selection(vx:Pvtx);cdecl;external libzvtdll name 'vt_fix_selection';
+procedure vt_draw_selection(vx:Pvtx);cdecl;external libzvtdll name 'vt_draw_selection';
+procedure vt_update_rect(vx:Pvtx; fill:longint; sx:longint; sy:longint; ex:longint;
+ ey:longint);cdecl;external libzvtdll name 'vt_update_rect';
+procedure vt_update(vt:Pvtx; state:longint);cdecl;external libzvtdll name 'vt_update';
+procedure vt_draw_cursor(vx:Pvtx; state:longint);cdecl;external libzvtdll name 'vt_draw_cursor';
+procedure vt_set_wordclass(vx:Pvtx; s:Pbyte);cdecl;external libzvtdll name 'vt_set_wordclass';
+function vt_get_attr_at(vx:Pvtx; col:longint; row:longint):longint;cdecl;external libzvtdll name 'vt_get_attr_at';
+procedure vt_free_match_blocks(vx:Pvtx);cdecl;external libzvtdll name 'vt_free_match_blocks';
+procedure vt_getmatches(vx:Pvtx);cdecl;external libzvtdll name 'vt_getmatches';
+procedure vt_match_clear(vx:Pvtx; regex:Pchar);cdecl;external libzvtdll name 'vt_match_clear';
+function vt_match_check(vx:Pvtx; x:longint; y:longint):Pvt_match;cdecl;external libzvtdll name 'vt_match_check';
+procedure vt_match_highlight(vx:Pvtx; m:Pvt_match);cdecl;external libzvtdll name 'vt_match_highlight';
+function vtx_new(width:longint; height:longint; user_data:pointer):Pvtx;cdecl;external libzvtdll name 'vtx_new';
+procedure vtx_destroy(vx:Pvtx);cdecl;external libzvtdll name 'vtx_destroy';
+
+{$EndIf read_interface}
+
+{$Ifdef read_implementation}
+
+function back_match(var a : Tvtx) : dword;
+begin
+ back_match:=(a.flag0 and bm_Tvtx_back_match) shr bp_Tvtx_back_match;
+end;
+
+procedure set_back_match(var a : Tvtx; __back_match : dword);
+begin
+ a.flag0:=a.flag0 or ((__back_match shl bp_Tvtx_back_match) and bm_Tvtx_back_match);
+end;
+
+{$Endif read_implementation}