def __init__(self, connections: Dict[str, Connection], rocket_profile: RocketProfile) -> None: """ :param connections: :param rocket_profile: """ super().__init__(connections, rocket_profile) self.map_data = map_data.MapData() self.im = None # Plot im self.command_history = [] self.command_history_index = None # Attach functions for static buttons self.sendButton.clicked.connect(self.send_button_pressed) self.actionSave.triggered.connect(self.save_file) self.actionSave.setShortcut("Ctrl+S") self.actionReset.triggered.connect(self.reset_view) # Hook into some of commandEdit's events qtHook(self.commandEdit, 'focusNextPrevChild', lambda _: False, override_return=True) # Prevents tab from changing focus qtHook(self.commandEdit, 'keyPressEvent', self.command_edit_key_pressed) qtHook(self.commandEdit, 'showPopup', self.command_edit_show_popup) # Hook-up logger to UI text output # Note: Currently doesn't print logs from other processes (e.g. mapping process) log_format = logging.Formatter("[%(asctime)s] (%(levelname)s) %(message)s") log_handler = qtSignalLogHandler(exception_traces=False) log_handler.setLevel(logging.INFO) log_handler.setFormatter(log_format) log_handler.qt_signal.connect(self.print_to_ui) LOGGER.addHandler(log_handler) # Setup dynamic UI elements self.setup_buttons() self.setup_labels() self.setup_subwindow().showMaximized() self.setup_view_menu() self.setWindowIcon(QtGui.QIcon(mapbox_utils.MARKER_PATH)) # Setup user window preferences self.original_geometry = self.saveGeometry() self.original_state = self.saveState() self.settings = QtCore.QSettings('UBCRocket', 'UBCRGS') self.restore_view() # Init and connection of MappingThread self.MappingThread = MappingThread(self.connections, self.map_data, self.rocket_data, self.rocket_profile) self.MappingThread.sig_received.connect(self.receive_map) self.MappingThread.start() LOGGER.info(f"Successfully started app (version = {GIT_HASH})")
def __init__(self, connections: Dict[str, Connection], rocket_profile: RocketProfile) -> None: """ :param connection: :type connection: Connection :param rocket_profile: :type rocket_profile: RocketProfile """ super().__init__(connections, rocket_profile) self.map = map_data.MapData() self.im = None # Plot im # Attach functions for static buttons self.sendButton.clicked.connect(self.send_button_pressed) self.commandEdit.returnPressed.connect(self.send_button_pressed) self.actionSave.triggered.connect(self.save_file) self.actionSave.setShortcut("Ctrl+S") self.actionReset.triggered.connect(self.reset_view) # Hook-up logger to UI text output # Note: Currently doesnt print logs from other processes (e.g. mapping process) log_format = logging.Formatter("[%(asctime)s] (%(levelname)s) %(message)s") log_handler = qtSignalLogHandler(exception_traces=False) log_handler.setLevel(logging.INFO) log_handler.setFormatter(log_format) log_handler.qt_signal.connect(self.print_to_ui) LOGGER.addHandler(log_handler) self.setup_buttons() self.setup_labels() self.setup_subwindow().showMaximized() self.setWindowIcon(QtGui.QIcon(mapbox_utils.MARKER_PATH)) self.original_geometry = self.saveGeometry() self.original_state = self.saveState() self.settings = QtCore.QSettings('UBCRocket', 'UBCRGS') self.restore_view() # Init and connection of MappingThread self.MappingThread = MappingThread(self.connections, self.map, self.rocket_data, self.rocket_profile) self.MappingThread.sig_received.connect(self.receive_map) self.MappingThread.start() LOGGER.info(f"Successfully started app (version = {GIT_HASH})")