Précédent   Forum des professionnels en informatique > Général Développement > Programmation système > Linux > GTK
GTK Vos questions sur GTK sous Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/01/2011, 15h32   #1
Membre Expert
 
Avatar de gerald3d
 
Homme Gérald
Conducteur de train
Inscription : février 2008
Messages : 1 278
Détails du profil
Informations personnelles :
Nom : Homme Gérald
Âge : 42
Localisation : France, Côte d'Or (Bourgogne)

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

Informations forums :
Inscription : février 2008
Messages : 1 278
Points : 2 209
Points : 2 209
Par défaut [gtkmm] Accéder aux Gtk::ListStore

Bonjour.

Je dispose d'un pointeur sur un Gtk::TreeView récupéré depuis un fichier Glade. La seule méthode que je trouve est get_model(); qui me renvoie un Glib::RefPtr < Gtk::TreeModel >.

Hors j'ai besoin d'un objet Gtk::ListStore qui est un enfant d'un Gtk::TreeModel. Je ne trouve pas comment y accéder.

Est-ce que je n'ai pas les yeux en face des trous ou bien il n' a pas de solution?
__________________
Système d'exploitation : Debian Amd64 Testing / Slackware 13.37 32 bits

Site perso : http://gerald3d.developpez.com (article Glade3 et Gtk+)

Site perso : http://linechec.sourceforge.net (jeu d'echec) v0.4-1
Site perso : http://m3dlib.tuxfamily.org/ (moteur 3d. Rendu dans un GtkDrawingArea avec utilisation de Cairo.) v0.24

contact jabber : gerald3d@jabber.tuxfamily.org
gerald3d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 15h21   #2
Membre Expert
 
Avatar de gerald3d
 
Homme Gérald
Conducteur de train
Inscription : février 2008
Messages : 1 278
Détails du profil
Informations personnelles :
Nom : Homme Gérald
Âge : 42
Localisation : France, Côte d'Or (Bourgogne)

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

Informations forums :
Inscription : février 2008
Messages : 1 278
Points : 2 209
Points : 2 209
Bon.

N'ayant que peu de réponses, voir d'ailleurs aucune , je me suis résolu à récupérer un pointeur GtkTreeView du Gtk::TreeVew. A partir de là j'ai utilisé les fonctions C de Gtk+ sans problème.

En attendant une réponse plus "objet" sur le sujet...
__________________
Système d'exploitation : Debian Amd64 Testing / Slackware 13.37 32 bits

Site perso : http://gerald3d.developpez.com (article Glade3 et Gtk+)

Site perso : http://linechec.sourceforge.net (jeu d'echec) v0.4-1
Site perso : http://m3dlib.tuxfamily.org/ (moteur 3d. Rendu dans un GtkDrawingArea avec utilisation de Cairo.) v0.24

contact jabber : gerald3d@jabber.tuxfamily.org
gerald3d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 15h31   #3
Membre Expert
 
Homme
Développeur informatique
Inscription : juin 2009
Messages : 840
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : juin 2009
Messages : 840
Points : 1 168
Points : 1 168
Bonjour Gerald,
get_model te renvoie déjà ce que tu vex: le modèle utilisé.

Citation:
Glib::RefPtr<TreeModel> Gtk::TreeView::get_model ( )

Returns the model the Gtk::TreeView is based on.

Returns 0 if the model is unset.

Returns:
A Gtk::TreeModel, or 0 if none is currently being used.
Tous les modèles dérivent de Gtk::TreeModel, donc tu peux les manipuler par polymorphisme. get_model se fiche du type de modèle tu utilises, il sais juste que c'est un modèle. Il te renverra donc un Gtk::TreeModel, qui est en réalité une instance de type Gtk::ListStore. Tu peux donc la manipuler comme un Gtk::TreeModel, ou faire un dynamic_cast de ton pointeur pour la manipuler en tant que Gtk::ListStore. C'est le polymorphisme qui permet à Gtk::TreeView de pouvoir manipuler plusieurs types de TreeModel de manière transparente.
liberforce est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 16h31   #4
Membre Expert
 
Avatar de gerald3d
 
Homme Gérald
Conducteur de train
Inscription : février 2008
Messages : 1 278
Détails du profil
Informations personnelles :
Nom : Homme Gérald
Âge : 42
Localisation : France, Côte d'Or (Bourgogne)

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

Informations forums :
Inscription : février 2008
Messages : 1 278
Points : 2 209
Points : 2 209
Je n'avais pas pensé à ca. Je ne regardais que les héritages directes sans penser à "caster" directement le pointeur.
Dés que j'ai une minute je tente l'opération.
__________________
Système d'exploitation : Debian Amd64 Testing / Slackware 13.37 32 bits

Site perso : http://gerald3d.developpez.com (article Glade3 et Gtk+)

Site perso : http://linechec.sourceforge.net (jeu d'echec) v0.4-1
Site perso : http://m3dlib.tuxfamily.org/ (moteur 3d. Rendu dans un GtkDrawingArea avec utilisation de Cairo.) v0.24

contact jabber : gerald3d@jabber.tuxfamily.org
gerald3d est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h51.


 
 
 
 
Partenaires

Hébergement Web