begin process at 2012 05 30 10:02:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

toolbar avec gtk


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

toolbar avec gtk

mercredi 25 octobre 2006 à 08:24:37 | toolbar avec gtk

developvbdebut

Membre Club

Bonjour tout le monde

J'essais de réaliser ma propre bar d'outil avec la librairie gtk en c.

Voici le code

structure.h

#include <stdlib.h>
#include <gtk/gtk.h>


#ifndef structure_H
#define structure_H


typedef struct
{
 GtkWidget *iconnew;
 GtkWidget *icondoss;
 GtkWidget *buttonnew;
 GtkWidget *buttonrep;


}composant;


void barreoutil(composant * e);


barreoutil.c

#include <gtk/gtk.h>
#include "structure.h"

 

void barreoutil(composant * e)
{
e->toolbar =gtk_toolbar_new();    
gtk_box_pack_start(GTK_BOX(e->vbox),e->toolbar,FALSE,FALSE,0);   
 
 
e->iconnew= gtk_image_new_from_file("./icon/new_gif.gif");          
e->buttonnew = gtk_tool_button_new(e->iconnew,"Nouveau");    
  
    
    
e->icondoss = gtk_image_new_from_file("./icon/open_gif.gif");    
e->buttonrep = gtk_tool_button_new(e->icondoss,"Dossier");   
   
}


main.c

#include <stdlib.h>
#include <gtk/gtk.h>
#include <stdio.h>
#include "structure.h"


int main (int argc, char *argv[])
{
    composant e;

 
  g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, (GLogFunc) gtk_false, NULL);
  gtk_init (&argc, &argv);
  g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING, g_log_default_handler, NULL);


  e.win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_container_set_border_width (GTK_CONTAINER (e.win), 8);
  gtk_window_set_title (GTK_WINDOW (e.win), "Mytext");
  gtk_window_set_position (GTK_WINDOW (e.win), GTK_WIN_POS_CENTER);
  gtk_widget_realize (e.win);
  gtk_window_maximize(GTK_WINDOW (e.win));
  g_signal_connect (e.win, "destroy", gtk_main_quit, NULL);


  e.vbox = gtk_vbox_new (FALSE, 6);
  gtk_container_add (GTK_CONTAINER (e.win), e.vbox);



barreoutil(&e);


 
  gtk_widget_show_all (e.win);
  gtk_main ();
  return 0;
}



Voici l'erreur

13 barreoutil.c [Warning] assignment from incompatible pointer type

18 barreoutil.c [Warning] assignment from incompatible pointer type



J'ignore pourquoi il met cette erreur, je ne vois pas comment la corriger.

Pourriez vous m'aider?

Merci

Cordialement

a bientôt

mercredi 25 octobre 2006 à 11:10:25 | Re : toolbar avec gtk

luhtor

Ce n'est pas une erreur, juste un warning.

e->buttonnew = gtk_tool_button_new(e->iconnew,"Nouveau");

La fonction gtk_tool_button_new retourne pas un (GtkWidget*) mais un dérivé, donc tu peux utiliser la macro de conversion, ca enlevera le warning (normalement):

e->buttonnew = GTK_WIDGET(gtk_tool_button_new(e->iconnew,"Nouveau"));

mercredi 25 octobre 2006 à 18:17:17 | Re : toolbar avec gtk

developvbdebut

Membre Club
Bonsoir tout le monde

J'ai fais le changement, il n'y a plus de warning.

Mai lors de l'execution, les boutons de la barre d'outil ne s'affiche pas, et il y a une erreur d'execution lors de la fermeture.

J'ai oublié de vous dire que j'utilise la derniere version de gtk.

Que dois je faire?

Merci

Cordialement

A bientôt
mercredi 25 octobre 2006 à 18:53:22 | Re : toolbar avec gtk

luhtor

Mais tu es sur d'ajouter les boutons à la ToolBar que tu créés ? car je ne vois pas de fonction ajoutant ces boutons. Auquel cas, c'est normal que tu vois rien.


mercredi 25 octobre 2006 à 19:00:59 | Re : toolbar avec gtk

developvbdebut

Membre Club

Re

Voilà, le code de barreoutil.c.

#include <gtk/gtk.h>
#include "structure.h"

 

void barreoutil(composant * e)
{
e->toolbar =gtk_toolbar_new();    
gtk_box_pack_start(GTK_BOX(e->vbox),e->toolbar,FALSE,FALSE,0);   
 
 
e->iconnew= gtk_image_new_from_file("./icon/new_gif.gif");          
e->buttonnew = GTK_WIDGET(gtk_tool_button_new(e->iconnew,"Nouveau"));    
  
    
    
e->icondoss = gtk_image_new_from_file("./icon/open_gif.gif");    
e->buttonrep = GTK_WIDGET(gtk_tool_button_new(e->icondoss,"Dossier"));   
   
}




Que dois je ajouter, un    gtk_box_pack_start?

A+

jeudi 26 octobre 2006 à 11:28:44 | Re : toolbar avec gtk

luhtor

