Class: ChoixGrilleUI

Inherits:
Gtk::Box
  • Object
show all
Defined in:
lib/Hashiparmentier/UI/ChoixGrilleUI.rb

Overview

Auteur

Brabant Mano

Version

0.1

Date

09/04/2020

Cette classe permet à l’utilisateur de choisir entre plusieurs grilles proposées

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(racine) ⇒ ChoixGrilleUI

Ce constructeur permet de créer un nouveau ChoixGrilleUI

param
  • racine Un objet qui doit définir une méthode commencerPartie(grille, nomCompte) qui sera appelée quand l’utilisateur aura choisi une grille



25
26
27
28
29
30
# File 'lib/Hashiparmentier/UI/ChoixGrilleUI.rb', line 25

def initialize(racine)

  super(:vertical , 20)
  @racine = racine

end

Instance Attribute Details

#racineObject (readonly)

Returns the value of attribute racine.



19
20
21
# File 'lib/Hashiparmentier/UI/ChoixGrilleUI.rb', line 19

def racine
  @racine
end

Instance Method Details

#chargerGrille(nomCompte, taille, difficulte) ⇒ Object

Cette méthode permet de charger un ensemble de grille pour les montrer à l’utilisateur

param
  • nomcompte Le nom du compte dont-on va récuperer les grilles

  • taille La taille des grilles à récuperer

  • difficulte La difficulte des grilles à récuperer



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
# File 'lib/Hashiparmentier/UI/ChoixGrilleUI.rb', line 38

def chargerGrille(nomCompte, taille, difficulte)
  #puts "dans charger grille choixGRilleUI"
  #puts "nomCompte", nomCompte,"taille", taille,"difficulte", difficulte

  tailleCase = 40

  liste = Sauvegarde.liste(Compte.recuperer_ou_creer(nomCompte), taille, difficulte)
  
  box = Gtk::Box.new(:horizontal, 30)
  liste.each_with_index do |s, i|
    #puts "liste.each"
    bouton = Gtk::Button.new(:label => "Réinitialiser")
    temp = GrilleUI.new(s.getGrille(), tailleCase)

    bouton.signal_connect "clicked" do |widget, event|
      temp.grille().recommencer()
      temp.grille().sauvegarder(Compte.recuperer(nomCompte))
    end

    temp.signal_connect "button-press-event" do
      grilleChoisie(temp.grille(), nomCompte)
    end
    temp.add_events([:button_press_mask])

    box.add(temp)
  #  box.add(bouton)

  end

  add(Gtk::Label.new("Veuillez choisir une grille"))
  add(box)

  show_all

end