From 16814166ba3459ddd994b49d41a015d8d62e256d Mon Sep 17 00:00:00 2001 From: Manuel de Vega Barreiro Date: Sun, 23 Apr 2000 09:19:58 +0000 Subject: [PATCH] Spanish Faq translation update --- docs/es/gtk.html | 103 +++++++++ docs/es/gtkfaq-es-1.html | 192 +++++++++++++++++ docs/es/gtkfaq-es-2.html | 195 ++++++++++++++++++ docs/es/gtkfaq-es-3.html | 198 ++++++++++++++++++ docs/es/gtkfaq-es-4.html | 435 +++++++++++++++++++++++++++++++++++++++ docs/es/gtkfaq-es-5.html | 92 +++++++++ docs/es/gtkfaq-es-6.html | 64 ++++++ docs/es/gtkfaq-es-7.html | 80 +++++++ docs/es/gtkfaq-es.html | 103 +++++++++ 9 files changed, 1462 insertions(+) create mode 100644 docs/es/gtk.html create mode 100644 docs/es/gtkfaq-es-1.html create mode 100644 docs/es/gtkfaq-es-2.html create mode 100644 docs/es/gtkfaq-es-3.html create mode 100644 docs/es/gtkfaq-es-4.html create mode 100644 docs/es/gtkfaq-es-5.html create mode 100644 docs/es/gtkfaq-es-6.html create mode 100644 docs/es/gtkfaq-es-7.html create mode 100644 docs/es/gtkfaq-es.html diff --git a/docs/es/gtk.html b/docs/es/gtk.html new file mode 100644 index 0000000000..2ca06317f5 --- /dev/null +++ b/docs/es/gtk.html @@ -0,0 +1,103 @@ + + + + + GTK+ FAQ + + + + + +Next +Previous +Contents +
+

GTK+ FAQ

+ + +

Nathan Froyd, Tony Gale, Shawn T. Amundson.

Seis de Julio de 1998 +


+La intención de este documento es dar respuesta a las preguntas +realizadas con más frecuencia por parte de los programadores que utilizan GTK+ o simplemente por personas que desean utilizar GTK+. +
+

+

1. Información General

+ + +

+

2. Cómo encontrar, configurar, instalar y comprobar GTK+

+ + +

+

3. Desarrollo de GTK+

+ + +

+

4. Desarrollo con GTK+

+ + +

+

5. Acerca de gdk

+ + +

+

6. Acerca de glib

+ + +

+

7. Contribuciones al GTK+ FAQ, Mantenedores y Copyright

+ + +
+Next +Previous +Contents + + diff --git a/docs/es/gtkfaq-es-1.html b/docs/es/gtkfaq-es-1.html new file mode 100644 index 0000000000..0054f3825e --- /dev/null +++ b/docs/es/gtkfaq-es-1.html @@ -0,0 +1,192 @@ + + + + + GTK+ FAQ: Información General + + + + + +Next +Previous +Contents +
+

1. Información General

+ +

1.1 Autores +

+ +

Los autores de GTK+ son: +

+

+ +GTK+ se ditribuye bajo la licencia de Librería Pública General de GNU +

+

1.2 ¿Qué es GTK+? +

+ +

GTK+ es un pequeño y eficiente conjunto de widgets, diseñados +con un aspecto y sentir general a Motif. Contiene widgets comúnes +y algúnos widgets más complejos como una selección de +archivos, y widgets de selección de colores. +

GTK+ proporciona algunas características únicas. (No tengo conocimiento +de otra librería de widge> +


Transfer interrupted!

+enos). +Por ejemplo, un botón no contiene una etiqueta, contiene un widget +hijo, que en muchas instancias será una etiqueta. Sin embargo, el +widget hijo también puede ser un pixmap (mapa de pixels), +imagén o cualquier combinación posible que desee el programador. Toda la +librería es así de flexible. +

+

1.3 ¿Qué es el + en GTK+? +

+ +

Peter Mattis informó a la lista de correo gtk: +

+"Escribí originalmente gtk el cual incluía tres librerías, +libglib, libgdk y libgtk. Era caracterizado por una jerarquía de +widget plana. O sea, no podías derivar un nuevo +widget de uno ya existente. Contenía un mecanismo de +callback (llamada) más estándar en lugar del mecanismo +de señales ahora presente en gtk+. El + fue agregado para distinguir +entre la versión original de gtk y la nueva versión. Pueden pensar +en ello como una ampliación al gtk original que agrega características +orientadas o objetos." +
+

+

1.4 ¿La G en GTK+ significa General, Gimp, o GNU? +

+ +

Peter Mattis informó a la lista de correo gtk: +

+"Pienso que la última vez que Spencer y yo hablamos al respecto nos +decidimos por GTK = Gimp ToolKit. Pero no estoy seguro. Sin embargo, +definitivamente no es GNU." +
+

+

1.5 ¿Dónde está la documentación para GTK? +

+ +

+En el directorio doc/ de la distribución de GTK+ encontrarás +el material de referencia para GTK y GDK, este FAQ y el tutor de GTK. +

Adicionalmente, puedes encontrar enlaces a versiones HTML de estos +documentos al ir a +http://www.gtk.org/. +