Bas a aucun moment, tu dis d'ajouter les boutons que tu créés à la toolbar ...
Oue mais c'est a toi de te débrouiller avec la doc de référence:
http://developer.gnome.org/doc/API/2.0/gtk/

Bon mais je suis gentil ^^, j'ai juste chercher gtkToolBar, puis j'ai chercher une fonction qui pourrait ajouter un bouton et voila ske j'ai trouvé:
http://developer.gnome.org/doc/API/2.0/gtk/GtkToolbar.html#gtk-toolbar-insert
jeudi 26 octobre 2006 à 20:00:53 | Re : toolbar avec gtk

developvbdebut

Membre Club
Re

Le probleme est que j'ai du mail à comprendre cette doc.

J'utilise la derniere version de gtk

A+
jeudi 26 octobre 2006 à 21:07:21 | Re : toolbar avec gtk

luhtor

Bas oue, la documentation que je t'ai filé n'est pas un tutoriel, mais l'ensemble des fonctions de gtk, donc faut comprendre le fonctionnement de gtk pour pouvoir s'y retrouver.
vendredi 27 octobre 2006 à 20:41:51 | Re : toolbar avec gtk

developvbdebut

Membre Club

Bonsoir tout le monde

J'ai essayai.

Voici le code

#include <gtk/gtk.h>
#include "structure.h"

void barreoutil(composant * e)
{
e->toolbar =gtk_toolbar_new();    
gtk_box_pack_start(GTK_BOX(e->vbox),e->toolbar,FALSE,FALSE,0);   
 
 
e->iconnew= gtk_image_new_from_file("./icon/new_gif.gif");          
e->buttonnew = GTK_WIDGET(gtk_tool_button_new(e->iconnew,"Nouveau"));    
gtk_toolbar_insert(e->toolbar,e->buttonnew,0);  
    
    
e->icondoss = gtk_image_new_from_file("./icon/open_gif.gif");    
e->buttonrep = GTK_WIDGET(gtk_tool_button_new(e->icondoss,"Dossier"));   
gtk_toolbar_insert(e->toolbar,e->buttonrep,0);   
}


Le warning

 [Warning] passing arg 1 of `gtk_toolbar_insert' from incompatible pointer type
[Warning] passing arg 2 of `gtk_toolbar_insert' from incompatible pointer type
[Warning] passing arg 1 of `gtk_toolbar_insert' from incompatible pointer type
[Warning] passing arg 2 of `gtk_toolbar_insert' from incompatible pointer type


Avez vous une sugestion pour regler ce probleme..

Cordialement

A bientôt

samedi 28 octobre 2006 à 01:03:56 | Re : toolbar avec gtk

luhtor

C'est toujours le meme problème: la conversion de type entre pointeurs.
Faut utiliser la macro qui va bien, pour convertir le pointeur en un pointeur d'un autre type.



1 2

Cette discussion est classée dans : include, window, gtk, win, barreoutil


Répondre à ce message

Sujets en rapport avec ce message

erreur compilation gtk dev-c++ [ par tombgalere ] Bonjour à tous.Après avoir soigneusement installer tous les packages nécéssaires pour développer en gtk via dev-c++ sous windows (DevEx/imagelib/GTK+ Erreur [ par NettoyeurFantome ] Je travaille sous Dev-C++. J'ai mis toutes les libs au bon endroit toutes les dll et tout.Je tape le premier code d'un tut, je compile, ça marche. Je Devcpp - GTk help !!!!!! [ par UnderFlow ] Bonjour à tous, pour gagner du tps, j'utilise Glade pr éditer et générer un code C utilisant GTK pour mon gui. Mon problème : lorsque je fais un #in 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...: zone de dessin [ par pilot32 ] Bonjour!  je débute en gtk,je souhaite faire une zone de dessin avec dedans un trait horizontal et un vertical symbolisant un repere pour plus tard af premiere fenêtre avec gtk [ par developvbdebut ] Bonjour tout le mondeJe suis en trein de m'initier aux applis fenêtré avec gtk, de façon modulaire.Voici, ce que j'ai fais, le compilateur n'indique a C gtk scroll window suit le texte [ par Yunchi ] Bonjour, J'ai une zone de texte 'text_view = gtk_text_view_new();' et un scroll winndow 'scroll = gtk_scrolled_window_new(NULL,NULL);'. Ensuite je Erreurs de compilation [ par jenpol5962 ] Bonjour à tous, J'ai un programme en GTK+ que j'essaye de compiler sous visualC++ express 2005.Lorsque je compile, j'ai les erreurs suivantes: error Tracer une droite sur une image sous gtk [ par zaibacker ] Bonjour je suis débutant sous gtk J'ai chargé une texture et je voudrais y tracer une droite et l'enregistrer mais rien ne se passe si vous avez une i inserer des images dans des tables pour un projet labyrinthe [ par Razily ] voilà , j'ai un projet labyrinthe à faire et pr le présenter j'ai pensé à créer des tables comme Widget !! et à l'intérieur j'ai prévu de mettre des c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales