// Include gtk
#include <gtk/gtk.h>
void btn_clicked_1 (GtkButton *self, GPtrArray *textos);
void btn_clicked_2 (GtkButton *self, GPtrArray *textos);
static void on_activate (GtkApplication *app)
{
GtkWidget *window = gtk_application_window_new (app);
gtk_window_set_position (GTK_WINDOW(window),GTK_WIN_POS_CENTER);
//gtk_window_set_default_size(GTK_WINDOW(window), 300,200);
gtk_window_set_default_size(GTK_WINDOW(window), 800,500);
//gtk_container_set_border_width(GTK_CONTAINER(window),10);
GtkWidget *header = g_object_new(
GTK_TYPE_HEADER_BAR,
"visible", TRUE,
"show-close-button", TRUE,
"title", "Installer Arch Linux - Arcris",
NULL
);
GtkWidget *menu1 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", "Bienvenida",
"halign", GTK_ALIGN_START,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *menu2 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", "Ubicación",
"halign", GTK_ALIGN_START,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *menu3 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", "Disco",
"halign", GTK_ALIGN_START,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *menu4 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", "Usuario",
"halign", GTK_ALIGN_START,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *menu5 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", "Escritorio",
"halign", GTK_ALIGN_START,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *menu6 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", "Extras",
"halign", GTK_ALIGN_START,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *menu7 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", "Instalación",
"halign", GTK_ALIGN_START,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *menu8 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", "Finalizar",
"halign", GTK_ALIGN_START,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *menu9 = g_object_new(
GTK_TYPE_LABEL,
"visible", TRUE,
"label", " Youtube:\nCodigo Cristo",
"halign", GTK_ALIGN_CENTER,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *box_principal = g_object_new(
GTK_TYPE_BOX,
"visible", TRUE,
"orientation", GTK_ORIENTATION_HORIZONTAL,
NULL
);
GtkWidget *btn1 = g_object_new(
GTK_TYPE_BUTTON,
"visible", TRUE,
"label", "Windows",
"halign", GTK_ALIGN_CENTER,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *btn2 = g_object_new(
GTK_TYPE_BUTTON,
"visible", TRUE,
"label", "Salir",
"halign", GTK_ALIGN_CENTER,
"valign", GTK_ALIGN_CENTER,
NULL
);
GtkWidget *box_menu= g_object_new(
GTK_TYPE_BOX,
"visible", TRUE,
"orientation", GTK_ORIENTATION_VERTICAL,
"spacing", 10,
NULL
);
GtkWidget *box_botones= g_object_new(
GTK_TYPE_BOX,
"visible", TRUE,
"orientation", GTK_ORIENTATION_HORIZONTAL,
"spacing", 10,
NULL
);
GdkPixbuf *logoscale = gdk_pixbuf_new_from_file_at_scale("Logo.png",100,100,TRUE,NULL);
GtkWidget *logo = gtk_image_new_from_pixbuf (logoscale);
GtkWidget *separador = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
GPtrArray *textos = g_ptr_array_new();
g_ptr_array_add(textos, menu1);
g_ptr_array_add(textos, menu2);
gtk_window_set_titlebar(GTK_WINDOW(window), header);
gtk_box_pack_start(GTK_BOX(box_principal), box_menu, FALSE, TRUE, 15);
gtk_box_pack_start(GTK_BOX(box_principal), separador, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(box_principal), box_botones, TRUE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(box_menu), logo, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_menu), menu1, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_menu), menu2, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_menu), menu3, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_menu), menu4, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_menu), menu5, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_menu), menu6, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_menu), menu7, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_menu), menu8, FALSE, FALSE, 5);
gtk_box_pack_end(GTK_BOX(box_menu), menu9, TRUE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(box_botones), btn1, TRUE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(box_botones), btn2, TRUE, FALSE, 0);
gtk_container_add(GTK_CONTAINER(window), box_principal);
g_signal_connect(btn1, "clicked", G_CALLBACK(btn_clicked_1), textos);
g_signal_connect(btn2, "clicked", G_CALLBACK(btn_clicked_2), textos);
g_signal_connect_swapped (G_OBJECT(window), "destroy", G_CALLBACK (gtk_window_close), window);
gtk_widget_show_all (window);
}
int main (int argc, char *argv[])
{
GtkApplication *app = gtk_application_new ("com.github.CodigoCristo.Arcris",
G_APPLICATION_FLAGS_NONE);
g_signal_connect (app, "activate", G_CALLBACK (on_activate), NULL);
return g_application_run (G_APPLICATION (app), argc, argv);
}
void btn_clicked_1 (GtkButton *self, GPtrArray *textos) {
gtk_label_set_label (GTK_LABEL ( g_ptr_array_index(textos,0) ), "Acción 1");
gtk_label_set_label (GTK_LABEL ( g_ptr_array_index(textos,1) ), "Acción 1");
}
void btn_clicked_2 (GtkButton *self, GPtrArray *textos) {
gtk_label_set_label (GTK_LABEL ( g_ptr_array_index(textos,0) ), "Acción 2");
gtk_label_set_label (GTK_LABEL ( g_ptr_array_index(textos,1) ), "Acción 2");
}