diff --git a/c/CtrlCheckLinks.rb b/c/CtrlCheckLinks.rb
index 52d37b5..040c03f 100644
--- a/c/CtrlCheckLinks.rb
+++ b/c/CtrlCheckLinks.rb
@@ -1,22 +1,23 @@
+# Controleur de la vérification de la validité des liens ainsi que les vues correspondantes
class CtrlCheckLinks
- def saisie
- liste_dir = "../fichier/".liste_rep
- #Va checher les fichiers et arborecenses dans le dossier fichier (Méthode dans ReadFolder)
- Gtk.init
- @v1 = Vue1.new(liste_dir, self)
- @v1.getWindow.show_all
+ #Controleur de la saisie pour vérification de lien
+ def saisie(type)
+ @v1 = Vue1.new(self, 'Saisie nom fichier', type) #creation vue principal
+ @v1.getWindow.show_all # affichage
Gtk.main
-
return @urls
end
-
- def recupUrls(str)
+ #Controleur recuperation et verification de liens dans 1 fichiers
+ def recupUrls(str)
f = ReadFile.new(str)
@urls = f.getUrls
self.vueResult(self.verifLiens(@urls), str)
+ s = CtrlHistoLink.new #on enregistre dans l'histo le verif du lien
+ s.sauv(str, @urls)
+ return @urls
end
-
- def recupUrlsDoss(str)
+ #Controleur recuperation et verification de liens dans 1 dossier
+ def recupUrlsDoss(str)
d = Dir.open(str)
liste_exclus = [".", ".."]
liste_dir = d.sort - liste_exclus
@@ -24,18 +25,18 @@ class CtrlCheckLinks
if (File.ftype(str + "/" + fichier) == "file")
self.recupUrls(str + "/" + fichier)
end
- }
+ }
end
-
- def destructionFen
+ #Controleur permettant de detruire la vue principal
+ def destructionFen
@v1.getWindow.destroy
Gtk.main_quit
end
-
- def verifLiens(urls)
- resultats = ""
- urls.each { |n|
- p = Net::Ping::HTTP.new n , 80
+ #Controleur de verification de liens
+ def verifLiens(urls)
+ resultats = ""
+ urls.each { |n| # pour chaque urls on realise un ping -> mise des resultats en chaine de caractere
+ p = Net::Ping::HTTP.new n , 80, 5
if p.ping?
resultats += "#{n} est vivant\n"
else
@@ -43,16 +44,13 @@ class CtrlCheckLinks
end
}
return resultats
+
end
-
- def vueResult(resultats, nom)
+ #Controleur permettant d'afficher la vue secondaire d'affichage de resultat
+ def vueResult(resultats, nom)
v = VueResult.new(resultats, nom)
v.getWindow.show_all
Gtk.main
end
-
-
-
-
end
\ No newline at end of file
diff --git a/c/CtrlHistoLink.rb b/c/CtrlHistoLink.rb
new file mode 100644
index 0000000..4c79215
--- /dev/null
+++ b/c/CtrlHistoLink.rb
@@ -0,0 +1,30 @@
+#Classe permettant de g"rer l'historique de fichier traité
+class CtrlHistoLink
+ #Saisie pour vérification de lien stocké en historique
+ def saisie
+ @v = VueHisto.new(self,"Historique") #creation vue
+ @v.getWindow.show_all # affichage
+ Gtk.main
+ return @urls
+ end
+ #Sauvegarde les liens dans un fichier pour historique
+ def sauv(fileName, urls)
+ fileName = File.basename(fileName)
+ f = File.new("../sauv/#{fileName}", "w+")
+ f.write(urls)
+ f.close
+ end
+
+ #Permet de rejouer les liens d'un fichier
+ def rejouer(fileName)
+ r = CtrlCheckLinks.new
+ @urls = r.recupUrls(fileName)
+ end
+
+ #Controleur permettant de detruire la vue historique
+ def destructionFen
+ @v.getWindow.destroy
+ Gtk.main_quit
+ end
+
+end
\ No newline at end of file
diff --git a/c/Main.rb b/c/Main.rb
index 2dc20fe..3d9374d 100755
--- a/c/Main.rb
+++ b/c/Main.rb
@@ -6,15 +6,50 @@ require 'net/ping' #lib netwotk
#include
require './CtrlCheckLinks'
+require './CtrlHistoLink'
require '../m/ReadFile'
-require '../m/ReadFolder'
require '../v/Vue1'
require '../v/VueResult'
+require '../v/VueMenu'
+require '../v/VueHisto'
- c = CtrlCheckLinks.new
- urls = c.saisie
-while urls!=nil
- c = CtrlCheckLinks.new
- urls = c.saisie
+#Classe principal du controleur main
+class Main
+ # Controleur du menu de départ
+ def menu
+
+ @v = VueMenu.new(self,"Menu")
+ @v.getWindow.show_all # affichage
+ Gtk.main
+ end
+
+ # Controleur historique
+ def histo
+ c = CtrlHistoLink.new
+ urls = c.saisie
+ end
+
+ # Controleur vérification d'un fichier
+ def newVerifFile
+ c = CtrlCheckLinks.new
+ urls = c.saisie(1)
+ end
+
+ # Controleur vérification d'un dossier
+ def newVerifDossier
+ c = CtrlCheckLinks.new
+ urls = c.saisie(0)
+ end
+
+ # Controleur permettant de detruire la vue menu
+ def destructionMenu
+ @v.getWindow.destroy
+ Gtk.main_quit
+ end
+
end
+
+c = Main.new
+c.menu
+
print "Termine\n"
\ No newline at end of file
diff --git a/fichier/haut.html b/fichier/haut.html
index 9296841..35290c4 100644
--- a/fichier/haut.html
+++ b/fichier/haut.html
@@ -13,9 +13,9 @@
diff --git a/groupe3.html b/groupe3.html
deleted file mode 100644
index 3a408bb..0000000
--- a/groupe3.html
+++ /dev/null
@@ -1,1860 +0,0 @@
-
-
-
-
-
-
-
Etude de cas 2013-2014 (Agile)
-
-
-
-
-
-
-
-
-
-
-
-
- |
-
-Cette étude de cas donne lieu à une évaluation. Appliquez-vous!
- |
-
-
-
-
-
-
-
1. Contexte
-
-
-
1.1. Organisation
-
Ce projet Agile d’ACSI est prévu pour durer 4 semaines, à raison de 3h par semaine
-de séances en TD avec machines.
-
Le déroulement des 4 semaines est approximativement le suivant :
-
-
-
-
-
Figure 1. Déroulement du projet agile sur 4 semaines
-
-
-
-
1.2. Environnement logiciel
-
--
-Identification
-
--
-
-Vous pouvez en profiter pour changer de groupe par rapport au 1er projet.
-
-
--
-Gestion de projet
-
--
-
-Chaque groupe continuera à utiliser le gestionnaire de projet Redmine : http://algec.iut-blagnac.fr/redmine/.
-De nouveaux projets vous seront affectés au 1er TD de la semaine 50.
-Dans ces nouveaux projets, le plug-in "Scrum" sera activé pour vous permettre de mettre en oeuvre
-les principes ailes vus en cours avec M. Inglebert.
-
-
--
-Gestion de version
-
--
-
-Chaque groupe est libre d’utiliser un dépôt qui lui est propre, mais il devra
-être accessible par l’enseignant. Pour ceux qui n’ont pas de dépôt l’enseignant
-vous en fournira un. En faire la demande via Redmine. Vous pouvez utiliser le même
-dépôt que le 1er projet mais en ayant un répertoire différent.
-
-
--
-Outils de modélisation
-
--
-
-Les outils de modélisation sont libres, mais devront être utilisés (plantuml, starUML, etc.).
-Pour chaque étape demandées il vous faudra remettre vos diagrammes en respectant une nomenclature
-bien précise.
-
-
-
-
-
-
-
- |
-
-Le respect de la nomenclature des fichiers à remettre est indispensable. Faites des tests et
-vérifiez. Ces fichiers seront récupérés par des scripts…
- |
-
-
-
-
-
1.3. Divers
-
Quelques règles et informations concernant le sujet :
-
--
-
-Chaque groupe de TD de 2ème année traite un sujet différent.
-
-
--
-
-Dans un même groupe, vous pouvez vous aider entre équipes!
-
-
--
-
-Les commentaires sur vos modèles intermédiaires seront donnés à chaque groupe au fur et à mesure.
-
-
-
-
-
-
-
-
2. Exposé du CCU pour le projet du Groupe3
-
-
Vous devez réaliser un logiciel pour le client John Doe, appelé CURLING (Check if my URL LINks are Good).
-
-
-
-
-
2.1. Objectifs et contexte
-
John Doe écrit de nombreux documents et supports de cours qui incluent des références à des documents
-web (URLs). Il n’a pas le temps de vérifier systématiquement si ces URLs sont toujours valides (si le
-document web est toujours accessible). Ils vous embauche pour lui réaliser une moulinette qui réalise
-cette vérification pour lui.
-
-
-
2.2. Besoins élémentaires
-
A minima, l’application demandera à John Doe le nom d’un fichier (texte) et fournit en retour
-la liste des URLs défectueuses. John Doe a découvert dans une revue le paradigme MVC et vous demande
-de l’appliquer.
-
Dans l’idéal, l’application maintiendra une liste de documents avec des informations du type : dernière
-fois que le fichier a été vérifié, type (e.g., .html, .txt, .docx.), nome (e.g., /Users/JohnDoe/docs/test.txt).
-
-
-
2.3. Besoins optionnels
-
On pourra imaginer qu’au lieu de fournir un nom de fichier, John Doe fournit un répertoire
-(et que l’application CURLING vérifie toutes les URLs de tous les fichiers texte de ce répertoire).
-
On pourra aussi imaginer que John Doe puisse sélectionner un fichier, ou un type de fichier dans une liste
-de documents (déjà checkés par exemple).
-
-
-
2.4. Exemples et cas de test
-
Voici un exemple de fichier que John Doe veut pouvoir vérifier: definition.txt.
-
-
-
2.5. Glossaire
-
--
-MVC
-
--
-
- Model View Controler
-
-
--
-URL
-
--
-
- Universal Ressource Locator
-
-
-
-
-
-
-
-
-
3. Planning
-
-
Le principe du projet ACSI est que vous ne devriez pas à avoir à travailler (trop) en plus
-des 2 séances de TD hebdomadaires.
-Vous allez travailler par groupe de 3 ou 4.
-
-
-
-
- |
-
-Dans cette version "Agile" du projet, "déposer" régulièrement vos productions
-est obligatoire car intégré à la démarche itérative.
- |
-
-
-
Calendrier prévisionnel des "sprints"
-
-
-
-
-
- |
-
-Ce sprint important sera en "séances libres", votre client bien aimé étant absent
-toute la semaine. Bilan client vendredi.
- |
-
-
-
--
-
-Semaine 2 (6 au 10 janvier 2014) - Sprint 2 (étapes idem)
-
-
--
-
-Semaine 3 (13 au 17 janvier 2014) - Sprint 3 (étapes idem)
-
-
--
-
-Fin de la 2ème séance de TD de la semaine 3 (13 au 17 janvier 2014) :
-
-
--
-
-Démo de l’application au client
-
-
--
-
-Code java/ruby documenté (commentaires styles javadoc/rdoc) sur votre dépot
-
-
--
-
-Captures d'écran réelles (dans les documents redmine)
-
-
--
-
-Rapport = Wiki de votre projet (redmine)
-
-
-
-
-
-
-
-
-
-
4. Dossier final à remettre
-
-
Seul le Wiki servira de "dossier final". L’ensemble des activités
-(sprint, tâches, etc.) tracées dans Redmine fera aussi partie du
-"dossier". Vous n’avez rien à rédiger de particulier sur ces aspects
-de gestion de projet, mais vous avez à sérieusement renseigner chaque activité
-de chaque membre à chaque TD.
-
-
-
-
5. Evaluation et critères
-
-
L'évaluation portera principalement sur les critères suivants :
-
-Table 1. Critères
-
-
-
-
-
- Critère |
- Type de critère |
- Poids approximatif |
-
-
-
-
-WiKi |
-Clarté, pertinence |
-10% |
-
-
-Respect des sprints et principes agiles |
-Correction, pertinence |
-20% |
-
-
-Diagramme des UC |
-Correction, pertinence |
-5% |
-
-
-Diagramme des Classes Métier |
-Correction, pertinence |
-5% |
-
-
-SNI |
-Correction, pertinence |
-10% |
-
-
-Diagramme de Séquence Système (2 UC au moins) |
-Correction, pertinence |
-5% |
-
-
-Diagramme de Séquence « normal » (au moins 1 UC) |
-Correction, pertinence |
-10% |
-
-
-Cohérence inter-modèles (SNI/UC/DC, UC/DSS/DS/DCP) |
-Correction, pertinence |
-5% |
-
-
-Respect des nomenclatures, dépots SVN, Wiki, etc~ |
-Correction, pertinence |
-10% |
-
-
-Code exécutable, documentation et tests |
-Correction, documentation |
-20% |
-
-
-
-
-
-
-
- |
-
-Vous pouvez insérer une section "auto-évaluation" dans votre rapport, qui reprend cette grille et
-vous permet de vous auto-évaluer.
- |
-
-
-
-
-
-
6. Annexes
-
-
-
6.1. Acronymes
-
--
-DC
-
--
-
-Diagramme de Classe
-
-
--
-DS
-
--
-
-Diagramme de Séquence
-
-
--
-DSS
-
--
-
-Diagramme de Séquence Système
-
-
--
-MVC
-
--
-
-Model View Controler
-
-
--
-SNI
-
--
-
-Schéma de Navigation d'Interface
-
-
--
-UC
-
--
-
-Diagramme des Cas Utilisateurs
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/m/ReadFile.rb b/m/ReadFile.rb
index 3605bae..e6af677 100644
--- a/m/ReadFile.rb
+++ b/m/ReadFile.rb
@@ -1,16 +1,18 @@
+#Classe permettant l'acces et la recuperation des données dans les fichiers
class ReadFile
- def initialize(pFic)
+ #Ouverture d'un fichier en lecture
+ def initialize(pFic)
@fic = File.open(pFic, "r")
end
-
- def getALL #revoit tout le contenu d'un fichier sous forme d'une chaine de caractere
+ #Revoit tout le contenu d'un fichier sous forme d'une chaine de caractere
+ def getALL
all = @fic.read
return all
end
-
- def getUrls #sort les URLs d'un fichier
+ #Sort les URLs d'un fichier
+ def getUrls
txt = self.getALL
- url = txt.scan(/http[^\s]*/)
+ url = URI::extract(txt, /http(s)?/)
return url
end
end
diff --git a/m/ReadFolder.rb b/m/ReadFolder.rb
deleted file mode 100644
index 8ac7640..0000000
--- a/m/ReadFolder.rb
+++ /dev/null
@@ -1,33 +0,0 @@
-class String #ajout de la méthode à la classe String
- def liste_rep(espacement = "")
- #initialisation
- i=0
- fich_dir = [""]
- all_dir = ""
- liste_exclus = [".", ".."]
- d = Dir.open(self)
-
- #sort les fichiers sans . et .. qui nous interresse pas
- liste_dir = d.sort - liste_exclus
-
- liste_dir.each { |fichier| #pour chaque fichier touvé
- case File.ftype(self+fichier)
- when "directory" #si on trouve un dossier on l'ajoute et on cherche son contenu avec un apelle recursif
- fich_dir[i] = "#{espacement} + #{fichier}/ \n"
- espacement += " "
- fich_dir[i+1] = (self + fichier + "/").liste_rep(espacement)
- espacement = espacement[0, espacement.length-4]
- i+=2
- when "file" # si c'est un fichier on l'ajoute simplement
- fich_dir[i] = "#{espacement} - #{fichier} \n"
- i+=1
- end
-
- }
-
- fich_dir.each { |n|
- all_dir += n
- }
- return all_dir; #return l'arboressence des fichiers sous forme d'une chaine de caractere
- end
-end
\ No newline at end of file
diff --git a/sauv/aa b/sauv/aa
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/sauv/aa
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/sauv/ff b/sauv/ff
new file mode 100644
index 0000000..7adf731
--- /dev/null
+++ b/sauv/ff
@@ -0,0 +1 @@
+["https://www.google.fr", "http://www.ndqjkdjqdkjz.com", "http://www.a.com"]
\ No newline at end of file
diff --git a/v/Vue1.rb b/v/Vue1.rb
index 510923c..673609a 100644
--- a/v/Vue1.rb
+++ b/v/Vue1.rb
@@ -1,33 +1,28 @@
-
+# Classe creation de la vue de sélection de fichier ou dossier
class Vue1
- def initialize(liste_dir, ctrl)
+ # Creation de la vue
+ def initialize(ctrl, title, type)
@ctrl = ctrl
#fenenetre generale
@window = Gtk::Window.new
- @window.set_title('Saisie nom fichier')
+ @window.set_title(title)
#declaration des differents widgets
vb = Gtk::VBox.new(true, 6)
- top = Gtk::HBox.new(false, 6)
bot = Gtk::HBox.new(false, 6)
- ###Partie supérieur fenetre###
-
- #Creation du label de l'arbo
- dir = Gtk::Label.new(liste_dir)
- top.pack_start(dir, false, true, 6)
- vb.pack_start(top)
- ##############################
-
-
- ###Partie Inferieur fenetre###
-
#creation label pour la saisie
- lab = Gtk::Label.new('Chemin')
+ lab = Gtk::Label.new('Chemin :')
bot.pack_start(lab, false, true, 6)
#creation champ de saisie
- @nom = Gtk::Entry.new
+ #@nom = Gtk::Entry.new
+ if (type == 1)
+ @nom = Gtk::FileChooserButton.new("choisir un fichier", Gtk::FileChooser::ACTION_OPEN)
+ else
+ @nom = Gtk::FileChooserButton.new("choisir un dossier ", Gtk::FileChooser::ACTION_SELECT_FOLDER)
+ end
+ @nom.set_current_folder("../fichier")
bot.pack_start(@nom, true, true)
#creation bouton de validation
@@ -43,25 +38,27 @@ class Vue1
self.listenerDestroy
end
- def getWindow
+ def getWindow #:nodoc:#
return @window
end
- def getEntry
+ def getEntry #:nodoc:#
return @chaine
end
- def listenerDestroy # Listener fermeture fenetre
- @window.signal_connect('delete_event') {
- @ctrl.destructionFen
+ # Listener fermeture fenetre
+ def listenerDestroy
+ @window.signal_connect('destroy') {
+ @ctrl.destructionFen
}
end
-
- def listenerBouton #listener appuie validation
+
+ #Listener appuie bouton validation
+ def listenerBouton
@chaine = " "
@b.signal_connect('clicked'){
- @chaine = @nom.text.to_s
- if (@chaine =="")
+ @chaine = @nom.filename
+ if (@chaine =="") #gestion saisie vide
m = Gtk::MessageDialog.new(Gtk::Window.new, Gtk::Dialog::DESTROY_WITH_PARENT,
Gtk::MessageDialog::ERROR,
Gtk::MessageDialog::BUTTONS_CLOSE,
@@ -69,16 +66,12 @@ class Vue1
m.run
m.destroy
else
- @chaine = "../fichier/" + @chaine
- if(File.directory?(@chaine))
-
+ if(File.directory?(@chaine)) #si c'est un dossier utilisation du controleur adéquat
@ctrl.recupUrlsDoss(@chaine)
-
-
else
- if(File.exist?(@chaine))
+ if(File.exist?(@chaine)) #si c'est un fichier existant utilisation du controleur adéquat
@ctrl.recupUrls(@chaine)
- else
+ else #gestion saisie invalide
d = Gtk::MessageDialog.new(Gtk::Window.new, Gtk::Dialog::DESTROY_WITH_PARENT,
Gtk::MessageDialog::ERROR,
Gtk::MessageDialog::BUTTONS_CLOSE,
diff --git a/v/VueHisto.rb b/v/VueHisto.rb
new file mode 100644
index 0000000..aec9486
--- /dev/null
+++ b/v/VueHisto.rb
@@ -0,0 +1,78 @@
+# Classe creation de la vue permettant d'aceder a l'historique
+class VueHisto
+ # Creation de la vue
+ def initialize(ctrl, title)
+ @ctrl = ctrl
+ #fenenetre generale
+ @window = Gtk::Window.new
+ @window.set_title(title)
+
+ #declaration des differents widgets
+ vb = Gtk::VBox.new(true, 6)
+ bot = Gtk::HBox.new(false, 6)
+
+ #creation label pour la saisie
+ lab = Gtk::Label.new('Chemin du fichier a rejouer :')
+ bot.pack_start(lab, false, true, 6)
+
+ #creation champ de saisie
+ @nom = Gtk::FileChooserButton.new("choisir un fichier", Gtk::FileChooser::ACTION_OPEN)
+ @nom.set_current_folder("../sauv")
+ bot.pack_start(@nom, true, true)
+
+ #creation bouton de validation
+ @b = Gtk::Button.new('OK')
+ bot.pack_start(@b)
+ vb.pack_start(bot)
+ ##############################
+
+ @window.add(vb)
+
+ # Abbonement fenetre au Listener
+ self.listenerBouton
+ self.listenerDestroy
+ end
+
+ def getWindow #:nodoc:#
+ return @window
+ end
+
+ def getEntry #:nodoc:#
+ return @chaine
+ end
+
+ # Listener fermeture fenetre
+ def listenerDestroy
+ @window.signal_connect('destroy') {
+ @ctrl.destructionFen
+ }
+ end
+
+ #Listener appuie bouton validation
+ def listenerBouton
+ @chaine = " "
+ @b.signal_connect('clicked'){
+ @chaine = @nom.filename
+ if (@chaine =="") #gestion saisie vide
+ m = Gtk::MessageDialog.new(Gtk::Window.new, Gtk::Dialog::DESTROY_WITH_PARENT,
+ Gtk::MessageDialog::ERROR,
+ Gtk::MessageDialog::BUTTONS_CLOSE,
+ "Erreur : Veuillez saisir un fichier !")
+ m.run
+ m.destroy
+ else
+ if(File.exist?(@chaine)) #si c'est un fichier existant utilisation du controleur adéquat
+ @ctrl.rejouer(@chaine)
+ else #gestion saisie invalide
+ d = Gtk::MessageDialog.new(Gtk::Window.new, Gtk::Dialog::DESTROY_WITH_PARENT,
+ Gtk::MessageDialog::ERROR,
+ Gtk::MessageDialog::BUTTONS_CLOSE,
+ "Erreur : Fichier inexistant !")
+ d.run
+ d.destroy
+ end
+
+ end
+ }
+ end
+end
diff --git a/v/VueMenu.rb b/v/VueMenu.rb
new file mode 100644
index 0000000..179c0b8
--- /dev/null
+++ b/v/VueMenu.rb
@@ -0,0 +1,66 @@
+#Classe creation vue du menu
+class VueMenu
+ # Creation de la vue
+ def initialize(ctrl, title)
+ @ctrl = ctrl
+ #fenenetre generale
+ @window = Gtk::Window.new
+ @window.set_title(title)
+
+ #declaration des differents widgets
+ vb = Gtk::VBox.new(true, 6)
+ top = Gtk::HBox.new(false, 6)
+
+
+
+ #creation boutons
+ @newFile = Gtk::Button.new('Nouveau test fichier')
+ @newDoss = Gtk::Button.new('Nouveau test dossier')
+ @histo = Gtk::Button.new('Histo')
+
+ top.pack_start(@newFile)
+ top.pack_start(@newDoss)
+ top.pack_start(@histo)
+ vb.pack_start(top)
+ ##############################
+
+ @window.add(vb)
+
+ # Abbonement fenetre au Listener
+ self.listenerBoutonNewFile
+ self.listenerBoutonNewDossier
+ self.listenerBoutonHisto
+ self.listenerDestroy
+ end
+
+ def getWindow #:nodoc:#
+ return @window
+ end
+ #Listener appuie bouton nouvelle vérification de 1 fichier
+ def listenerBoutonNewFile
+ @newFile.signal_connect('clicked'){
+ @ctrl.newVerifFile
+ }
+ end
+ #Listener appuie bouton validation nouvelle vérification de 1 dossier
+ def listenerBoutonNewDossier
+ @newDoss.signal_connect('clicked'){
+ @ctrl.newVerifDossier
+ }
+ end
+ #Listener appuie bouton validation pour rejouer un fichier dans de l'historique
+ def listenerBoutonHisto
+ @histo.signal_connect('clicke d'){
+ @ctrl.histo
+ }
+ end
+ # Listener fermeture fenetre Menu
+ def listenerDestroy
+ @window.signal_connect('destroy') {
+ @ctrl.destructionMenu
+ }
+ end
+
+
+
+end
\ No newline at end of file
diff --git a/v/VueResult.rb b/v/VueResult.rb
index 2ab75a0..41dd848 100644
--- a/v/VueResult.rb
+++ b/v/VueResult.rb
@@ -1,11 +1,16 @@
+ # Classe creation de la vue des resultats
class VueResult
+ # Creation de la vue
def initialize(liste_result, nom)
+ #fenenetre generale
@window = Gtk::Window.new
@window.set_title(nom)
+ #declaration des differents widgets
vb = Gtk::VBox.new(true, 6)
vh = Gtk::HBox.new(false, 6)
+ #creation label resultat
if(liste_result != "")
res = Gtk::Label.new(liste_result)
else
@@ -14,18 +19,20 @@
vh.pack_start(res, false, true, 6)
vb.pack_start(vh)
+ # Abbonement fenetre au Listener
@window.add(vb)
self.listenerDestroy
end
- def getWindow
+ def getWindow #:nodoc:#
return @window
end
- def listenerDestroy
+ # Listener fermeture Resultat
+ def listenerDestroy
@window.signal_connect('destroy') {
- @window.destroy
- Gtk.main_quit
+ @window.destroy
+ Gtk.main_quit
}
end
end