begin process at 2012 05 27 17:45:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

GTK+

 > PETIT TEXTVIEWER [CODE EN C] [GCC]

PETIT TEXTVIEWER [CODE EN C] [GCC]


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :GTK+ Niveau :Initié Date de création :04/07/2001 Date de mise à jour :10/10/2001 00:00:00 Vu :6 767

Auteur : Jo

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Cet exempel va jsute vous montrer et expliquer ;-) comment creer une zone de texte, et comment y ranger le contenu d'un fichier.
Peut etre que par la suite je mettrait un petit editeur de text complet , mais seulement si j'ai le temps ;-)

Source

  • #include <gtk/gtk.h>
  • #include <sys/types.h>
  • #include <sys/stat.h>
  • #include <fcntl.h>
  • int main(int argc, char *argv[])
  • {
  • GtkWidget *fenetre, *boite, *texte, *scrollbar; //Declare les widget
  • int file;
  • gtk_init(&argc,&argv); //Intialisation de GTK
  • fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL); //Creer uen fenetre
  • boite = gtk_hbox_new(FALSE, 5); //Creer une boite de type hbox
  • gtk_container_add(GTK_CONTAINER(fenetre), boite); //Ajoute la boite au container de la fenetre
  • texte = gtk_text_new(NULL, NULL); //Creer une zone de texte
  • gtk_widget_set_usize(GTK_WIDGET(texte), 200, 200); //Attribut la taille initiale de la zone de texte
  • gtk_text_set_editable(GTK_TEXT (texte), TRUE); //Met TRUE pour indiquer que l'on peut modifier le texte, car si FALSE le texte peut etre afficher mais on peut pas modifier le contenu de la zone de texte
  • gtk_box_pack_start_defaults(GTK_BOX(boite), texte); //Ajoute la zone de texte a la boite
  • gtk_widget_show(texte); //Affiche la zone de texte
  • scrollbar = gtk_vscrollbar_new(GTK_TEXT(texte)->vadj); //Ajoute une scrollbar vertical a la zone
  • gtk_box_pack_end(GTK_BOX(boite), scrollbar, FALSE, FALSE, 0); //Ajoute la scrollbar a la zone de texte
  • gtk_widget_show(scrollbar); //Affiche la scrollbar
  • file = open(argv[1], O_RDONLY); //Ouvre le fichier passer en parametre au programme en lecture seule
  • if (file!=-1) //Si le fichier n'est pas vide
  • {
  • char buf[100]; //Declare un buffer
  • int nbre;
  • while ((nbre=read(file, buf, 100))!=0) //Tant que l'on est pas a la fin du fichier
  • //On ajoute les lignes du fichier a la zone de texte
  • gtk_text_insert (GTK_TEXT (texte), NULL,
  • NULL, NULL, buf, nbre);
  • close (file); //ferme le fichier
  • }
  • gtk_widget_show(boite); //Affiche la boite
  • gtk_widget_show(fenetre); //Affiche la fenetre
  • gtk_main(); //Rend la main a l'application
  • }
#include <gtk/gtk.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main(int argc, char *argv[])
{
  GtkWidget *fenetre, *boite, *texte, *scrollbar; //Declare les widget
  int file; 
  gtk_init(&argc,&argv); //Intialisation de GTK

  fenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL); //Creer uen fenetre
  boite = gtk_hbox_new(FALSE, 5); //Creer une boite de type hbox
  gtk_container_add(GTK_CONTAINER(fenetre), boite); //Ajoute la boite au container de la fenetre
  
  texte = gtk_text_new(NULL, NULL); //Creer une zone de texte
  gtk_widget_set_usize(GTK_WIDGET(texte), 200, 200);  //Attribut la taille initiale de la zone de texte
  gtk_text_set_editable(GTK_TEXT (texte), TRUE); //Met TRUE pour indiquer que l'on peut modifier le texte, car si FALSE le texte peut etre afficher mais on peut pas modifier le contenu de la zone de texte
  gtk_box_pack_start_defaults(GTK_BOX(boite), texte); //Ajoute la zone de texte a la boite 
  gtk_widget_show(texte); //Affiche la zone de texte
  
  scrollbar = gtk_vscrollbar_new(GTK_TEXT(texte)->vadj); //Ajoute une scrollbar vertical a la zone 
  
  gtk_box_pack_end(GTK_BOX(boite), scrollbar, FALSE, FALSE, 0); //Ajoute la scrollbar a la zone de texte
  gtk_widget_show(scrollbar);  //Affiche la scrollbar
 
  file = open(argv[1], O_RDONLY); //Ouvre le fichier passer en parametre au programme en lecture seule
  if (file!=-1) //Si le fichier n'est pas vide
  {
    char buf[100]; //Declare un buffer
    int nbre;
    while ((nbre=read(file, buf, 100))!=0)  //Tant que l'on est pas a la fin du fichier
      //On ajoute les lignes du fichier a la zone de texte
      gtk_text_insert (GTK_TEXT (texte), NULL, 
		       NULL, NULL, buf, nbre);
    close (file); //ferme le fichier
 }
 
  gtk_widget_show(boite); //Affiche la boite
  gtk_widget_show(fenetre); //Affiche la fenetre
  gtk_main(); //Rend la main a l'application
}
   



 Sources du même auteur

Source avec Zip [G++] [CODE C++] BOTBATTLE
Source avec Zip [G++] [CODE C++] SERVER.CFG GENERATOR POUR COUNTER-STRIKE
LA CARTE AU TRESOR VERSION 0.3 [CODE EN C++] [G++]
Source avec une capture CLIENT/SERVER [CODE EN C] [GCC]
CREATION DE CLASSE [CODE EN C++] [G++]

 Sources de la même categorie

Source avec Zip Source avec une capture INFORMATION GTK CONCERNANT UNE TOUCHE par Phelim
Source avec Zip Source avec une capture BINARY CLOCK GTK AVEC CONTRÔLE EN TRAY SOUS LINUX par dje_jay
Source avec Zip Source avec une capture [GTK+] FENÊTRE POPUP ANIMÉE EN BAS À DROITE DE L' ÉCRAN par katsankat
Source avec Zip GTK _CALCUL par jabirmed
Source avec Zip DICTIONNER RECHERCHE GTK par jabirmed

Commentaires et avis

Commentaire de kjus le 30/07/2002 11:36:53

ton code est un bon exemple pour les gtk_text.
Mais depuis la version 2.0, on on peut plus l'utiliser : elle est remplacée par les gtk_text_view, gtk_text_buffer, etc bcp plus dures à utiliser.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,686 sec (3)

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