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 :

Boite de dialogue


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut Boite de dialogue
    Salut,
    j'ai un pb avec ma boite de dialogue. J'arrive pas à insérer un pscroller et une textview (comme je l'ai fait dans ma fenêtre principale). J'ai donc choisi de crée simplement une autre fenêtre mais j'arrive pas a envoyer du texte dans ma textview. Je l'ai déjà fait pour ma fenêtre principale mais là g sè pas pkoi ça passe pas.
    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
     
        GtkTextIter Buffer_Start_v;
        GtkTextIter Buffer_End_v;
        GtkWidget *pTextview = gtk_text_view_new(); 
        GtkWidget *Buffer_v = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView));
        gtk_text_buffer_get_start_iter(Buffer_v, &Buffer_Start_v); 
        gtk_text_buffer_get_end_iter(Buffer_v, &Buffer_End_v);         
        gtk_widget_set_size_request(pTextview, 500, 300);
        gtk_text_view_set_editable(GTK_TEXT_VIEW(pTextview), FALSE);  
     
        GtkWidget *pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title(GTK_WINDOW(pWindow), "Visualisation");
     
        GtkWidget *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), pTextview);
        gtk_container_add(GTK_CONTAINER(pWindow), pScrollbar);
     
    /* Ecriture des Intitulés dans la textview */
    for( i = 0 ; i < nb_int ; i++)
    {
    gtk_text_buffer_insert(Buffer_v, &Buffer_Start_v, *(title + i), strlen(*(title + i )));
    gtk_text_buffer_insert(Buffer_v, &Buffer_Start_v, "\n", 1);
    }
    .....
     
    gtk_widget_show_all(pWindow);
    return;
    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 cupidette92
    j'ai un pb avec ma boite de dialogue. J'arrive pas à insérer un pscroller et une textview (comme je l'ai fait dans ma fenêtre principale).
    Si tu pouvais montrer comment tu as essayé ... on doit accéder au conteneur de la boîte de dialogue à savoir un VBox qu'on accède de cette manière:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GTK_BOX (GTK_DIALOG (dialog)->vbox)
    Par exemple, pour ajouter un GtkFrame dans la boîte de dialogue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    gtk_box_pack_start (
       GTK_BOX (GTK_DIALOG (dialog)->vbox),
       frame,
       TRUE, TRUE, 5
    );
    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 confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    voici ce que j'ai fais:

    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
     
     
    void visualisation(GtkWidget *widget, gpointer data)
    {
        FILE  *fich, *fich_tmp;
        gchar *title[NB_INT_MAX];
        gchar tmp[50];
        GtkWidget *pTextView = NULL;
        GtkWidget *pScrolled = NULL;
        GtkTextBuffer *Buffer_v;
        GtkTextIter Buffer_Start_v;
        GtkTextIter Buffer_End_v;
    	int nb_int, i;
        GtkWidget *pBoite;
     
        Struct_Widget *pt = (Struct_Widget *) data;
        pTextView = GTK_WIDGET(pt->TextView_v);
        Buffer_v = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView));
        gtk_text_buffer_get_start_iter(Buffer_v, &Buffer_Start_v); /* On recupere l'origine du buffer */
        gtk_text_buffer_get_end_iter(Buffer_v, &Buffer_End_v);     /* On recupere la fin du buffer */
     
        pBoite = gtk_dialog_new_with_buttons("Visualisation Intitules.",GTK_WINDOW(pt->Main_win),GTK_DIALOG_MODAL,GTK_STOCK_OK,GTK_RESPONSE_OK,NULL);
       /* Creation de la zone de saisie */
        GtkWidget *pTextview = gtk_text_view_new(); 
        pScrolled = gtk_scrolled_window_new(NULL,NULL);
     
        Buffer_v = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView));
        gtk_text_buffer_get_start_iter(Buffer_v, &Buffer_Start_v); /* On recupere l'origine du buffer */
        gtk_text_buffer_get_end_iter(Buffer_v, &Buffer_End_v);     /* On recupere la fin du buffer */
     
        gtk_widget_set_size_request(pTextview, 500, 300);
        gtk_text_view_set_editable(GTK_TEXT_VIEW(pTextview), FALSE);  /* permet de ne pas écrire */
        gtk_container_add(GTK_BOX(GTK_DIALOG(pBoite)->vbox), pScrolled);
        gtk_box_pack_start(GTK_CONTAINER(pScrolled,pTextview,TRUE, TRUE, 5
    );
    Ca ne fonctionne pas et je n'arrive pas à envoyer du texte...
    De plus quand je click pour fermer la fenêtre, ça beug.

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    Dsl, Voici tout le 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
    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
     
    void visualisation(GtkWidget *widget, gpointer data)
    {
        FILE  *fich, *fich_tmp;
        gchar *title[NB_INT_MAX];
        gchar tmp[50];
        GtkWidget *pTextView = NULL;
        GtkWidget *pScrolled = NULL;
        GtkTextBuffer *Buffer_v;
        GtkTextIter Buffer_Start_v;
        GtkTextIter Buffer_End_v;
    	int nb_int, i;
        GtkWidget *pBoite;
     
        Struct_Widget *pt = (Struct_Widget *) data;
        pTextView = GTK_WIDGET(pt->TextView_v);
        Buffer_v = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView));
        gtk_text_buffer_get_start_iter(Buffer_v, &Buffer_Start_v); /* On recupere l'origine du buffer */
        gtk_text_buffer_get_end_iter(Buffer_v, &Buffer_End_v);     /* On recupere la fin du buffer */
     
        pBoite = gtk_dialog_new_with_buttons("Visualisation Intitules.",GTK_WINDOW(pt->Main_win),GTK_DIALOG_MODAL,GTK_STOCK_OK,GTK_RESPONSE_OK,NULL);
       /* Creation de la zone de saisie */
        GtkWidget *pTextview = gtk_text_view_new(); 
        pScrolled = gtk_scrolled_window_new(NULL,NULL);
     
        Buffer_v = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView));
        gtk_text_buffer_get_start_iter(Buffer_v, &Buffer_Start_v); /* On recupere l'origine du buffer */
        gtk_text_buffer_get_end_iter(Buffer_v, &Buffer_End_v);     /* On recupere la fin du buffer */
     
        gtk_widget_set_size_request(pTextview, 500, 300);
        gtk_text_view_set_editable(GTK_TEXT_VIEW(pTextview), FALSE);  /* permet de ne pas écrire */
        gtk_container_add(GTK_BOX(GTK_DIALOG(pBoite)->vbox), pScrolled);
        gtk_box_pack_start(GTK_CONTAINER(pScrolled,pTextview,TRUE, TRUE, 5
     
    	/*  ouverture du fichier .txt en lecture seule */
    	fich = fopen("memo.txt","r");
    	if(fich == NULL)
    	{
    		perror("Erreur d'ouverture du fichier\n");
    		exit(0);
        }
     
     
       	fich_tmp = fopen("test.txt","w");
    	if(fich_tmp == NULL)
    	{
    		perror("Erreur d'ouverture du fichier\n");
    		exit(0) ;
        }
     
    	/* Extraire les intitulés */
        nb_int = 0; 
        while( feof(fich) == 0 ) 
        { 
          /* Extraire une ligne (exple) */ 
          fgets(tmp, 50, fich); 
          /* Allocation */ 
          *(title + nb_int) = (gchar *)malloc(NB_INT_MAX * sizeof(gchar)); 
          /* Recherche du " parcours du fichier */ 
          if( strncmp(&tmp[0],"\"", 1) == 0 ) 
          { 
              ...
              /* On copie la categorie */ 
              strcpy(*(title + nb_int), tmp); 
              ...
          } 
        } 
     
     
        /* Sauvegarde du intitulé  */
        pt->dernier_memo = title[nb_int - 1];
    	fprintf(fich_tmp,"Dernier intitule ====> %s\n", (pt->dernier_memo));
     
    	/* Ecriture des Intitulés dans la textview */
    	for( i = 0 ; i < nb_int ; i++)
    	{
    		gtk_text_buffer_insert(Buffer_v, &Buffer_Start_v, *(title + i), strlen(*(title + i )));
    		gtk_text_buffer_insert(Buffer_v, &Buffer_Start_v, "\n", 1);
    	}
     
        /* fermeture du flux associé au fichier */  
    	fclose(fich);
        fclose(fich_tmp);
     
     
       /* Affichage des elements de la boite de dialogue */
        gtk_widget_show_all(GTK_DIALOG(pBoite)->vbox);
     
        /* Destruction de la boite de dialogue */
        switch (gtk_dialog_run (GTK_DIALOG (pBoite)))
        {
           case GTK_RESPONSE_YES:
               gtk_widget_destroy (pBoite);
               return;
               break;
        }
     
        free(title);
        gtk_widget_destroy (pBoite);
     
     
    }

  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
    Il y'a des fautes, certaines d'innatention certainement:

    Au lieu de ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_container_add(GTK_BOX(GTK_DIALOG(pBoite)->vbox), pScrolled);
    Faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(pBoite)->vbox), pScrolled, TRUE, TRUE, 0);
    Au lieu de ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    gtk_box_pack_start(GTK_CONTAINER(pScrolled,pTextview,TRUE, TRUE, 5
    );
    Faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (pScrolled), pTextview);
    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 confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    Merci beaucoooooooooooop Franck....
    Mais l'écriture dans la text view avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Buffer_v = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pTextView));
    gtk_text_buffer_get_start_iter(Buffer_v, &Buffer_Start_v);
    gtk_text_buffer_get_end_iter(Buffer_v, &Buffer_End_v);
     
    ...
     
    for( i = 0 ; i < nb_int ; i++)
    {
    gtk_text_buffer_insert(Buffer_v, &Buffer_Start_v, *(title + i), strlen(*(title + i )));
    gtk_text_buffer_insert(Buffer_v, &Buffer_Start_v, "\n", 1);
    }
    ne fonctionne pas.
    C'est peut être encore une erreur de syntaxe, mais j'ai fais un copier coller de ce que j'avais fais précédemment et ça passe pas...

    j'obtiens cette erreur:Pièce jointe 10876

  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
    Pourrais-tu me donner le code complet compilable que je vois ca de mes propres yeux ?
    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 confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    Le voici :

    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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
     
    void visualisation(GtkWidget *widget, gpointer data)
    {
        FILE  *fich, *fich_tmp;
        gchar *title[NB_INT_MAX];
        gchar tmp[50];
        GtkWidget *pTextView = NULL;
        GtkTextBuffer *Buffer_v = NULL;
        GtkTextIter Buffer_Start_v;
        GtkTextIter Buffer_End_v;
        int nb_int, i;
        GtkWidget *pBoite;
     
        Struct_Widget *pt = (Struct_Widget *) data;
     
        pBoite = gtk_dialog_new_with_buttons("Visualisation Intitules.",GTK_WINDOW(pt->Main_win),GTK_DIALOG_MODAL,GTK_STOCK_OK,GTK_RESPONSE_OK,NULL);
       /* Creation de la zone de saisie */
        GtkWidget *pTextview = gtk_text_view_new_with_buffer(Buffer_v); 
        gtk_text_view_set_editable(GTK_TEXT_VIEW(pTextview), FALSE); 
     
        gtk_text_buffer_get_start_iter(Buffer_v, &Buffer_Start_v);
        gtk_text_buffer_get_end_iter(Buffer_v, &Buffer_End_v); 
     
        GtkWidget *pScrolled = gtk_scrolled_window_new(NULL,NULL);
        gtk_box_pack_start(GTK_BOX(GTK_DIALOG(pBoite)->vbox), pScrolled, TRUE, TRUE, 0);
        gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(pScrolled), pTextview);
        gtk_widget_set_size_request(GTK_WIDGET(pScrolled), 400, 300);
     
    	/*  ouverture du fichier .txt en lecture seule */
    	fich = fopen("memo.txt","r");
    	if(fich == NULL)
    	{
    		perror("Erreur d'ouverture du fichier\n");
    		exit(0);
            }
     
     
       	fich_tmp = fopen("test.txt","w");
    	if(fich_tmp == NULL)
    	{
    		perror("Erreur d'ouverture du fichier\n");
    		exit(0) ;
        }
     
         /* Extraire les intitulés */
        nb_int = 0; 
        while( feof(fich) == 0 ) 
        { 
          /* Extraire une ligne (exple)*/ 
          fgets(tmp, 50, fich); 
          /* Allocation */ 
          *(title + nb_int) = (gchar *)malloc(NB_INT_MAX * sizeof(gchar)); 
          if( strncmp(&tmp[0],"\"", 1) == 0 ) 
          { 
              /* Recuperer le titre */ 
              strcpy(tmp, &tmp[1]); 
              /* Retirer le \n si il y en a un */ 
              if( strchr(tmp, '\n' ) != NULL ) *(strchr(tmp, '\n')) = '\x0'; 
              /* On copie la categorie */ 
              strcpy(*(title + nb_int), tmp); 
              fprintf(fich_tmp,"====> %s\n", *(title + nb_int)); 
              nb_int++; 
          } 
        } 
     
     
        /* Sauvegarde du dernier intitulé  */
        pt->dernier_memo = title[nb_int - 1];
    	fprintf(fich_tmp,"Dernier intitule ====> %s\n", (pt->dernier_memo));
     
    	/* Ecriture des Intitulés dans la textview */
    	for( i = 0 ; i < nb_int ; i++)
    	{
    		gtk_text_buffer_insert(Buffer_v, &Buffer_Start_v, *(title + i), strlen(*(title + i )));
    		gtk_text_buffer_insert(Buffer_v, &Buffer_Start_v, "\n", 1);
    	}
     
        /* Affichage des elements de la boite de dialogue */
        gtk_widget_show_all(GTK_DIALOG(pBoite)->vbox);
     
        /* fermeture du flux associé au fichier */  
        fclose(fich);
        fclose(fich_tmp);
        free(title);
     
     
     
        /* Destruction de la boite de dialogue */
        switch (gtk_dialog_run (GTK_DIALOG (pBoite)))
        {
           case GTK_RESPONSE_YES:
               gtk_widget_destroy (pBoite);
               return;
               break;
        }
     
         gtk_widget_destroy (pBoite);
     
    }

  9. #9
    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
    Je parle de code compilable, ici je n'ai qu'une simple fonction, j'ai pas envie de deviner ton programme pour pouvoir tester ! Tu fais un zip que tu met en pièce jointe, fournit tout les fichiers nécessaires.
    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 !

  10. #10
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74

  11. #11
    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
    Apparement tu adore les variables non utilisées ... elle sont en quantité trop importante, il va falloir régler ce problème:

    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
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:86: warning: unused variable ‘i’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:85: warning: unused variable ‘Buffer_End_v’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:84: warning: unused variable ‘Buffer_Start_v’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:82: warning: unused variable ‘pTextView’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:77: warning: unused parameter ‘widget’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:224: warning: assignment discards qualifiers from pointer target type
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:252: warning: unused parameter ‘widget’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:281: warning: unused variable ‘pt’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:279: warning: unused variable ‘corps_memo’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:278: warning: unused variable ‘intitule_memo’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:277: warning: unused variable ‘fich’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:275: warning: unused parameter ‘widget’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:117: warning: passing argument 1 of ‘gtk_widget_set_size_request’ from incompatible pointer type
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:129: warning: "/*" within comment
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:131: warning: "/*" within comment
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:138: warning: "/*" within comment
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:30: warning: unused variable ‘pBoite_quitter’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:27: warning: unused variable ‘Adjust’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:26: warning: unused variable ‘pQuitImage’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:25: warning: unused variable ‘Frame’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:25: warning: unused variable ‘StatusBar’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:24: warning: unused variable ‘Saisie_Memo’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:24: warning: unused variable ‘Saisie_Intitule’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:23: warning: unused variable ‘Seperator’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:22: warning: unused variable ‘VBox_visualisation’
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:22: warning: unused variable ‘VBoxFrame’
    :: === Build finished: 0 errors, 26 warnings ===

    Ce que je peut te dire, même si ca ne règle pas ton problème pour le moment, c'est que ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /home/franhec/Documents/Programmation/CodesTests/GTK+/Memo.c:224: warning: assignment discards qualifiers from pointer target type
    dans la ligne concernée, il faut mettre également ton pointeur en const (dans sa délcaration en fait, ou bien tu fait un cast éventuellement).

    Puis ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /home/franhec/Documents/Programmation/CodesTests/GTK+/main.c:117: warning: passing argument 1 of ‘gtk_widget_set_size_request’ from incompatible pointer type
    il faut utiliser la macro GTK_WIDGET et non pas GTK_SCROLLED_WINDOW car la fonction attend un pointeur sur GtkWidget.


    Je regarde pour la suite mais le code est assez catastrophique pour le moment et encore moins présentable, va falloir faire des efforts là dessus
    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 !

  12. #12
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 74
    Par défaut
    Lool!!! Ok

  13. #13
    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
    Bon je ne sais pas si cela change mais étant sous Linux j'avais carrément d'autres erreur y compris un crash de ton application car dans la fonction visualisation, tu fait un free de ce tableau de pointeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gchar *title[NB_INT_MAX];
    Et là boom, crash

    Si tu veux libérer les chaînes contenues dans ton tableau de pointeurs, il te faut faire une boucle for et libérer une à une les chaînes à chaque itération de ta boucle mais tu ne peux pas libérer un tableau statique tel qu'il est présent ici !

    Quant tu alloues:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    *(title + nb_int) = (gchar *)malloc(NB_INT_MAX * sizeof(gchar));
    Tu peux également faire ainsi (les casts avec malloc sont inutiles sauf si tu veux compiler en C++) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    title [nb_int] = malloc (NB_INT_MAX);
    et par définiton, les char et donc les gchar vallent 1 donc inutile de faire un sizeof


    Je regarde pour le reste
    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. Pb plusieurs boites de dialogues
    Par schnito dans le forum MFC
    Réponses: 10
    Dernier message: 25/02/2004, 21h44
  2. [MFC] rendre une boite de dialogue inactive
    Par Vestaproman dans le forum MFC
    Réponses: 8
    Dernier message: 22/01/2004, 14h09
  3. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59
  4. Réponses: 5
    Dernier message: 04/04/2003, 15h02
  5. Comment cree une boite de dialogue parcourir
    Par kenshi dans le forum MFC
    Réponses: 5
    Dernier message: 06/01/2003, 10h30

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