diff options
Diffstat (limited to 'packages/gtk1/src/gtk/gtkwindow.pp')
-rw-r--r-- | packages/gtk1/src/gtk/gtkwindow.pp | 180 |
1 files changed, 180 insertions, 0 deletions
diff --git a/packages/gtk1/src/gtk/gtkwindow.pp b/packages/gtk1/src/gtk/gtkwindow.pp new file mode 100644 index 0000000000..ee3b16e02d --- /dev/null +++ b/packages/gtk1/src/gtk/gtkwindow.pp @@ -0,0 +1,180 @@ +{ +} + +{**************************************************************************** + Interface +****************************************************************************} + +{$ifdef read_interface} + + type + + PGtkWindow = ^TGtkWindow; + TGtkWindow = record + bin : TGtkBin; + title : Pgchar; + wmclass_name : Pgchar; + wmclass_class : Pgchar; + thetype : TGtkWindowType; + focus_widget : PGtkWidget; + default_widget : PGtkWidget; + transient_parent : PGtkWindow; + resize_count : gushort; + flag0 : {$ifdef win32}longint{$else}word{$endif}; + end; + + const + bm_modal = 1; + bp_modal = 0; + bm_allow_shrink = 2; + bp_allow_shrink = 1; + bm_allow_grow = 4; + bp_allow_grow = 2; + bm_auto_shrink = 8; + bp_auto_shrink = 3; + bm_handling_resize = 16; + bp_handling_resize = 4; + bm_position = 96; + bp_position = 5; + bm_use_uposition = 128; + bp_use_uposition = 7; + +function modal(var a : TGtkWindow) : guint; +procedure set_modal(var a : TGtkWindow; __modal : guint); +function allow_shrink(var a : TGtkWindow) : guint; +procedure set_allow_shrink(var a : TGtkWindow; __allow_shrink : guint); +function allow_grow(var a : TGtkWindow) : guint; +procedure set_allow_grow(var a : TGtkWindow; __allow_grow : guint); +function auto_shrink(var a : TGtkWindow) : guint; +procedure set_auto_shrink(var a : TGtkWindow; __auto_shrink : guint); +function handling_resize(var a : TGtkWindow) : guint;cdecl; +procedure set_handling_resize(var a : TGtkWindow; __handling_resize : guint);cdecl; +function position(var a : TGtkWindow) : guint; +procedure set_position(var a : TGtkWindow; __position : guint); +function use_uposition(var a : TGtkWindow) : guint; +procedure set_use_uposition(var a : TGtkWindow; __use_uposition : guint); + + type + PGtkWindowClass = ^TGtkWindowClass; + TGtkWindowClass = record + parent_class : TGtkBinClass; + set_focus : procedure (window:PGtkWindow; focus:PGtkWidget);cdecl; + end; + +Type + GTK_WINDOW = PGtkWindow; + GTK_WINDOW_CLASS = PGtkWindowClass; + +function GTK_WINDOW_TYPE:TGtkType;cdecl;external gtkdll name 'gtk_window_get_type'; +function GTK_IS_WINDOW(obj:pointer):boolean; +function GTK_IS_WINDOW_CLASS(klass:pointer):boolean; + +function gtk_window_get_type:TGtkType;cdecl;external gtkdll name 'gtk_window_get_type'; +function gtk_window_new (thetype:TGtkWindowType):PGtkWidget;cdecl;external gtkdll name 'gtk_window_new'; +procedure gtk_window_set_title(window:PGtkWindow; title:Pgchar);cdecl;external gtkdll name 'gtk_window_set_title'; +procedure gtk_window_set_wmclass(window:PGtkWindow; wmclass_name:Pgchar; wmclass_class:Pgchar);cdecl;external gtkdll name 'gtk_window_set_wmclass'; +procedure gtk_window_set_policy(window:PGtkWindow; allow_shrink:gint; allow_grow:gint; auto_shrink:gint);cdecl;external gtkdll name 'gtk_window_set_policy'; +procedure gtk_window_add_accel_group(window:PGtkWindow; accel_group:PGtkAccelGroup);cdecl;external gtkdll name 'gtk_window_add_accel_group'; +procedure gtk_window_set_position(window:PGtkWindow; position:TGtkWindowPosition);cdecl;external gtkdll name 'gtk_window_set_position'; +function gtk_window_activate_focus(window:PGtkWindow):gint;cdecl;external gtkdll name 'gtk_window_activate_focus'; +function gtk_window_activate_default(window:PGtkWindow):gint;cdecl;external gtkdll name 'gtk_window_activate_default'; +procedure gtk_window_set_transient_for(window:PGtkWindow; parent:PGtkWindow);cdecl;external gtkdll name 'gtk_window_set_transient_for'; +procedure gtk_window_set_geometry_hints(window:PGtkWindow; geometry_widget:PGtkWidget; geometry:PGdkGeometry; geom_mask:TGdkWindowHints);cdecl;external gtkdll name 'gtk_window_set_geometry_hints'; +procedure gtk_window_set_default_size(window:PGtkWindow; width:gint; height:gint);cdecl;external gtkdll name 'gtk_window_set_default_size'; +procedure gtk_window_set_modal(window:PGtkWindow; modal:gboolean);cdecl;external gtkdll name 'gtk_window_set_modal'; +procedure gtk_window_set_focus(window:PGtkWindow; focus:PGtkWidget);cdecl;external gtkdll name 'gtk_window_set_focus'; +procedure gtk_window_set_default(window:PGtkWindow; defaultw:PGtkWidget);cdecl;external gtkdll name 'gtk_window_set_default'; +procedure gtk_window_remove_embedded_xid(window:PGtkWindow; xid:guint);cdecl;external gtkdll name 'gtk_window_remove_embedded_xid'; +procedure gtk_window_add_embedded_xid(window:PGtkWindow; xid:guint);cdecl;external gtkdll name 'gtk_window_add_embedded_xid'; + +{$endif read_interface} + + +{**************************************************************************** + Implementation +****************************************************************************} + +{$ifdef read_implementation} + +function modal(var a : TGtkWindow) : guint; + begin + modal:=(a.flag0 and bm_modal) shr bp_modal; + end; + +procedure set_modal(var a : TGtkWindow; __modal : guint); + begin + a.flag0:=a.flag0 or ((__modal shl bp_modal) and bm_modal); + end; + +function allow_shrink(var a : TGtkWindow) : guint; + begin + allow_shrink:=(a.flag0 and bm_allow_shrink) shr bp_allow_shrink; + end; + +procedure set_allow_shrink(var a : TGtkWindow; __allow_shrink : guint); + begin + a.flag0:=a.flag0 or ((__allow_shrink shl bp_allow_shrink) and bm_allow_shrink); + end; + +function allow_grow(var a : TGtkWindow) : guint; + begin + allow_grow:=(a.flag0 and bm_allow_grow) shr bp_allow_grow; + end; + +procedure set_allow_grow(var a : TGtkWindow; __allow_grow : guint); + begin + a.flag0:=a.flag0 or ((__allow_grow shl bp_allow_grow) and bm_allow_grow); + end; + +function auto_shrink(var a : TGtkWindow) : guint; + begin + auto_shrink:=(a.flag0 and bm_auto_shrink) shr bp_auto_shrink; + end; + +procedure set_auto_shrink(var a : TGtkWindow; __auto_shrink : guint); + begin + a.flag0:=a.flag0 or ((__auto_shrink shl bp_auto_shrink) and bm_auto_shrink); + end; + +function handling_resize(var a : TGtkWindow) : guint;cdecl; + begin + handling_resize:=(a.flag0 and bm_handling_resize) shr bp_handling_resize; + end; + +procedure set_handling_resize(var a : TGtkWindow; __handling_resize : guint);cdecl; + begin + a.flag0:=a.flag0 or ((__handling_resize shl bp_handling_resize) and bm_handling_resize); + end; + +function position(var a : TGtkWindow) : guint; + begin + position:=(a.flag0 and bm_position) shr bp_position; + end; + +procedure set_position(var a : TGtkWindow; __position : guint); + begin + a.flag0:=a.flag0 or ((__position shl bp_position) and bm_position); + end; + +function use_uposition(var a : TGtkWindow) : guint; + begin + use_uposition:=(a.flag0 and bm_use_uposition) shr bp_use_uposition; + end; + +procedure set_use_uposition(var a : TGtkWindow; __use_uposition : guint); + begin + a.flag0:=a.flag0 or ((__use_uposition shl bp_use_uposition) and bm_use_uposition); + end; + +function GTK_IS_WINDOW(obj:pointer):boolean; +begin + GTK_IS_WINDOW:=(obj<>nil) and GTK_IS_WINDOW_CLASS(PGtkTypeObject(obj)^.klass); +end; + +function GTK_IS_WINDOW_CLASS(klass:pointer):boolean; +begin + GTK_IS_WINDOW_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_WINDOW_TYPE); +end; + +{$endif read_implementation} + |