]> git.llucax.com Git - z.facultad/75.42/figuras.git/blobdiff - callbacks.cpp
Se arregla para que incluya cosas necesarias de GTK y debug.
[z.facultad/75.42/figuras.git] / callbacks.cpp
index 9b9172d2fd176b4648528fb9e991feae9daa654e..3f498e0cb40af7f6b4876aa6d3449346c18907fb 100644 (file)
 #include "interface.h"
 #include <gtk/gtk.h>
 
-#include <iostream>
+#ifdef DEBUG
+#   include <iostream>
+#endif
 
 gboolean on_drawingarea_expose_event(GtkWidget *widget, GdkEventExpose *event,
         gpointer user_data) {
+#ifdef DEBUG
     std::cerr << "En expose_event." << std::endl;
+#endif
     // Dibujo.
     static_cast<Dibujo*>(user_data)->dibujar(widget);
     return FALSE;
 }
 
 void on_button_borrar_clicked(GtkButton *button, gpointer user_data) {
+#ifdef DEBUG
     std::cerr << "En borrar event." << std::endl;
+#endif
     // Borro dibujo.
     static_cast<Dibujo*>(user_data)->borrar_todo();
 }
 
 void on_button_graficar_clicked(GtkButton *button, gpointer user_data) {
+#ifdef DEBUG
     std::cerr << "En graficar event." << std::endl;
+#endif
     // Indica que hay que redibujar el widget user_data, que será el área de
     // dibujo.
     gtk_widget_queue_draw(GTK_WIDGET(user_data));
 }
 
 void on_button_salir_clicked(GtkButton *button, gpointer user_data) {
+#ifdef DEBUG
     std::cerr << "En salir event." << std::endl;
+#endif
     // Termina el loop principal.
     gtk_main_quit();
 }
 
 void on_button_agregar_clicked(GtkButton *button, gpointer user_data) {
+#ifdef DEBUG
     std::cerr << "En agregar event." << std::endl;
-    // FIXME
+#endif
+    // FIXME: hacer una estructura para guardar todos los punteros a los datos
+    // que necesito: radio buttons, y todas las entradas, más la lista enlazada,
+    // más, tal vez, el drawingarea.
     Figura* figura = new Circulo(1, 1, Punto(50, 50), "Lala", 50);
     static_cast<Dibujo*>(user_data)->agregar_figura(figura);
+    static_cast<Dibujo*>(user_data)->agregar_figura(
+            new Linea(1, 2, Punto(50, 50), "", Punto(0, 0), Punto(100, 50)));
+    static_cast<Dibujo*>(user_data)->agregar_figura(
+            new Rectangulo(2, 1, Punto(100, 100), "", 20, 80));
+    static_cast<Dibujo*>(user_data)->agregar_figura(
+            new Cuadrado(5, 5, Punto(150, 120), "", 100));
 }
 
 gboolean on_window_delete_event(GtkWidget *widget, GdkEvent *event,
         gpointer user_data) {
+#ifdef DEBUG
     std::cerr << "En delete_event." << std::endl;
+#endif
     // Termina el loop principal.
     gtk_main_quit();
     // Al devolver FALSE se indica que se debe ocultar la ventana FIXME.