# => Contient la classe FenetreNouvellePartie qui propose le mode aventure ou apprentissage
#
# => Author::       Valentin, DanAurea
# => Version::      0.1
# => Copyright::    © 2016
# => License::      Distributes under the same terms as Ruby

##
## classe FenetreNouvellePartie
##
class FenetreNouvellePartie < View
    # VI box
    @boxTop
    @boxBottom
    # VI bouton
    @boutonApprentissage
    @boutonJeuLibre
    # VI label
    @titreLabel

    ##
    ## Initialize
    ##
    def initialize()
        # VI box
        @boxTop = Gtk::Box.new(:vertical,0)
        @boxBottom = Fenetre::creerBoxBottom()
        # VI bouton
        @boutonApprentissage = Gtk::Button.new(:label => "Apprentissage avec aides")
        @boutonJeuLibre = Gtk::Button.new(:label => "Jeu libre")
        # VI label
        @titreLabel = Fenetre::creerLabelType("<u>Nouvelle partie</u>",Fenetre::SIZE_TITRE)
    end

    ##
    ## Permet de créer et d'ajouter les box au conteneur principal
    ##
    ##
    def miseEnPlace()        
        creerBoxTop()
        ajoutCss()
        Fenetre::box.add(@boxTop)
        Fenetre::box.add(@boxBottom)
    end

	##
    ## Créer la box verticale contenant les boutons des choix du mode de jeu et le titre
    ##
    ##
    def creerBoxTop()
		#Action des boutons
        @boutonApprentissage.signal_connect('clicked'){
            Core::changeTo("Apprentissage", "pseudo": @pseudo)
        }

        @boutonJeuLibre.signal_connect('clicked'){
            Core::changeTo("Niveau", "pseudo": @pseudo)
        }

        #add des boutons à la box
        @boxTop.add(@titreLabel)
        @boxTop.add(@boutonApprentissage)
        @boxTop.add(@boutonJeuLibre)
    end

    ##
    ## Ajoute les classes css au widget
    ##
    def ajoutCss()
        #css label
        @titreLabel.override_color(:normal, Fenetre::COULEUR_BLANC)
        @titreLabel.set_margin_top(30)
        #css bouton
        @boutonApprentissage.set_margin_top(100)
        @boutonApprentissage.set_margin_bottom(50)
        @boutonApprentissage.set_margin_left(100)
        @boutonApprentissage.set_margin_right(100)
        @boutonJeuLibre.set_margin_bottom(50)
        @boutonJeuLibre.set_margin_left(100)
        @boutonJeuLibre.set_margin_right(100)
    end

    ##
    ## Lance la construction du modèle de la vue. Méthode à définir dans tout les cas ! Autrement pas de rendu de la page.
    ##
    ## @return self
    ##
	def run()
		self.miseEnPlace()
		return self
	end
end