gtkmenufactory.pp 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. {
  2. }
  3. {****************************************************************************
  4. Interface
  5. ****************************************************************************}
  6. {$ifdef read_interface}
  7. type
  8. TGtkMenuCallback = procedure (widget:PGtkWidget; user_data:gpointer); cdecl;
  9. PGtkMenuEntry = ^TGtkMenuEntry;
  10. TGtkMenuEntry = record
  11. path : Pgchar;
  12. accelerator : Pgchar;
  13. callback : TGtkMenuCallback;
  14. callback_data : gpointer;
  15. widget : PGtkWidget;
  16. end;
  17. PGtkMenuPath = ^TGtkMenuPath;
  18. TGtkMenuPath = record
  19. path : Pgchar;
  20. widget : PGtkWidget;
  21. end;
  22. PGtkMenuFactory = ^TGtkMenuFactory;
  23. TGtkMenuFactory = record
  24. path : Pgchar;
  25. thetype : TGtkMenuFactoryType;
  26. accel_group : PGtkAccelGroup;
  27. widget : PGtkWidget;
  28. subfactories : PGList;
  29. end;
  30. function gtk_menu_factory_new(thetype:TGtkMenuFactoryType):PGtkMenuFactory;cdecl;external gtkdll name 'gtk_menu_factory_new';
  31. procedure gtk_menu_factory_destroy(factory:PGtkMenuFactory);cdecl;external gtkdll name 'gtk_menu_factory_destroy';
  32. procedure gtk_menu_factory_add_entries(factory:PGtkMenuFactory; entries:PGtkMenuEntry; nentries:longint);cdecl;external gtkdll name 'gtk_menu_factory_add_entries';
  33. procedure gtk_menu_factory_add_subfactory(factory:PGtkMenuFactory; subfactory:PGtkMenuFactory; path:PAnsiChar);cdecl;external gtkdll name 'gtk_menu_factory_add_subfactory';
  34. procedure gtk_menu_factory_remove_paths(factory:PGtkMenuFactory; paths:PPgchar; npaths:longint);cdecl;external gtkdll name 'gtk_menu_factory_remove_paths';
  35. procedure gtk_menu_factory_remove_entries(factory:PGtkMenuFactory; entries:PGtkMenuEntry; nentries:longint);cdecl;external gtkdll name 'gtk_menu_factory_remove_entries';
  36. procedure gtk_menu_factory_remove_subfactory(factory:PGtkMenuFactory; subfactory:PGtkMenuFactory; path:PAnsiChar);cdecl;external gtkdll name 'gtk_menu_factory_remove_subfactory';
  37. function gtk_menu_factory_find(factory:PGtkMenuFactory; path:Pgchar):PGtkMenuPath;cdecl;external gtkdll name 'gtk_menu_factory_find';
  38. {$endif read_interface}
  39. {****************************************************************************
  40. Implementation
  41. ****************************************************************************}
  42. {$ifdef read_implementation}
  43. {$endif read_implementation}