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 :

Accéder à un bouton d'une toolbar


Sujet :

GTK+ avec C & C++

  1. #1
    Membre très actif Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Par défaut Accéder à un bouton d'une toolbar
    Bonjour,
    J'ai besoin d'accéder à un bouton d'une barre d'outil pour y attacher mes données grâce à g_object_set_data.

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Barre d'outils
       p_disp_data->p_toolbar = gtk_toolbar_new ();
       p_disp_data->p_window_box = gtk_vbox_new (FALSE, 0);
       gtk_container_add(GTK_CONTAINER(p_disp_data->p_main_window), p_disp_data->p_window_box);
       gtk_box_pack_start(GTK_BOX(p_disp_data->p_window_box), p_disp_data->p_toolbar, FALSE, FALSE, 0);
       // Bouton "Editer la liste"
       gtk_toolbar_append_item (GTK_TOOLBAR (p_disp_data->p_toolbar), "Edit server list", "Edit server list", NULL, p_disp_data->p_image_lserv, G_CALLBACK(server_manager), (gpointer) p_server);
    Comment puis-je procéder ? Merci !

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Je vais répondre un peu à côté. La fonction gtk_toolbar_append_item(); est obsolète. Il faut utiliser maintenant gtk_toolbar_insert();.
    En partant de là il faut que tu crées un GtkToolItem de ton choix. Attacher une donnée devient alors facile puisque tu as le pointeur de ton bouton lors de la création.
    Ensuite si tu ne mémorises pas ce pointeur et que tu connais la position de ton bouton dans le GtkToolBar tu peux utiliser gtk_toolbar_get_nth_item (); pour le récupérer et une fois fait récupérer la donnée attachée.

  3. #3
    Membre très actif Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Par défaut
    Ok, mais je ne comprends pas comment utiliser cela. Voici mon code :

    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
     
    struct display_data
    {
       GtkWidget *p_main_window;        // Fenêtre principale
       GtkWidget *p_toolbar;                // Barre d'outils
       GtkToolItem *p_button_serv_manager;
       GtkWidget *p_window_box;         // Boite de la fenêtre
    };
     
    /* ... */
     
    // Barre d'outils
       p_disp_data->p_toolbar = gtk_toolbar_new ();
       p_disp_data->p_window_box = gtk_vbox_new (FALSE, 0);
       gtk_container_add(GTK_CONTAINER(p_disp_data->p_main_window), p_disp_data->p_window_box);
       gtk_box_pack_start(GTK_BOX(p_disp_data->p_window_box), p_disp_data->p_toolbar, FALSE, FALSE, 0);
       // Bouton "Editer la liste"
       p_disp_data->p_button_serv_manager = gtk_tool_item_new ();
       gtk_tool_item_set_tooltip_text (p_disp_data->p_button_serv_manager, "Edit server list");
       gtk_toolbar_insert (GTK_TOOLBAR (p_disp_data->p_toolbar), p_disp_data->p_button_serv_manager, 0);
    Fait comme cela,on voit bien la barre en haut de la fenêtre, mais pas de boutons. Qu'est ce que j'ai loupé ? (et je ne trouve pas de tuto suffisament à jour pour cela...).

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    Les GtkToolItem sont la base des boutons d'une barre de bouton.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     +----GtkToolItem
          +----GtkToolButton
          +----GtkSeparatorToolItem
    Ce que tu veux c'est un bouton, alors déclares plutôt un GtkToolButton que tu pourras insérer ensuite dans ton GtkToolBar.

  5. #5
    Membre très actif Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Par défaut
    Ok merci, ça fonctionne maintenant.

  6. #6
    Membre confirmé Avatar de Gamall
    Profil pro
    Étudiant ENSEA
    Inscrit en
    Août 2009
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant ENSEA

    Informations forums :
    Inscription : Août 2009
    Messages : 252
    Par défaut
    Je te conseille d'utiliser GtkUIManager, ça donne du code plus facile à maintenir

    Tu trouveras un tutoriel ici: tutoriel GtkUIManager

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/12/2011, 16h05
  2. [WP7] Accéder au boutons d'une ApplicationBar
    Par DotNET74 dans le forum Windows Phone
    Réponses: 4
    Dernier message: 01/02/2011, 19h21
  3. Décaler sur la droite un bouton dans une ToolBar!
    Par Erazion dans le forum GWT et Vaadin
    Réponses: 2
    Dernier message: 19/03/2009, 08h55
  4. Grisé/dégrisé un bouton dans une toolbar
    Par Doomguard dans le forum MFC
    Réponses: 6
    Dernier message: 13/06/2006, 10h22
  5. Survol des boutons d'une ToolBar
    Par dede92 dans le forum Windows
    Réponses: 1
    Dernier message: 10/06/2006, 16h16

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