All pastes #465765 Raw Edit

Something

public c v1 · immutable
#465765 ·published 2007-04-30 15:48 UTC
rendered paste body
#include <stdlib.h>#include <stdio.h>#include <gtk/gtk.h>void OnDestroy(GtkWidget *pWidget, gpointer data);void OnQuit(GtkWidget* pWidget, gpointer data);void OnActivate(GtkWidget* pWidget, gpointer data);void reglerHeure(GtkWidget* pWidget, gpointer data);void fermerFenetreHeure(GtkWidget *pWidget, gpointer data);void appliquerHeure(GtkWidget *pWidget, gpointer data);struct StructHeure {	GtkWidget* heure;	GtkWidget* minute;	GtkWidget* seconde;	GtkWidget* jour;	GtkWidget* mois;	GtkWidget* annee;};int main(int argc, char **argv){    gtk_init(&argc, &argv);	//Fenetre principale	GtkWidget* fenetrePrinc = gtk_window_new(GTK_WINDOW_TOPLEVEL);	gtk_window_set_position(GTK_WINDOW(fenetrePrinc), GTK_WIN_POS_CENTER);	gtk_window_set_title(GTK_WINDOW(fenetrePrinc), "Cocot's window!");	gtk_window_set_default_size(GTK_WINDOW(fenetrePrinc), 400, 400);    g_signal_connect(G_OBJECT(fenetrePrinc), "destroy", G_CALLBACK(OnDestroy), NULL);		//table	GtkWidget* table = gtk_table_new(10, 10, TRUE);	gtk_container_add(GTK_CONTAINER(fenetrePrinc), GTK_WIDGET(table));    	//Labels	gchar* texteLabel = g_locale_to_utf8("<big>Cocot's <b>label</b>!</big>", -1, NULL, NULL, NULL);	GtkWidget* label = gtk_label_new(texteLabel);    g_free(texteLabel);	gtk_label_set_use_markup(GTK_LABEL(label), TRUE);	gtk_table_attach_defaults(GTK_TABLE(table), label, 3, 6, 0, 1);	//bouton	GtkWidget* boutonQuit = gtk_button_new_from_stock(GTK_STOCK_QUIT);	g_signal_connect(G_OBJECT(boutonQuit), "clicked", G_CALLBACK(OnQuit), (GtkWidget*)fenetrePrinc);		gtk_table_attach_defaults(GTK_TABLE(table), boutonQuit, 9, 10, 9, 10);	//edit et copie :)	GtkWidget* edit = gtk_entry_new();	gtk_table_attach_defaults(GTK_TABLE(table), edit, 0, 5, 2, 3);	GtkWidget* labelRetourEdit = gtk_label_new("");	gtk_table_attach_defaults(GTK_TABLE(table), labelRetourEdit, 0, 5, 3, 4);	g_signal_connect(G_OBJECT(edit), "activate", G_CALLBACK(OnActivate), (GtkWidget*)labelRetourEdit);	GtkWidget* deco = gtk_frame_new("Tape ton texte et \"Entrer\"");	gtk_table_attach_defaults(GTK_TABLE(table), deco, 0, 5, 1, 4);	//Reglage de l'heure	GtkWidget* buttonHeure = gtk_button_new_with_label("Heure");	gtk_table_attach_defaults(GTK_TABLE(table), buttonHeure, 9, 10, 5, 6);	g_signal_connect(G_OBJECT(buttonHeure), "clicked", G_CALLBACK(reglerHeure), (GtkWidget*)fenetrePrinc);		gtk_widget_show_all(fenetrePrinc);	gtk_main();    return EXIT_SUCCESS;}void OnDestroy(GtkWidget *pWidget, gpointer data){    /* Arret de la boucle evenementielle */    gtk_main_quit();}void OnQuit(GtkWidget* pWidget, gpointer data){GtkWidget* confirme = gtk_message_dialog_new(GTK_WINDOW(data), GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "Vraiment ?");switch(gtk_dialog_run(GTK_DIALOG(confirme)))	{	case GTK_RESPONSE_YES:		gtk_main_quit();		break;	case GTK_RESPONSE_NO:		gtk_widget_destroy(confirme);		break;	}}void OnActivate(GtkWidget* pWidget, gpointer data){	const gchar *texte = gtk_entry_get_text(GTK_ENTRY(pWidget));	gtk_label_set_text(GTK_LABEL(data), texte);	gtk_entry_set_text(GTK_ENTRY(pWidget), "");}void reglerHeure(GtkWidget* pWidget, gpointer data){	struct StructHeure Entry;	//fenetre	GtkWidget* fenetreHeure = gtk_window_new(GTK_WINDOW_TOPLEVEL);	gtk_window_set_position(GTK_WINDOW(fenetreHeure), GTK_WIN_POS_CENTER);	gtk_window_set_title(GTK_WINDOW(fenetreHeure), "Reglage de l'heure");	gtk_window_set_default_size(GTK_WINDOW(fenetreHeure), 380, 300);	gtk_window_set_resizable (GTK_WINDOW(fenetreHeure), TRUE);	//Hbox	GtkWidget* VBox = gtk_vbox_new(TRUE, 0);	gtk_container_add(GTK_CONTAINER(fenetreHeure), VBox);	GtkWidget* HBoxHeure = gtk_hbox_new(TRUE, 0);	GtkWidget* heure = gtk_label_new("Entre l'heure");	gtk_box_pack_start(GTK_BOX(HBoxHeure), heure, TRUE, TRUE, 0);	Entry.heure = gtk_entry_new_with_max_length(2);	gtk_widget_set_size_request(Entry.heure, 30, 20);	gtk_box_pack_start(GTK_BOX(HBoxHeure), Entry.heure, TRUE, FALSE, 0);	gtk_box_pack_start(GTK_BOX(VBox), HBoxHeure, TRUE, TRUE, 0);	GtkWidget* HBoxMinute = gtk_hbox_new(TRUE, 0);	GtkWidget* minutes = gtk_label_new("Entre les minutes");	gtk_box_pack_start(GTK_BOX(HBoxMinute), minutes, TRUE, TRUE, 0);	Entry.minute = gtk_entry_new_with_max_length(2);	gtk_widget_set_size_request(Entry.minute, 30, 20);	gtk_box_pack_start(GTK_BOX(HBoxMinute), Entry.minute, TRUE, FALSE, 0);	gtk_box_pack_start(GTK_BOX(VBox), HBoxMinute, TRUE, TRUE, 0);	GtkWidget* HBoxSeconde = gtk_hbox_new(TRUE, 0);	GtkWidget* Seconde = gtk_label_new("Entre les secondes");	gtk_box_pack_start(GTK_BOX(HBoxSeconde), Seconde, TRUE, TRUE, 0);	Entry.seconde = gtk_entry_new_with_max_length(2);	gtk_widget_set_size_request(Entry.seconde, 30, 20);	gtk_box_pack_start(GTK_BOX(HBoxSeconde), Entry.seconde, TRUE, FALSE, 0);	gtk_box_pack_start(GTK_BOX(VBox), HBoxSeconde, TRUE, TRUE, 0);	GtkWidget* HBoxJour = gtk_hbox_new(TRUE, 0);	GtkWidget* jour = gtk_label_new("Entre le jour");	gtk_box_pack_start(GTK_BOX(HBoxJour), jour, TRUE, TRUE, 0);	Entry.jour = gtk_entry_new_with_max_length(2);	gtk_widget_set_size_request(Entry.jour, 30, 20);	gtk_box_pack_start(GTK_BOX(HBoxJour), Entry.jour, TRUE, FALSE, 0);	gtk_box_pack_start(GTK_BOX(VBox), HBoxJour, TRUE, TRUE, 0);	GtkWidget* HBoxMois = gtk_hbox_new(TRUE, 0);	GtkWidget* Mois = gtk_label_new("Entre le nom du mois (Anglais)");	gtk_box_pack_start(GTK_BOX(HBoxMois), Mois, TRUE, TRUE, 0);	Entry.mois = gtk_entry_new();	gtk_box_pack_start(GTK_BOX(HBoxMois), Entry.mois, TRUE, FALSE, 0);	gtk_box_pack_start(GTK_BOX(VBox), HBoxMois, TRUE, TRUE, 0);	GtkWidget* HBoxAnnee = gtk_hbox_new(TRUE, 0);	GtkWidget* Annee = gtk_label_new("Entre l'annee");	gtk_box_pack_start(GTK_BOX(HBoxAnnee), Annee, TRUE, TRUE, 0);	Entry.annee = gtk_entry_new_with_max_length(4);	gtk_widget_set_size_request(Entry.annee, 40, 20);	gtk_box_pack_start(GTK_BOX(HBoxAnnee), Entry.annee, TRUE, FALSE, 0);	gtk_box_pack_start(GTK_BOX(VBox), HBoxAnnee, TRUE, TRUE, 0);	GtkWidget* HBoxButton = gtk_hbox_new(TRUE, 0);	GtkWidget* buttonOK = gtk_button_new_from_stock(GTK_STOCK_APPLY);		gtk_box_pack_start(GTK_BOX(HBoxButton), buttonOK, TRUE, TRUE, 5);	GtkWidget* buttonCANCEL = gtk_button_new_from_stock(GTK_STOCK_CANCEL);		gtk_box_pack_start(GTK_BOX(HBoxButton), buttonCANCEL, TRUE, TRUE, 5);	gtk_box_pack_start(GTK_BOX(VBox), HBoxButton, TRUE, FALSE, 0);	g_signal_connect(G_OBJECT(buttonCANCEL), "clicked", G_CALLBACK(fermerFenetreHeure), (GtkWidget*)fenetreHeure);	g_signal_connect(G_OBJECT(buttonOK), "clicked", G_CALLBACK(appliquerHeure), (gpointer*) &Entry);	gtk_widget_show_all(fenetreHeure);}void fermerFenetreHeure(GtkWidget *pWidget, gpointer data){	gtk_widget_destroy((GtkWidget*) data);}void appliquerHeure(GtkWidget *pWidget, gpointer data){	StructHeure* Struct = (StructHeure*)data;	const gchar *heure = gtk_entry_get_text(GTK_ENTRY(Struct->heure));	const gchar *minute = gtk_entry_get_text(GTK_ENTRY(Struct->minute));	const gchar *seconde = gtk_entry_get_text(GTK_ENTRY(Struct->seconde));	const gchar *jour = gtk_entry_get_text(GTK_ENTRY(Struct->jour));	const gchar *mois = gtk_entry_get_text(GTK_ENTRY(Struct->mois));	const gchar *annee = gtk_entry_get_text(GTK_ENTRY(Struct->annee));}