]> git.llucax.com Git - z.facultad/75.42/figuras.git/commitdiff
Se completan comentarios en el codigo.
authorLeandro Lucarella <llucax@gmail.com>
Sun, 5 Oct 2003 23:37:17 +0000 (23:37 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Sun, 5 Oct 2003 23:37:17 +0000 (23:37 +0000)
callbacks.cpp
tp5window.cpp

index e07c57261b842da570a1cc11f1cbac630989d05e..5f51614efe7a0b39b2b90c5ae6ea1fe36c5c8e54 100644 (file)
@@ -155,13 +155,13 @@ void on_radiobutton_linea_toggled(GtkToggleButton* togglebutton,
 #endif
     // 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);
-    gtk_widget_set_sensitive(win->spinbutton_fin_x, true);
-    gtk_widget_set_sensitive(win->spinbutton_fin_y, true);
-    gtk_widget_set_sensitive(win->spinbutton_alto, false);
-    gtk_widget_set_sensitive(win->spinbutton_ancho, false);
-    gtk_widget_set_sensitive(win->spinbutton_radio, false);
+    gtk_widget_set_sensitive(win->spinbutton_inicio_x, TRUE);
+    gtk_widget_set_sensitive(win->spinbutton_inicio_y, TRUE);
+    gtk_widget_set_sensitive(win->spinbutton_fin_x, TRUE);
+    gtk_widget_set_sensitive(win->spinbutton_fin_y, TRUE);
+    gtk_widget_set_sensitive(win->spinbutton_alto, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_ancho, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_radio, FALSE);
 }
 
 void on_radiobutton_cuadrado_toggled(GtkToggleButton* togglebutton,
@@ -171,13 +171,13 @@ void on_radiobutton_cuadrado_toggled(GtkToggleButton* togglebutton,
 #endif
     // 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);
-    gtk_widget_set_sensitive(win->spinbutton_fin_x, false);
-    gtk_widget_set_sensitive(win->spinbutton_fin_y, false);
-    gtk_widget_set_sensitive(win->spinbutton_alto, true);
-    gtk_widget_set_sensitive(win->spinbutton_ancho, false);
-    gtk_widget_set_sensitive(win->spinbutton_radio, false);
+    gtk_widget_set_sensitive(win->spinbutton_inicio_x, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_inicio_y, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_fin_x, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_fin_y, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_alto, TRUE);
+    gtk_widget_set_sensitive(win->spinbutton_ancho, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_radio, FALSE);
 }
 
 void on_radiobutton_rectangulo_toggled(GtkToggleButton* togglebutton,
@@ -187,13 +187,13 @@ void on_radiobutton_rectangulo_toggled(GtkToggleButton* togglebutton,
 #endif
     // 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);
-    gtk_widget_set_sensitive(win->spinbutton_fin_x, false);
-    gtk_widget_set_sensitive(win->spinbutton_fin_y, false);
-    gtk_widget_set_sensitive(win->spinbutton_alto, true);
-    gtk_widget_set_sensitive(win->spinbutton_ancho, true);
-    gtk_widget_set_sensitive(win->spinbutton_radio, false);
+    gtk_widget_set_sensitive(win->spinbutton_inicio_x, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_inicio_y, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_fin_x, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_fin_y, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_alto, TRUE);
+    gtk_widget_set_sensitive(win->spinbutton_ancho, TRUE);
+    gtk_widget_set_sensitive(win->spinbutton_radio, FALSE);
 }
 
 void on_radiobutton_circulo_toggled(GtkToggleButton* togglebutton,
@@ -203,12 +203,12 @@ void on_radiobutton_circulo_toggled(GtkToggleButton* togglebutton,
 #endif
     // 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);
-    gtk_widget_set_sensitive(win->spinbutton_fin_x, false);
-    gtk_widget_set_sensitive(win->spinbutton_fin_y, false);
-    gtk_widget_set_sensitive(win->spinbutton_alto, false);
-    gtk_widget_set_sensitive(win->spinbutton_ancho, false);
-    gtk_widget_set_sensitive(win->spinbutton_radio, true);
+    gtk_widget_set_sensitive(win->spinbutton_inicio_x, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_inicio_y, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_fin_x, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_fin_y, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_alto, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_ancho, FALSE);
+    gtk_widget_set_sensitive(win->spinbutton_radio, TRUE);
 }
 
index eb0f9e07a25b05eee1ea3a1c574190b96607be17..5f04c070ecbe2f3ee3f465d73a388636cc631955 100644 (file)
@@ -41,9 +41,11 @@ const char* TP5Window::COLOR[] = {
 };
 
 int TP5Window::get_color(void) const {
+    // Obtiene el string del color elegido.
     const char* str = gtk_entry_get_text(
             GTK_ENTRY(GTK_COMBO(combo_color)->entry));
     for (int i = 0; i < CANT_COLORES; i++) {
+        // Si el string con el color coincide, devuelvo el índice.
         if (!strcmp(str, COLOR[i])) {
             return i;
         }
@@ -130,7 +132,6 @@ TP5Window::TP5Window(void) {
     // Crea la leyenda y la agrega al marco.
     label_dibujo = gtk_label_new("Dibujo");
     gtk_frame_set_label_widget(GTK_FRAME(frame_dibujo), label_dibujo);
-    //gtk_label_set_justify(GTK_LABEL(label_dibujo), GTK_JUSTIFY_LEFT);
 
     // Crea el área de dibujo y la agrega al marco.
     drawingarea = gtk_drawing_area_new();
@@ -139,285 +140,359 @@ TP5Window::TP5Window(void) {
     // de la ventana.
     gtk_widget_set_size_request(drawingarea, 200, 200);
 
-    // Crea una matriz de 3x1 para los tres botones relativos al dibujo (y
+    // Crea una barra vertical de tres botones relativos al dibujo (y
     // salida). Esto es agregado a la región de la derecha del dibujo.
     vbuttonbox_botones = gtk_vbutton_box_new();
-    gtk_box_pack_start(GTK_BOX(hbox_botones), vbuttonbox_botones, FALSE, TRUE, 0);
+    gtk_box_pack_start(GTK_BOX(hbox_botones), vbuttonbox_botones, FALSE,
+            TRUE, 0);
+    // Deja un márgen de 5 píxeles.
     gtk_container_set_border_width(GTK_CONTAINER(vbuttonbox_botones), 5);
-    gtk_button_box_set_layout(GTK_BUTTON_BOX(vbuttonbox_botones), GTK_BUTTONBOX_SPREAD);
+    // Ajusta la distribución de los botones.
+    gtk_button_box_set_layout(GTK_BUTTON_BOX(vbuttonbox_botones),
+            GTK_BUTTONBOX_SPREAD);
 
+    // Agrega un botón predefinido para limpiar (con ícono y traducido a varios
+    // idiomas).
     button_limpiar = gtk_button_new_from_stock("gtk-clear");
     gtk_container_add(GTK_CONTAINER(vbuttonbox_botones), button_limpiar);
-    GTK_WIDGET_SET_FLAGS(button_limpiar, GTK_CAN_DEFAULT);
 
+    // Agrega un botón predefinido para actualizar (con ícono y traducido a
+    // varios idiomas).
     button_actualizar = gtk_button_new_from_stock("gtk-refresh");
     gtk_container_add(GTK_CONTAINER(vbuttonbox_botones), button_actualizar);
-    GTK_WIDGET_SET_FLAGS(button_actualizar, GTK_CAN_DEFAULT);
 
+    // Agrega un botón predefinido para salir (con ícono y traducido a varios
+    // idiomas).
     button_salir = gtk_button_new_from_stock("gtk-quit");
     gtk_container_add(GTK_CONTAINER(vbuttonbox_botones), button_salir);
-    GTK_WIDGET_SET_FLAGS(button_salir, GTK_CAN_DEFAULT);
 
+    /////////////// FIN DE LA MITAD SUPERIOR DE LA PANTALLA ///////////////////
+
+    // Se divide la parte inferior en tres columnas.
     hbox = gtk_hbox_new(FALSE, 0);
     gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
 
+    //////////// PRIMERA COLUMNA //////////////
+    // Crea un marco con una leyenda para poner los botones de selección de tipo
+    // de figura.
     frame_figura = gtk_frame_new(NULL);
     gtk_box_pack_start(GTK_BOX(hbox), frame_figura, FALSE, FALSE, 0);
+    // Crea la leyenda del marco.
+    label_figura = gtk_label_new("Figura");
+    gtk_frame_set_label_widget(GTK_FRAME(frame_figura), label_figura);
 
+    // Crea una división vertical para poner los botones de selección del tipo
+    // de figura.
     vbox_figura = gtk_vbox_new(FALSE, 0);
     gtk_container_add(GTK_CONTAINER(frame_figura), vbox_figura);
 
+    // Agrega botón de selección (radio button) para Línea.
     radiobutton_linea = gtk_radio_button_new_with_mnemonic(NULL, "_Línea");
-    gtk_box_pack_start(GTK_BOX(vbox_figura), radiobutton_linea, FALSE, FALSE, 0);
-    gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_linea), radiobutton_group);
-    radiobutton_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_linea));
+    gtk_box_pack_start(GTK_BOX(vbox_figura), radiobutton_linea,FALSE,FALSE,0);
+    // Lo agrega a un grupo de botones para controlar que sólo uno esté activo.
+    gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_linea),
+            radiobutton_group);
+    // Obtiene el puntero al grupo (ya que la función anterior también
+    // inicializa el grupo que estaba en NULL.
+    radiobutton_group = gtk_radio_button_get_group(
+            GTK_RADIO_BUTTON(radiobutton_linea));
+    // Activa el botón.
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radiobutton_linea), TRUE);
 
