<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="tour-events" xml:lang="es">

  <info>
    <link type="next" xref="tour-get_object"/>
    <revision version="0.1" date="2013-06-17" status="stub"/>

    <credit type="author copyright">
      <name>Ekaterina Gerasimova</name>
      <email its:translate="no">kittykat3756@gmail.com</email>
      <years>2013</years>
    </credit>
    <credit type="author copyright">
      <name>Gordon Hill</name>
      <email its:translate="no">caseyweederman@gmail.com</email>
      <years>2013</years>
    </credit>

    <include xmlns="http://www.w3.org/2001/XInclude" href="cc-by-sa-3-0.xml"/>

    <desc>Asociar funciones a eventos usando Lang.</desc>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Daniel Mustieles</mal:name>
      <mal:email>daniel.mustieles@gmail.com</mal:email>
      <mal:years>2011-2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Jorge González</mal:name>
      <mal:email>jorgegonz@svn.gnome.org</mal:email>
      <mal:years>2007-2010</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Mario Carrión</mal:name>
      <mal:email>mario@monouml.org</mal:email>
      <mal:years>2006</mal:years>
    </mal:credit>
  </info>

  <title>Acciones y señales</title>

  <links type="prevnext" style="top"/>
  <links type="series" style="floatend">
    <title>Primeros pasos en GNOME</title>
  </links>

  <p>GTK+ tiene una serie de eventos predefinidos que puede usar en su aplicación.</p>
  <example>
    <p>Declare <code>HelloWorld</code> como una clase <code>Lang</code> nueva. Gjs requiere que las clases tengan la propiedad Nombre definida.</p>

    <code>
const HelloWorld = new Lang.Class({
    Name: 'HelloWorld',
</code>

    <p>Se llama a <code>_init</code> cuando se crea una instancia nueva. Cree una <code>GtkApplication</code>, conecte la señal <code>activate</code> al evento <code>_onActivate</code> de GTK+ existente y <code>startup</code> a <code>_onStartup</code>:</p>

    <code>
    _init: function() {
        this.application = new Gtk.Application();
        this.application.connect('activate', Lang.bind(this, this._onActivate));
        this.application.connect('startup', Lang.bind(this, this._onStartup));
    },
</code>

    <p>Mostrar la ventana al activar la aplicación:</p>
    <code>
    _onActivate: function(){
        this._window.show_all();
    },
</code>
  </example>
  <links type="prevnext"/>
</page>
