gnomemdi.inc 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. {$IfDef read_interface}
  2. type
  3. TGnomeMDIMode = (GNOME_MDI_NOTEBOOK,GNOME_MDI_TOPLEVEL,
  4. GNOME_MDI_MODAL,GNOME_MDI_DEFAULT_MODE := 42);
  5. PGnomeMDI = ^TGnomeMDI;
  6. TGnomeMDI = record
  7. theobject : TGtkObject;
  8. mode : TGnomeMDIMode;
  9. tab_pos : TGtkPositionType;
  10. signal_id : guint;
  11. flag0 : word;
  12. appname : Pgchar;
  13. title : Pgchar;
  14. menu_template : PGnomeUIInfo;
  15. toolbar_template : PGnomeUIInfo;
  16. active_child : PGnomeMDIChild;
  17. active_view : PGtkWidget;
  18. active_window : PGnomeApp;
  19. windows : PGList;
  20. children : PGList;
  21. registered : PGSList;
  22. child_menu_path : Pgchar;
  23. child_list_path : Pgchar;
  24. end;
  25. GNOME_MDI = PGnomeMDI;
  26. const
  27. bm__GnomeMDI_in_drag = $1;
  28. bp__GnomeMDI_in_drag = 0;
  29. function in_drag(var a : TGnomeMDI) : gint;
  30. procedure set_in_drag(var a : TGnomeMDI; __in_drag : gint);
  31. type
  32. PGnomeMDIClass = ^TGnomeMDIClass;
  33. TGnomeMDIClass = record
  34. parent_class : TGtkObjectClass;
  35. add_child : function (_para1:PGnomeMDI; _para2:PGnomeMDIChild):gint;cdecl;
  36. remove_child : function (_para1:PGnomeMDI; _para2:PGnomeMDIChild):gint;cdecl;
  37. add_view : function (_para1:PGnomeMDI; _para2:PGtkWidget):gint;cdecl;
  38. remove_view : function (_para1:PGnomeMDI; _para2:PGtkWidget):gint;cdecl;
  39. child_changed : procedure (_para1:PGnomeMDI; _para2:PGnomeMDIChild);cdecl;
  40. view_changed : procedure (_para1:PGnomeMDI; _para2:PGtkWidget);cdecl;
  41. app_created : procedure (_para1:PGnomeMDI; _para2:PGnomeApp);cdecl;
  42. end;
  43. GNOME_MDI_CLASS = PGnomeMDIClass;
  44. function GNOME_TYPE_MDI : TGTKType;
  45. function GNOME_IS_MDI(obj : Pointer) : Boolean;
  46. function GNOME_IS_MDI_CLASS(klass : Pointer) : Boolean;
  47. function gnome_mdi_get_type:TGTKType;cdecl;external libgnomeuidll name 'gnome_mdi_get_type';
  48. function gnome_mdi_new(appname:Pgchar; title:Pgchar):PGtkObject;cdecl;external libgnomeuidll name 'gnome_mdi_new';
  49. procedure gnome_mdi_set_mode(mdi:PGnomeMDI; mode:TGnomeMDIMode);cdecl;external libgnomeuidll name 'gnome_mdi_set_mode';
  50. procedure gnome_mdi_set_menubar_template(mdi:PGnomeMDI; menu_tmpl:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_mdi_set_menubar_template';
  51. procedure gnome_mdi_set_toolbar_template(mdi:PGnomeMDI; tbar_tmpl:PGnomeUIInfo);cdecl;external libgnomeuidll name 'gnome_mdi_set_toolbar_template';
  52. procedure gnome_mdi_set_child_menu_path(mdi:PGnomeMDI; path:Pgchar);cdecl;external libgnomeuidll name 'gnome_mdi_set_child_menu_path';
  53. procedure gnome_mdi_set_child_list_path(mdi:PGnomeMDI; path:Pgchar);cdecl;external libgnomeuidll name 'gnome_mdi_set_child_list_path';
  54. function gnome_mdi_add_view(mdi:PGnomeMDI; child:PGnomeMDIChild):gint;cdecl;external libgnomeuidll name 'gnome_mdi_add_view';
  55. function gnome_mdi_add_toplevel_view(mdi:PGnomeMDI; child:PGnomeMDIChild):gint;cdecl;external libgnomeuidll name 'gnome_mdi_add_toplevel_view';
  56. function gnome_mdi_remove_view(mdi:PGnomeMDI; view:PGtkWidget; force:gint):gint;cdecl;external libgnomeuidll name 'gnome_mdi_remove_view';
  57. function gnome_mdi_get_active_view(mdi:PGnomeMDI):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_mdi_get_active_view';
  58. procedure gnome_mdi_set_active_view(mdi:PGnomeMDI; view:PGtkWidget);cdecl;external libgnomeuidll name 'gnome_mdi_set_active_view';
  59. function gnome_mdi_add_child(mdi:PGnomeMDI; child:PGnomeMDIChild):gint;cdecl;external libgnomeuidll name 'gnome_mdi_add_child';
  60. function gnome_mdi_remove_child(mdi:PGnomeMDI; child:PGnomeMDIChild; force:gint):gint;cdecl;external libgnomeuidll name 'gnome_mdi_remove_child';
  61. function gnome_mdi_remove_all(mdi:PGnomeMDI; force:gint):gint;cdecl;external libgnomeuidll name 'gnome_mdi_remove_all';
  62. procedure gnome_mdi_open_toplevel(mdi:PGnomeMDI);cdecl;external libgnomeuidll name 'gnome_mdi_open_toplevel';
  63. procedure gnome_mdi_update_child(mdi:PGnomeMDI; child:PGnomeMDIChild);cdecl;external libgnomeuidll name 'gnome_mdi_update_child';
  64. function gnome_mdi_get_active_child(mdi:PGnomeMDI):PGnomeMDIChild;cdecl;external libgnomeuidll name 'gnome_mdi_get_active_child';
  65. function gnome_mdi_find_child(mdi:PGnomeMDI; name:Pgchar):PGnomeMDIChild;cdecl;external libgnomeuidll name 'gnome_mdi_find_child';
  66. function gnome_mdi_get_active_window(mdi:PGnomeMDI):PGnomeApp;cdecl;external libgnomeuidll name 'gnome_mdi_get_active_window';
  67. procedure gnome_mdi_register(mdi:PGnomeMDI; theobject:PGtkObject);cdecl;external libgnomeuidll name 'gnome_mdi_register';
  68. procedure gnome_mdi_unregister(mdi:PGnomeMDI; theobject:PGtkObject);cdecl;external libgnomeuidll name 'gnome_mdi_unregister';
  69. function gnome_mdi_get_app_from_view(view:PGtkWidget):PGnomeApp;cdecl;external libgnomeuidll name 'gnome_mdi_get_app_from_view';
  70. function gnome_mdi_get_child_from_view(view:PGtkWidget):PGnomeMDIChild;cdecl;external libgnomeuidll name 'gnome_mdi_get_child_from_view';
  71. function gnome_mdi_get_view_from_window(mdi:PGnomeMDI; app:PGnomeApp):PGtkWidget;cdecl;external libgnomeuidll name 'gnome_mdi_get_view_from_window';
  72. function gnome_mdi_get_menubar_info(app:PGnomeApp):PGnomeUIInfo;cdecl;external libgnomeuidll name 'gnome_mdi_get_menubar_info';
  73. function gnome_mdi_get_toolbar_info(app:PGnomeApp):PGnomeUIInfo;cdecl;external libgnomeuidll name 'gnome_mdi_get_toolbar_info';
  74. function gnome_mdi_get_child_menu_info(app:PGnomeApp):PGnomeUIInfo;cdecl;external libgnomeuidll name 'gnome_mdi_get_child_menu_info';
  75. {$EndIf read_interface}
  76. {$Ifdef read_implementation}
  77. function GNOME_TYPE_MDI : TGTKType;
  78. begin
  79. GNOME_TYPE_MDI:=gnome_mdi_get_type;
  80. end;
  81. function GNOME_IS_MDI(obj : Pointer) : Boolean;
  82. begin
  83. GNOME_IS_MDI:=(obj<>nil) and GNOME_IS_MDI_CLASS(PGtkTypeObject(obj)^.klass);
  84. end;
  85. function GNOME_IS_MDI_CLASS(klass : Pointer) : Boolean;
  86. begin
  87. GNOME_IS_MDI_CLASS:=(klass<>nil) and (PGtkTypeClass(klass)^.thetype=GNOME_TYPE_MDI);
  88. end;
  89. function in_drag(var a : TGnomeMDI) : gint;
  90. begin
  91. in_drag:=(a.flag0 and bm__GnomeMDI_in_drag) shr bp__GnomeMDI_in_drag;
  92. end;
  93. procedure set_in_drag(var a : TGnomeMDI; __in_drag : gint);
  94. begin
  95. a.flag0:=a.flag0 or ((__in_drag shl bp__GnomeMDI_in_drag) and bm__GnomeMDI_in_drag);
  96. end;
  97. {$Endif read_implementation}