• # selon moi...

    Posté par . En réponse au message Conception d'une application avec GUI. Évalué à 2.

    bonjour,

    Je souhaiterais connaitre l'attitude des développeurs quand ils se retrouvent face à la programmation d'une application qui doit avoir une interface graphique.

    content :)

    Je pense que le mieux est de découpler l'interface graphique du core de l'application, pour pouvoir programmer les deux indépendemment l'un de l'autre.

    En effet (c'est pas toujours facile)

    Mais je me demande ensuite comment traiter les sorties du core pour les intégrer dans l'interface graphique

    J'utilise GTK+ (en C) pour faire mes interfaces graphiques.
    La communication entre l'interface graphique et le reste de l'application se fait principalement par gestion d'évènement (dans le sens core -> gui).
    Dans le sens gui -> core ben ça se fait par passage d'arguments, y'a pas plus simple.

    petit exemple (bon ça fait un moment que j'ai pas touché à GTK donc le code peut être incorrect):

    Ton interface contient une boîte de saisie et un bouton pour valider


    GtkWidget *pEntry = gtk_entry_new();
    GtkWidget *pButton = gtk_button_new_with_label("Valider");


    quand tu valide, l'appui sur le bouton valider provoque un événement que te permet de récuperer la fonction suivante:


    g_signal_connect(G_OBJECT(pButton), "clicked", G_CALLBACK(on_button), pEntry);


    Cette fonction capte l'événement "clicked" du bouton et prend également en paramètre la zone de saisie (pEntry).

    Cette fonction envoie à une fonction callback (fonction de rappel) les paramètres pButton et pEntry.

    La seule chose que tu veux c'est récupérer le contenu de la zone de saisie et bien tu le fait dans la fonction on_button comme ceci:


    const gchar *sText = gtk_entry_get_text(GTK_ENTRY(pEntry));


    maintenant tu fait ce que tu veux de cette chaîne de caractère comme la passer en paramètre d'une fonction de ton core.

    Voilà, je sais pas si j'ai été clair.

    Plus d'info sur gtk : http://www.gtk-fr.org(...)

    très bon site avec d'excellents tutoriels

    bye