+    // Agrega botón de selección (radio button) para Cuadrado.
     radiobutton_cuadrado = gtk_radio_button_new_with_mnemonic(NULL, "_Cuadrado");
     gtk_box_pack_start(GTK_BOX(vbox_figura), radiobutton_cuadrado, FALSE, FALSE, 0);
     gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_cuadrado), radiobutton_group);
     radiobutton_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_cuadrado));
 
+    // Agrega botón de selección (radio button) para Rectángulo.
     radiobutton_rectangulo = gtk_radio_button_new_with_mnemonic(NULL, "_Rectángulo");
     gtk_box_pack_start(GTK_BOX(vbox_figura), radiobutton_rectangulo, FALSE, FALSE, 0);
     gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_rectangulo), radiobutton_group);
     radiobutton_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_rectangulo));
 
+    // Agrega botón de selección (radio button) para Círculo.
     radiobutton_circulo = gtk_radio_button_new_with_mnemonic(NULL, "Círc_ulo");
     gtk_box_pack_start(GTK_BOX(vbox_figura), radiobutton_circulo, FALSE, FALSE, 0);
     gtk_radio_button_set_group(GTK_RADIO_BUTTON(radiobutton_circulo), radiobutton_group);
     radiobutton_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radiobutton_circulo));
 
