diff options
Diffstat (limited to 'packages/gtk1/src/gtk/gtktooltips.pp')
-rw-r--r-- | packages/gtk1/src/gtk/gtktooltips.pp | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/packages/gtk1/src/gtk/gtktooltips.pp b/packages/gtk1/src/gtk/gtktooltips.pp new file mode 100644 index 0000000000..aed79ca4fe --- /dev/null +++ b/packages/gtk1/src/gtk/gtktooltips.pp @@ -0,0 +1,110 @@ +{ +} + +{**************************************************************************** + Interface +****************************************************************************} + +{$ifdef read_interface} + + type + PGtkTooltipsData = ^TGtkTooltipsData; + PGtkTooltips = ^TGtkTooltips; + TGtkTooltipsData = record + tooltips : PGtkTooltips; + widget : PGtkWidget; + tip_text : Pgchar; + tip_private : Pgchar; + font : PGdkFont; + width : gint; + row : PGList; + end; + + TGtkTooltips = record + data : TGtkData; + tip_window : PGtkWidget; + active_tips_data : PGtkTooltipsData; + tips_data_list : PGList; + gc : PGdkGC; + foreground : PGdkColor; + background : PGdkColor; + flag0 : longint; + timer_tag : gint; + end; + + const + bm_TGtkTooltips_delay = $3FFFFFFF; + bp_TGtkTooltips_delay = 0; + bm_TGtkTooltips_enabled = $40000000; + bp_TGtkTooltips_enabled = 30; +function delay(var a : TGtkTooltips) : guint; +procedure set_delay(var a : TGtkTooltips; __delay : guint); +function enabled(var a : TGtkTooltips) : guint; +procedure set_enabled(var a : TGtkTooltips; __enabled : guint); + + type + PGtkTooltipsClass = ^TGtkTooltipsClass; + TGtkTooltipsClass = record + parent_class : TGtkDataClass; + end; + +Type + GTK_TOOLTIPS=PGtkTooltips; + GTK_TOOLTIPS_CLASS=PGtkTooltipsClass; + +function GTK_TOOLTIPS_TYPE:TGtkType;cdecl;external gtkdll name 'gtk_tooltips_get_type'; +function GTK_IS_TOOLTIPS(obj:pointer):boolean; +function GTK_IS_TOOLTIPS_CLASS(klass:pointer):boolean; + +function gtk_tooltips_get_type:TGtkType;cdecl;external gtkdll name 'gtk_tooltips_get_type'; +function gtk_tooltips_new:PGtkTooltips;cdecl;external gtkdll name 'gtk_tooltips_new'; +procedure gtk_tooltips_enable(tooltips:PGtkTooltips);cdecl;external gtkdll name 'gtk_tooltips_enable'; +procedure gtk_tooltips_disable(tooltips:PGtkTooltips);cdecl;external gtkdll name 'gtk_tooltips_disable'; +procedure gtk_tooltips_set_delay(tooltips:PGtkTooltips; delay:guint);cdecl;external gtkdll name 'gtk_tooltips_set_delay'; +procedure gtk_tooltips_set_tip(tooltips:PGtkTooltips; widget:PGtkWidget; tip_text:Pgchar; tip_private:Pgchar);cdecl;external gtkdll name 'gtk_tooltips_set_tip'; +procedure gtk_tooltips_set_colors(tooltips:PGtkTooltips; background:PGdkColor; foreground:PGdkColor);cdecl;external gtkdll name 'gtk_tooltips_set_colors'; +function gtk_tooltips_data_get(widget:PGtkWidget):PGtkTooltipsData;cdecl;external gtkdll name 'gtk_tooltips_data_get'; +procedure gtk_tooltips_force_window(tooltips:PGtkTooltips);cdecl;external gtkdll name 'gtk_tooltips_force_window'; + +{$endif read_interface} + + +{**************************************************************************** + Implementation +****************************************************************************} + +{$ifdef read_implementation} + +function delay(var a : TGtkTooltips) : guint; + begin + delay:=(a.flag0 and bm_TGtkTooltips_delay) shr bp_TGtkTooltips_delay; + end; + +procedure set_delay(var a : TGtkTooltips; __delay : guint); + begin + a.flag0:=a.flag0 or ((__delay shl bp_TGtkTooltips_delay) and bm_TGtkTooltips_delay); + end; + +function enabled(var a : TGtkTooltips) : guint; + begin + enabled:=(a.flag0 and bm_TGtkTooltips_enabled) shr bp_TGtkTooltips_enabled; + end; + +procedure set_enabled(var a : TGtkTooltips; __enabled : guint); + begin + a.flag0:=a.flag0 or ((__enabled shl bp_TGtkTooltips_enabled) and bm_TGtkTooltips_enabled); + end; + +function GTK_IS_TOOLTIPS(obj:pointer):boolean; +begin + GTK_IS_TOOLTIPS:=(obj<>nil) and GTK_IS_TOOLTIPS_CLASS(PGtkTypeObject(obj)^.klass); +end; + +function GTK_IS_TOOLTIPS_CLASS(klass:pointer):boolean; +begin + GTK_IS_TOOLTIPS_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GTK_TOOLTIPS_TYPE); +end; + +{$endif read_implementation} + + |