#ifdef DEBUG
std::cerr << "Color: " << win->get_color() << std::endl;
#endif
- Figura* figura = new Circulo(1, 1, Punto(50, 50), "Lala", 50);
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(win->radiobutton_linea))) {
+ Figura* figura;
+ // Si se agrega una línea.
+ if (gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(win->radiobutton_linea))) {
+ // Creo la nueva línea con los parámetros ingresados por el usuario.
figura = new Linea(
- win->get_color(),
+ win->get_color(), // Color
gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON(win->spinbutton_grosor)),
- Punto(GTK_SPIN_BUTTON(win->spinbutton_centro_x),
- GTK_SPIN_BUTTON(win->spinbutton_centro_y)),
- gtk_entry_get_text(GTK_ENTRY(win->entry_nombre)),
- Punto(GTK_SPIN_BUTTON(win->spinbutton_inicio_x),
- GTK_SPIN_BUTTON(win->spinbutton_inicio_y)),
- Punto(GTK_SPIN_BUTTON(win->spinbutton_fin_x),
- GTK_SPIN_BUTTON(win->spinbutton_fin_y))
+ GTK_SPIN_BUTTON(win->spinbutton_grosor)), // Grosor
+ Punto(GTK_SPIN_BUTTON(win->spinbutton_centro_x), // Centro X
+ GTK_SPIN_BUTTON(win->spinbutton_centro_y)), // Centro Y
+ gtk_entry_get_text(GTK_ENTRY(win->entry_nombre)), // Nombre
+ Punto(GTK_SPIN_BUTTON(win->spinbutton_inicio_x), // Inicio X
+ GTK_SPIN_BUTTON(win->spinbutton_inicio_y)), // Inicio Y
+ Punto(GTK_SPIN_BUTTON(win->spinbutton_fin_x), // Fin X
+ GTK_SPIN_BUTTON(win->spinbutton_fin_y)) // Fin Y
);
+ // Si se agrega un cuadrado.
} else if (gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(win->radiobutton_cuadrado))) {
+ // Creo la figura con los párametros ingresados por el usuario.
figura = new Cuadrado(
- win->get_color(),
+ win->get_color(), // Color
+ gtk_spin_button_get_value_as_int(
+ GTK_SPIN_BUTTON(win->spinbutton_grosor)), // Grosor
+ Punto(GTK_SPIN_BUTTON(win->spinbutton_centro_x), // Centro X
+ GTK_SPIN_BUTTON(win->spinbutton_centro_y)), // Centro Y
+ gtk_entry_get_text(GTK_ENTRY(win->entry_nombre)), // Nombre
gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON(win->spinbutton_grosor)),
- Punto(GTK_SPIN_BUTTON(win->spinbutton_centro_x),
- GTK_SPIN_BUTTON(win->spinbutton_centro_y)),
- gtk_entry_get_text(GTK_ENTRY(win->entry_nombre)),
- gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON(win->spinbutton_alto))
+ GTK_SPIN_BUTTON(win->spinbutton_alto)) // Lado.
);
+ // Si se agrega un rectángulo.
} else if (gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(win->radiobutton_rectangulo))) {
+ // Creo la figura con los párametros ingresados por el usuario.
figura = new Rectangulo(
- win->get_color(),
- gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON(win->spinbutton_grosor)),
- Punto(GTK_SPIN_BUTTON(win->spinbutton_centro_x),
- GTK_SPIN_BUTTON(win->spinbutton_centro_y)),
- gtk_entry_get_text(GTK_ENTRY(win->entry_nombre)),
+ win->get_color(), // Color
+ gtk_spin_button_get_value_as_int(
+ GTK_SPIN_BUTTON(win->spinbutton_grosor)), // Grosor
+ Punto(GTK_SPIN_BUTTON(win->spinbutton_centro_x), // Centro X
+ GTK_SPIN_BUTTON(win->spinbutton_centro_y)), // Centro Y
+ gtk_entry_get_text(GTK_ENTRY(win->entry_nombre)), // Nombre
gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON(win->spinbutton_alto)),
+ GTK_SPIN_BUTTON(win->spinbutton_alto)), // Alto.
gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON(win->spinbutton_ancho))
+ GTK_SPIN_BUTTON(win->spinbutton_ancho)) // Ancho.
);
+ // Si no, se agrega un círculo.
} else {
+ // Creo la figura con los párametros ingresados por el usuario.
figura = new Circulo(
- win->get_color(),
- gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON(win->spinbutton_grosor)),
- Punto(GTK_SPIN_BUTTON(win->spinbutton_centro_x),
- GTK_SPIN_BUTTON(win->spinbutton_centro_y)),
- gtk_entry_get_text(GTK_ENTRY(win->entry_nombre)),
+ win->get_color(), // Color
+ gtk_spin_button_get_value_as_int(
+ GTK_SPIN_BUTTON(win->spinbutton_grosor)), // Grosor
+ Punto(GTK_SPIN_BUTTON(win->spinbutton_centro_x), // Centro X
+ GTK_SPIN_BUTTON(win->spinbutton_centro_y)), // Centro Y
+ gtk_entry_get_text(GTK_ENTRY(win->entry_nombre)), // Nombre
gtk_spin_button_get_value_as_int(
- GTK_SPIN_BUTTON(win->spinbutton_radio))
+ GTK_SPIN_BUTTON(win->spinbutton_radio)) // Radio
);
}
// Agrego la figura nueva al dibujo.
#ifdef DEBUG
std::cerr << "En linea event." << std::endl;
#endif
- // TODO
+ // Activo y desactivos los campos necesarios.
TP5Window* win = static_cast<TP5Window*>(user_data);
gtk_widget_set_sensitive(win->spinbutton_inicio_x, true);
gtk_widget_set_sensitive(win->spinbutton_inicio_y, true);
#ifdef DEBUG
std::cerr << "En cuadrado event." << std::endl;
#endif
- // TODO
+ // Activo y desactivos los campos necesarios.
TP5Window* win = static_cast<TP5Window*>(user_data);
gtk_widget_set_sensitive(win->spinbutton_inicio_x, false);
gtk_widget_set_sensitive(win->spinbutton_inicio_y, false);
#ifdef DEBUG
std::cerr << "En rectangulo event." << std::endl;
#endif
- // TODO
+ // Activo y desactivos los campos necesarios.
TP5Window* win = static_cast<TP5Window*>(user_data);
gtk_widget_set_sensitive(win->spinbutton_inicio_x, false);
gtk_widget_set_sensitive(win->spinbutton_inicio_y, false);
#ifdef DEBUG
std::cerr << "En circulo event." << std::endl;
#endif
- // TODO
+ // Activo y desactivos los campos necesarios.
TP5Window* win = static_cast<TP5Window*>(user_data);
gtk_widget_set_sensitive(win->spinbutton_inicio_x, false);
gtk_widget_set_sensitive(win->spinbutton_inicio_y, false);
#include <gtk/gtk.h>
+/**
+ * Función llamada cuando hay que redibujar una porción del área de dibujo.
+ *
+ * \param widget Área de dibujo que recibió el evento.
+ * \param event Evento (tiene información del área que necesita ser repintada).
+ * \param user_data Dibujo con las figuras a redibujar.
+ */
gboolean on_drawingarea_expose_event(GtkWidget *widget, GdkEventExpose *event,
gpointer user_data);
+/**
+ * Función llamada cuando se presiona el botón de Limpiar.
+ *
+ * \param button Botón presionado.
+ * \param user_data Dibujo con las figuras a borrar.
+ */
void on_button_borrar_clicked(GtkButton *button, gpointer user_data);
+/**
+ * Función llamada cuando se presiona el botón de Actualizar.
+ *
+ * \param button Botón presionado.
+ * \param user_data Área de dibujo a actualizar.
+ */
void on_button_graficar_clicked(GtkButton *button, gpointer user_data);
+/**
+ * Función llamada cuando se presiona el botón de Salir.
+ *
+ * \param button Botón presionado.
+ * \param user_data No utilizado.
+ */
void on_button_salir_clicked(GtkButton *button, gpointer user_data);
+/**
+ * Función llamada cuando se presiona el botón de Agregar.
+ *
+ * \param button Botón presionado.
+ * \param user_data TP5Window con todos los widget necesarios para tomar la
+ * entrada del usuario y crear la nueva figura.
+ */
void on_button_agregar_clicked(GtkButton *button, gpointer user_data);
+/**
+ * Función llamada cuando el manejador de ventanas manda el evento Delete.
+ * Típicamente esto sucede cuando se presiona la X en la decoración de la
+ * ventana).
+ *
+ * \param widget Ventana que recibió el evento.
+ * \param event Evento.
+ * \param user_data No utilizado.
+ */
gboolean on_window_delete_event(GtkWidget *widget, GdkEvent *event,
gpointer user_data);
+/**
+ * Función llamada cuando se presiona el botón de selección Línea.
+ *
+ * \param button Botón presionado.
+ * \param user_data TP5Window con los widgets que hay que activar y desactivar
+ * para que el usuario sólo pueda ingresar los datos que tengan sentido.
+ */
void on_radiobutton_linea_toggled(GtkToggleButton *togglebutton,
gpointer user_data);
+/**
+ * Función llamada cuando se presiona el botón de selección Cuadrado.
+ *
+ * \param button Botón presionado.
+ * \param user_data TP5Window con los widgets que hay que activar y desactivar
+ * para que el usuario sólo pueda ingresar los datos que tengan sentido.
+ */
void on_radiobutton_cuadrado_toggled(GtkToggleButton *togglebutton,
gpointer user_data);
+/**
+ * Función llamada cuando se presiona el botón de selección Rectángulo.
+ *
+ * \param button Botón presionado.
+ * \param user_data TP5Window con los widgets que hay que activar y desactivar
+ * para que el usuario sólo pueda ingresar los datos que tengan sentido.
+ */
void on_radiobutton_rectangulo_toggled(GtkToggleButton *togglebutton,
gpointer user_data);
+/**
+ * Función llamada cuando se presiona el botón de selección Círculo.
+ *
+ * \param button Botón presionado.
+ * \param user_data TP5Window con los widgets que hay que activar y desactivar
+ * para que el usuario sólo pueda ingresar los datos que tengan sentido.
+ */
void on_radiobutton_circulo_toggled(GtkToggleButton *togglebutton,
gpointer user_data);
+