-    label_figura = gtk_label_new("Figura");
-    gtk_frame_set_label_widget(GTK_FRAME(frame_figura), label_figura);
-    gtk_label_set_justify(GTK_LABEL(label_figura), GTK_JUSTIFY_LEFT);
-
+    //////////// SEGUNDA COLUMNA //////////////
+    // Crea una división vertical para poner los campos comunes a todas las
+    // figuras y el botón de agregar.
     vbox_comun = gtk_vbox_new(FALSE, 0);
     gtk_box_pack_start(GTK_BOX(hbox), vbox_comun, TRUE, TRUE, 0);
 
+    // Crea una tabla de 3x2 para poner los campos de entrada con sus etiquetas.
     table_comun = gtk_table_new(3, 2, FALSE);
     gtk_box_pack_start(GTK_BOX(vbox_comun), table_comun, TRUE, TRUE, 0);
     gtk_container_set_border_width(GTK_CONTAINER(table_comun), 5);
+    // Asigna el espaciado entre celdas.
     gtk_table_set_row_spacings(GTK_TABLE(table_comun), 3);
     gtk_table_set_col_spacings(GTK_TABLE(table_comun), 5);
 
+    // Crea la etiqueta de Nombre.
     label_nombre = gtk_label_new("Nombre");
+    // La agrega a la tabla.
     gtk_table_attach(GTK_TABLE(table_comun), label_nombre, 0, 1, 0, 1,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_nombre), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_nombre), 0, 0.5);
 
