Untitled
unknown
c_cpp
3 years ago
5.9 kB
1
Indexable
// 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"); }
Editor is loading...