IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

g_signal_connect et ses arguments


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut g_signal_connect et ses arguments
    Bonjour,

    Pour mon interface, j'utilise un épluchage en règle de mon disque pour pouvoir faire une sélection multiple de fichiers.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    void LectureRepertoireImage (GtkWidget *Widget, gchar *NomDossier)
    {
        GtkWidget *Fenetre;
        GtkWidget *BoxExt;
        GtkWidget *BoxBoutons;
        GtkWidget *BoxCommande;
        GtkWidget *BarreDefilement;
        GtkWidget *Bouton;
    
        Fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title(GTK_WINDOW(Fenetre),"Contenu du répertoire Images");
        gtk_window_set_default_size(GTK_WINDOW(Fenetre), 320, 200);
        gtk_window_set_position(GTK_WINDOW(Fenetre), GTK_WIN_POS_CENTER);
    
        /*VBox extérieure*/
        BoxExt = gtk_vbox_new(TRUE, 0);
        /*Ajout dans la Fenetre*/
        gtk_container_add(GTK_CONTAINER(Fenetre), BoxExt);
    
        /*Creation d'une fenetre défilable*/
        BarreDefilement = gtk_scrolled_window_new(NULL, NULL);
        /*Ajout des "défilables" dans BoxExt*/
        gtk_container_add(GTK_CONTAINER(BoxExt), BarreDefilement);
        /*Fixation des politiques de défilement - Aucune en horizontale et Toujours en verticale*/
        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(BarreDefilement), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
        /*Creation de la boite à boutons*/
        BoxBoutons = gtk_vbox_new(FALSE, 0);
        /*Ajout des proprietes d'étirementà la boite de boutons*/
        gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(BarreDefilement), BoxBoutons);
    
        GDir *Repertoire = g_dir_open(NomDossier, 0, NULL);
        if(Repertoire)
        {
            const gchar *NomFichier = NULL;
            while ((NomFichier = g_dir_read_name(Repertoire)))
            {
                Bouton = gtk_check_button_new_with_label(NomFichier);
                gtk_box_pack_start(GTK_BOX(BoxBoutons), Bouton, FALSE, FALSE, 0);
            }
        }
    
        /*Boite horizontale avec les boutons de commande*/
        BoxCommande = gtk_hbox_new(TRUE, 0);
        /*Ajout de cette HBox dans la BoxExt*/
        gtk_container_add(GTK_CONTAINER(BoxExt), BoxCommande);
        Bouton = gtk_button_new_from_stock(GTK_STOCK_OK);
        gtk_box_pack_start(GTK_BOX(BoxCommande), Bouton, FALSE, FALSE, 0);
        g_signal_connect(G_OBJECT(Bouton), "activate", G_CALLBACK(AjoutDiaporama), (GtkWidget *)BoxBoutons);
    
        Bouton = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
        gtk_box_pack_start(GTK_BOX(BoxCommande), Bouton, FALSE, FALSE, 0);
    
        gtk_widget_show_all(Fenetre);
    }
    Mais me voilà bien embêtée... Comment envoyer, en même temps que la VBox connue sous le nom de BoxBoutons, le nom du dossier d'origine (NomDossier), pour obtenir le nom complet du fichier ?
    Dois-je changer de fonction g_signal ?

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259

  3. #3
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut
    Fichtre... Ça n'a pas l'air simple. Merci.

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Hmm j'ai relu l'entrée de la faq, elle est un peu bizarre. L'idée générale est que tu définis une structure où tu mets les différentes données qui t'intéressent.

  5. #5
    Membre confirmé
    Profil pro
    Recette MOE/MOA
    Inscrit en
    Mai 2009
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Recette MOE/MOA

    Informations forums :
    Inscription : Mai 2009
    Messages : 60
    Par défaut
    La grande question est : faut-il que je fasse que déclaration simplissime comme sur la FAQ, ou dois-je tenter la création de nouveau type de Widget, en suivant le tutoriel de Frank Hecht (http://franckh.developpez.com/tutori...eation-widget/) ?

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Ca dépend, je choisis au cas par cas en général Si ça a du sens de dériver un nouvel objet, autant le faire, ça peut faire gagner du temps dans d'autres cas. Si ca n'a pas trop de sens, ça sera plus une perte de temps qu'autre chose.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [E-00][VBA] Créer une fonction et ses arguments
    Par tiyolx dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/07/2013, 09h43
  2. fonction qui modifie ses arguments d'entrée
    Par Amergin dans le forum Caml
    Réponses: 9
    Dernier message: 05/01/2009, 17h32
  3. [JVM] Récupére ses arguments
    Par GyZmoO dans le forum Général Java
    Réponses: 2
    Dernier message: 23/01/2008, 17h28
  4. fwrite et ses argument
    Par Maria1505 dans le forum Langage
    Réponses: 2
    Dernier message: 10/12/2006, 16h42
  5. Masquer sous unix un processus ou ses arguments
    Par alainmahe dans le forum Linux
    Réponses: 6
    Dernier message: 08/12/2006, 13h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo