Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

tals of Computer Science II home > 7 . 9 : LAB: Grocery list editor with undo stack 7 . 9 LAB: Grocery list editor

tals of Computer Science II home >7.9: LAB: Grocery list editor with undo stack
7.9 LAB: Grocery list editor with undo stack
In this lab a grocery list editor with undo functionality is implemented
Step 1: Inspect the UndoCommand abstract base class
The read-only UndoCommand py file has a declaration for the UndoCommand abstract base class. Access UndoCommand py by clicking on the orange arrow next to
main.py at the top of the coding window. The UndoCommand class represents a command object-an object. that stores all needed information to execute an action at a later point in time. For this lab, a command object stores information to undo a grocery list change made by the user.
Step 2: Inspect the incomplete GroceryList class
The GroceryList class is declared in
GroceryList.py. Two attributes are declared
A list of strings for list items
A stack of UndoCommand references for undo commands
A simple list implementation of stack ADT is provided in Stack py
Note that the add with undo 0 method is already implemented. The method adds a new item to the list and pushes a new
RemoveLastCommand object onto the undo stack
Step 3: Implement RemoveLastCommand's execute() method
The RemoveLastCommand class inherits from UndoCommand and is declared in RemoveLastCommand py. When a RemoveLastCommand object is executed, the string list's last element is removed So when the user appends a new item to the grocery list, a RemoveLastCommand is pushed onto the stack of undo commands. Popping and executing the RemovelastCommand then removes the item most recently added by the user
RemoveLastCommand s source fist attribute and constructor are aiready declared
sotrce list is a reference to a Grocerylist objects list of strings
The constructor takes a reference to alist of strings as a parameter, and assigns source list with the reference
Implement RemoveLastCommand's execute() method to remove source_list's last element.
Step 4: Implement GroceryList's execute_undo() method
of Computer Science II home >7.9: LAB: Grocery list editor with undo stack
0. bananas
The program's output does not affect grading, so additional test cases can be added, if desired.
Submitting code written so far to obtain partial credit is recommended before proceeding to the next step
Step 5: Implement the SwapCommand class and GroceryList's swap_with_undo() method
Implement the SwapCommand class in
SwapCommand.py. The class itself is declared, but no attributes yet exist. Add necessary attribut and methods so that the command can undo swapping two items in the grocery list.
Implement GroceryList's swap_with_undo() method. The method swaps list items at the specified indices, then pushes a SwapCommand, to undo that swap, onto the undo stack.
Step 6: Implement the InsertAtCommand class and GroceryList's remove_at_with_undo() method
Implement the InsertAtCommand class in
InsertAtCommand.py. Add necessary fields and methods so that the command can undo removing a grocery list item at an arbitrary index
Implement GroceryList's remove_at_with_undo() method. The method removes the list item at the specified index, then pushes an InsertAtCommand, to undo that removal, onto the undo stack.
[LAB7:9.1:LAB:Grocerylisteditorwithundostack]
010
Downioadable files
main.py,
Undocommand.py,
RemoveLastComand.py ,
SwapCommand.py
InsertAtCommand,py , Grocerylist,py and
Stack.py
Download
]):}
8
9
10
11
12
13
14
15
[1]):}
self. undo stack =[ Stack (i)]):}
[ self Mist items append (new item name)
Load default template.
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Secrets Of Analytical Leaders Insights From Information Insiders

Authors: Wayne Eckerson

1st Edition

1935504347, 9781935504344

More Books

Students also viewed these Databases questions

Question

' Which areas depend on inputs from you to get their work donel>

Answered: 1 week ago