--- /dev/null
+/* ~~~~~testfile.vala.c generated by valac, the Vala compiler
+ * generated from ~~~~~testfile.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gdk/gdk.h>
+
+
+#define TYPE_ABOUT (about_get_type ())
+#define ABOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ABOUT, About))
+#define ABOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ABOUT, AboutClass))
+#define IS_ABOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ABOUT))
+#define IS_ABOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ABOUT))
+#define ABOUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ABOUT, AboutClass))
+
+typedef struct _About About;
+typedef struct _AboutClass AboutClass;
+typedef struct _AboutPrivate AboutPrivate;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+struct _About {
+ GObject parent_instance;
+ AboutPrivate * priv;
+ GtkAboutDialog* el;
+};
+
+struct _AboutClass {
+ GObjectClass parent_class;
+};
+
+struct _AboutPrivate {
+ About* _this;
+};
+
+
+extern About* _About;
+About* _About = NULL;
+static gpointer about_parent_class = NULL;
+
+GType about_get_type (void) G_GNUC_CONST;
+#define ABOUT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_ABOUT, AboutPrivate))
+enum {
+ ABOUT_DUMMY_PROPERTY
+};
+About* about_singleton (void);
+About* about_new (void);
+About* about_construct (GType object_type);
+static gboolean __lambda2_ (About* self, GtkWidget* _self_, GdkEventAny* event);
+static gboolean ___lambda2__gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self);
+static void __lambda3_ (About* self, gint rid);
+static void ___lambda3__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self);
+void about_show (About* self, GtkWindow* parent);
+static void about_finalize (GObject* obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+ return self ? g_object_ref (self) : NULL;
+}
+
+
+About* about_singleton (void) {
+ About* result = NULL;
+ About* _tmp0_ = NULL;
+ About* _tmp2_ = NULL;
+ About* _tmp3_ = NULL;
+ _tmp0_ = _About;
+ if (_tmp0_ == NULL) {
+ About* _tmp1_ = NULL;
+ _tmp1_ = about_new ();
+ _g_object_unref0 (_About);
+ _About = _tmp1_;
+ }
+ _tmp2_ = _About;
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+ result = _tmp3_;
+ return result;
+}
+
+
+static gboolean __lambda2_ (About* self, GtkWidget* _self_, GdkEventAny* event) {
+ gboolean result = FALSE;
+ GtkAboutDialog* _tmp0_ = NULL;
+ _tmp0_ = self->el;
+ gtk_widget_hide ((GtkWidget*) _tmp0_);
+ result = TRUE;
+ return result;
+}
+
+
+static gboolean ___lambda2__gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) {
+ gboolean result;
+ result = __lambda2_ ((About*) self, _sender, event);
+ return result;
+}
+
+
+static void __lambda3_ (About* self, gint rid) {
+ GtkAboutDialog* _tmp0_ = NULL;
+ _tmp0_ = self->el;
+ gtk_widget_hide ((GtkWidget*) _tmp0_);
+}
+
+
+static void ___lambda3__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) {
+ __lambda3_ ((About*) self, response_id);
+}
+
+
+About* about_construct (GType object_type) {
+ About * self = NULL;
+ About* _tmp0_ = NULL;
+ GtkAboutDialog* _tmp1_ = NULL;
+ GtkAboutDialog* _tmp2_ = NULL;
+ GtkAboutDialog* _tmp3_ = NULL;
+ GtkAboutDialog* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ gchar** _tmp6_ = NULL;
+ gchar** _tmp7_ = NULL;
+ gint _tmp7__length1 = 0;
+ GtkAboutDialog* _tmp8_ = NULL;
+ GtkAboutDialog* _tmp9_ = NULL;
+ GtkAboutDialog* _tmp10_ = NULL;
+ GtkAboutDialog* _tmp11_ = NULL;
+ GtkAboutDialog* _tmp12_ = NULL;
+ self = (About*) g_object_new (object_type, NULL);
+ _tmp0_ = _g_object_ref0 (self);
+ _g_object_unref0 (self->priv->_this);
+ self->priv->_this = _tmp0_;
+ _tmp1_ = (GtkAboutDialog*) gtk_about_dialog_new ();
+ g_object_ref_sink (_tmp1_);
+ _g_object_unref0 (self->el);
+ self->el = _tmp1_;
+ _tmp2_ = self->el;
+ gtk_about_dialog_set_program_name (_tmp2_, "app.Builder.js");
+ _tmp3_ = self->el;
+ gtk_about_dialog_set_license (_tmp3_, "LGPL");
+ _tmp4_ = self->el;
+ _tmp5_ = g_strdup ("Alan Knowles");
+ _tmp6_ = g_new0 (gchar*, 1 + 1);
+ _tmp6_[0] = _tmp5_;
+ _tmp7_ = _tmp6_;
+ _tmp7__length1 = 1;
+ gtk_about_dialog_set_authors (_tmp4_, _tmp7_);
+ _tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
+ _tmp8_ = self->el;
+ gtk_about_dialog_set_website (_tmp8_, "http://www.akbkhome.com/blog.php");
+ _tmp9_ = self->el;
+ gtk_window_set_modal ((GtkWindow*) _tmp9_, TRUE);
+ _tmp10_ = self->el;
+ gtk_about_dialog_set_copyright (_tmp10_, "LGPL");
+ _tmp11_ = self->el;
+ g_signal_connect_object ((GtkWidget*) _tmp11_, "delete-event", (GCallback) ___lambda2__gtk_widget_delete_event, self, 0);
+ _tmp12_ = self->el;
+ g_signal_connect_object ((GtkDialog*) _tmp12_, "response", (GCallback) ___lambda3__gtk_dialog_response, self, 0);
+ return self;
+}
+
+
+About* about_new (void) {
+ return about_construct (TYPE_ABOUT);
+}
+
+
+void about_show (About* self, GtkWindow* parent) {
+ GtkAboutDialog* _tmp0_ = NULL;
+ GtkWindow* _tmp1_ = NULL;
+ GtkAboutDialog* _tmp2_ = NULL;
+ GtkAboutDialog* _tmp3_ = NULL;
+ _tmp0_ = self->el;
+ _tmp1_ = parent;
+ gtk_window_set_transient_for ((GtkWindow*) _tmp0_, _tmp1_);
+ _tmp2_ = self->el;
+ gtk_window_set_modal ((GtkWindow*) _tmp2_, TRUE);
+ _tmp3_ = self->el;
+ gtk_widget_show ((GtkWidget*) _tmp3_);
+}
+
+
+static void about_class_init (AboutClass * klass) {
+ about_parent_class = g_type_class_peek_parent (klass);
+ g_type_class_add_private (klass, sizeof (AboutPrivate));
+ G_OBJECT_CLASS (klass)->finalize = about_finalize;
+}
+
+
+static void about_instance_init (About * self) {
+ self->priv = ABOUT_GET_PRIVATE (self);
+}
+
+
+static void about_finalize (GObject* obj) {
+ About * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_ABOUT, About);
+ _g_object_unref0 (self->el);
+ _g_object_unref0 (self->priv->_this);
+ G_OBJECT_CLASS (about_parent_class)->finalize (obj);
+}
+
+
+GType about_get_type (void) {
+ static volatile gsize about_type_id__volatile = 0;
+ if (g_once_init_enter (&about_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (AboutClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) about_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (About), 0, (GInstanceInitFunc) about_instance_init, NULL };
+ GType about_type_id;
+ about_type_id = g_type_register_static (G_TYPE_OBJECT, "About", &g_define_type_info, 0);
+ g_once_init_leave (&about_type_id__volatile, about_type_id);
+ }
+ return about_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+