fleet_manager_front module

The Fleet Manager Front ROS node provides the GUI to the user. It allows for adding orders to an order list which can be send to the Job Manager via a service call (place_order). It also provides information on the current Jobs (Pending and Active) and Mobile Executors.

class fleet_manager_front.GuiMainWindow[source]

Bases: ui.fleet_manager_ui.Ui_MainWindow, PyQt4.QtGui.QMainWindow

about()[source]

Display a MessageBox with the application title, version number and general information.

add_order()[source]

Add a order to the Order List based on the Order tab input field values. Before adding, a check is performaned to make sure the supplied fields are set correctly. If this is not the case the user is notified with a MessageBox.

clear_order_list()[source]

Clears the Order tab order list.

closeEvent(event)[source]

Takes control of the close event, making sure the user cannot close the application before prompting them.

close_application()[source]

Prompts the user if they are sure they which to quit the application before quitting.

delete_orders_tree_item(item)[source]

Deletes the currently selected item from the orders treeWidget.

open_context_menu()[source]

Opens the Right-Mouse-Button context menu, showing an option to delete the order tree item.

place_order_list()[source]

Place multiple orders from the Order tab Order list to the Job Manager.

update_order_arguments_placeholder_text()[source]

Updates the light gray placeholder text of the Order arguments lineEdit input field to match with the new keyword.

fleet_manager_front.job_list_cb(event)[source]

Timer callback function, attempts to call Job Manager ‘get_pending_jobs’ & ‘get_active_jobs’ services for updating the Jobs treeWidget list.

fleet_manager_front.load_orders_from_JSON(filepath)[source]

Function; Add one or multiple orders from a JSON file.

fleet_manager_front.mex_list_info_cb(data)[source]

Subscription callback for the MEx Sentinel mex_list_info topic. 1. Take in MEx info. 2. Loop over exisiting MEx items in the treeWidget. 3. If the MEx is in the list, update information. 4. If it’s not in the list, mark index for removal. 5. If not all list items have been processed, this means it’s new. Add new MEx items to the treeWidget. 6. Loop over indices_for_removal list in descending order and remove all MEx items no longer existing.

fleet_manager_front.update_jobs_list(combined_jobs_list)[source]

Add new/update existing items in the Jobs treeWidget with response information: 1. Take in pending jobs and active jobs info into a single list. 2. Loop over exisiting Job items in the treeWidget. 3. If the job is in the list, update information. 4. If it’s not in the list, mark index for removal. 5. If not all list items have been processed, this means it’s new. Add new job items to the treeWidget. 6. Loop over indices_for_removal list in descending order and remove all job items no longer existing.