#include #include /* Fonction appelee lors d'un clic sur le bouton "Saluer" */ void callback_ouverture_modale(Etk_Widget *widget, void *evenement, void *donnees) { fprintf(stderr, "Ouverture de la fenêtre popup avec comme prénom : %s\n", etk_entry_text_get(ETK_ENTRY(donnees))); fprintf(stderr, "Quel type? %s\n", etk_type_name_get(etk_widget_type_get (donnees))); } /* Fonction appelee lors de la fermeture de la feneter principale, donc de l'application */ void callback_destruction(Etk_Widget *widget, void *evenement, void *donnees) { /* Arret de la boucle d'execution */ etk_main_quit(); } void creer_fenetre() { Etk_Widget *window, *vbox, *bouton, *saisie, *texte; /* Creation de la fenetre principale */ window = etk_window_new(); etk_window_title_set(ETK_WINDOW(window), "Test ETK 1/2 : saisie"); etk_window_wmclass_set(ETK_WINDOW(window), "ETK_WINDOW", "ETK_WINDOW"); etk_widget_size_request_set(window, 200, 73); etk_signal_connect("delete_event", ETK_OBJECT(window), ETK_CALLBACK(callback_destruction), NULL); /* Creation d'une boite d'alignement vertical pour positionner nos widgets */ vbox = etk_vbox_new(ETK_FALSE, 0); etk_container_add(ETK_CONTAINER(window), vbox); /* Creation du label pour demander la saisie du prenom */ texte = etk_label_new("Entrez votre prénom :"); etk_container_add(ETK_CONTAINER(vbox), texte); /* Creation de la zone de saisie */ saisie = etk_entry_new(); etk_container_add(ETK_CONTAINER(vbox), saisie); /* Creation du bouton d'appel de la popup */ bouton = etk_button_new_with_label("Saluer"); etk_signal_connect("clicked", ETK_OBJECT(bouton), ETK_CALLBACK(callback_ouverture_modale), saisie); etk_container_add(ETK_CONTAINER(vbox), bouton); /* Lancement de la boucle d'execution */ etk_widget_show_all(window); etk_main(); } int main(int argc, char* argv[]) { /* Initialisation de etk */ if (!etk_init(&argc, &argv)) { fprintf(stderr, "Impossible d'initialiser etk\n"); return 1; } creer_fenetre(); return 0; }