gtk-button-count.gob.html (original) (raw)

/*

class Gtk:Button:Count from Gtk:Button { public int count = 0; property INT count (nick = _("Count of clicks"), blurb = _("How many times was the button clicked"), minimum = 0, maximum = INT_MAX, /* initially set to 0, even though we have already * set the default above / default_value = 0, / links the count property to the count data member */ link);

    init (self)
    {
            /* Although we have specified the default in two places
             * already, this is an example of where else you can put
             * initialization */
            self->count = 0;
    }

    /**
     * new:
     *
     * Makes a new #GtkButtonCount widget
     *
     * Returns: a new widget
     **/
    public
    GtkWidget *
    new (**void**)
    {
            /* 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_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
    {
            /* 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)
    **void**
    clicked (Gtk:Button *self (check null type))
    {
            GtkButtonCount *bc = GTK_BUTTON_COUNT (self);
            /* increase count */
            bc->count++;
            /* runt he parent class handler for clicked */
            PARENT_HANDLER (self);
    }

}