+    // Crea y agrega la etiqueta de Color.
     label_color = gtk_label_new("Color");
     gtk_table_attach(GTK_TABLE(table_comun), label_color, 0, 1, 1, 2,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_color), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_color), 0, 0.5);
 
+    // Crea y agrega la etiqueta de Grosor.
     label_grosor = gtk_label_new("Grosor");
     gtk_table_attach(GTK_TABLE(table_comun), label_grosor, 0, 1, 2, 3,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_grosor), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_grosor), 0, 0.5);
 
+    // Crea y agrega una entrada texto para el Nombre.
     entry_nombre = gtk_entry_new();
     gtk_table_attach(GTK_TABLE(table_comun), entry_nombre, 1, 2, 0, 1,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(GTK_EXPAND), 0, 0);
+    // Sugiere un tamaño en X de 100 píxeles.
     gtk_widget_set_size_request(entry_nombre, 100, -1);
 
+    // Agrega un combo para elegir el color.
     combo_color = gtk_combo_new();
-    g_object_set_data(G_OBJECT(GTK_COMBO(combo_color)->popwin),
-            "GladeParentKey", combo_color);
     gtk_table_attach(GTK_TABLE(table_comun), combo_color, 1, 2, 1, 2,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(GTK_EXPAND), 0, 0);
+    // Sugiere un tamaño en X de 150 píxeles.
     gtk_widget_set_size_request(combo_color, 150, -1);
-    gtk_combo_set_value_in_list(GTK_COMBO(combo_color), TRUE, FALSE);
+    // Indica que sólo acepta valores que estén en la lista.
+    gtk_combo_set_value_in_list(GTK_COMBO(combo_color),
+            TRUE,   // Solo acepta valores en la lista.
+            FALSE); // No puede estar vacío.
+    // Llena la lista con los colores admitidos.
     for (int i = 0; i < CANT_COLORES; i++) {
         combo_color_items = g_list_append(combo_color_items,(gpointer) COLOR[i]);
     }
+    // Copia la lista para usarla en el combo.
     gtk_combo_set_popdown_strings(GTK_COMBO(combo_color), combo_color_items);
+    // Libera la memoria de la lista temporal.
     g_list_free(combo_color_items);
-
+    // Obtiene el campo de entrada del combo.
     combo_entry = GTK_COMBO(combo_color)->entry;
+    // Hace que no pueda editarse.
     gtk_editable_set_editable(GTK_EDITABLE(combo_entry), FALSE);
+    // Setea el primer color por defecto.
     gtk_entry_set_text(GTK_ENTRY(combo_entry), COLOR[0]);
 
-    spinbutton_grosor_adj = gtk_adjustment_new(1, 1, 10, 1, 10, 10);
+    // Crea valores de ajuste para la entrada de Grosor.
+    spinbutton_grosor_adj = gtk_adjustment_new(
+            1,   // Valor inicial.
+            1,   // Mínimo.
+            10,  // Máximo.
+            1,   // Tamaño del paso de incremento.
+            10,  // Tamaño del paso de incremento de página. | no aplicable
+            10); // Tamaño de página.                        | en este caso.
+    // Crea la entrada de grosor con flechas de incremento y decremento.
     spinbutton_grosor = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_grosor_adj), 1, 0);