El Tutor y el FAQ también se pueden encontrar en +http://www.geocities.com/ResearchTriangle/Lab/4299/. +

+

1.6 ¿Hay alguna lista de correo (o archivo de lista de correo) para GTK+? +

+ +

Hay dos listas de correo: +

+

1.7 ¿La lista gtk-list no ha tenido tráfico alguno por días, +está muerta?

+ +

No, todos están ocupados codificando. +

+

1.8 Cómo conseguir ayuda con GTK+ +

+ +

Primero, asegúrate que tu pregunta no esté respondida en la +documentación, este FAQ o el tutor. ¿Hecho? ¿Estás seguro de que +lo has hecho, verdad? En ese caso, el mejor lugar para hacer preguntas es +la lista de correo de GTK+. +

+

1.9 Cómo reportar errores en GTK+ +

+ +

Los reportes de errores se deben enviar a la lista de correo de GTK+. +

+

1.10 ¿Qué aplicaciones se han escrito con GTK+? +

+ +

Algunas aplicaciones que utilizan GTK+ son: +

+

Adicionalmente a lo de arriba, el proyecto GNOME +( +http://www.gnome.org) +utiliza GTK+ para construír un escritorio libre para Linux. Muchos más +programas pueden ser encontrados ahí. +

+

1.11 Estoy buscando una aplicación que escribir en GTK+. ¿Qué tal un cliente IRC? +

+ +

+

Pregunte en gtk-list para sugerencias. Actualmente hay por lo menos cuatro +clientes IRC endesarrollo. +

+

+

+

+


+Next +Previous +Contents + + diff --git a/docs/es/gtkfaq-es-2.html b/docs/es/gtkfaq-es-2.html new file mode 100644 index 0000000000..6c475c9620 --- /dev/null +++ b/docs/es/gtkfaq-es-2.html @@ -0,0 +1,195 @@ + + + + + GTK+ FAQ: Cómo encontrar, configurar, instalar y comprobar GTK+ + + + + + +Next +Previous +Contents +
+

2. Cómo encontrar, configurar, instalar y comprobar GTK+

+ +

2.1 ¿Qué necesito para correr GTK+? +

+ +

Para compilar GTK+, todo lo que necesita es un compilador de C (gcc) y +el Sistema X Windows y librerías asociadas en su sistema. +

+

2.2 ¿Dónde puedo conseguir GTK+? +

+ +

El sitio canónico es: +

+ftp://ftp.gtk.org/pub/gtk
+
+ +Por supuesto, cualquier espejo de ftp.gtk.org debe tener las últimas +versiones también. +

+

2.3 ¿Cómo configuro/compilo GTK+? +

+ +

Por lo general, todo lo que necesita es emititir los comandos: +

+./configure
+make
+
+ +en el directorio gtk+-version/. +

+

2.4 Cuando compilo GTK+ obtengo un error como: make: file `Makefile' line 456: Syntax error +

+ +

Asegúrese de que utiliza GNU make (verifique con make -v). Hay +varias versiones extrañas y maravillosas de make por ahí, y no todas +manejan los Makefiles generados automáticamente. +

+

+

2.5 ¡He compilado e instalado GTK+, pero no puedo lograr que los programas se enlacen con él! +

+ +

Este problema se encuentra comúnmente cuando las librerías GTK+ no pueden +ser localizadas o tienen la versión incorrecta. Generalmente, el compilador +se quejará de un 'unresolved symbol' (símbolo no resuelto). Hay dos cosas +que necesita verificar: +

+

+

+

2.6 Cuando compilo programas con GTK+, obtengo mensajes de error del compilador diciendo que no es capaz de encontrar "glibconfig.h". +

+ +

El archivo de encabezado "glibconfig.h" se movió al directorio +$exec_prefix/lib/glib/include/. $exec_prefix es el directorio que fue +especificado al dar la bandera --exec-prefix a ./configure cuando se +compiló GTK+. Va por omisión a $prefix, (especificado con --prefix), +que en su lugar va por omisión a /usr/local/. +

Ésto se hizo asi porque "glibconfig.h" incluye información +dependiente de la arquitectura, y el resto de los archivos include +se colocan en $prefix/include, el cual puede ser compartido entre distintas +arquitecturas. +

GTK+ incluye un guión para el intérprete de comandos, +gtk-config, el cual hace fácil +encontrar los caminos correctos de inclusión. El tutor de GTK+ incluye +un ejemplo de como utilizar gtk-config para una compilación simple +desde la línea de comandos. Para información sobre configuraciones más +complicadas, vea el archivo docs/gtk-config.txt en la distribución de GTK+. +

Si está intentando compilar un programa viejo, puede bordear el problema +al configurarlo con una línea de comando como: +

+

+
+CPPFLAGS="-I/usr/local/include/glib/include" ./configure
+
+
+

para intérpretes de comandos compatibles con Bourne como bash, o para +variantes csh: +

+

+
+setenv CPPFLAGS "-I/usr/local/include/glib/include" 
+./configure
+
+
+

(Sustituya el valor apropiado de $exec_prefix para /usr/local.) +

+

2.7 Cuando instalo El GIMP, configure reporta que no puede encontrar GTK. +

+ +

Hay varias razones comúnes para esto: +

+

Si nada de lo anterior ayuda, entonces revise config.log, el cual es +generado por ./configure cuando corre. Al final estará la última +acción tomada antes de fallar. Si es una sección de código fuente, +copie el código fuente a un archivo y compilelo con la línea +jústamente arriba de él en config.log. Si la compilación tiene +éxito, intente ejecutarlo. +

+


+Next +Previous +Contents + + diff --git a/docs/es/gtkfaq-es-3.html b/docs/es/gtkfaq-es-3.html new file mode 100644 index 0000000000..f4d6b89289 --- /dev/null +++ b/docs/es/gtkfaq-es-3.html @@ -0,0 +1,198 @@ + + + + + GTK+ FAQ: Desarrollo de GTK+ + + + + + +Next +Previous +Contents +
+

3. Desarrollo de GTK+

+ +

3.1 ¿Qué es esta cosa CVS de la cual todo el mundo habla, y cómo puedo acceder a ella? +

+ +

CVS es el Concurrent Version System (Sistema de Versión Concurrente) y es +un medio muy popular de control de versión para proyectos de software. +Está diseñado para permitir que múltiples autores puedan operar de +manera simultánea en el mismo árbol fuente. Este árbol fuente es +mantenido centralizadamente, pero cada desarrollador tiene una réplica local +de este repositorio en el cual hacen sus cambios. +

Los desarrolladores de GTK+ utilizan un repositorio CVS para almacenar la +copia maestra de la actual versión en desarrollo de GTK+. Como tal, +la gente que desea contribuír con parches a GTK+ deben generarlos para la +versión del CVS. La gente normal debe utilizar los paquetes liberados. +

El conjunto de herramientas CVS está disponible como paquetes RPM en los +sitios usuales de RedHat. La última versión está disponible en +<http://download.cyclic.com/pub/>

Cualquiera puede bajar la última versión CVS de GTK+ utilizando +acceso anónimo con los siguientes pasos: +

+

3.2 ¿Cómo puedo contribuír a GTK+? +

+ +

Es simple. Si algo no funciona en un programa como usted piensa que debería, +revise la documentación para asegurarse de que no ha pasado algo por alto. +Si es un verdadero error o característica perdida, rastréelo en el +fuente de GTK+, cámbielo, y entonces genere un parche en la forma de un +'diff de contexto'. Esto puede hacerse utilizando un comando como +diff -ru <oldfile> <newfile>. Entonces envíe el archivo +de parche a: +

+ftp://ftp.gtk.org/incoming
+
+ +junto a un archivo README. ¡Asegúrese de seguir las convenciones de +asignación de nombres o su parche será borrado! Los archivos deben ser +de esta forma: +
+gtk-<username>-<date yymmdd-n>.patch.gz
+gtk-<username>-<date yymmdd-n>.patch.README
+
+ +La "n" en la fecha indica un número único (empezando de 0) +de parches que subió ese día. Debe ser 0, a menos que envíe más de +un parche en el mismo día. +

Example: +

+gtk-gale-982701-0.patch.gz
+gtk-gale-982701-0.patch.README
+
+ +Una vez que usted envía lo que sea, envíe el README a +ftp-admin@gtk.org +

+

3.3 ¿Cómo averiguo si mi parche fue aplicado, y si no, por qué no? +

+ +

Los parches enviados se mandarán a +ftp://ftp.gtk.org/pub/gtk/patches +donde uno del equipo de desarrollo de GTK+ los recogerá. Si son aplicados, +serán movidos a /pub/gtk/patches/old. +

Los parches que no son aplicados, por cualquier razón, se mandarán a +/pub/gtk/patches/unapplied o /pub/gtk/patches/outdated. +En este punto puede preguntar en la lista de correo gtk-list el porqué +su parche no fué aplicado. Hay muchas razones posibles por las cuales un +parche no se aplica, pasando desde que no se puede aplicar limpiamente, hasta +que no es correcto. No se rinda si no logró que su parche se aplicase a la +primera. +

+

3.4 ¿Cuál es la política sobre la incorporación de nuevos widgets en la librería? +

+ +

Esto corresponde a los autores, de manera que tendrá que preguntarles +al terminar su widget. Como una guía general, los widgets +que por lo general son útiles, funcionan, y no son una desgracia al conjunto +de widgets serán incluídos con mucho gusto. +

+

3.5 ¿Hay alguien trabajando en atamientos para otros lenguajes distintos a C? +

+ +

Sí. Existe +

+

+


+Next +Previous +Contents + + diff --git a/docs/es/gtkfaq-es-4.html b/docs/es/gtkfaq-es-4.html new file mode 100644 index 0000000000..443a940366 --- /dev/null +++ b/docs/es/gtkfaq-es-4.html @@ -0,0 +1,435 @@ + + + + + GTK+ FAQ: Desarrollo con GTK+ + + + + + +Next +Previous +Contents +
+

4. Desarrollo con GTK+

+ +

4.1 ¿Cómo empiezo? +

+ +

Después de que ha instalado GTK+, hay un par de cosas que pueden +facilitarle el desarrollo de aplicaciones con él. Está el Tutor de +GTK+ +<http://www.gtk.org/tutorial/>, el cual está en desarrollo +activo. Este tutorial le introducirá en la escritura de aplicaciones +utilizando C. +

El Tutor no contiene (todavía) información sobre todos los +widgets que existen en GTK+. Para código de ejemplo sobre la +utilización básica de todos los widgets de GTK+, debe ver +el archivo gtk/testgtk.c (y archivos fuentes asociados) en la distribución +GTK+. Ver estos ejemplos le dará una buena base sobre lo que pueden hacer +los widgets. +

+

4.2 ¿Qué widgets existen en GTK? +

+ +

El Tutor de GTK+ lista los siguientes widgets: +

+  GtkObject
+   +GtkData
+   | +GtkAdjustment
+   | `GtkTooltips
+   `GtkWidget
+     +GtkContainer
+     | +GtkBin
+     | | +GtkAlignment
+     | | +GtkEventBox
+     | | +GtkFrame
+     | | | `GtkAspectFrame
+     | | +GtkHandleBox
+     | | +GtkItem
+     | | | +GtkListItem
+     | | | +GtkMenuItem
+     | | | | `GtkCheckMenuItem
+     | | | |   `GtkRadioMenuItem
+     | | | `GtkTreeItem
+     | | +GtkViewport
+     | | `GtkWindow
+     | |   +GtkColorSelectionDialog
+     | |   +GtkDialog
+     | |   | `GtkInputDialog
+     | |   `GtkFileSelection
+     | +GtkBox
+     | | +GtkButtonBox
+     | | | +GtkHButtonBox
+     | | | `GtkVButtonBox
+     | | +GtkHBox
+     | | | +GtkCombo
+     | | | `GtkStatusbar
+     | | `GtkVBox
+     | |   +GtkColorSelection
+     | |   `GtkGammaCurve
+     | +GtkButton
+     | | +GtkOptionMenu
+     | | `GtkToggleButton
+     | |   `GtkCheckButton
+     | |     `GtkRadioButton
+     | +GtkCList
+     |   `GtkCTree
+     | +GtkFixed
+     | +GtkList
+     | +GtkMenuShell
+     | | +GtkMenuBar
+     | | `GtkMenu
+     | +GtkNotebook
+     | +GtkPaned
+     | | +GtkHPaned
+     | | `GtkVPaned
+     | +GtkScrolledWindow
+     | +GtkTable
+     | +GtkToolbar
+     | `GtkTree
+     +GtkDrawingArea
+     | `GtkCurve
+     +GtkEditable
+     | +GtkEntry
+     | | `GtkSpinButton
+     | `GtkText
+     +GtkMisc
+     | +GtkArrow
+     | +GtkImage
+     | +GtkLabel
+     | | `GtkTipsQuery
+     | `GtkPixmap
+     +GtkPreview
+     +GtkProgressBar
+     +GtkRange
+     | +GtkScale
+     | | +GtkHScale
+     | | `GtkVScale
+     | `GtkScrollbar
+     |   +GtkHScrollbar
+     |   `GtkVScrollbar
+     +GtkRuler
+     | +GtkHRuler
+     | `GtkVRuler
+     `GtkSeparator
+       +GtkHSeparator
+       `GtkVSeparator
+
+

+

4.3 ¿GTK+ es seguro ante múltiples hilos? +

+ +

Aunque GTK+, como la mayoría de los juegos de herramientas para X, +no es seguro ante múltiples hilos, esto no prohibe el desarrollo de +aplicaciones con múltiples hilos con GTK+. +

Rob Browning (rlb@cs.utexas.edu) describe técnicas de hilamiento +que pueden utilizarse con GTK+ (levemente modificado): +

Básicamente existen dos enfoques principales, el primero es sencillo, +y el segundo complicado. En el primero, simplemente hay que asegurarse +de que todas las interacciones de GTK+ (o X) se manejan por un, y solo un, +hilo. Cualquier otro hilo que desee dibujar algo tiene que notificarlo de +alguna manera al hilo "GTK+", y dejarlo que maneje el trabajo real. +

El segundo enfoque le permite llamar funciones de GTK+ (o X) desde cualquier +hilo, pero requiere sincronización cuidadosa. La idea básica es crear +una exclusión mutua de protección para X, de manera que nadie haga +llamadas X sin primero adquirir esta exclusión mutua. +

Observe que se trata de un pequeño esfuerzo, pero que le permitirá ser +potencialmente más eficiente que un GTK+ completamente seguro ante +múltiples hilos. Usted decide la granularidad del bloqueo de hilos. +También debe asegurarse que el hilo que llama a gtk_main mantiene la +cerradura cuando llama a gtk_main. +

Lo siguiente por lo que hay que preocuparse ya que se tenía agarrada +la exclusión mutua global cuando se entró a gtk_main, es que todos +los callbacks también la tendrán. Esto significa que el +callback debe soltarla si va a llamar a cualquier otro código +que pueda readquirirla. De otra manera obtendrá un bloqueo mortal. +También hay que tener agarrada la exclusión mutua cuando finalmente +regresa del callback. +

Para permitir a otros hilos, además del que llama a gtk_main, tener +acceso a la exclusión mutua, necesitamos registrar una función de +trabajo con GTK que nos permita liberar la exclusión mutua +periódicamente. +

¿Por qué GTK+ no puede ser seguro ante múltiples hilos de +manera nativa? +

Complejidad, sobrecarga, y mano de obra. La proporción de programas +con hilos es todavía razonablemente pequeña, y conseguir seguridad +ante hilos es muy difícil y le quita tiempo valioso al trabajo +principal de obtener una buena librería gráfica terminada. Sería +muy agradable que GTK+ fuera seguro ante hilos "al sacarlo de la caja", +pero no es práctico ahora mismo, y haría a GTK+ sustancialmente menos +eficiente si no se maneja cuidadosamente. +

De cualquier manera, no es una prioridad esencial ya que existen remedios +relativamente buenos. +

+

4.4 ¿Cómo puedo prevenir el redibujar y reacomodar tamaños mientras cambio múltiples widgets? +

+ +

+Utilize gtk_container_disable_resize y gtk_container_enable_resize alrededor +del código donde quiere cambiar varias cosas. Esto resultará en mayor +velocidad ya que prevendrá tener que darle el tamaño otra vez a la +jerarquía de widget por completo. +

+

4.5 ¿Cómo atrapo un evento de doble tecleo (en un widget de lista, por ejemplo)? +

+ +

Tim Janik escribió a la lista gtk-list (ligeramente modificado): +

Defina un manejador de señal: +

+

+
+gint
+signal_handler_event(GtkWiget *widget, GdkEvenButton *event, gpointer func_data)
+{
+  if (GTK_IS_LIST_ITEM(widget) &&
+       (event->type==GDK_2BUTTON_PRESS ||
+        event->type==GDK_3BUTTON_PRESS) ) {
+    printf("I feel %s clicked on button %d\",
+           event->type==GDK_2BUTTON_PRESS ? "double" : "triple",
+           event->button);
+  }
+
+  return FALSE;
+}
+
+
+

Y conecte el manejador a su objeto: +

+

+
+{
+  /* lista, asuntos de inicializacion de articulos de lista */     
+
+  gtk_signal_connect(GTK_OBJECT(list_item),
+                     "button_press_event",
+                     GTK_SIGNAL_FUNC(signal_handler_event),
+                     NULL);
+
+  /* y/o */
+
+  gtk_signal_connect(GTK_OBJECT(list_item),
+                     "button_release_event",
+                     GTK_SIGNAL_FUNC(signal_handler_event),
+                     NULL);
+
+  /* algo mas */
+}
+
+
+

y, Owen Taylor escribió: +

Observe que se recibirá la pulsación del botón de antemano, y +si está haciendo esto para un botón, también obtendrá una señal +de "tecleado" para el botón. (Esto es cierto para cualquier juego de +herramientas, ya que las computadoras no son buenas para leer la mente de +cada quien.) +

+

4.6 ¿Cómo puedo averiguar cuál es la selección de un GtkList? +

+ +

+

Consiga la selección con algo como esto: +

+
+GList *sel;
+sel = GTK_LIST(list)->selection;
+
+
+

Así es como GList está definido (sacado de glist.h): +

+
+typedef struct _GList GList;
+
+struct _GList
+{
+  gpointer data;
+  GList *next;
+  GList *prev;
+};
+
+
+

Una estructura GList es simplemente una estructura para listas doblemente +enlazadas. Existen varias funciones g_list_*() para modificar una lista +enlazada en glib.h. Sin embargo, la selección GTK_LIST(MyGtkList)->selection +es mantenida por las funciones gtk_list_*() y no deben ser modificadas. +

El selection_mode del GtkList determina las facilidades de selección de un +GtkList y por lo tanto los contenidos de GTK_LIST(AnyGtkList)->selection: +

+

+selection_mode          GTK_LIST()->selection contents
+------------------------------------------------------
+
+GTK_SELECTION_SINGLE)   la selección es NULL
+                        o contiene un puntero GList*
+                        para un artículo seleccionado individualmente
+
+GTK_SELECTION_BROWSE)   la selección es NULL si la lista
+                        no contiene widgets, de otra manera
+                        contiene un puntero GList*
+                        para una estructura GList.
+GTK_SELECTION_MULTIPLE) la selección es NULL si no se seleccionan
+                        listitems para un apuntador GList*
+                        para el primer artículo seleccionado. Eso en
+                        su lugar apunta a una estructura GList para el
+                        segundo artículo seleccionado y continúa
+
+GTK_SELECTION_EXTENDED) la selección es NULL.
+
+

