Class: UndoRedo
- Inherits:
-
Object
- Object
- UndoRedo
- Defined in:
- lib/Hashiparmentier/Core/UndoRedo.rb
Overview
- 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 Method Summary collapse
-
.creer ⇒ Object
Ce constructeur permet de créer une nouvelle undoRedo.
Instance Method Summary collapse
-
#clear ⇒ Object
Cette méthode permet de vider la undoRedo.
-
#empiler(element) ⇒ Object
- Cette méthode permet de d’empiler un élément param
-
element L’élément à empiler.
-
-
#empty? ⇒ Boolean
- Cette méthode permet de savoir si la undoRedo est vide return
-
true Si la undoRedo est vide * false Sinon.
-
-
#initialize ⇒ UndoRedo
constructor
:nodoc:.
-
#redo ⇒ Object
- 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.
-
-
#undo ⇒ Object
- Cette méthode permet de recupérer l’élément d’avant (de descendre dans la undoRedo) return
-
L’élément d’avant.
-
Constructor Details
#initialize ⇒ UndoRedo
:nodoc:
22 23 24 25 26 27 |
# File 'lib/Hashiparmentier/Core/UndoRedo.rb', line 22 def initialize() @actions = Array.new() clear() end |
Class Method Details
.creer ⇒ Object
Ce constructeur permet de créer une nouvelle undoRedo
17 18 19 |
# File 'lib/Hashiparmentier/Core/UndoRedo.rb', line 17 def UndoRedo.creer() new() end |
Instance Method Details
#clear ⇒ Object
Cette méthode permet de vider la undoRedo
84 85 86 87 88 89 90 91 |
# File 'lib/Hashiparmentier/Core/UndoRedo.rb', line 84 def clear() @actions.clear() @indice = 0 @nbElement = 0 return self end |
#empiler(element) ⇒ Object
Cette méthode permet de d’empiler un élément
- param
-
element L’élément à empiler
34 35 36 37 38 39 40 41 |
# File 'lib/Hashiparmentier/Core/UndoRedo.rb', line 34 def empiler(element) @actions.insert(@indice, element) @indice += 1 @nbElement = @indice return self end |
#empty? ⇒ Boolean
Cette méthode permet de savoir si la undoRedo est vide
- return
-
true Si la undoRedo est vide
-
false Sinon
78 79 80 |
# File 'lib/Hashiparmentier/Core/UndoRedo.rb', line 78 def empty?() return @actions.empty?() end |
#redo ⇒ Object
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
62 63 64 65 66 67 68 69 70 71 |
# File 'lib/Hashiparmentier/Core/UndoRedo.rb', line 62 def redo() if(@indice >= @nbElement) raise("Vous etes au bout de la undoRedo") else @indice += 1 return @actions.at(@indice - 1) end end |
#undo ⇒ Object
Cette méthode permet de recupérer l’élément d’avant (de descendre dans la undoRedo)
- return
-
L’élément d’avant
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/Hashiparmentier/Core/UndoRedo.rb', line 47 def undo() if(@indice <= 0) raise("La undoRedo est vide") else @indice -= 1 return @actions.at(@indice) end end |