+    // Agrega a la tabla.
     gtk_table_attach(GTK_TABLE(table_comun), spinbutton_grosor, 1, 2, 2, 3,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(GTK_EXPAND), 0, 0);
+    // Sugiere el tamaño.
     gtk_widget_set_size_request(spinbutton_grosor, 48, -1);
 
+    // Agrega el botón de Agregar.
     button_agregar = gtk_button_new_from_stock("gtk-add");
     gtk_box_pack_start(GTK_BOX(vbox_comun), button_agregar, FALSE, FALSE, 0);
 
+    ///////////////// TERCERA COLUMNA /////////////////
+    // Divide la comunma verticalmente en 2, arriba iran las entradas de puntos
+    // y abajo el alto, ancho y radio.
     vbox_otros = gtk_vbox_new(FALSE, 5);
     gtk_box_pack_start(GTK_BOX(hbox), vbox_otros, FALSE, FALSE, 0);
     gtk_container_set_border_width(GTK_CONTAINER(vbox_otros), 5);
 
+    // Crea una tabla de 4x3 para poner las entradas de los puntos con
+    // etiquetas de una forma como esta:
+    //        | X | Y | \.
+    // -------+---+---+ |
+    // Centro |   |   | |
+    // -------+---+---+ +--> 4
+    // Inicio |   |   | |
+    // -------+---+---+ |
+    // Fin    |   |   | |
+    // -------+---+---+/
+    // \_______.______/
+    //         |
+    //         V
+    //         3
     table_puntos = gtk_table_new(4, 3, FALSE);
     gtk_box_pack_start(GTK_BOX(vbox_otros), table_puntos, FALSE, FALSE, 0);
     gtk_table_set_col_spacings(GTK_TABLE(table_puntos), 2);
 
+    // Agrega una etiqueta vacía para la esquina superior izquierda.
+    label_puntos = gtk_label_new("");
+    gtk_table_attach(GTK_TABLE(table_puntos), label_puntos, 0, 1, 0, 1,
+           (GtkAttachOptions)(GTK_FILL),
+           (GtkAttachOptions)(0), 0, 0);
+
+    // Agrega etiqueta de Centro.
     label_centro = gtk_label_new("Centro");
     gtk_table_attach(GTK_TABLE(table_puntos), label_centro, 0, 1, 1, 2,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_centro), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_centro), 0, 0.5);
 
+    // Agrega etiqueta de Inicio.
     label_inicio = gtk_label_new("Inicio");
     gtk_table_attach(GTK_TABLE(table_puntos), label_inicio, 0, 1, 2, 3,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_inicio), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_inicio), 0, 0.5);
 
+    // Agrega etiqueta de Fin.
     label_fin = gtk_label_new("Fin");
     gtk_table_attach(GTK_TABLE(table_puntos), label_fin, 0, 1, 3, 4,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_fin), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_fin), 0, 0.5);
-
-    label_puntos = gtk_label_new("");
-    gtk_table_attach(GTK_TABLE(table_puntos), label_puntos, 0, 1, 0, 1,
-           (GtkAttachOptions)(GTK_FILL),
-           (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_puntos), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_puntos), 0, 0.5);
 
+    // Agrega etiqueta de X.
     label_x = gtk_label_new("X");
     gtk_table_attach(GTK_TABLE(table_puntos), label_x, 1, 2, 0, 1,
            (GtkAttachOptions)(0),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_misc_set_alignment(GTK_MISC(label_x), 0, 0.5);
 
+    // Agrega etiqueta de Y.
     label_y = gtk_label_new("Y");
     gtk_table_attach(GTK_TABLE(table_puntos), label_y, 2, 3, 0, 1,
            (GtkAttachOptions)(GTK_EXPAND),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_misc_set_alignment(GTK_MISC(label_y), 0, 0.5);
 
+    // Crea botón con ajuste para la coordenada X del Centro.
     spinbutton_centro_x_adj = gtk_adjustment_new(0, 0, 1000, 1, 10, 10);
     spinbutton_centro_x = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_centro_x_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_puntos), spinbutton_centro_x, 1, 2, 1, 2,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
 
+    // Crea botón con ajuste para la coordenada Y del Centro.
     spinbutton_centro_y_adj = gtk_adjustment_new(0, 0, 1000, 1, 10, 10);
     spinbutton_centro_y = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_centro_y_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_puntos), spinbutton_centro_y, 2, 3, 1, 2,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
 
