#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.