GtkCustomFilter.def 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. DEFINITION MODULE FOR "C" GtkCustomFilter ;
  2. (*
  3. m2-GTK4 - GtkCustomFilter: a GtkFilter whose match test is a callback.
  4. Mapped onto <gtk/gtkcustomfilter.h>.
  5. The match function has the C shape
  6. gboolean match(gpointer item, gpointer user_data);
  7. Pass a top-level Modula-2 PROCEDURE (item, user: ADDRESS) : INTEGER
  8. as its address:
  9. filter := gtk_custom_filter_new(ADR(Match), NIL, NIL);
  10. Call gtk_custom_filter_changed-equivalent by re-setting the filter
  11. function (or use gtk_filter_changed from GtkFilter) to re-run it.
  12. *)
  13. FROM SYSTEM IMPORT ADDRESS;
  14. EXPORT UNQUALIFIED
  15. GtkCustomFilter, GtkCustomFilterFunc,
  16. gtk_custom_filter_new, gtk_custom_filter_set_filter_func;
  17. TYPE
  18. GtkCustomFilter = ADDRESS;
  19. (* gboolean func(gpointer item, gpointer user_data) *)
  20. GtkCustomFilterFunc = ADDRESS;
  21. (* GtkCustomFilter *gtk_custom_filter_new(GtkCustomFilterFunc match_func,
  22. gpointer user_data,
  23. GDestroyNotify user_destroy) *)
  24. PROCEDURE gtk_custom_filter_new (match_func: GtkCustomFilterFunc;
  25. user_data: ADDRESS;
  26. user_destroy: ADDRESS) : GtkCustomFilter;
  27. (* void gtk_custom_filter_set_filter_func(GtkCustomFilter *self,
  28. GtkCustomFilterFunc match_func,
  29. gpointer user_data,
  30. GDestroyNotify user_destroy) *)
  31. PROCEDURE gtk_custom_filter_set_filter_func (self: GtkCustomFilter;
  32. match_func: GtkCustomFilterFunc;
  33. user_data: ADDRESS;
  34. user_destroy: ADDRESS);
  35. END GtkCustomFilter.