diff --git a/resources/interface.py b/resources/interface.py index c0b1e7e7ae1de155328c87fe88d16998cb99f718..f27e085c67277b14da88b333a9a5775ff738d47a 100644 --- a/resources/interface.py +++ b/resources/interface.py @@ -38,9 +38,9 @@ class UserInterface(): # Handle based on input. if user_input == '1': - self.set_program_values_menu() - elif user_input == '2': self.display_program_values() + elif user_input == '2': + self.set_program_values_menu() elif user_input == '3': self.solve_knapsack_problem() elif user_input == '0': @@ -56,11 +56,18 @@ class UserInterface(): logger.info('') logger.info('MAIN MENU') logger.info('Select an option:') - logger.info(' 1) Set program values.') - logger.info(' 2) Display current program values.') + logger.info(' 1) Display current program values.') + logger.info(' 2) Set program values.') logger.info(' 3) Solve Knapsack Problem with current program values.') logger.info(' 0) Exit program.') + def display_program_values(self): + """ + Displays program values for user. + """ + self._knapsack_algorithm.display_max_weight() + self._knapsack_algorithm.display_item_set() + #region Program Values Menu def set_program_values_menu(self): @@ -77,14 +84,16 @@ class UserInterface(): # Handle based on input. if user_input == '1': - self.set_max_weight() + self.display_program_values() elif user_input == '2': - self.clear_max_weight() + self.set_max_weight() elif user_input == '3': self.set_item_set_by_json() elif user_input == '4': self.add_to_item_set() elif user_input == '5': + self.clear_max_weight() + elif user_input == '6': self.clear_item_set() elif user_input == '0': stay_in_menu = False @@ -98,11 +107,12 @@ class UserInterface(): logger.info('') logger.info('PROGRAM VALUES MENU') logger.info('Select an option:') - logger.info(' 1) Set "Max Weight" value.') - logger.info(' 2) Clear "Max Weight" value.') + logger.info(' 1) Display current program values.') + logger.info(' 2) Set "Max Weight" value.') logger.info(' 3) Set "Item Set" by JSON import.') logger.info(' 4) Add value to "Item Set" manually.') - logger.info(' 5) Clear entire "Item Set".') + logger.info(' 5) Clear "Max Weight" value.') + logger.info(' 6) Clear entire "Item Set".') logger.info(' 0) Back') def set_max_weight(self): @@ -126,12 +136,6 @@ class UserInterface(): except ValueError: logger.info('Input value was not a positive integer.') - def clear_max_weight(self): - """ - Resets "Max Weight" value for program to 0. - """ - self._knapsack_algorithm.clear_max_weight() - def set_item_set_by_json(self): """ Sets "Item Set" value by importing from JSON file. @@ -187,6 +191,12 @@ class UserInterface(): # Failed to add item. logger.info('Failed to add new item. Benefit or cost were not positive integers.') + def clear_max_weight(self): + """ + Resets "Max Weight" value for program to 0. + """ + self._knapsack_algorithm.clear_max_weight() + def clear_item_set(self): """ Removes all items from item set. @@ -195,13 +205,6 @@ class UserInterface(): #endregion Program Values Menu - def display_program_values(self): - """ - Displays program values for user. - """ - self._knapsack_algorithm.display_max_weight() - self._knapsack_algorithm.display_item_set() - def solve_knapsack_problem(self): """ Solves knapsack with current problems and displays result to user.