gtkaccelgroup.inc 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. // included by gtk2.pas
  2. {$IFDEF read_forward_definitions}
  3. {$ENDIF read_forward_definitions}
  4. //------------------------------------------------------------------------------
  5. {$IFDEF read_interface_types}
  6. { --- accel flags --- }
  7. { display in GtkAccelLabel? }
  8. { is it removable? }
  9. PGtkAccelFlags = ^TGtkAccelFlags;
  10. TGtkAccelFlags = longint;
  11. { --- typedefs & structures --- }
  12. PGtkAccelGroup = ^TGtkAccelGroup;
  13. PGtkAccelGroupEntry = ^TGtkAccelGroupEntry;
  14. TGtkAccelGroupActivate = function (accel_group:PGtkAccelGroup; acceleratable:PGObject; keyval:guint; modifier:TGdkModifierType):gboolean; cdecl;
  15. TGtkAccelGroup = record
  16. parent : TGObject;
  17. lock_count : guint;
  18. modifier_mask : TGdkModifierType;
  19. acceleratables : PGSList;
  20. n_accels : guint;
  21. priv_accels : PGtkAccelGroupEntry;
  22. end;
  23. { Padding for future expansion }
  24. PGtkAccelGroupClass = ^TGtkAccelGroupClass;
  25. TGtkAccelGroupClass = record
  26. parent_class : TGObjectClass;
  27. accel_changed : procedure (accel_group:PGtkAccelGroup; keyval:guint; modifier:TGdkModifierType; accel_closure:PGClosure); cdecl;
  28. _gtk_reserved1 : procedure ; cdecl;
  29. _gtk_reserved2 : procedure ; cdecl;
  30. _gtk_reserved3 : procedure ; cdecl;
  31. _gtk_reserved4 : procedure ; cdecl;
  32. end;
  33. PGtkAccelKey = ^TGtkAccelKey;
  34. TGtkAccelKey = record
  35. accel_key : guint;
  36. accel_mods : TGdkModifierType;
  37. flag0 : word;
  38. end;
  39. TGtkAccelGroupEntry = record
  40. key : TGtkAccelKey;
  41. closure : PGClosure;
  42. accel_path_quark : TGQuark;
  43. end;
  44. Tgtk_accel_group_find_func = function (key:PGtkAccelKey; closure:PGClosure; data:gpointer):gboolean; cdecl;
  45. TGtkAccelGroupFindFunc = Tgtk_accel_group_find_func;
  46. {$ENDIF read_interface_types}
  47. //------------------------------------------------------------------------------
  48. {$IFDEF read_interface_rest}
  49. const
  50. GTK_ACCEL_VISIBLE = 1 shl 0;
  51. GTK_ACCEL_LOCKED = 1 shl 1;
  52. GTK_ACCEL_MASK = $07;
  53. bm_TGtkAccelKey_accel_flags = $FFFF;
  54. bp_TGtkAccelKey_accel_flags = 0;
  55. {$ifndef GTK_DISABLE_DEPRECATED}
  56. procedure gtk_accel_group_ref(AccelGroup: PGtkAccelGroup);
  57. procedure gtk_accel_group_unref(AccelGroup: PGtkAccelGroup);
  58. {$endif}
  59. { --- type macros --- }
  60. function GTK_TYPE_ACCEL_GROUP : GType;
  61. function GTK_ACCEL_GROUP(anObject: pointer) : PGtkAccelGroup;
  62. function GTK_ACCEL_GROUP_CLASS(klass: pointer) : PGtkAccelGroupClass;
  63. function GTK_IS_ACCEL_GROUP(anObject: pointer) : boolean;
  64. function GTK_IS_ACCEL_GROUP_CLASS(klass: pointer) : boolean;
  65. function GTK_ACCEL_GROUP_GET_CLASS(obj: pointer) : PGtkAccelGroupClass;
  66. function accel_flags(var a : TGtkAccelKey) : guint;
  67. procedure set_accel_flags(var a : TGtkAccelKey; __accel_flags : guint);
  68. { -- Accelerator Groups --- }
  69. function gtk_accel_group_get_type:GType; cdecl; external gtklib;
  70. function gtk_accel_group_new:PGtkAccelGroup; cdecl; external gtklib;
  71. procedure gtk_accel_group_lock(accel_group:PGtkAccelGroup); cdecl; external gtklib;
  72. procedure gtk_accel_group_unlock(accel_group:PGtkAccelGroup); cdecl; external gtklib;
  73. procedure gtk_accel_group_connect(accel_group:PGtkAccelGroup; accel_key:guint; accel_mods:TGdkModifierType; accel_flags:TGtkAccelFlags; closure:PGClosure); cdecl; external gtklib;
  74. procedure gtk_accel_group_connect_by_path(accel_group:PGtkAccelGroup; accel_path:Pgchar; closure:PGClosure); cdecl; external gtklib;
  75. function gtk_accel_group_disconnect(accel_group:PGtkAccelGroup; closure:PGClosure):gboolean; cdecl; external gtklib;
  76. function gtk_accel_group_disconnect_key(accel_group:PGtkAccelGroup; accel_key:guint; accel_mods:TGdkModifierType):gboolean; cdecl; external gtklib;
  77. { --- GtkActivatable glue --- }
  78. procedure _gtk_accel_group_attach(accel_group:PGtkAccelGroup; anObject:PGObject); cdecl; external gtklib;
  79. procedure _gtk_accel_group_detach(accel_group:PGtkAccelGroup; anObject:PGObject); cdecl; external gtklib;
  80. function gtk_accel_groups_activate(anObject:PGObject; accel_key:guint; accel_mods:TGdkModifierType):gboolean; cdecl; external gtklib;
  81. function gtk_accel_groups_from_object(anObject:PGObject):PGSList; cdecl; external gtklib;
  82. function gtk_accel_group_find(accel_group:PGtkAccelGroup; find_func:Tgtk_accel_group_find_func; data:gpointer):PGtkAccelKey; cdecl; external gtklib;
  83. function gtk_accel_group_from_accel_closure(closure:PGClosure):PGtkAccelGroup; cdecl; external gtklib;
  84. { --- Accelerators--- }
  85. function gtk_accelerator_valid(keyval:guint; modifiers:TGdkModifierType):gboolean; cdecl; external gtklib;
  86. procedure gtk_accelerator_parse(accelerator:Pgchar; accelerator_key:Pguint; accelerator_mods:PGdkModifierType); cdecl; external gtklib;
  87. function gtk_accelerator_name(accelerator_key:guint; accelerator_mods:TGdkModifierType):Pgchar; cdecl; external gtklib;
  88. procedure gtk_accelerator_set_default_mod_mask(default_mod_mask:TGdkModifierType); cdecl; external gtklib;
  89. function gtk_accelerator_get_default_mod_mask:guint; cdecl; external gtklib;
  90. { --- internal --- }
  91. function gtk_accel_group_query(accel_group:PGtkAccelGroup; accel_key:guint; accel_mods:TGdkModifierType; n_entries:Pguint):PGtkAccelGroupEntry; cdecl; external gtklib;
  92. procedure _gtk_accel_group_reconnect(accel_group:PGtkAccelGroup; accel_path_quark:TGQuark); cdecl; external gtklib;
  93. {$ENDIF read_interface_rest}
  94. //------------------------------------------------------------------------------
  95. {$IFDEF read_implementation}
  96. function GTK_TYPE_ACCEL_GROUP : GType;
  97. begin
  98. GTK_TYPE_ACCEL_GROUP:=gtk_accel_group_get_type;
  99. end;
  100. function GTK_ACCEL_GROUP(anObject: pointer) : PGtkAccelGroup;
  101. begin
  102. GTK_ACCEL_GROUP:=PGtkAccelGroup(G_TYPE_CHECK_INSTANCE_CAST(anObject,GTK_TYPE_ACCEL_GROUP));
  103. end;
  104. function GTK_ACCEL_GROUP_CLASS(klass: pointer) : PGtkAccelGroupClass;
  105. begin
  106. GTK_ACCEL_GROUP_CLASS:=PGtkAccelGroupClass(G_TYPE_CHECK_CLASS_CAST(klass,GTK_TYPE_ACCEL_GROUP));
  107. end;
  108. function GTK_IS_ACCEL_GROUP(anObject: pointer) : boolean;
  109. begin
  110. GTK_IS_ACCEL_GROUP:=G_TYPE_CHECK_INSTANCE_TYPE(anObject,GTK_TYPE_ACCEL_GROUP);
  111. end;
  112. function GTK_IS_ACCEL_GROUP_CLASS(klass: pointer) : boolean;
  113. begin
  114. GTK_IS_ACCEL_GROUP_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GTK_TYPE_ACCEL_GROUP);
  115. end;
  116. function GTK_ACCEL_GROUP_GET_CLASS(obj: pointer) : PGtkAccelGroupClass;
  117. begin
  118. GTK_ACCEL_GROUP_GET_CLASS:=PGtkAccelGroupClass(G_TYPE_INSTANCE_GET_CLASS(obj,GTK_TYPE_ACCEL_GROUP));
  119. end;
  120. function accel_flags(var a : TGtkAccelKey) : guint;
  121. begin
  122. accel_flags:=(a.flag0 and bm_TGtkAccelKey_accel_flags) shr bp_TGtkAccelKey_accel_flags;
  123. end;
  124. procedure set_accel_flags(var a : TGtkAccelKey; __accel_flags : guint);
  125. begin
  126. a.flag0:=a.flag0 or ((__accel_flags shl bp_TGtkAccelKey_accel_flags) and bm_TGtkAccelKey_accel_flags);
  127. end;
  128. procedure gtk_accel_group_ref(AccelGroup: PGtkAccelGroup);
  129. begin
  130. g_object_ref(AccelGroup);
  131. end;
  132. procedure gtk_accel_group_unref(AccelGroup: PGtkAccelGroup);
  133. begin
  134. g_object_unref(AccelGroup);
  135. end;
  136. {$ENDIF read_implementation}
  137. // included by gtk2.pas