El campo data de la estructura GList GTK_LIST(MyGtkList)->selection apunta +al primer GtkListItem que es seleccionado. De manera que si quiere determinar +cuales listitems están seleccionados debe hacer esto: +

Durante la in> +


Transfer interrupted!

+> +{ + gchar *list_items[]={ + "Item0", + "Item1", + "foo", + "last Item", + }; + guint nlist_items=sizeof(list_items)/sizeof(list_items[0]); + GtkWidget *list_item; + guint i; + + list=gtk_list_new(); + gtk_list_set_selection_mode(GTK_LIST(list), GTK_SELECTION_MULTIPLE); + gtk_container_add(GTK_CONTAINER(AnyGtkContainer), list); + gtk_widget_show (list); + + for (i = 0; i < nlist_items; i++) + { + list_item=gtk_list_item_new_with_label(list_items[i]); + gtk_object_set_user_data(GTK_OBJECT(list_item), (gpointer)i); + gtk_container_add(GTK_CONTAINER(list), list_item); + gtk_widget_show(list_item); + } +} + + +

Para tener conocimiento de la inicialización: +

+
+{
+        GList   *items;
+
+        items=GTK_LIST(list)->selection;
+
+        printf("Selected Items: ");
+        while (items) {
+                if (GTK_IS_LIST_ITEM(items->data))
+                        printf("%d ", (guint) 
+                gtk_object_get_user_data(items->data));
+                items=items->next;
+        }
+        printf("\n");
+}
+
+
+

4.7 ¿Acaso es posible desplegar un texto que se recorte para que quepa dentro del lugar que tenga asignado? +

+ +

El comportamiento de GTK+ (sin recorte) es una consecuencia de sus intentos +para conservar recursos de X. Los widgets etiqueta (entre otros) no +tienen su propia ventana X - simplemente dibujan su contenido en la ventana +de su padre. Aunque sería posible hacer que ocurran recortes al establecer +la máscara de recorte antes de dibujar el texto, esto podría causar una +penalización substancial en el rendimiento. +

Es posible que, a largo plazo, la mejor solución a tales problemas sea +simplemente cambiar gtk para que le de ventanas X a las etiquetas. Un remedio +a corto plazo es poner el widget de etiqueta dentro de otro +widget que sí obtiene su propia ventana - un candidato posible puede ser el widget viewport. +

+

+
+viewport = gtk_viewport (NULL, NULL);
+gtk_widget_set_usize (viewport, 50, 25);
+gtk_viewport_set_shadow_type (GTK_VIEWPORT(viewport), GTK_SHADOW_NONE);
+gtk_widget_show(viewport);
+
+label = gtk_label ("a really long label that won't fit");
+gtk_container_add (GTK_CONTAINER(viewport), label);
+gtk_widget_show (label);
+
+
+

Si estuviera haciendo esto para un montón de widgets, querrá +copiar gtkviewport.c y arrancar la funcionalidad de sombra y ajuste (tal vez +quiera llamarlo GtkClipper). +

+

4.8 ¿Por qué el contenido de un botón no se mueve al presionar el botón? Aquí les envío un parche para que funcione de esa forma... +

+ +

De: Peter Mattis +

La razón por la cuál los botones no mueven a su hijo abajo y a la derecha +cuando son presionados es porque no me parece que eso es lo que ocurre +visualmente. Mi visión de los botonos es que los miras de manera recta. +O sea, la interface de usuario tiende sobre un plano y tú estás sobre +él observándolo de manera recta. Cuando un botón es presionado se +mueve directamente lejos de tí. Para ser absolutamente correcto supongo +que el hijo debería encojerse un poquito. Pero no veo por qué el hijo +debería moverse abajo y a la izquierda. Recurda, el hijo se supone que +está pegado a la superficie del botón. No es bueno que luzca como si +el hijo se resbala sobre la superficie del botón. +

En una nota más práctica, ya implanté esto una vez y determiné +que no se veía bien y lo quité. +

+

4.9 ¿Cómo puedo definir una línea de separación como en un menú? +

+ +

Revise el +Tutor para información sobre como crear menús. +

Sin embargo, para crear una línea de separación en un menú, +simplemente inserte un artículo de menú vacío: +

+

+
+menuitem = gtk_menu_item_new();
+gtk_menu_append(GTK_MENU(menu), menuitem);
+gtk_widget_show(menuitem);
+
+
+

+

4.10 ¿Cómo puedo darle justificación a la derecha a un menú, como Help, cuando utilizo MenuFactory? +

+ +

Utilice algo como lo que sigue: +

+

+
+menu_path = gtk_menu_factory_find (factory,  "<MyApp>/Help");
+gtk_menu_item_right_justify(menu_path->widget);
+
+
+

4.11 ¿Cómo hago mi ventana modal? / ¿Cómo hago una sóla ventana activa? +

+ +

Después de haber creado su ventana, haga gtk_grab_add(my_window). Y +después de cerrar la ventana haga gtk_grab_remove(my_window). +

+

4.12 ¿Por qué mi widget (ej. progressbar) no se actualiza? +

+ +

+

Probablemente usted está haciendo todos los cambios dentro de una función +sin devolver el control a gtk_main. La mayoría de las actualizaciones de +dibujo se colocan simplemente en una cola, la cual es procesada dentro de +gtk_main. Puede forzar que se procese la cola de dibujado utilizando algo como: +

+

+
+while (gtk_events_pending())
+        gtk_main_iteration();
+
+
+

dentro de la función que cambia el widget. +

Lo que el fragmento anterior hace es correr todos los eventos pendientes y +funciones ociosas de alta prioridad, luego regresa de inmediato (el dibujado +se realiza en una función ociosa de alta prioridad). +

+


+Next +Previous +Contents + + diff --git a/docs/es/gtkfaq-es-5.html b/docs/es/gtkfaq-es-5.html new file mode 100644 index 0000000000..5ecc825b9d --- /dev/null +++ b/docs/es/gtkfaq-es-5.html @@ -0,0 +1,92 @@ + + + + + GTK+ FAQ: Acerca de gdk + + + + + +Next +Previous +Contents +
+

5. Acerca de gdk

+ +

5.1 ¿Qué es gdk? +

+ +

gdk es básicamente una envoltura alrededor de las llamadas a funciones +Xlib. Si estás familiarizado con Xlib, muchas de las funciones en gdk +requerirán poco o ningún tiempo para acostumbrarse. +Todas las funciones están escritas para proporcionar una manera fácil de +acceder a las funciones Xlib en una manera un poco más intuitiva. +Adicionalmente, ya que gdk utiliza glib (vea abajo), será más portable +y seguro de utilizar en +múltiples plataformas. +

+

+

5.2 ¿Cómo utilizo la asignación de colores? +

+ +

Una de las cosas agradables de GDK es que está basado sobre Xlib; esto +también es un problema, especialmente en el área de administración +de colores. Si usted quiere utilizar color en su programa (dibujando un +rectángulo o algo por el estilo, su código debe lucir algo así: +

+

+
+{
+  GdkColor *color;
+  int width, height;
+  GtkWidget *widget;
+  GdkGC *gc;
+
+  ...
+  
+  /* primero, cree un GC (contexto grafico) en el cual dibujar */
+  gc = gdk_gc_new(widget->window);
+
+  /* encuentre las dimensiones correctas para el rectangulo */
+  gdk_window_get_size(widget->window, &width, &height);
+
+  /* el color que queremos utilizar */
+  color = (GdkColor *)malloc(sizeof(GdkColor));
+  
+  /* rojo, verde y azul son valores pasados, indicando el trio RGB
+   * del color que queremos dibujar. Note que los valores de los componentes 
+   * RGB dentro de GdkColor son tomados de 0 a 65535, no de 0 a 255.
+   */
+  color->red = red * (65535/255);
+  color->green = green * (65535/255);
+  color->blue = blue * (65535/255);
+  
+  /* el valor de pixel indica el indice en el mapa de colores del color.
+   * simplemente es una combinacion de los valores RGB colocados anteriormente
+   */
+  color->pixel = (gulong)(red*65536 + green*256 + blue);
+
+  /* Sin embargo, el valor de pixel es solo valido en dispositivos de 24-bit
+   * (color verdadero). Por lo tanto, esta llamada es requerida para que GDK
+   * y X puedan darnos el color mas cercano disponible en el mapa de colores
+   */
+  gdk_color_alloc(gtk_widget_get_colormap(widget), color);
+
+  /* colocar la parte delantera a nuestro color */
+  gdk_gc_set_foreground(gc, color);
+  
+  /* dibujar el rectangulo*/
+  gdk_draw_rectangle(widget->window, gc, 1, 0, 0, width, height);
+
+  ...
+}
+
+
+

+


+Next +Previous +Contents + + diff --git a/docs/es/gtkfaq-es-6.html b/docs/es/gtkfaq-es-6.html new file mode 100644 index 0000000000..3cc6d0b33d --- /dev/null +++ b/docs/es/gtkfaq-es-6.html @@ -0,0 +1,64 @@ + + + + + GTK+ FAQ: Acerca de glib + + + + + +Next +Previous +Contents +
+

6. Acerca de glib

+ +

6.1 ¿Qué es glib? +

+ +

glib es una librería de funciones y definiciones útiles disponibles +para ser utilizadas cuando se crean aplicaciones GDK y GTK. Proporciona +reemplazos para algunas funciones estándar de libc, como malloc, las +cuales tienen errores en algunos sistemas. +

También proporciona rutinas para manejar: +

+

+

+

6.2 ¿Por qué utilizar g_print, g_malloc, g_strdup y funciones compañeras de glib? +

+ +

Gracias a Tim Janik que escribió a gtk-list: (ligeramente modificado) +

+Con respecto a g_malloc(), g_free() y hermanos, estas funciones son más +seguras que sus equivalentes en libc. Por ejemplo, g_free() solo regresa si +se llama con NULL. También, si se define USE_DMALLOC, la definición para +estas funciones cambia (en glib.h) para utilizar MALLOC(), FREE() etc... Si +MEM_PROFILE o MEM_CHECK se definen, hay incluso pequeñas estadísticas +realizadas las cuales cuentan los tamaños de los bloques (mostrado por +g_mem_profile() / g_mem_check()). +

Considerando el hecho de que glib provee una interface para salvar espacio en +pedazos de memoria si se tiene varios bloques que son siempre del mismo +tamaño y para marcarlos ALLOC_ONLY si es necesario, es sencillo crear +una pequeña envoltura para salvar (revisable para errores) alrededor del +malloc/free normal asimismo - igual que gdk cubre Xlib. ;) +

Utilizar g_error() y g_warning() dentro de aplicaciones como GIMP las cuales +utilizan gtk por completo incluso da la oportunidad de hacer saltar una ventana +que muestre los mensajes dentro de una ventana gtk con tu propio handler +(utilizando g_set_error_handler()) con el mismo estilo que gtk_print() +(dentro de gtkmain.c). +

+

+


+Next +Previous +Contents + + diff --git a/docs/es/gtkfaq-es-7.html b/docs/es/gtkfaq-es-7.html new file mode 100644 index 0000000000..8041e00650 --- /dev/null +++ b/docs/es/gtkfaq-es-7.html @@ -0,0 +1,80 @@ + + + + + GTK+ FAQ: Contribuciones al GTK+ FAQ, Mantenedores y Copyright + + + + +Next +Previous +Contents +
+

7. Contribuciones al GTK+ FAQ, Mantenedores y Copyright

+ +

Si desea hacer una contribución al FAQ, envíe a alguno de nosotros +un mensaje por correo electrónico con el texto exacto que cree que +debería ser incluído (pregunta y respuesta). ¡Con su ayuda, este +documento puede crecer y llegar a ser más útil! +

Este documento es mantenido por Nathan Froyd +<maestrox@geocities.com> +y Tony Gale +<gale@gimp.org>. +Este FAQ fue creado por Shawn T. Amundson +<amundson@gimp.org> quien continúa dando soporte. +

El GTK+ FAQ está registrado Copyright (C) 1997, 1998 por Shawn T. Amundson, +Nathan Froyd y tony Gale. +

Se otorga permiso para hacer y distribuír copias textuales de este manual +siempre y cuando la información de copyright y este permiso se preserven en +todas las copias. +

Se otorga permiso para copiar y distribuir versiones modificados de este +documento bajo las condiciones para copiado textual, siempre y cuando esta +noticia de copyright se incluya exáctamente como en el original, y +que el trabajo resultante en su totalidad sea distribuído bajo los +términos de una noticia de permiso idéntica a esta. +

Se otorga permiso para copiar y distribuír traducciones de este documento +a otro lenguaje, bajo las condiciones anteriores de versiones modificadas. +

Si tiene intenciones de incorporar este documento en un trabajo publicado, +por favor contacte a uno de los mantenedores, y nos aseguraremos de que +obtenga la información más actual posible. +

No hay garantía de que este documento logre su propósito. Este documento +se proporciona simplemente como un recurso libre. Como tal, los autores y +mantenedores de la información proporcionada en él no pueden dar +garantía alguna de que la información es precisa. +

+

7.1 Nota del Traductor +

+ +

Esta traducción fue realizada por +Ramsés Morales. +He intentado hacer +la mejor adaptación posible de los términos técnicos, si tiene +alguna sugerencia o mejora a estos términos y mi español, o alguna +duda por causa de mi traducción, no dude en comunicármelo a +<ramses@computer.org>

Gracias a +Joaquín Cuenca por todas sus sugerencias para mejorar la +traducción, fueron de gran ayuda. +

-------------------------------------- +

The GTK+ FAQ is Copyright (C) 1997,1998 by Shawn T. Amundson, Nathan Froyd and Tony Gale. +

Permission is granted to make and distribute verbatim copies of this manual provided the +copyright notice and this permission notice are preserved on all copies. +

Permission is granted to copy and distribute modified versions of this document under the conditions +for verbatim copying, provided that this copyright notice is included exactly as in the original, +and that the entire resulting derived work is distributed under the terms of a permission +notice identical to this one. +

Permission is granted to copy and distribute translations of this document into another language, +under the above conditions for modified versions. +

If you are intending to incorporate this document into a published work, please contact one of +the maintainers, and we will make an effort to ensure that you have the most up to date +information available. +

There is no guarentee that this document lives up to its intended +purpose. This is simply provided as a free resource. As such, +the authors and maintainers of the information provided within can +not make any guarentee that the information is even accurate. +


+Next +Previous +Contents + + diff --git a/docs/es/gtkfaq-es.html b/docs/es/gtkfaq-es.html new file mode 100644 index 0000000000..2ca06317f5 --- /dev/null +++ b/docs/es/gtkfaq-es.html @@ -0,0 +1,103 @@ + + + + + GTK+ FAQ + + + + + +Next +Previous +Contents +
+

GTK+ FAQ

+ + +

Nathan Froyd, Tony Gale, Shawn T. Amundson.

Seis de Julio de 1998 +


+La intención de este documento es dar respuesta a las preguntas +realizadas con más frecuencia por parte de los programadores que utilizan GTK+ o simplemente por personas que desean utilizar GTK+. +
+

+

1. Información General

+ + +

+

2. Cómo encontrar, configurar, instalar y comprobar GTK+

+ + +

+

3. Desarrollo de GTK+

+ + +

+

4. Desarrollo con GTK+

+ + +

+

5. Acerca de gdk

+ + +

+

6. Acerca de glib

+ + +

+

7. Contribuciones al GTK+ FAQ, Mantenedores y Copyright

+ + +
+Next +Previous +Contents + +