DEFINITION MODULE FOR "C" GListStore ; (* m2-GTK4 - GListStore: a simple in-memory GListModel backed by an array. Mapped onto . Create it with the GType of the items it will hold, e.g. gtk_string_object_get_type() for strings or g_object_get_type() for plain objects. The store takes a reference on each item; the caller may release its own reference after appending. Signal: "items-changed" (the GListModel contract). Read the contents through the GListModel functions (GListModel.def). *) FROM SYSTEM IMPORT ADDRESS; EXPORT UNQUALIFIED GListStore, g_list_store_new, g_list_store_append, g_list_store_insert, g_list_store_remove, g_list_store_remove_all, g_list_store_find; TYPE GListStore = ADDRESS; (* GListStore *g_list_store_new(GType item_type) *) PROCEDURE g_list_store_new (item_type: LONGCARD) : GListStore; (* void g_list_store_append(GListStore *store, gpointer item) *) PROCEDURE g_list_store_append (store: GListStore; item: ADDRESS); (* void g_list_store_insert(GListStore *store, guint position, gpointer item) *) PROCEDURE g_list_store_insert (store: GListStore; position: CARDINAL; item: ADDRESS); (* void g_list_store_remove(GListStore *store, guint position) *) PROCEDURE g_list_store_remove (store: GListStore; position: CARDINAL); (* void g_list_store_remove_all(GListStore *store) *) PROCEDURE g_list_store_remove_all (store: GListStore); (* gboolean g_list_store_find(GListStore *store, gpointer item, guint *position) *) PROCEDURE g_list_store_find (store: GListStore; item: ADDRESS; VAR position: CARDINAL) : [ INTEGER ]; END GListStore.