]> git.llucax.com Git - z.facultad/75.42/figuras.git/commitdiff
Se agrega documentacion.
authorLeandro Lucarella <llucax@gmail.com>
Tue, 7 Oct 2003 02:49:51 +0000 (02:49 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Tue, 7 Oct 2003 02:49:51 +0000 (02:49 +0000)
documentacion.h

index 2782a1c5129b1441e157bdfced41dad33ddf0112..514753bab234955c8818a51344ad96428c96f5e9 100644 (file)
@@ -51,13 +51,23 @@ Tambi
 
 
 \section gdk_gtk Descripción de API GDK/GTK y comparación con GDI de Windows.
-    GTK significa GIMP ToolKit ya que originalmente fue programa sólamente para
-    hacer el programa GIMP (GNU Image Manipulation Program, una especie de
-    Photoshop libre). Actualmente ha crecido mucho, hasta superando en
-    importancia ese proyecto inicial. Creció tanto que incluso en la actualidad
-    se compone a su vez de 2 capas más, cada una siendo de más bajo nivel que la
-    original.
-    \subsection gdk GDK.
+    GTK significa GIMP ToolKit ya que originalmente fue creada sólamente para
+    hacer el programa <a href="http://www.gimp.org/">GIMP</a> (GNU Image
+    Manipulation Program, una especie de Photoshop libre). Actualmente ha
+    crecido mucho, hasta superando en importancia ese proyecto inicial.
+    Creció tanto que incluso en la actualidad se compone a su vez de 2 capas
+    más, cada una siendo de más bajo nivel que la original. La capa de más bajo
+    nivel es la GLib, que implementa funciones básicas y tipos de datos comunes,
+    sirviendo de capa base para hacer aplicaciones multiplataforma. Sobre ésta,
+    está construida la biblioteca GDK (GTK+ Drawing Kit), que serviría de base
+    para hacer aplicaciones gráficas multiplataforma (aunque fuertemente
+    influída por la forma de funcionar de X Window, plataforma para la cual fue
+    creada inicialmente). GDK es entoncess de relativo bajo nivel (un nivel
+    cercano a Xlib, biblioteca de X Window, que sólo permite dibujar en pantalla
+    y manejar eventos, como el movimiento de un mouse el presionar una tecla o
+    un requerimiento para redibujar una porción de la pantalla). Sobre GDK se
+    crean una serie de \e widgets (componentes como botones, etiquetas, barras
+    de menú, etc) y a este conjunto de widgets se los llama GTK.
 
 
 \section desarrollo Desarrollo.
@@ -89,8 +99,44 @@ Tambi
 
 
 \section resolucion Resolución.
-    \subsection res_ascii Clase Ascii.
-        TODO
+    \subsection ventana Ventana principal.
+        Todos los componentes de la ventana principal (y la ventana en sí) se
+        encapsularon en un objeto TP5Window. Al inicializar el objeto se
+        inicializan todos los componentes de la ventana, inclusive el Dibujo que
+        contiene los objetos de tipo Figura que se van agregando. Dentro de
+        estos componentes se encuentran varios widgets GTK que se van agregando
+        a la ventana principal, guardandose un puntero como atributo de
+        TP5Window de solo aquellos widgets que se necesitarán a la hora de
+        obtener la entrada del usuario. Del resto de los widgets no es necesario
+        guardar un puntero ya que se liberan automáticamente al llamar a la
+        función gtk_main_quit().
+        TP5Window también tiene métodos para convertir o facilitar la conversión
+        de los datos que ingresa el usuario.
+        \note Para crear la ventana principal se utilizó una herramienta que
+              gráfica que luego genera código automáticamente llamada Glade.
+              Sobre el código generado se cambiaron varias cosas y se
+              eliminaron llamadas a funciones inecesarias, por ejemplo. Con este
+              programa también puede generarse un archivo XML con la disposición
+              gráfica de todos los elementos y luego cargarlo en tiempo de
+              ejecución mediante la biblioteca libglade, pero se dibujó toda la
+              interfaz con código para mostrar bien por dentro el proceso
+              realizado por dicha biblioteca.
+
+    \subsection callbacks Funciones callbacks.
+        Cada evento recibido por un widget GTK (y en general cualquier señal que
+        pueda manejar la GLib) de ser \conectado a una función callback que se
+        encargue de menejarlo. Todas las funciones callback se agruparon en el
+        archivo callbacks.h y callbacks.cpp. Se implementaron callbacks para los
+        siguientes eventos:
+        - \c expose_event:
+            Evento \e disparado cuando se debe redibujar un área de la
+            pantalla, en este caso sólo se conecta el evento para el área de
+            dibujo para dibujar todas las figuras en la pantalla. La función que
+            maneja este evento es on_drawingarea_expose_event().
+        - \c clicked:
+            Este evento se \e dispara cuando un GtkButton es presionado. Se usa
+            para borrar el dibujo, actualizarlo, agregar figuras y salir del
+            programa y es manejado por las funciones on_button__clicked() TODO
 
 
 \section requerimientos Requerimientos y modo de uso.