[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-gtk-doc
Subject:    [PHP-GTK-DOC] cvs: php-gtk-doc /es/userguide/chapters acknowledgements.xml installget.xml installuni
From:       "Di Biase José Luis" <josx () php ! net>
Date:       2003-05-19 16:17:38
[Download RAW message or body]

josx		Mon May 19 12:17:38 2003 EDT

  Added files:                 
    /php-gtk-doc/es/userguide/chapters	acknowledgements.xml 
                                      	installget.xml installunix.xml 
                                      	installusage.xml 
                                      	installwin32.xml introgtk.xml 
                                      	introphpgtk.xml introphp.xml 
                                      	signals.xml widgets.xml 
  Log:
  
  
  
["josx-20030519121738.txt" (text/plain)]

Index: php-gtk-doc/es/userguide/chapters/acknowledgements.xml
+++ php-gtk-doc/es/userguide/chapters/acknowledgements.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="acknowledgements">
  <title>Reconocimientos PHP-GTK</title>
  <simpara>
  La persona a la que quiero agradecer mas es a James Henstridge
   &link.jhenstridge;, el auhor de PyGTK 
   (Python GTK+ Bindings).  Su ayuda y  advertencias fueron invauables durante
   el desarrollo de esta extensi&oacute;n, y una parte del c&oacute;digo 
   fuente esta basado e inspirado por su desarrollo en PyGTK.
  </simpara>
  <simpara>
   Quiero agradecer tambi&eacute;n a el grupo de PHP por hacer un gran 
   lenguaje, y a el grupo GTK+ por el desarollo de el mejor grupo de 
   herramientas GUI basadas en C.
  </simpara>
  <simpara>
   <author>
    <firstname>Andrei</firstname><surname>Zmievski</surname>
   </author>
   - <literal>Feb 2001</literal>
  </simpara>
</chapter>

Index: php-gtk-doc/es/userguide/chapters/installget.xml
+++ php-gtk-doc/es/userguide/chapters/installget.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="installget">
  <title>Consiguiendo la &uacute;ltima versi&oacute;n</title>
  <simpara>
   El c&oacute;digo fuente y los binarios para Windows de PHP-GTK 
   &version.phpgtk; pueden encontrase en 
   <ulink url="&url.phpgtk;">&url.phpgtk;</ulink>.
   Los usuarios del c&oacute;digo fuente ademas deber&aacute;n
   fijarse en la &uacute;ltima versi&oacute;n de PHP en CVS - ver 
   <ulink url="&url.php.anoncvs;">&url.php.anoncvs;</ulink>.
  </simpara>
</chapter>

Index: php-gtk-doc/es/userguide/chapters/installunix.xml
+++ php-gtk-doc/es/userguide/chapters/installunix.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="installunix">
 <title>Instalando PHP-GTK bajo Unix</title>
  <para>
   Los usuarios de Debian pueden descargar un binario de PHP-GTK desde
   <ulink url="&url.debian;">&url.debian;</ulink>.
  </para>
  <para>
   PHP GTK depende varios paquetes, los cuales necesitan esta instalados
   antes de comenzar con lainstalaci&oacute;n de PHP-GTK:
   <itemizedlist>
    <listitem>
     <para>
      PHP version &version.php; o posterior
     </para>
    </listitem>
    <listitem>
     <para>
      Las bibliotecas  GTK+, disponibles en 
      <ulink url="&url.gtk.download;">&url.gtk.download;</ulink>, o puedes
      descargar un versi&oacute; empaquetada de nuestros sistemas, e.j. 
      <literal>gtk</literal> 
      y <literal>gtk-devel</literal>
     </para>
    </listitem>
    <listitem>
     <simpara>
      libtool, automake and autoconf.  The combination of libtool 1.4.2, 
      automake 1.4 and autoconf 2.13 is known to work; mileage may vary
      with other version combinations.
     </simpara>
    </listitem>
    <listitem>
     <para>
      Para extras adicionales, descarga 
      <ulink url="&url.gtkhtml;">bibliotecas GtkHTML</ulink>,
      <ulink url="&url.scintilla;">bibiotecas GtkScintilla</ulink> and
      <ulink url="&url.pixbuf;">bibliotecas Gdk-Pixbuf</ulink>.  Nuevamente,
      estas estan disponibles empaquetadas en nuestro sistema, solo asegurate
      de que hallas instalado en paquete de desarrollo.
      GtkHTML, notablemente, tiene un n&uacute;mero de sub-dependencia, e.j.
      <literal>GAL</literal>, que tambi&eacute;n puede
      serobtenido desde <ulink url="&url.gnome.ftp;">sitio ftp de Gnome</ulink>.
     </para>
    </listitem>
   </itemizedlist>
  </para>
  <para>
  Nosotros sugerimos que tomes el &uacute;ltimo c&oacute;digo de
   <ulink url="&url.phpgtk;">&url.phpgtk;</ulink> o desde un CSV  anonimo 
   <ulink url="&url.php.anoncvs;">&url.php.anoncvs;</ulink>.
  </para>
  <para>
   Ejecuta el script <command>./buildconf</command> que esta dentro de la
   distribuci&oacute;n. Esto har&aacute; la instalaci&oacute;n necesaria de
   archivos y creara el script <literal>configure</literal>.  Luego, ejecuta 
   <command>./configure</command>.  Este se fijar&aacute; si tenes las 
   versions correctas de GTK+ 1.2.x (1.2.6 o superior, disponible de 
   <ulink url="&url.gtk.download;">&url.gtk.download;</ulink>) y otros 
   archivos requeridos para la compilaci&oacute;n, y asi crear&aacute; 
   los Makefiles necesarios.
  </para>
  <simpara>
   <command>./configure</command> puede ser usado tambi&eacute;n para 
   construir widgets extras, e.jg.
   <command>./configure --enable-scintilla --enable-gtkhtml</command>. 
   Para listar todas las opciones disponibles usa 
   <command>./configure --help</command>.  
   Recorda que cada widget extra tiene varias dependencias que son 
   necesarias para que la contrucci&oacute;n sea exitosa.
  </simpara>
  <simpara>
   Finalmente, ejecuta <command>make</command> para compilar la 
   extensi&oacute;n.  Algunos archivos fuentes son generados desde archivos
   .defs por el generador de codigo. Si ves mensajes como 
   <literal>&quot;Could not write...&quot;</literal>, quiere decir que los 
   objetos GTK+ litados o sus caracteristicas todabia no son soportadas.
   Si la compilaci&oacute;n es exitosa,ejecuta 
   <command>make install</command> para instalar
   la extensi&oacute;n en tu directorios por defecto de extensiones PHP 
   (habitualmente <filename>/usr/local/lib/php/extensions</filename>).
  </simpara>
  <para>
   Errores: problemas comunes de <command>./configure</command> o 
   <command>make</command>
   <itemizedlist>
    <listitem>
     <simpara>
      <literal>./ltconfig: ltconfig : No such file or directory, configure: 
      error: libtool configure failed</literal>  es causado por no tener 
      libtool, automake o autoconf instalado.
    </simpara>
   </listitem>
   <listitem>
    <simpara>
     <literal>./aclocal.m4:813: error: m4_defn: undefined: 
     _m4_divert_diversion</literal>  es causado por una incompatibilidad de
     versiones de  autoconf, mira las versiones recomendadas arriba.
    </simpara>
   </listitem>
   <listitem>
    <para>
     <literal>php_gtk+.c:33: parse error before `TSRMLS_DC'</literal>  es
     causado ya sea por una versi&oacute;n vieja de PHP tratando de ser 
     encontrada por el sistema de contrucci&oacute;n o tratando de construir
     php-gtk con una version antigua de PHP - por favor actualize la 
     versi&oacute;n de PHP &version.php; para arreglarlo.
    </para>
   </listitem>
   <listitem>
    <simpara>
     <literal>gen_gtk.c:1: parse error before '&lt;'</literal>  es causado
     por un error que ocurre en el generador. Habitualmente este error
     se resuelve agregando una linea 
     <literal>ini_set(&quot;memory_limit&quot;, &quot;32M&quot;);</literal> 
     a la primera linea de <filename>generator/generator.php</filename>.  
     Vos necesitas borrar todos los archivos <filename>gen_*</filename>
     de todos los directorios despues de cambiar esto.
    </simpara>
   </listitem>
   <listitem>
    <simpara>
     <literal>checking for gnome-config... Unknown library `gtkhtml'</literal>
     (from <command>./configure</command>)  e debido a un viejo y no disponible
     archivo header de desarrollo - Si instalas desde un rpm o un paquete similar
     necesitaras los paquetese <literal>-devel</literal>
    </simpara>
   </listitem>
   <listitem>
    <simpara>
     <literal>Unable to find -lgal</literal>  o mensaje similar es causado
     por no tener la <literal>gal-devel</literal> o una biblioteca similar.
     Habitualmente esto se debe a las sub dependencias de algunos widgets 
     mas complejos, como gtkhtml.
    </simpara>
   </listitem>
  </itemizedlist>
  </para>
  <simpara>
   Para probar la extensi&oacute;n, tenes que ejecutar los ejemplos de scripts
   en el directorio <filename>test/</filename>. Estos sirven de demostraciones
   de algunas de las formas de que la extensi&oacute;n PHP-GTK puede usarse.
  </simpara>
</chapter>

Index: php-gtk-doc/es/userguide/chapters/installusage.xml
+++ php-gtk-doc/es/userguide/chapters/installusage.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="installusage"> 
   <title>¿ Como usar PHP-GTK ?</title>
   <simpara>
   Una aplicaci&oacute;n PHP-GTK puede ejecutarse desde la linea de comandos
   ( o por en un archivos por lotes ) con la siguiente sintaxis:
    <command>C:\php4\php -q C:\path\to\php-gtk\script.php</command>
   </simpara>
 </chapter>

Index: php-gtk-doc/es/userguide/chapters/installwin32.xml
+++ php-gtk-doc/es/userguide/chapters/installwin32.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="installwin32">
 <title>Instalando PHP-GTK bajo Windows</title>
 <sect1 id="installwin32.intro"></sect1>

 <sect1 id="install.win32.binaries">


   <title>Descargando PHP-GTK</title>
   <para>
    Descarga los binarios win32 de PHP-GTK &version.phpgtk; de 
    <ulink url="&url.phpgtk;">&url.phpgtk;</ulink>.  Ademas quieras
    fijarte en los &uacute;ltimos fuentes del servidor de CSV de  php.net. Ver
    <ulink url="&url.php.anoncvs;">&url.php.anoncvs;</ulink> para m&aacute;s 
    informaci&oacute;n.
   </para>
  </sect1>
  <sect1 id="install.win32.binary.package-layout">
   <title>Disposici&oacute;n de la distribuci&oacute;n Binaria</title>
   <para>
    La distribuci&oacute;n binaria de PHP-GTK contiene la siguiente 
    estructura:
    <itemizedlist>
     <listitem>
      <para>
       <filename>\php4</filename> -&gt; PHP dev y PHP-GTK 
       &version.phpgtk; archivos binarios
      </para>
     </listitem>
     <listitem>
      <simpara>
       <filename>\winnt</filename> -&gt; el archivos php.ini por defecto
      </simpara>
     </listitem>
     <listitem>
      <simpara>
       <filename>\winnt\system32</filename> -&gt; los binarios de GTK+ para
       la extensi&oacute;n
      </simpara>
     </listitem>
     <listitem>
      <simpara>
       <filename>\test</filename> -&gt; algunos ejemplos de 
       demostraci&oacute;n del uso de PHP-GTK
      </simpara>
     </listitem>
     <listitem>
      <simpara>
       <filename>README.TXT</filename>
      </simpara>
     </listitem>
    </itemizedlist>
   </para>
  </sect1>
  <sect1 id="install.win32.howto">
   <title>¿ Como instalarlo ?</title>
   <orderedlist>
    <listitem>
     <simpara>
      Si es una instalaci&oacute;n nueva deberia crear
      <filename>C:\php4</filename> y cpoiarle los archivos de 
      <filename>\php4</filename> a este directorio.  Si tiene una 
      instalaci&oacute;n anterior de  PHP (por ejemplo, con Apache) o intento
      tenerla, necesita poner su archivo <filename>php.ini</filename> aqui 
      tambi&eacute;n. Los archivos que se encuentran en esta carpeta son por 
      defecto de PHP o relacionados con con PHP-GTK y seran todos necesarios
      para actualizarlo.  Fijese que <filename>C:\php4</filename> es el 
      directorio por defecto y que si instala PHP-GTK en otro lugar va a 
      necesitar especificar el camino comleto en su extension_dir en la
      copia de  <filename>php.ini</filename> que es usado por PHP.
     </simpara>
    </listitem>
    <listitem>
     <simpara>
      Copie el contenido de <filename>\winnt\system32</filename> a su directorio
      system32.  En Windows NT y Windows 2000 es 
      <filename>C:\winnt\system32</filename>.  En Windows 95/98 puede ser 
      <filename>C:\Windows\system</filename> o 
      <filename>C:\Windows\system32</filename>.  Este grupo de archivos esta
      relacionado con GTK y no ser&aacute; necesario actualizar hasta que  
      PHP-GTK2 sea lanzado.
     </simpara>
    </listitem>
    <listitem>
     <simpara>
      Copia el contenidos de <filename>\test</filename> a la direcci&oacute; 
      donde queres correr los scripts  (e.j. <filename>C:\php4\test</filename>).
     </simpara>
    </listitem>
   </orderedlist>
  </sect1>
</chapter>

Index: php-gtk-doc/es/userguide/chapters/introgtk.xml
+++ php-gtk-doc/es/userguide/chapters/introgtk.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="introgtk">
 <title>¿ Qu&eacute; es GTK+?</title>
 <sect1 id="gtk.intro"></sect1>

 <sect1 id="intro.whatis.gtk.history">
   <title>Historia de GTK+</title>
   <para>
    GTK+ fue originalmente desarrollado para 
    <ulink url="&url.gimp;">GIMP</ulink>, el 
    <ulink url="&url.gnu;">GNU</ulink> Image Manipulation Program. 
    GTK+ quiere decir  GIMP Tool Kit.  GTK+ ha crecido desde estos principios
    y actualmente es usado como parte centra de 
    <ulink url="&url.gnome;">Gnome</ulink>,  el entorno de escritorio del
    Proyecto GNU.  GTK+ tambi&eacute;n ha sido portado a BeOS y Win32, 
    haciendolo la perfecta elecci&oacute;n para usarlo como base para una 
    extensi&oacute;n de PHP, manteniendo a PHP lo mas multiplataforma posible
    y permitiendo la creaci&oacute;n de aplicaciones con ventanas en PHP para
    Linux, BeOS y Windows.
   </para>
  </sect1>
  <sect1 id="intro.whatis.gtk.whatitdoes">
   <title>¿ Qu&eacute; hace GTK+ ?</title>
   <simpara>
    GTK+ es un conjunto de bibliotecas escritas en  C para crear interfases 
    graficas de usuario. Tiene un arquitectura orientada a objetos desarrollada
    en tres bibliotecas:
   </simpara>
   <para>
    <itemizedlist>
     <listitem>
      <simpara>
       <emphasis>GLib</emphasis>
      </simpara>
      <simpara>
       brinda varias heramientas para usar cuando se programa con GTK+.
      </simpara>
     </listitem>
     <listitem>
      <simpara>
       <emphasis>GDK</emphasis>
      </simpara>
      <simpara>
       abstrae la funciones de dibujo de ventanas de bajo nivel
      </simpara>
     </listitem>
     <listitem>
      <simpara>
       <emphasis>GTK</emphasis>
      </simpara>
      <simpara>
       brinda un conjunto de widgets para usar cuando creas tus GUI.
      </simpara>
     </listitem>
    </itemizedlist>
   </para>
  </sect1>
</chapter>

Index: php-gtk-doc/es/userguide/chapters/introphpgtk.xml
+++ php-gtk-doc/es/userguide/chapters/introphpgtk.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="introphpgtk">
  <title>¿ Qu&acute; es PHP-GTK?</title>
  <simpara>
   PHP-GTK es una <ulink url="&url.php;">PHP</ulink> extenci&oacute;n que 
   permite escribir aplicaciones gr&aacute;ficas multiplataforma del tipo 
   cliente. Esta es la primera extensi&oacute;n de 
   <ulink url="&url.php;">PHP</ulink> de esta clase, 
   y fue escrita en parte para probar que <ulink url="&url.php;">PHP</ulink> es
   un lenguaje de proposito general , y que ademas es mucho mas que solo un 
   entorno de desarrollo de aplicaciones web.
  </simpara>
  <simpara>
   Esta extensi&oacute;n  <emphasis>no</emphasis> permite mostrar una 
   aplicaci&oacute; GTK+ en navegador de internet.  Se utiliza para crear 
   aplicaiones GUI completas independientes del navegador de internet .
  </simpara>
</chapter>

Index: php-gtk-doc/es/userguide/chapters/introphp.xml
+++ php-gtk-doc/es/userguide/chapters/introphp.xml
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<chapter id="introphp">
 <title>¿ Qu&eacute; es PHP?</title>
 <sect1 id="php.intro"></sect1>

 <sect1 id="intro.whatis.php.history">
   <title>Historia de PHP</title>
   <simpara>
    <ulink url="&url.php;">PHP</ulink> comenzo y sigue siendo primeramente
    usado como un lenguaje de script del lado del servidor embebido en HTML.
   </simpara>
   <simpara>
    PHP, se conoce originalmente como Personal Home Pages, fue concevido
    en el otoño de  1994 por Rasmus Lerdorf.  El lo escribio como una forma
    de track visitantes a su CV en linea. La primera version sali&oacute;
    en los comienzos de 1995, y fue ahi donde Rasmus se di&oacute; cuenta que
    haciendo en proyecto codigo-abierto, las personas arreglari&aacute;n sus
    problemas. La primera versi&oacute;n fue muy precaria y tenia un parser 
    que reconocia solo unas pocas macros y brindaba algunas utilidades que se 
    usaban comunmente en sitios web.
   </simpara>
   <simpara>
    El parser fue reescrito a mediados de 1995 y se lo renombro a PHP/FI 
    version 2. El "FI" en esta versi&oacute; queria decir Interprete formal.
    Lo que Rasmus habia agregado a PHP fue deacuerdo a las necesidades 
    crecientes de los sitio web. El soporte para mSQL fue agregado.  PHP/FI
    tubo un crecimiento masivo, y otra gente empezo a contribuir programadno
    regularmente.
   </simpara>
   <simpara>
    A mediados de 1997 Zeev Suraski y Andi Gutmans reescribieron el parser 
    principal, y PHP cambio de estar en manos de Rasmus a un grupo mas 
    orientado al proyecto. Esto formo las bases para que PHP3, fuere ahora 
    llamado PHP: Hypertext Preprocessor - un acronimo recursivo.
   </simpara>
   <simpara>
    La última versi&oacute;, de PHP4, es otra reescritura de Suraski and 
    Gutmans y esta basada en el motor <ulink url="&url.zend;">Zend</ulink>.
    PHP ahora tiene doscientos contribuyentes regularmente trabajando en 
    varias partes del proyecto. Tiene una cantidad muy grande extensiones,
    modulos y soporta todos los servidores m&aacute;s populares nativamente,
    y ademas tiene soporte para MySql y ODBC.
   </simpara>
   <simpara>
    Las &uacute;ltimas estadisticas muestran que PHP es actualmente usado por
    m&aacute;s de 5.5 millones de dominios, y ha tenido un gran crecimiento 
    durante el &uacute;ltimo a&ntilde;o. Es lejos el m&oacute;dulo m&aacute;s
    popular de Apache; para dar algun perspectiva, Apache actualmente
    tiene un 60% del mercado de servidores de internet, y el servidor IIS 
    ( con soporte nativo para ASP) tiene menos de la mitad de esa 
    proporci&oacute;n del mercado.
    (Figuras tomadas de <ulink url="&url.stats;">&url.stats;</ulink>
    Marzo 2001.)
   </simpara>
  </sect1>
  <sect1 id="intro.whatis.php.whatdoes">
   <title>¿ Qu&eacute; hace PHP ?</title>
   <simpara>
    PHP es un lenguaje de proposito general. Es normalmente usado como un 
    lenguaje de script embebido en HTML para su uso en la web, pero puede 
    tambi&eacute;n puede usarse como un lenguaje de script para shell o 
    hasta como un lenguaje para escribir aplicaciones con ventanas, con 
    PHP-GTK.
   </simpara>
   <simpara>
    Debido a la naturaleza open-source de PHP, si hay algo que actualmente 
    no se pueda hacer en PHP no hay ningun impedimento para que vos puedas 
    escribir un m&oacute;dulo o una extensi&oacute;n en c&oacute;digo C para
    extender la funcionalidad y puedas utilizar PHP con lo que vos quieras. 
    Esto es posible por la buen documentación de la API que esta disponible 
    para todos.
    </simpara>
   <para>
    PHP4 tiene dos partes:
    <itemizedlist>
     <listitem>
      <simpara>
       <emphasis>El motor Zend</emphasis>
      </simpara>
      <simpara>
       es la parte del paquete PHP que mantiene los pedidos, los procesos de los
       archivos de script y maneja las variable y los recursos. Su sitio puede 
       encontrarse en  <ulink url="&url.zend;">&url.zend;</ulink>.
      </simpara>
     </listitem>
     <listitem>
      <simpara>
       <emphasis>PHP</emphasis>
      </simpara>
      <simpara>
       implementa el 90% de la funcionalidad que ve el usuario final. Brinda
       un amplio rango de m&oacute;dulos como el soporte para MySQL, ODBC and 
       XML.
      </simpara>
     </listitem>
    </itemizedlist>
   </para>
  </sect1>
 </chapter>


Index: php-gtk-doc/es/userguide/chapters/signals.xml
+++ php-gtk-doc/es/userguide/chapters/signals.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="gtk.signals">
 <title>Signals and Callbacks</title>

 <sect1 id="gtk.signals.whatare">
  <title>¿ Qu&eacute; son las Se&ntilde;ales?</title>
  <simpara>
   <emphasis>Las se&ntilde;ales son notificaciones emitidas a los
   <link linkend="gtk.widgets.whatare">widgets</link>.</emphasis>
  </simpara>
  <simpara>
   Cuando uno porgrama interfases graficas de usuario
   (<acronym>GUI</acronym>),
   usualmente es necesario responder a acciones que genera el usuario o el
   programa por si solo.  <acronym>GNOME</acronym> y <acronym>GTK+</acronym> 
   hacen esto por medio del uso de se&ntilde;ales.  Las se&ntilde;ales se
   usan para permitir a el programa conocer que algo ocurrio. Esto puede ser,
   por ejemplo, un usuario presionando un <classname>GtkButton</classname>,
   o un cambio hecho a un valor de <classname>GtkAdjustment</classname>.
  </simpara>
  <simpara>
   Un programa, causa a <classname>GtkAdjustment</classname> emitir su
   se&ntilde;al de <signalname>value-changed</signalname> cuando un widget
   cambia uno de sus valores de ajuste. Esta se&ntilde;al en particular es
   usada interna y externamente en <classname>GtkAdjustment</classname>, por
   eso no es siempre necesario escribir que esa se&ntilde;al en el codigo
   diga que <classname>GtkProgressBar</classname> la use.  Una situaci&oacute;
   mas obvia ocurre cuando un usuario presiona sobre una instancia de
   <classname>GtkButton</classname>, causando que el widget del boton emita
   la se&ntilde;al de <signalname>clicked</signalname>.  Como programdador,
   podes utilizar <link linkend="gtk.callbacks.whatare">callbacks</link> para
   hacer algo a cada se&ntilde;al emitada por un widget.
  </simpara>
 </sect1>

 <sect1 id="gtk.callbacks.whatare">
  <title>¿ Qu&eacute; son Callbacks?</title>
  <simpara>
   <emphasis>
    Callbacks son funciones que son invocadas cuando las
    <link linkend="gtk.signals.whatare">se&ntilde;ales</link> se emiten por
    los <link linkend="gtk.widgets.whatare">widgets</link>.
   </emphasis>
  </simpara>
  <simpara>
   Callbacks son funciones que son creadas por los programadores para
   reaccionar a las se&ntilde;ales emitadas por los widgets.  Vos
   especificas la funci&oacute;n que deberia llamarse para
   <link linkend="gtk.signals.connection">conectar</link> la fucni&oacute;n
   a la se&ntilde;al.
  </simpara>
  <simpara>
   Callback tambi&eacute;n se conoce como el manejador de la se&ntilde;al. 
   Esto puede ser el <literal>manejador por defecto</literal> de un widget
   o un <literal>manejador definido porel usuario</literal>, que es, una
   funci&oacute;n escrita por el programador.
  </simpara>
 </sect1>

 <sect1 id="gtk.signal.inheritance">
  <title>Herencia de se&ntilde;ales</title>
  <simpara>
   Las se&ntilde;ales son heredadas por los objetos, como los son los
   m&eacute;todos.  Un widget puede emitir alguna se&ntilde;al que su objeto
   ancestro tiene definida, comotamb&eacute;n sus propias especificas.
  </simpara>
  <simpara>
   Hay casos donde las se&ntilde;ales no son relevantes a los widgets, no
   existir&aacute; ningun mesaje de error cuando la se&ntilde;al se llame -
   pero igualmente no habr&aacute; una significado obvio para el widget al
   emitir esa se&ntilde;al en particular.
  </simpara>
 </sect1>

 <sect1 id="gtk.signals.connection">
  <title>Conectando Se&ntilde;ales</title>

  <sect1 id="gtk.signals.connection.simple">
   <title>Conecciones simples</title>
   <simpara>
    Para reaccionar a una señal debes conectarla especificando una
    funci&oacute;n callback para que PHP-GTK la llame cuando la señal se
    emita.
   </simpara>
   <simpara>
    Al conectar una funci&oacute;n a una señal se logra llamar el metodo
    <function class="GtkObject">connect()</function> del objeto.
   </simpara>
   <simpara>
    La funci&oacute;n que pones como callback para una señal debe tener su
    prototipo correcto.  Podes encontrar el prototipo que deberia tener en
    las secci&oacute;n de <link linkend="reference">referencia</link> de
    este manual.
   </simpara>
   <simpara>
    Por ejemplo, si yo quisiera conectar  una señal 
    <signalname>clicked</signalname>  de una instancia de 
    <classname>GtkButton</classname> deberia definir una funci&oacute;n que
    acepte un parametro, el cual sera el boton que se presiono.
   </simpara>
   <para>
    El codigo debajo muetsra como se crea una ventana, se agrega un boton
    a ella y se espera por si se presiona. Cuando se presiona el boton, se
    abre una nueva <classname>GtkWindow</classname> conteniendo un mensaje.
    <example>
     <title>Señales y Callbacks</title>
     <programlisting role="php">
    
function shutdown() 
{
    print(&quot;Shutting down...\n&quot;);
    gtk::main_quit();
}
    
function you_clicked($button) 
{
    $window = &amp;new GtkWindow();
    $label = &amp;new GtkLabel(&quot;You clicked the button&quot;);
    $window-&gt;add($label);
    $window-&gt;connect(&quot;destroy&quot;,&quot;shutdown&quot;);
    $window-&gt;show_all();
    return false;
}
    
$window = &amp;new GtkWindow();
$window-&gt;connect(&quot;destroy&quot;, &quot;shutdown&quot;);
$window-&gt;set_border_width(10);
    
$button = &amp;new GtkButton(&quot;Click Me!!&quot;);
$button-&gt;connect(&quot;clicked&quot;, &quot;you_clicked&quot;);
$window-&gt;add($button);
    
$window-&gt;show_all();
    
gtk::main();
     </programlisting>
    </example>
   </para>
   <para>
    La parte importante aqui es donde llamamos
    <informalexample>
     <programlisting role="php">$button-&gt;connect();</programlisting>
    </informalexample>
    El metodo de conecci&oacute;n aqyi registra la funci&oacute;n
    <literal>you_clicked()</literal> como el callback que ser&aacute; 
    invocado cuando la señal <signalname>clicked</signalname> sea emitida
    por el widget <classname>GtkButton</classname>.  Nosotros ademas
    registramos la funci&oacute;n <literal>shutdown()</literal> como
    manejador de la señal <signalname>destroy</signalname> para ambas
    ventanas asi podemos cerrar la aplicaci&oacute;n correctamente.
   </para>
  </sect1>

  <sect1 id="gtk.signals.connection.multiple">
   <title>Multiples coneccciones</title>
   <simpara>
    Con PHP-GTK podes registar mas deuna funci&oacute;n para ser invocada
    cuando una señal sea emitida por un widget. Esto te permite poner un
    conjunto de funciones para ser llamadas en respuesta un acci&oacute;n
    esperada.
   </simpara>
   <para>
    Cuando mas de una funci&oacute;n se conecta a una señal, las funciones
    son llamadas en el orden en que fueron registradas cuando la señal sea
    emitida.
    <example>
     <title>Ordenes Callback de señales</title>
     <programlisting role="php">
    
function first($button) 
{
    print &quot;First function has been called\n&quot;;
}
    
function second($button) 
{
    print &quot;Second function has been called\n&quot;;
}
    
$window = &amp;new GtkWindow();
$window-&gt;connect_object(&quot;destroy&quot;, array(&quot;gtk&quot;, 
&quot;main_quit&quot;));
    
$button = &amp;new GtkButton(&quot;Click Me!!&quot;);
$button-&gt;connect(&quot;clicked&quot;,&quot;first&quot;);
$button-&gt;connect(&quot;clicked&quot;,&quot;second&quot;);
$window-&gt;add($button);
    
$window-&gt;show_all();
    
gtk::main();
     </programlisting>
    </example>
    En el ejemplo de arriba conectamos dos funciones a una señal 
    <signalname>clicked</signalname> de un boton.  La primera llamada al
    m&eacute;todo <function class="GtkObject">connect()</function> conecta
    la señal <signalname>clicked</signalname> a la funci&oacute;n 
    <literal>first()</literal>, la segunda llamada conecta la señal 
    <signalname>clicked</signalname> a la funci&oacute;n 
    <literal>second()</literal>.
   </para>
   <para>
    La saluda de este programa seria:
    <programlisting>
First function has been called.
Second function has been called.
    </programlisting>
   </para>
  </sect1>
 </sect1>
 
 <sect1 id="gtk.signals.custom.params">
  <title>Usandon parametros personalizados</title>
  <sect1 id="gtk.signals.custom.data">
   <title>Pasando datos personalizados como parametro</title>
   <simpara>
    Caundo <link linkend="gtk.signals.connection">conectamos</link> las
    señales, esposibe sumar un parametro extra personalizado a callback. 
    Esto es muy beneficioso para pasar el objeto que quieres para ejecutar
    una acci&oacute;n a la funci&oacute;n  callback.
   </simpara>
   <simpara>
    Por ejemplo, cuando un boton se presiona querriamos destruir la instancia
    padre de <classname>GtkWindow</classname>  que la instancia de 
    <classname>GtkButton</classname> habia 
    <function class="gtkcontainer">sumado</function>.
   </simpara>
   <simpara>
    Podes hacer esto incluyendo un tercer parametro opcional a llamada a 
    <function class="GtkObject">connect()</function>. ESto sera pasado a la
    funcion que maneja la señal como el parametro final del callback.
   </simpara>
   <para>
    <example>
     <title>
      Usando	parametros personalizados con el m&eacute;todo
      <function class="GtkObject">connect()</function>.
     </title>
     <programlisting role="php">
    
function button_clicked($button, $window) 
{
    $window-&gt;destroy();
    gtk::main_quit();
}
    
$window = &amp;new GtkWindow();
    
$button = &amp;new GtkButton(&quot;exit&quot;);
$button-&gt;connect(&quot;clicked&quot;,&quot;button_clicked&quot;, $window);
    
$window-&gt;add($button);
$window-&gt;show_all();
    
gtk::main();
     </programlisting>
    </example>
    En el ejemplo anterior podes ver que no solo pasamos la variable 
    <literal>$button</literal> , una instancia de 
    <classname>GtkButton</classname>, a el callback 
    <signalname>clicked</signalname> pero ademas pasamos la variable 
    <literal>$window</literal>, una instancia de la clase 
    <classname>GtkWindow</classname>.  Esto nos permite llamar a el
    m&eacute;todo <function class="GtkObject">destroy()</function> en la
    ventana.
   </para>
   <note>
    <simpara>
     Podes tener tantos parametros personalizados como quieras.
    </simpara>
   </note>
   <para>
    Si se pasa la variablee <literal>$button</literal> como nuestro
    parametro objeto llamador y la variable <literal>$window</literal> 
    como nuestro parametro personalizado, podemos entonces utilizar la
    misma callback para mas de un <classname>GtkButton</classname> o mas
    de una <classname>GtkWindow</classname>.  Fijese que los nombres dados
    a los parametros dentro de callback son irrelevantes fuera de la
    funci&oacute;n de callback; PHP-GTK se fija la posici&oacute;n de los
    parametros en el m&eacute;todo connect*, luego llama y pasa estos
    parametros a las variables listadas en la declaraci&oacute;n del
    callback como un array, por eso cada instancia de la conecci&oacute;n
    usando la misma estructura de parametros puedes usar el mismo callback. 
    Esto se demuestra en el codigo abajo usando solo un parametro
    personalizado, pero es igualmente cierto para mas de uno.
    <example>
     <title>Usando el mismo callback para mas de una ventana</title>
     <programlisting role="php">
    
function button_clicked($button, $window)
{
    $window->set_title(&quot;titled&quot;);
}
    
$window1 = &amp;new GtkWindow();
$window1-&gt;connect_object(&quot;destroy&quot;, array(&quot;gtk&quot;, 
&quot;main_quit&quot;));
$window2 = &amp;new GtkWindow();
$window2-&gt;connect_object(&quot;destroy&quot;, array(&quot;gtk&quot;, 
&quot;main_quit&quot;));
    
$button1 = &amp;new GtkButton(&quot;click me&quot;);
$button2 = &amp;new GtkButton(&quot;or me&quot;);
    
$button1-&gt;connect(&quot;clicked&quot;, &quot;button_clicked&quot;, 
$window1);
$button2-&gt;connect(&quot;clicked&quot;, &quot;button_clicked&quot;, 
$window2);
    
$window1-&gt;add($button1);
$window2-&gt;add($button2);
    
$window1-&gt;show_all();
$window2-&gt;show_all();
    
gtk::main();
     </programlisting>
    </example>
   </para>
  </sect1>
 
  <sect1 id="gtk.signals.connect.object">
   <title>Usando los m&eacute;todos connect_object*</title>
   <para>
    Ambos <function class="GtkObject">connect_object()</function> y 
    <function class="GtkObject">connect_object_after()</function> permiten
    pasar un objeto distinto a el objeto que llama como primer parametro
    enviado a la funci&oacute;n callback.  Esto es principalmente usado
    llamando funciones estaticas de PHP-GTK, como en (por ejemplo) la
    funci&oacute;n <function>gtk::main_quit()</function>:
    <example>
     <title>
      Usando el m&eacute;todo 
      <function class="GtkObject">connect_object()</function> 
      para especificar la funci&oacute;n como callback.
     </title>
     <programlisting role="php">
    
$window = &amp;new GtkWindow();
$window-&gt;connect_object(&quot;destroy&quot;, array(&quot;gtk&quot;, 
&quot;main_quit&quot;));
$window-&gt;show();
    
gtk::main();
     </programlisting>
    </example>
    Podria ser llamado con una funcion estatca o un metodo usando la
    sintaxis <literal>gtkobject::method</literal> expresada como un array.
   </para>
   <para>
    Tambien quiere decir que puede tener una sola callback para multiple
    señales. Por ejemplo, podrias crear una ventan que contenga (dentro de
    los widgets necesarios) una <classname>GtkMenuBar</classname>, una
    <classname>GtkToolbar</classname> y un <classname>GtkButton</classname>. 
    Cuando elije <literal>Exit</literal>  el usuario de cualquier de esos
    widgets una funci&oacute;n de shutdown podria invorcarse pasandolo la
    instancia de  <classname>GtkWindow</classname> como primer parametro,
    permitiendo asi que la ventana sea destruida desde cualquiera de sus
    conecciones. La funci&oacute;n callback y sus conecciones en esta
    instancia se verian de la siguiente manera:
    <example>
     <title>
      Usando el m&eacute;todo 
      <function class="GtkObject">connect_object()</function> 
      para pasar otro objeto como primer parametro.
     </title>
     <programlisting role="php">
    
function destroy_window($window)
{
    $window-&gt;destroy();
    gtk::main_quit();
}
    
$exit_button-&gt;connect_object(&quot;clicked&quot;, 
&quot;destroy_window&quot;, $window);
    
     </programlisting>
    </example>
   </para>
   <para>
    El m&eacute;todo connect_after* permite a las funciones ser
    &quot;ejecutadas luego&quot; de la señal por defecto para esa señal. 
    Esto puede ser muy bueno en algunas situaciones; por ejemplo, donde uno
    quiere destruir solamente una de tantas ventanas en una cirscunstancia
    dada.  De todas formas, los m&eacute;todos connect_after* solo
    funcionar&aacute;n cuando una señal ha sido creada en el codigo GTK con
    un flag <literal>GTK_RUN_LAST</literal>.  La señal 
    <signalname>destroy</signalname> y todas sus señales 
    <literal>'event'</literal>  tienen este flag; mas alla de esto,
    la &uacute;nica manera de saberlo es testeando la señal dentro de
    PHP-GTK o leyendo el codigo GTK.
    <example>
     <title>Usando elm&eacute;todo 
      <function class="GtkObject">connect_after()</function>
     </title>
     <programlisting role="php">
    
function quit_routine($window) 
{
    print(&quot;Shutting down...\n&quot;);
    gtk::main_quit();
}
    
$window1 = &amp;new GtkWindow();
$window1->set_title(&quot;Quit the main loop&quot;);
$window1-&gt;connect(&quot;destroy&quot;, &quot;quit_routine&quot;);
    
$window2 = &amp;new GtkWindow();
$window2->set_title(&quot;Destroy this window&quot;);
$window2-&gt;connect_after(&quot;destroy&quot;, &quot;quit_routine&quot;);
    
$window1-&gt;show();
$window2-&gt;show();
    
gtk::main();
     </programlisting>
    </example>
   </para>
   <simpara>
    Ver tambi&eacute;n: <classname>GtkObject</classname>, 
    <function class="GtkObject">connect_after()</function>
    <function class="GtkObject">connect_object()</function> y
    <function class="GtkObject">connect_object_after()</function>.
   </simpara>
  </sect1>
 </sect1>

 <sect1 id="gtk.signals.events">
  <title>Señales y Eventos</title>
  <simpara>
   <emphasis>Señales GTK, Eventos GDK.</emphasis>
  </simpara>
  <simpara>
   Las señales no son eventos, y los eventos no son señales.  Una señal es
   un mensaje emitido por una instancia de <classname>GtkObject</classname> 
   en respuesta a algun elemento predeterminado de su ambiente, e.j. una
   acci&oacute;n generada por el usuario final, o una instrucci&oacute;n
   generada desde una funci&oacute;n o m&eacute;todo.  Las señales son
   siempre programadas en en codigo, o internamente dentro de GTK o
   externamente por el programador PHP-GTK.
  </simpara>
  <simpara>
   Los eventos, por otro lado, son un continuo flujo de impulsos de
   comunaci&oacute;n de mensajes que dejan ver cambios en el ambiente en
   el sistema de ventanas. El ciclo pricipal de PHP-GTK esta hecho de estos
   flujos de eventos entre otras cosas.
  </simpara>
  <note>
   <simpara>
    No es posible conectar  una funci&oacute;n callback a un 
    <classname>GdkEvent</classname> directamente.
   </simpara>
  </note>
  <simpara>
   Cualquier widget que tiene su <classname>GdkWindow</classname> puede
   capturar eventos que son reelevantes para el. Los Widgets que carecen de
   una <classname>GdkWindow</classname> - esos que son creados con el flag 
   <literal>GTK_NO_WINDOW</literal> - no pueden hacer eso, a menos que sean
   contenidos dentro de un <classname>GtkEventBox</classname> - un widget
   creado con proposito especifico. Hay ocaciones cuando es muy favorable
   permitir la captura de eventos; un ejemplo obvio seria la creaci&oacute;n
   de una instancia de <classname>GtkToolTips</classname> la cual se dispara
   cuando su subject widget captura el evento 
   <literal>GDK_ENTER_NOTIFY</literal> y destruido cuando el mismo widget
   captura el evento <literal>GDK_LEAVE_NOTIFY</literal>.
  </simpara>
  <simpara>
   Aunque no es posible usa run evento como disparador de un callback de la
   misma forma que una señal, hay una serie de señales que derivan de 
   <classname>GtkWidget</classname> colectivamente conocidos como 
   <literal>'event' signals</literal>.  Estos son formas efectivamente de
   descriibir un evento en terminos de una señal, permitiendo a las
   callbacks ser indirectamente disparadas por medio de la captura de la
   ocurrencia de las mayoria de los   <enumname>GdkEventTypes</enumname>. 
   El objeto  <classname>GtkTooltips</classname> por si mismo utiliza el
   m&eacute;todo <function class="GktObject">connect_object()</function> y
   la señal generica <signalname>event</signalname> para monitorear su
   subject widget.
  </simpara>
  <para>
   El concepto de events no es f&acute;cil de entender. Por favor copie,
   pegue y ejecute el siguiente script para ver como se muestran los eventos
   sobre la acci&oacute;n de los widgets.
   <example>
    <title>Demonstraci&oacute;n del flujo de los eventos de un
     <classname>GtkButton</classname>
    </title>
    <programlisting role="php">
    
dl(&quot;php_gtk.&quot; . (strstr(PHP_OS, &quot;WIN&quot;) ? &quot;dll&quot; : 
&quot;so&quot;)) ||
die(&quot;Can't load php_gtk module!\n&quot;);
    
function show_event_type($button, $event, $text) 
{
    $event_type = $event-&gt;type;
    $insert = $text->get_length();
    $text-&gt;freeze();
    switch($event_type) {
      case 2:
        $text-&gt;insert_text(&quot;GDK_EXPOSE\n&quot;, $insert);
      break;
      case 3:
        $text-&gt;insert_text(&quot;GDK_MOTION_NOTIFY\n&quot;, $insert);
      break;
      case 4:
        $text-&gt;insert_text(&quot;GDK_BUTTON_PRESS\n&quot;, $insert);
      break;
      case 5:
        $text-&gt;insert_text(&quot;GDK_2BUTTON_PRESS\n&quot;, $insert);
        $button-&gt;hide();
      break;
      case 7:
        $text-&gt;insert_text(&quot;GDK_BUTTON_RELEASE\n&quot;, $insert);
      break;
      case 8:
        $text-&gt;insert_text(&quot;GDK_KEY_PRESS\n&quot;, $insert);
      break;
      case 9:
        $text-&gt;insert_text(&quot;GDK_KEY_RELEASE\n&quot;, $insert);
      break;
      case 10:
        $text-&gt;insert_text(&quot;GDK_ENTER_NOTIFY\n&quot;, $insert);
      break;
      case 11:
        $text-&gt;insert_text(&quot;GDK_LEAVE_NOTIFY\n&quot;, $insert);
      break;
      case 12:
        $text-&gt;insert_text(&quot;GDK_FOCUS_CHANGE\n&quot;, $insert); 
      break;
      case 14:
        $text-&gt;insert_text(&quot;GDK_MAP\n&quot;, $insert);
      break;
      case 15:
        $text-&gt;insert_text(&quot;GDK_UNMAP\n&quot;, $insert);
        $button-&gt;destroy();
        $text->insert_text(
&quot;\n* GDK EVENTS AND GTK SIGNALS - background stream vs foreground 
messaging *
\n
* Most GdkEventTypes have counterpart GTK signals, known as 'event'
  signals, implemented in GtkWidget.  The types on your screen are there
  because the GtkButton was programmed to emit the generic 'event' signal
  each time it captured one of the stream of GDK events that makes up the
  GTK main loop.  In each case, the captured GdkEvent was passed as a
  callback parameter so that its enumerated type value could be determined
  within the signal handler function.  Scroll down to see the series of event
  values captured during your recent interaction with the GtkButton widget. *
\n
* Please note that the majority of GTK signals do NOT correspond to GDK
  events in this or any other way!  For example, the signal connection
                      \$button->connect('pressed', 'whatever');
  has no relationship to the GDK_BUTTON_PRESS event it generates, which
  refers to mouse-button activity and not to the GtkButton 'pressed' signal. *
\n&quot;, 0);
      break;
    }
    $text-&gt;thaw();
    return false;
}
    
$window = &amp;new GtkWindow();
$window-&gt;set_position(GTK_WIN_POS_CENTER);
$window-&gt;set_default_size((gdk::screen_width()/1.5), 
(gdk::screen_height()-20));
$window-&gt;connect_object(&quot;destroy&quot;, array(&quot;gtk&quot;, 
&quot;main_quit&quot;));
$window-&gt;realize();
    
$box = &amp;new GtkVBox(false, 5);
$window-&gt;add($box);
$scrlwin = &amp;new GtkScrolledWindow();
$box-&gt;pack_start($scrlwin, true, true, 0);
$text = &amp;new GtkText();
$scrlwin-&gt;add($text);
    
$button = &amp;new GtkButton(&quot;Double-click here for information..&quot;);
$button-&gt;add_events(GDK_ALL_EVENTS_MASK);
$button-&gt;connect(&quot;event&quot;, &quot;show_event_type&quot;, $text);
$box-&gt;pack_end($button, false, false, 5);
    
$window-&gt;show_all();
    
gtk::main();
    </programlisting>
   </example>
  </para>
 </sect1>

</chapter> 

<!--
 * Local variables:
 * tab-width: 1
 * c-basic-offset: 1
 * fileformat=unix
 * End:
 * vim600: et sw=1 ts=1 tw=78 fdm=indent
 * vim<600: et sw=1 ts=1 tw=78
-->

Index: php-gtk-doc/es/userguide/chapters/widgets.xml
+++ php-gtk-doc/es/userguide/chapters/widgets.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<chapter id="gtk.widgets">
 <title>Widgets y Containers</title>

 <sect1 id="gtk.widgets.intro">
  <title>Introducci&oacute;n</title>
  <simpara>
   Este c&aacute;pitulo explicar&aacute; algunos conceptos de GTK+ y como usarlo.
  </simpara>
 </sect1>

 <sect1 id="gtk.widgets.whatare">
  <title>¿ Qu&eacute; son los Widgets?</title>
  <simpara>
   <literal>widget</literal> es un termino utilizado en el mundo de X para
   cualquier interfase de usuario. Un  widget puede ser una caja de texto,
   una etiqueta, un marco, una ventana o cualquier otro componente
   de la GUI. Los  GTK widgets derivan todos de una clase base abstracta
   <classname>GtkWidget</classname>, y heredan m&eacute;todos, se&ntilde;ales y 
   propiedades implentadas.
  </simpara>
  <simpara>
   Desde el punto de vista de la programaci&oacute;n un widget tiene cinco 
   partes en su ciclo de vida:
  </simpara>
  <para>
   <orderedlist>
    <listitem>
     <simpara>Creaci&oacute;n</simpara>
     <simpara>
      En PHP-GTK esto es hecho creando un objeto, e.j. 
      <literal>$window = &amp;new GtkWindow();</literal>
     </simpara>
    </listitem>
    <listitem>
     <simpara>Colocaci&oacute;n</simpara>
     <simpara>
      Este es el paso en el cual se suma un widget a un
      <link linkend="gtk.containers.whatare">container</link>. Esto se
      logra especificamente en  PHP-GTK usando la siguiente sintaxis 
      <literal>$container-&gt;add($widget);</literal>
     </simpara>
    </listitem>
    <listitem>
     <simpara>Conecci&oacute;n de la se&ntilde;al</simpara>
     <simpara>
      En este paso se escribe la funci&oacute;n de regreso para usar. Un 
      ejemplo de ello podria ser
      <literal>
       $widget-&gt;connect(&quot;event&quot;, &quot;my_focus_func&quot;);
      </literal>,
      donde &quot;event&quot; es un estado predefinifo como 
      <signalname>clicked</signalname> y &quot;my_focus_func&quot; es la
      llamada a la subrutina.
     </simpara>
    </listitem>
    <listitem>
     <simpara>exhibici&oacute;n</simpara>
     <simpara>
      Describe si el widget esta en la pantalla del usuario.
      Se realiza llamando a
      <literal>$widget-&gt;show();</literal> y finalizando con
      <literal>$widget-&gt;hide();</literal>.
     </simpara>
    </listitem>
    <listitem>
     <simpara>Destrucci&oacute;n</simpara>
     <simpara>
      Esto ocurre cuando la funci&oacute;n <function>gtk::main_quit()</function> 
      se llama. Todas las acciones necesarias para ello son manejadas internamente.
     </simpara>
    </listitem>
   </orderedlist>
  </para>
 </sect1>

 <sect1 id="gtk.containers.whatare">
  <title>¿ Qu&eacute; son los Containers?</title>
  <simpara>
   Un container es simplemente un <link linkend="gtk.widgets.whatare">widget</link>
   que puede contener otro  widget.  La gran mayoria de widgets caen dentro de esta 
   clase; ejemplos obvios son <classname>GtkWindow</classname>, 
   <classname>GtkTable</classname> y <classname>GtkBox</classname>.  
   Ademas de esta propiedad son exactamente iguales a otros widgets, y pueden 
   sumarseles a otros containers como asi tambi&eacute;n el soporte de widgets hijos.  
   Son derivados de la clase base <classname>GtkContainer</classname>, 
   que es derivada de la clase <classname>GtkWidget</classname>.
  </simpara>
 </sect1>

</chapter>



-- 
PHP-GTK Documentation Mailing List (http://gtk.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic