Sha256: 40f470c0543dea233cf45e2ff5665bdfc551cc5c7ec58f3567b8025e0f126619
Contents?: true
Size: 1.57 KB
Versions: 1
Compression:
Stored size: 1.57 KB
Contents
## # Auteur:: Brabant Mano # Version:: 0.1 # Date:: 09/04/2020 # #Cette classe représente une structure de donnée permettant de faire des undo et des redo class UndoRedo #@indice => La position dans la undoRedo private_class_method :new ## #Ce constructeur permet de créer une nouvelle undoRedo def UndoRedo.creer() new() end #:nodoc: def initialize() @actions = Array.new() clear() end #:doc: ## #Cette méthode permet de d'empiler un élément #param:: # * element L'élément à empiler def empiler(element) @actions.insert(@indice, element) @indice += 1 @nbElement = @indice return self end ## #Cette méthode permet de recupérer l'élément d'avant (de descendre dans la undoRedo) #return:: # * L'élément d'avant def undo() if(@indice <= 0) raise("La undoRedo est vide") else @indice -= 1 return @actions.at(@indice) end end ## #Cette méthode permet de recupérer l'élément du dernier undo (de remonter dans la undoRedo) #return:: # * L'élément du dernier undo def redo() if(@indice >= @nbElement) raise("Vous etes au bout de la undoRedo") else @indice += 1 return @actions.at(@indice - 1) end end ## #Cette méthode permet de savoir si la undoRedo est vide #return:: # * true Si la undoRedo est vide # * false Sinon def empty?() return @actions.empty?() end ## #Cette méthode permet de vider la undoRedo def clear() @actions.clear() @indice = 0 @nbElement = 0 return self end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
Hashiparmentier-0.4.0 | lib/Hashiparmentier/Core/UndoRedo.rb |