Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Liste gtk [ Windows / GUI ] (iex)

jeudi 19 octobre 2006 à 10:56:51 | Liste gtk

iex

Bonjour,

j'ai créer une liste en gtk elle s'affiche bien mais le probleme c'est que je ne sait pas comment faire pour qu'elle se "rafraichisse".
j'ai essayé tout un tas de trucs mais rien n'as marché. j'ai essayé d'appeler la fonction liste dans une otre fonction en plus d ici pour "rafraichir" la liste mais ca ne marche pas
merci de bien voulir m'aider.

voici le code

 mw->pVBox1 = gtk_vbox_new(FALSE, 0);
 gtk_container_add(GTK_CONTAINER(mw->MainWin), mw->pVBox1)

 mw->pFrame = gtk_frame_new("Liste");
 gtk_box_pack_start(GTK_BOX(mw->pHBox1), mw->pFrame, TRUE, TRUE, 0);

 mw->pVBox1Frame = gtk_vbox_new(TRUE, 0);
 gtk_container_add(GTK_CONTAINER(mw->pFrame), mw->pVBox1Frame);

liste(mw);

///////////////////

void         list(MainWindow *mw)
{
    GtkWidget *pListView;
    GtkWidget *pScrollbar;
    GtkListStore *pListStore;
    GtkTreeViewColumn *pColumn;
    GtkCellRenderer *pCellRenderer;

    pListStore = gtk_list_store_new(N_COLUMN, G_TYPE_STRING, G_TYPE_BOOLEAN);

rempli_liste(:::::);


    pListView = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pListStore));

  
    pCellRenderer = gtk_cell_renderer_text_new();
    pColumn = gtk_tree_view_column_new_with_attributes("Titre",
        pCellRenderer,
        "text", TEXT_COLUMN,
        NULL);


    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);


    pCellRenderer = gtk_cell_renderer_toggle_new();
    pColumn = gtk_tree_view_column_new_with_attributes("CheckBox",
        pCellRenderer,        "active", TOGGLE_COLUMN,        NULL);

    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);

    pScrollbar = gtk_scrolled_window_new(NULL, NULL);
    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pScrollbar),
        GTK_POLICY_AUTOMATIC,        GTK_POLICY_AUTOMATIC);
    gtk_container_add(GTK_CONTAINER(pScrollbar), pListView);
    gtk_container_add(GTK_CONTAINER(mw->pVBox1Frame), pScrollbar);
}


jeudi 19 octobre 2006 à 13:13:49 | Re : Liste gtk

luhtor

C'est la merde les liste en gtk. Moi ce que je faisais au début, c'est je vidais la liste entièrement et je la recontruisais.
Donc je maintiens une liste (std::list) en mémoire a jour et des que je la modifie, j'appelle une fonction refresh:

  "GtkListStore * client_liststore;" fait partie du la classe à laquelle la fonction appartient.

    gtk_list_store_clear(this->client_liststore);
   
    GtkTreeIter iter;
  
    for (std::list<TES_DONNEES>::const_iterator _it = TA_LISTE.begin()
          _it !=  TA_LISTE.end(); _it++)
          {
            gtk_list_store_append(this->client_liststore, &iter);
            gtk_list_store_set(this->client_liststore, &iter, 0, _it->Get_name().c_str(), 1, _it->Get_ip().c_str(), -1);
          }

Donc ca, c'est la méthode brutale. Si tes listes sont pas trop grande ca va. Le petit défaut est que si tu avais une ligne de sélectionner, le fait de refresh la déselectionne.

jeudi 19 octobre 2006 à 13:51:06 | Re : Liste gtk

iex

hum ok ca devrais aller mes listes sont limitées a 10 ou 20 eléments.

mais ton code il est en C++ !
t'orais pas la "traduction" en C
merci.


Un autre truc, comment fait on pour obtenir (la valeur, le numero ou un truc comme ca) de la ligne selectionné.
re-merci

jeudi 19 octobre 2006 à 22:17:25 | Re : Liste gtk

luhtor

En C, ya rien qui change, juste tu utilises des listes liées de la glib ou artisanale.

Et puis ca dépend des données de ton tableau, dans mon cas c'était des STRING:
_it->Get_name().c_str() <-> _it->Get_ip().c_str() de type (char*)

Pour récupérer les données : tu trouveras tout la dessus:
http://developer.gnome.org/doc/API/2.0/gtk/

Juste a fouiller entre listview, liststore, treeview, etc ...



vendredi 20 octobre 2006 à 09:58:59 | Re : Liste gtk

iex

ok merci
je vais essayer



Cette discussion est classé dans : liste, gtk, tree, container, mw


Répondre à ce message

Sujets en rapport avec ce message

Dupliquer un GtkCombo [ par Moogle ] Dans un programme en GTK+ 1.2, j'ai dans une fenetre 12 GtkCombo, qui doivent tous afficher la meme grosse liste de 256 éléments.Quand je crèe la fene Evenement sur une liste en gtk pour du c [ par bordeaux ] Bonjour, J'aimerais crée une application graphique en gtk, permettant à l'utilisateur de faire son choix depuis une liste déroulante.  Et générer un recuperer selection gtktreeviewcolumn [ par k4mik4zi ] Bonjour J'ai un gtktreeviewcolumn Jaimerai recuperer la chaine de caracteres selectionnee par l'utilisateur Je vous montre mon code: <tabl GTK+ message d'erreur!! [ par Iced_Soul ] quand je met fixed[1] = gtk_fixed_new(); gtk_container_add(GTK_CONTAINER(pVBox), fixed[1]); gtk_widget_show(fixed[1]); pFrame executer un fichier hors de GTK [ par psyko_flex ] voila , je recherche comment je pourrais faire pour a partir de GTK executer un fichier HLP. !!!en vous remerciant d'avance [Urgent] Fonction à liste chainée [ par zalpa ] Bon voila, je suis un etudiant en 1ere année Informatique appliqu&#233 QT3 / GTK [ par piwee ] Salut, j'aimerai développer des applis en C (Linux/Windows) avec interface graphique. Mais avant de me lancer dans l'apprentissage, j'aimerai savoir Problème avec les nombres aléatoires [ par nisaloncaje ] Bonjour, j'ai un petit problème : dans un programme , pour générer un nombre aléatoire je fais ceci : int n,max=50,liste[15];for(i=0;isrand(time(0));  probléme sur utilisation mémoire...assez urgent!SVP je galére [ par psyko_flex ] bonjour,je voudrais savoir si j'utilise un widget plusieurs fois en le redéclarant si ca peut poser des problémes de mémoire.voir l'ex suivant svp...:


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.