+/*
+ * This is an example button widget which counts the number of clicks
+ *
+ * It is also showing how you can use inline gtk-doc like documentation
+ * which will be correctly translated and put into the resulting source
+ * file
+ */
class Gtk:Button:Count from Gtk:Button {
public int count;
self->count = ARG;
};
- init(button)
+ init(self)
{
- button->count = 0;
+ self->count = 0;
}
+ /**
+ * new:
+ *
+ * Makes a new #GtkButtonCount widget
+ *
+ * Returns: a new widget
+ **/
public
GtkWidget *
new(void)
{
- return GTK_WIDGET(GET_NEW);
+ /* It's ok to use a normal cast here, as we are sure that we
+ * have gotten the right type */
+ return (GtkWidget *)GET_NEW;
}
- /* new button but with a label inside it already, the 'label'
- argument must not be NULL or we will return NULL */
+ /**
+ * new_with_label:
+ * @label: the label text
+ *
+ * Makes a new #GtkButtonCount widget with a label
+ *
+ * Returns: a new widget
+ **/
public
GtkWidget *
new_with_label(char *label (check null)) onerror NULL
{
- return GTK_WIDGET(GET_NEW);
+ /* It's ok to use a normal cast here, as we are sure that we
+ * have gotten the right type */
+ GtkWidget *widget = (GtkWidget *)GET_NEW;
+ GtkWidget *label_widget = gtk_label_new(label);
+ gtk_container_add(GTK_CONTAINER(widget), label_widget);
+ gtk_widget_show(label_widget);
+ return widget;
}
override (Gtk:Button)