|
|
@@ -0,0 +1,213 @@
|
|
|
+DEFINITION MODULE FOR "C" GtkBuilder ;
|
|
|
+
|
|
|
+(*
|
|
|
+ m2-GTK4 - GtkBuilder: build a widget tree from UI description XML
|
|
|
+ (".ui" files). Mapped onto <gtk/gtkbuild.h>.
|
|
|
+
|
|
|
+ Two styles of API:
|
|
|
+
|
|
|
+ * gtk_builder_new_from_file/_from_resource/_from_string are
|
|
|
+ convenience constructors. They return NIL on failure but do not
|
|
|
+ report the error message.
|
|
|
+ * gtk_builder_add_from_* take a VAR error: GError, so callers can
|
|
|
+ inspect parse failures:
|
|
|
+
|
|
|
+ VAR err: GError;
|
|
|
+ err := NIL;
|
|
|
+ IF gtk_builder_add_from_string(b, ui, -1, err) = 0 THEN ... END;
|
|
|
+ IF err # NIL THEN GtkUtils.ErrorMessage(err, msg); ... END;
|
|
|
+
|
|
|
+ The length argument is gssize; pass -1 for a NUL-terminated
|
|
|
+ string.
|
|
|
+
|
|
|
+ Objects are fetched by id with gtk_builder_get_object (an opaque
|
|
|
+ handle - cast/assign to the concrete type). GtkBuilder is a GObject:
|
|
|
+ release it with GtkUtils.Unref / g_object_unref.
|
|
|
+
|
|
|
+ The gtk_builder_value_from_string* functions are omitted because they
|
|
|
+ need a GValue, which is not bound (yet).
|
|
|
+*)
|
|
|
+
|
|
|
+FROM SYSTEM IMPORT ADDRESS;
|
|
|
+FROM GError IMPORT GError;
|
|
|
+
|
|
|
+EXPORT UNQUALIFIED
|
|
|
+ GtkBuilder, GtkBuilderError, GtkBuilderClosureFlags,
|
|
|
+ GtkBuilderErrorInvalidTypeFunction, GtkBuilderErrorUnhandledTag,
|
|
|
+ GtkBuilderErrorMissingAttribute, GtkBuilderErrorInvalidAttribute,
|
|
|
+ GtkBuilderErrorInvalidTag, GtkBuilderErrorMissingPropertyValue,
|
|
|
+ GtkBuilderErrorInvalidValue, GtkBuilderErrorVersionMismatch,
|
|
|
+ GtkBuilderErrorDuplicateId, GtkBuilderErrorObjectTypeRefused,
|
|
|
+ GtkBuilderErrorTemplateMismatch, GtkBuilderErrorInvalidProperty,
|
|
|
+ GtkBuilderErrorInvalidSignal, GtkBuilderErrorInvalidId,
|
|
|
+ GtkBuilderErrorInvalidFunction,
|
|
|
+ GtkBuilderClosureSwapped,
|
|
|
+ gtk_builder_new,
|
|
|
+ gtk_builder_new_from_file, gtk_builder_new_from_resource,
|
|
|
+ gtk_builder_new_from_string,
|
|
|
+ gtk_builder_add_from_file, gtk_builder_add_from_resource,
|
|
|
+ gtk_builder_add_from_string,
|
|
|
+ gtk_builder_add_objects_from_file, gtk_builder_add_objects_from_resource,
|
|
|
+ gtk_builder_add_objects_from_string,
|
|
|
+ gtk_builder_get_object, gtk_builder_get_objects,
|
|
|
+ gtk_builder_get_type_from_name,
|
|
|
+ gtk_builder_expose_object,
|
|
|
+ gtk_builder_get_current_object, gtk_builder_set_current_object,
|
|
|
+ gtk_builder_set_translation_domain, gtk_builder_get_translation_domain,
|
|
|
+ gtk_builder_get_scope, gtk_builder_set_scope,
|
|
|
+ gtk_builder_create_closure, gtk_builder_extend_with_template,
|
|
|
+ gtk_builder_error_quark;
|
|
|
+
|
|
|
+
|
|
|
+TYPE
|
|
|
+ GtkBuilder = ADDRESS;
|
|
|
+ GtkBuilderError = CARDINAL;
|
|
|
+ GtkBuilderClosureFlags = CARDINAL;
|
|
|
+
|
|
|
+CONST
|
|
|
+ GtkBuilderErrorInvalidTypeFunction = 0;
|
|
|
+ GtkBuilderErrorUnhandledTag = 1;
|
|
|
+ GtkBuilderErrorMissingAttribute = 2;
|
|
|
+ GtkBuilderErrorInvalidAttribute = 3;
|
|
|
+ GtkBuilderErrorInvalidTag = 4;
|
|
|
+ GtkBuilderErrorMissingPropertyValue = 5;
|
|
|
+ GtkBuilderErrorInvalidValue = 6;
|
|
|
+ GtkBuilderErrorVersionMismatch = 7;
|
|
|
+ GtkBuilderErrorDuplicateId = 8;
|
|
|
+ GtkBuilderErrorObjectTypeRefused = 9;
|
|
|
+ GtkBuilderErrorTemplateMismatch = 10;
|
|
|
+ GtkBuilderErrorInvalidProperty = 11;
|
|
|
+ GtkBuilderErrorInvalidSignal = 12;
|
|
|
+ GtkBuilderErrorInvalidId = 13;
|
|
|
+ GtkBuilderErrorInvalidFunction = 14;
|
|
|
+
|
|
|
+ GtkBuilderClosureSwapped = 1; (* GTK_BUILDER_CLOSURE_SWAPPED *)
|
|
|
+
|
|
|
+(* GQuark gtk_builder_error_quark(void) *)
|
|
|
+PROCEDURE gtk_builder_error_quark () : CARDINAL;
|
|
|
+
|
|
|
+(* GtkBuilder *gtk_builder_new(void) *)
|
|
|
+PROCEDURE gtk_builder_new () : GtkBuilder;
|
|
|
+
|
|
|
+(* GtkBuilder *gtk_builder_new_from_file(const char *filename) *)
|
|
|
+PROCEDURE gtk_builder_new_from_file (filename: ARRAY OF CHAR) : GtkBuilder;
|
|
|
+
|
|
|
+(* GtkBuilder *gtk_builder_new_from_resource(const char *resource_path) *)
|
|
|
+PROCEDURE gtk_builder_new_from_resource (resource_path: ARRAY OF CHAR) : GtkBuilder;
|
|
|
+
|
|
|
+(* GtkBuilder *gtk_builder_new_from_string(const char *string, gssize length) *)
|
|
|
+PROCEDURE gtk_builder_new_from_string (string: ARRAY OF CHAR;
|
|
|
+ length: LONGINT) : GtkBuilder;
|
|
|
+
|
|
|
+(* gboolean gtk_builder_add_from_file(GtkBuilder *builder,
|
|
|
+ const char *filename, GError **error) *)
|
|
|
+PROCEDURE gtk_builder_add_from_file (builder: GtkBuilder;
|
|
|
+ filename: ARRAY OF CHAR;
|
|
|
+ VAR error: GError) : [ INTEGER ];
|
|
|
+
|
|
|
+(* gboolean gtk_builder_add_from_resource(GtkBuilder *builder,
|
|
|
+ const char *resource_path,
|
|
|
+ GError **error) *)
|
|
|
+PROCEDURE gtk_builder_add_from_resource (builder: GtkBuilder;
|
|
|
+ resource_path: ARRAY OF CHAR;
|
|
|
+ VAR error: GError) : [ INTEGER ];
|
|
|
+
|
|
|
+(* gboolean gtk_builder_add_from_string(GtkBuilder *builder,
|
|
|
+ const char *buffer, gssize length,
|
|
|
+ GError **error) *)
|
|
|
+PROCEDURE gtk_builder_add_from_string (builder: GtkBuilder;
|
|
|
+ buffer: ARRAY OF CHAR;
|
|
|
+ length: LONGINT;
|
|
|
+ VAR error: GError) : [ INTEGER ];
|
|
|
+
|
|
|
+(* gboolean gtk_builder_add_objects_from_file(GtkBuilder *builder,
|
|
|
+ const char *filename,
|
|
|
+ const char **object_ids,
|
|
|
+ GError **error) *)
|
|
|
+PROCEDURE gtk_builder_add_objects_from_file (builder: GtkBuilder;
|
|
|
+ filename: ARRAY OF CHAR;
|
|
|
+ object_ids: ADDRESS;
|
|
|
+ VAR error: GError) : [ INTEGER ];
|
|
|
+
|
|
|
+(* gboolean gtk_builder_add_objects_from_resource(GtkBuilder *builder,
|
|
|
+ const char *resource_path,
|
|
|
+ const char **object_ids,
|
|
|
+ GError **error) *)
|
|
|
+PROCEDURE gtk_builder_add_objects_from_resource (builder: GtkBuilder;
|
|
|
+ resource_path: ARRAY OF CHAR;
|
|
|
+ object_ids: ADDRESS;
|
|
|
+ VAR error: GError) : [ INTEGER ];
|
|
|
+
|
|
|
+(* gboolean gtk_builder_add_objects_from_string(GtkBuilder *builder,
|
|
|
+ const char *buffer,
|
|
|
+ gssize length,
|
|
|
+ const char **object_ids,
|
|
|
+ GError **error) *)
|
|
|
+PROCEDURE gtk_builder_add_objects_from_string (builder: GtkBuilder;
|
|
|
+ buffer: ARRAY OF CHAR;
|
|
|
+ length: LONGINT;
|
|
|
+ object_ids: ADDRESS;
|
|
|
+ VAR error: GError) : [ INTEGER ];
|
|
|
+
|
|
|
+(* GObject *gtk_builder_get_object(GtkBuilder *builder, const char *name) *)
|
|
|
+PROCEDURE gtk_builder_get_object (builder: GtkBuilder;
|
|
|
+ name: ARRAY OF CHAR) : ADDRESS;
|
|
|
+
|
|
|
+(* GSList *gtk_builder_get_objects(GtkBuilder *builder) *)
|
|
|
+PROCEDURE gtk_builder_get_objects (builder: GtkBuilder) : ADDRESS;
|
|
|
+
|
|
|
+(* GType gtk_builder_get_type_from_name(GtkBuilder *builder,
|
|
|
+ const char *type_name) *)
|
|
|
+PROCEDURE gtk_builder_get_type_from_name (builder: GtkBuilder;
|
|
|
+ type_name: ARRAY OF CHAR) : LONGCARD;
|
|
|
+
|
|
|
+(* void gtk_builder_expose_object(GtkBuilder *builder, const char *name,
|
|
|
+ GObject *object) *)
|
|
|
+PROCEDURE gtk_builder_expose_object (builder: GtkBuilder;
|
|
|
+ name: ARRAY OF CHAR; object: ADDRESS);
|
|
|
+
|
|
|
+(* GObject *gtk_builder_get_current_object(GtkBuilder *builder) *)
|
|
|
+PROCEDURE gtk_builder_get_current_object (builder: GtkBuilder) : ADDRESS;
|
|
|
+
|
|
|
+(* void gtk_builder_set_current_object(GtkBuilder *builder,
|
|
|
+ GObject *current_object) *)
|
|
|
+PROCEDURE gtk_builder_set_current_object (builder: GtkBuilder;
|
|
|
+ current_object: ADDRESS);
|
|
|
+
|
|
|
+(* void gtk_builder_set_translation_domain(GtkBuilder *builder,
|
|
|
+ const char *domain) *)
|
|
|
+PROCEDURE gtk_builder_set_translation_domain (builder: GtkBuilder;
|
|
|
+ domain: ARRAY OF CHAR);
|
|
|
+
|
|
|
+(* const char *gtk_builder_get_translation_domain(GtkBuilder *builder) *)
|
|
|
+PROCEDURE gtk_builder_get_translation_domain (builder: GtkBuilder) : ADDRESS;
|
|
|
+
|
|
|
+(* GtkBuilderScope *gtk_builder_get_scope(GtkBuilder *builder) *)
|
|
|
+PROCEDURE gtk_builder_get_scope (builder: GtkBuilder) : ADDRESS;
|
|
|
+
|
|
|
+(* void gtk_builder_set_scope(GtkBuilder *builder, GtkBuilderScope *scope) *)
|
|
|
+PROCEDURE gtk_builder_set_scope (builder: GtkBuilder; scope: ADDRESS);
|
|
|
+
|
|
|
+(* GClosure *gtk_builder_create_closure(GtkBuilder *builder,
|
|
|
+ const char *function_name,
|
|
|
+ GtkBuilderClosureFlags flags,
|
|
|
+ GObject *object, GError **error) *)
|
|
|
+PROCEDURE gtk_builder_create_closure (builder: GtkBuilder;
|
|
|
+ function_name: ARRAY OF CHAR;
|
|
|
+ flags: GtkBuilderClosureFlags;
|
|
|
+ object: ADDRESS;
|
|
|
+ VAR error: GError) : ADDRESS;
|
|
|
+
|
|
|
+(* gboolean gtk_builder_extend_with_template(GtkBuilder *builder,
|
|
|
+ GObject *object,
|
|
|
+ GType template_type,
|
|
|
+ const char *buffer,
|
|
|
+ gssize length, GError **error) *)
|
|
|
+PROCEDURE gtk_builder_extend_with_template (builder: GtkBuilder;
|
|
|
+ object: ADDRESS;
|
|
|
+ template_type: LONGCARD;
|
|
|
+ buffer: ARRAY OF CHAR;
|
|
|
+ length: LONGINT;
|
|
|
+ VAR error: GError) : [ INTEGER ];
|
|
|
+
|
|
|
+END GtkBuilder.
|