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 :

Probleme creation de widget


Sujet :

GTK+ avec C & C++

  1. #1
    Membre averti

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Par défaut Probleme creation de widget
    Salut les filles,

    je m'attaque actuellement a la creation de mes propres widgets. Cela ne semble pas particulierement complique avec le tuto de Franck jusqu'a ce que l'on essaye.

    Le probleme ne viens pas vraiment de la creation mais plutot de l'identification de mon objet , je m'explique :

    je veux creer un object par exemple calendar2 qui soit simplement une representation graphique du calendar original de Gtk. La representation voulu c'est simplement une frame avec un label.

    Voila la structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    struct _GtkCalendar2{
      GtkWidget widget;
     
      const gchar *label;
    };
    je vous epargne le reste ce n'est pas vraiment necessaire.

    Voila ma function new :

    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
     
    GtkWidget *gtk_calendar2_new(const gchar *label)
    {
      GtkCalendar2 *calendar2;
     
      if(label != NULL)
        calendar2 = gtk_type_new(gtk_calendar2_get_type());
     
      if(calendar2 != NULL) 
        {
          calendar2->label = label;
        }
     
      return GTK_WIDGET(calendar2);
    }
    Voila ou j'en suis. Ce que j'aimerais savoir c'est ou je doit creer ma frame avec mon label pour dire que c'est ca mon calendar2

    parceque dans le cas ou je rajoute dans la fonction new quelquechose de ce style

    if(calendar2 != NULL)
    {
    calendar2 = gtk_frame_new(label);
    }

    Cela va bien me creer le composant que je veux a chaque fois que je ferais un gtk_calendar_new("mon Label") mais le probleme viens apres sur l'identification puisque mon widget sera reconnu comme etant une frame et pas un CALENDAR2

    Donc GTK_IS_CALENDAR2(widget) me retourne faux mais GTK_IS_FRAME(widget) me retourne vrai ! Ce qui est logique puisque dams le dans la fonction new je dis que mon calendar2 = frame. Ma question est comment je peux faire ca mais tout en ayant mon object identifie comme un CALENDAR2.

    la question est generale : comment faire pour creer un widget avec d'autre widget tout en ayant celui-ci identife par son propre type.

    Je seche la dessus donc si vous pouviez m'expliquer un peu. je suppose que Franck devrait savoir..

    Merci d'avance...

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par jean
    Cela va bien me creer le composant que je veux a chaque fois que je ferais un gtk_calendar_new("mon Label")
    Si tu as des widgets à créer, il faut le faire dans la fonction ...init

    mais le probleme viens apres sur l'identification puisque mon widget sera reconnu comme etant une frame et pas un CALENDAR2
    D'après ta structure non, le widget que tu met en tant que premier membre définit le widget à partir duquel ton widget est directement dérivé, dans ton cas, une GtkWidget !

    Donc GTK_IS_CALENDAR2(widget) me retourne faux mais GTK_IS_FRAME(widget) me retourne vrai ! Ce qui est logique puisque dams le dans la fonction new je dis que mon calendar2 = frame. Ma question est comment je peux faire ca mais tout en ayant mon object identifie comme un CALENDAR2.
    Normalement cela ne devrait pas être, il devrait au moins te le reconnaître comme un GtkWidget vu que ton widget en hérite directement !

    la question est generale : comment faire pour creer un widget avec d'autre widget tout en ayant celui-ci identife par son propre type.

    Je seche la dessus donc si vous pouviez m'expliquer un peu. je suppose que Franck devrait savoir..
    Bin c'est vrai que j'ai fait un tutoriel sur la création de widget mais à partir de rien et non à partir d'un autre ... je peut te donner un lien en anglais par contre sur la création d'un widget à partir d'un GtkTable: Creating a Composite widget


    J'espère avoir pu t'aider
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre averti

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Par défaut
    D'après ta structure non, le widget que tu met en tant que premier membre définit le widget à partir duquel ton widget est directement dérivé, dans ton cas, une GtkWidget !
    Peu importe le widget dont ma classe derive du moment que je fasse calendar2 = gtk_XXX_new() , mon calendar n'est alors plus reconnu comme etant un type CALENDAR2 mais comme le type XXX.

    Bin c'est vrai que j'ai fait un tutoriel sur la création de widget mais à partir de rien et non à partir d'un autre ... je peut te donner un lien en anglais par contre sur la création d'un widget à partir d'un GtkTable: Creating a Composite widget
    Merci pour le lien...je l'avais trouve deja mais il ma pas vraiment aide.

    En faite peu importe le faite de creer ou non un widget a partir de rien ou a partir d'autre composant le probleme et la question reste les meme.
    J'ai ma structure , je l'initialise , etc....jusque la pas de probleme. Mais ensuite ou , quand et comment je dis a gtk de m'afficher mon widget et ce qu'il doit m'afficher ?. Si mon nouveau widget derive de la classe widget et utilise des composants deja existant le tout dans un container , ou je doit lui dire que mon widget c'est mon container avec tout ce qu'il y a dedans.

    En faisant calendar2 = XXX ? Non puisque alors mon widget est le container et il est reconnu comme etant du type du container. Ce qui est logique puisque mon calendar2 reference cet object en memoire.

    Donner des valeurs aux objects de la structure dans la fonction new() c'est bien mais ca sert a rien car mon widget sera juste une structure donc quand on l'affiche ben rien va se passer.

    Le probleme reste donc : comment et ou assigner a mon widget un composant a afficher.

  4. #4
    Membre averti

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Par défaut
    Bon ca commence a se preciser tout ca...j'ai reussi a pas mal avancé finalement..

    J'aimerais juste savoir une chose que j'ai pas encore cherché : comment fait t-on pour ajouter des GtkWidgets dans une GdkWindow (j'ai bien dis GDK et pas GTK).

    Une fois que je saurais ca je pense pouvoir arriver a faire un peu tout et n'importe quoi pour la creation de widgets. Je vous ferais un topo la dessus.

    Mais il me faut la réponse à cette question. Le pied serait que quand j'arrive au boulot demain quelqu'un y est répondu .

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par jean
    J'aimerais juste savoir une chose que j'ai pas encore cherché : comment fait t-on pour ajouter des GtkWidgets dans une GdkWindow (j'ai bien dis GDK et pas GTK).
    Ca par contre je sèche, (je sais éventuellement dessiner dedans mais sinon ...) je doute que ce soit directement possible sauf en trantypant peut-être ton GdkWindow en type Gtk... car tout widget est un sorte de GdkWindow mais celui-ci est vraiment une des briques de base de tous widgets !

    Si c'est simplement pour permettre l'ajout d'autres widgets le mieux comme dit plus haut, serait de faire hériter directement ton widget à partir d'un GtkContainer ou d'un type héritant directement de ce type (GtkBox ou GtkTable par exemple) !

    As-tu résolu ton problème de reconnaissance de type de ton widget ? Si non, montre moi une fonction où tu fait le test et aussi ta fonction ...get_type.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Membre averti

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Par défaut
    Oui j'arrive egalement dessiner sans probleme dans la GdkWindow. Je peux donc creer integralement ligne par ligne mon widget mais j'ai pas trop envie ^^.

    Comme tu la dit , chaque widget a une GdkWindow associe c'est ca le cle du probleme. Le travail ne doit pas se faire sur le widget que l'on creer en faisant monWidget = XXX sinon on lui reaffecte l'object XXX d'ou le probleme de type par la suite. Le travail doit ce faire sur la GdkWindow de celui-ci : widget->window pour y acceder tout simplement.

    D'ou ma question comment ajouter des gtkwidgets dans une gdkwindow...si je trouve une solution je pourrais sans probleme ajouter n'importe quelle widgets existant pour la creation d'un nouveau widget. Alors je travail la dessus.
    L'idee de deriver d'un container semble plutot pas mal , je vais encore bosser la dessus. Je vous dirais ce qu'il est ait.

    A plus tard .

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par jean
    L'idee de deriver d'un container semble plutot pas mal , je vais encore bosser la dessus.
    Elle permet surtout de répondre à ton problème sur l'ajout de widgets dans un GdkWindow ce qui n'est pas possible directement (connais pas la manip pour ca)
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Membre averti

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Par défaut
    Bon ben sa y est les amis j'y suis...:-)

    Alors pour ceux qui aimeraient creer leurs widgets en les dessinant j'ai deja donne la solution un peu plus haut , il faut travailler sur la GdkWindow du widget accessible de cette facon monWidget->window. Il suffit ensuite d'utiliser les fonctions permettant de dessiner sur une Gdkwindow.

    Dans le cas ou l'on veux creer son widget avec des widgets deja existant , il faut faire herite son nouveau widget non pas de la classe Widget mais d'un container (bien pense Franck). C'est a dire un GtkLayout , GtkFrame peut importe...

    A partir de la il y a quelques modifications a effectue dans le .h. Je pars du principe que vous etez partit du code donne dans le cours de Franck.

    Voila la nouvelle structure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    struct _GtkXXX {
      Gtk*** widget; // Widget dont nous derivons donc a remplacer par un container 
      .....
    };
     
    struct _GtkXXXClass {
       Gtk***Class parent_class; // A remplacer la aussi par le type de notre container (le meme que dans la structure de notre widget)
    };
    Le reste du .h reste inchange.


    Il y a des changements a effectuer aussi dans le .c :

    Dans la fonction gtk_XXX_get_type()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    GtkType gtk_XXX_get_type (void)
    {
        ......
        // Rien ne change jusque la , il faut juste modifier la dernire ligne 
        // *** a remplacer par le type de notre container
        gtk_XXX_type = gtk_type_unique(GTK_TYPE_*** , &gtk_XXX_info);
      }
     
      return gtk_XXX_type;
    }
    Une fois cette fonction modifie on a un nouveau widget derivant de la classe *** (container choisi). Donc si vous faite un GTK_IS_XXX(monWidget) ou GTK_IS_***(monWidget) ca vous indiquera "oui".

    Par contre il y aura des erreurs au niveau de la fonction gtk_XXX_class_init() , notre widget de derivant plus directement de la classe widget. Il faut l'adapter la classe de notre layout desormais et non plus a celle de la classe widget.
    Comment l'adapter ? Virer tout le code contenu dedans et ca marchera tres bien. Une methode vide et c'est regle ou alors faut regarder les proprietes de la classe de votre container. Je n'est pas encore vraiment fait des recherches la dessus donc je sais pas vraiment ce dont sa va nous priver si l'on fait ca. Peut etre on ne pourra plus modifier la taille du widget etc...Peu importe c'est un detail , c'est pas ca qui nous preoccupe pour le moment

    Il n'y a rien d'autre a changer au niveau du reste du programme. Desormais vous etez tout a fait capable d'ajouter des widgets existant dans votre nouveau widget. Vous pouvez tres bien rajouter dans la methode new() quelquechose de ce style la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    gtk_layout_put(monWidget , widgetExistant , 0, 0) // Si vous herite de layout
    Donc du coup vous pouvez creer un widget a partir d'autre widget.

    Voila une facon de faire , il y en a peux etre d'autres (il y en a surement). Il reste quelques points a eclaircir (notamment pour la methode classInit )mais au moin vous etez desormais en mesure de faire tout ce que vous voulez.

    Voila pour les curieux qui voulaient savoir. merci a Franck qui a essayer de faire son possible sur quelquechose de vraiment pas evident...;-)


    PS: peut etre quelquechose d'interressant a rajouter a la FAQ ;-)

  9. #9
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par jean
    PS: peut etre quelquechose d'interressant a rajouter a la FAQ ;-)
    Oui bien sûr sauf que je n'est pas tout suivi

    Citation Envoyé par jean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    struct _GtkXXX {
      Gtk*** widget; // Widget dont nous derivons donc a remplacer par un container 
      .....
    };
     
    struct _GtkXXXClass {
       Gtk***Class parent_class; // A remplacer la aussi par le type de notre container (le meme que dans la structure de notre widget)
    };
    Les étoiles c'est bien un nom de widget pas des pointeurs (des YYY ça aurait éviter les problèmes ) ? Dans ce cas je ne vois pas la différence avec la méthode classique

    Pour la fonction get_XXX_get_type, j'ai découvert une macro qui créer la fonction : G_DEFINE_TYPE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    G_DEFINE_TYPE (GtkYyy, gtk_yyy, GtkParent)
    /!\ Pas de point virgule, cela permet de créer une fonction /!\

    Et donc la seule manip à faire c'est créer les widgets dans le constructeur (gtk_yyy_new), les ajouter au container et retourner le container ?

  10. #10
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gege2061
    Et donc la seule manip à faire c'est créer les widgets dans le constructeur (gtk_yyy_new), les ajouter au container et retourner le container ?
    En fait il est plus dans les habitudes de créer les widgets dans la fonction gtk_xxx_init plutôt que dans gtk_xxx_new, chaque fonction ayant son rôle précis (plus ou moins) il est bon de ne pas trop mélanger
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  11. #11
    Membre averti

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Par défaut
    ben en faite y a pas trop de differences avec la methode classique il y a juste quelques modification a apporter. Et oui les *** c'est bien un type de widget , le type du container.

    Sinon pour repondre a Franck , tu a raison il est plus judicieux de creer ses widgets dans la fonction init , je donnais juste un exemple comme ca , j'aurais peut etre du mieux le choisir .

    Le plus judicieux dans le cas ou l'on veux utiliser des widgets existant a mon avis est de creer une methode paint() qui sera lance a la fin de la fonction expose(). La fonction paint dont le but est evidemment de dessiner le wigdet. C'est dans cette fonction que lon y creer les widgets que l'on les insere dans le nouveau widget , que l'on dessine sur le GdkWindow etc...

    La fonction new() et init() garde ainsi leur role principal et ca donne quelquechose de propre. Par la suite si l'on veux changer l'aspect de notre widget il n'y aura qu'a modifier la fonction paint() sans toucher au reste. Apres cela depend encore des modifications que l'on fait.

    Voila un peu pour l'eclaircissement.

  12. #12
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par jean
    Le plus judicieux dans le cas ou l'on veux utiliser des widgets existant a mon avis est de creer une methode paint() qui sera lance a la fin de la fonction expose(). La fonction paint dont le but est evidemment de dessiner le wigdet. C'est dans cette fonction que lon y creer les widgets que l'on les insere dans le nouveau widget , que l'on dessine sur le GdkWindow etc...
    Mauvaise idée, dans mon tuto j'ai utilisé cette méthode mais je ne dessinais qu'un bitmap rien de plus. Si tu fait ce que tu as dit, tu va recréer à chaque fois les widget alors qu'il ne faut les créer qu'une seule fois, pendant la phase de création de ton widget donc dans init et nul part ailleurs.

    Inutile de vouloir dessiner des widgets que tu créés à l'intérieur du tiens et qui sont des widgets existant car il vont se dessiner eux-mêmes d'après leur règles donc il faut laisser le soin à GTK+ de faire les choses correctement !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  13. #13
    Membre averti

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Par défaut
    Citation Envoyé par Franck.H
    Inutile de vouloir dessiner des widgets que tu créés à l'intérieur du tiens et qui sont des widgets existant car il vont se dessiner eux-mêmes d'après leur règles donc il faut laisser le soin à GTK+ de faire les choses correctement !
    J'ai pas trop bien compris ce que tu veux dire par la. Je comprend ton resonnement au niveau de la creation des widgets , les creer dans la fonction init() est alors presque indispendable. Disons que je le fasse...comment vais-je y acceder par la suite ? ou je lance ma fonction paint() qui va faire le travail de dessin et les inclure dans mon widget si je ne le fait pas dans expose() ?

  14. #14
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par jean
    J'ai pas trop bien compris ce que tu veux dire par la. Je comprend ton resonnement au niveau de la creation des widgets , les creer dans la fonction init() est alors presque indispendable. Disons que je le fasse...comment vais-je y acceder par la suite ? ou je lance ma fonction paint() qui va faire le travail de dessin et les inclure dans mon widget si je ne le fait pas dans expose() ?
    Pour l'affichage à proprement parler, c'est eux-même qui vont s'en charger, le fait de les créer doit largement suffir et quand tu les créés bin par la même tu les mets également en place, enfin comme d'habitude quoi, rien de bien exceptionnel !

    Y acceder par la suite bin si les pointeurs sont présents dans la structure de ton widget je vois pas où est les soucis !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  15. #15
    Membre averti

    Inscrit en
    Avril 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 49
    Par défaut
    Oui le faite de les creer et de les inserer ca suffit apres ils sont automatiquement affiches.

    Donc si je suis ton raisonnement , la fonction init() me permettrait a la fois de les creer et de les inserer dans le widget...pourquoi pas , ca me semble pas trop mal comme idee.

    Je suis pas trop pour les rajouter dans la structure de mon widget et de toute facon si je les creer au meme endroit que les configure j'ai normalement plus besoin d'y acceder pour la suite.

    Ouaip je vais proceder comme ca je pense. Merci pour les conseils

  16. #16
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par jean
    Oui le faite de les creer et de les inserer ca suffit apres ils sont automatiquement affiches.

    Donc si je suis ton raisonnement , la fonction init() me permettrait a la fois de les creer et de les inserer dans le widget...pourquoi pas , ca me semble pas trop mal comme idee.

    Je suis pas trop pour les rajouter dans la structure de mon widget et de toute facon si je les creer au meme endroit que les configure j'ai normalement plus besoin d'y acceder pour la suite.
    Bin si une fois mis en place tu n'as plus besoin d'y accéder oui pas la peine de les mettre dans la structure et puis dans le pire des cas, tu as toujours des fonctions de GtkContainer qui te permettrons d'accéder aux widgets enfants

    Citation Envoyé par jean
    Ouaip je vais proceder comme ca je pense. Merci pour les conseils
    Au plaisir
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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

Discussions similaires

  1. Probleme creation recordset
    Par stan314 dans le forum Access
    Réponses: 1
    Dernier message: 14/05/2006, 16h13
  2. Newbie PgSQL->Probleme Creation de table avec FOREIGN KEY
    Par ralkif dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 07/03/2006, 21h59
  3. probleme creation setup
    Par asiatik91 dans le forum Installation, Déploiement et Sécurité
    Réponses: 5
    Dernier message: 19/11/2005, 21h53
  4. access2000, probleme creation relations de tables
    Par nono_60 dans le forum Access
    Réponses: 2
    Dernier message: 12/09/2005, 22h50
  5. probleme creation projet
    Par choupinet612 dans le forum XMLRAD
    Réponses: 2
    Dernier message: 05/11/2004, 10h11

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