¿Cómo conecto una función personalizada a la acción clicada de un botón GTK?
Estoy trabajando en el tutorial de Vala GTK + 3 proporcionado por Elementary OS. Entiendo que este código:
var button_hello = new Gtk.Button.with_label ("Click me!");
button_hello.clicked.connect (() => {
button_hello.label = "Hello World!";
button_hello.set_sensitive (false);
});
utiliza una función Lambda para cambiar la etiqueta del botón cuando se hace clic. Lo que quiero hacer es llamar a esta función en su lugar:
void clicked_button(Gtk.Button sender) {
sender.label = "Clicked. Yippee!";
sender.set_sensitive(false);
}
He intentado esto:
button.clicked.connect(clicked_button(button));
Pero obtengo este error de la compilación de Vala cuando intento compilar:
hello-packaging.vala:16.25-16.46: error: invocation of void method not allowed as expression
button.clicked.connect(clicked_button(button));
^^^^^^^^^^^^^^^^^^^^^^
Compilation failed: 1 error(s), 0 warning(s)
Soy nuevo tanto en Vala como en Linux, así que sé gentil, pero ¿alguien puede señalarme en la dirección correcta?