+    // Crea botón con ajuste para la coordenada X del Inicio.
     spinbutton_inicio_x_adj = gtk_adjustment_new(0, 0, 1000, 1, 10, 10);
     spinbutton_inicio_x = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_inicio_x_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_puntos), spinbutton_inicio_x, 1, 2, 2, 3,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
 
+    // Crea botón con ajuste para la coordenada Y del Inicio.
     spinbutton_inicio_y_adj = gtk_adjustment_new(0, 0, 1000, 1, 10, 10);
     spinbutton_inicio_y = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_inicio_y_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_puntos), spinbutton_inicio_y, 2, 3, 2, 3,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
 
+    // Crea botón con ajuste para la coordenada X del Fin.
     spinbutton_fin_x_adj = gtk_adjustment_new(0, 0, 1000, 1, 10, 10);
     spinbutton_fin_x = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_fin_x_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_puntos), spinbutton_fin_x, 1, 2, 3, 4,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
 
+    // Crea botón con ajuste para la coordenada Y del Fin.
     spinbutton_fin_y_adj = gtk_adjustment_new(0, 0, 1000, 1, 10, 10);
     spinbutton_fin_y = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_fin_y_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_puntos), spinbutton_fin_y, 2, 3, 3, 4,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
 
+    // Se crea una tabla de 3x2 para poner las entradas que faltan (Alto, Ancho
+    // y Radio) con sus etiquetas.
     table_otros = gtk_table_new(3, 2, FALSE);
     gtk_box_pack_start(GTK_BOX(vbox_otros), table_otros, FALSE, FALSE, 0);
     gtk_table_set_col_spacings(GTK_TABLE(table_otros), 2);
 
+    // Agrega etiqueta de Alto.
     label_alto = gtk_label_new("Alto");
     gtk_table_attach(GTK_TABLE(table_otros), label_alto, 0, 1, 0, 1,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_alto), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_alto), 0, 0.5);
 
+    // Agrega etiqueta de Ancho.
     label_ancho = gtk_label_new("Ancho");
     gtk_table_attach(GTK_TABLE(table_otros), label_ancho, 0, 1, 1, 2,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_ancho), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_ancho), 0, 0.5);
 
+    // Agrega etiqueta de Radio.
     label_radio = gtk_label_new("Radio");
     gtk_table_attach(GTK_TABLE(table_otros), label_radio, 0, 1, 2, 3,
            (GtkAttachOptions)(GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
-    gtk_label_set_justify(GTK_LABEL(label_radio), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment(GTK_MISC(label_radio), 0, 0.5);
 
+    // Agrega botón con ajuste para el Alto.
     spinbutton_alto_adj = gtk_adjustment_new(1, 1, 1000, 1, 10, 10);
     spinbutton_alto = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_alto_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_otros), spinbutton_alto, 1, 2, 0, 1,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
+    // Lo desactiva ya que inicialmente está seleccionada la Línea.
     gtk_widget_set_sensitive(spinbutton_alto, FALSE);
 
+    // Agrega botón con ajuste para el Ancho.
     spinbutton_ancho_adj = gtk_adjustment_new(1, 1, 1000, 1, 10, 10);
     spinbutton_ancho = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_ancho_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_otros), spinbutton_ancho, 1, 2, 1, 2,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
+    // Lo desactiva ya que inicialmente está seleccionada la Línea.
     gtk_widget_set_sensitive(spinbutton_ancho, FALSE);
 
+    // Agrega botón con ajuste para el Radio.
     spinbutton_radio_adj = gtk_adjustment_new(1, 1, 1000, 1, 10, 10);
     spinbutton_radio = gtk_spin_button_new(GTK_ADJUSTMENT(spinbutton_radio_adj), 1, 0);
     gtk_table_attach(GTK_TABLE(table_otros), spinbutton_radio, 1, 2, 2, 3,
            (GtkAttachOptions)(GTK_EXPAND | GTK_FILL),
            (GtkAttachOptions)(0), 0, 0);
+    // Lo desactiva ya que inicialmente está seleccionada la Línea.
     gtk_widget_set_sensitive(spinbutton_radio, FALSE);
 
+    ////////////////// ASIGNACION DE FUNCIONES CALLBACK ///////////////////////
+
+    // Conecta el evento (señal) delete_event para la ventana principal.
     g_signal_connect((gpointer) window, "delete_event",
-            G_CALLBACK(on_window_delete_event),
-            NULL);
+            G_CALLBACK(on_window_delete_event), NULL);
+    // Conecta el evento (señal) expose para el área de dibujo.
     g_signal_connect((gpointer) drawingarea, "expose_event",
-            G_CALLBACK(on_drawingarea_expose_event),
-            &dibujo);
+            G_CALLBACK(on_drawingarea_expose_event), &dibujo);
+    // Conecta el evento (señal) clicked del botón Borrar.
     g_signal_connect((gpointer) button_limpiar, "clicked",
-            G_CALLBACK(on_button_borrar_clicked),
-            &dibujo);
+            G_CALLBACK(on_button_borrar_clicked), &dibujo);
+    // Conecta el evento (señal) clicked del botón Actualizar.
     g_signal_connect((gpointer) button_actualizar, "clicked",
-            G_CALLBACK(on_button_graficar_clicked),
-            drawingarea);
+            G_CALLBACK(on_button_graficar_clicked), drawingarea);
+    // Conecta el evento (señal) clicked del botón  Salir.
     g_signal_connect((gpointer) button_salir, "clicked",
-            G_CALLBACK(on_button_salir_clicked),
-            NULL);
+            G_CALLBACK(on_button_salir_clicked), NULL);
+    // Conecta el evento (señal) clicked del botón  Agregar.
     g_signal_connect((gpointer) button_agregar, "clicked",
-            G_CALLBACK(on_button_agregar_clicked),
-            this);
+            G_CALLBACK(on_button_agregar_clicked), this);
+    // Conecta el evento (señal) toggled del botón de selección Línea.
     g_signal_connect((gpointer) radiobutton_linea, "toggled",
-            G_CALLBACK(on_radiobutton_linea_toggled),
-            this);
+            G_CALLBACK(on_radiobutton_linea_toggled), this);
+    // Conecta el evento (señal) toggled del botón de selección Cuadrado.
     g_signal_connect((gpointer) radiobutton_cuadrado, "toggled",
-            G_CALLBACK(on_radiobutton_cuadrado_toggled),
-            this);
+            G_CALLBACK(on_radiobutton_cuadrado_toggled), this);
+    // Conecta el evento (señal) toggled del botón de selección Rectángulo.
     g_signal_connect((gpointer) radiobutton_rectangulo, "toggled",
-            G_CALLBACK(on_radiobutton_rectangulo_toggled),
-            this);
+            G_CALLBACK(on_radiobutton_rectangulo_toggled), this);
+    // Conecta el evento (señal) toggled del botón de selección Círculo.
     g_signal_connect((gpointer) radiobutton_circulo, "toggled",
-            G_CALLBACK(on_radiobutton_circulo_toggled),
-            this);
+            G_CALLBACK(on_radiobutton_circulo_toggled), this);
 
-    // Muestro la ventana principal y todos sus componentes.
+    // Muestrá la ventana principal y todos sus componentes.
     gtk_widget_show_all(window);
 }