def __init__(self, engine: StenoEngine):
        super(LayoutDisplay, self).__init__(engine)
        self.setupUi(self)

        self.layout().addWidget(ToolBar(
            self.action_Reset,
            self.action_Load
        ))

        self._stroke = []
        self._numbers = set()
        self._numbers_to_keys = {}
        self._number_key = ''
        self._system_name = ''
        self._system_file_map = {}

        self._layout = StenoLayout()

        self.restore_state()
        self.finished.connect(self.save_state)

        engine.signal_connect('config_changed', self.on_config_changed)
        self.on_config_changed(engine.config)
        engine.signal_connect('stroked', self.on_stroke)

        self.layout_display_view.initialize_view(self._layout)
    def __init__(self, engine: StenoEngine):

        super(PloverPolaroid, self).__init__(engine)

        # My printer's defaults
        VENDOR_ID = 0x0416
        PRODUCT_ID = 0x5011
        IN_EP = 0x81
        OUT_EP = 0x03

        # Use as system defaults
        self.vendor_id = VENDOR_ID
        self.prod_id = PRODUCT_ID
        self.in_ep = IN_EP
        self.out_ep = OUT_EP

        self.setupUi(self)
        self._tape.setFocus()
        self.started = False
        self.printer = None

        # Default vendor specs
        self._vendor_id.setText(str(hex(self.vendor_id)))
        self._prod_id.setText(str(hex(self.prod_id)))
        self._in_ep.setText(str(hex(self.in_ep)))
        self._out_ep.setText(str(hex(self.out_ep)))

        # UI listeners
        self._connect.clicked.connect(lambda: self.connect_printer())
        self._quit.clicked.connect(self.close)
        self._both_steno_realtime.setChecked(True)
        self._both_steno_realtime.toggled.connect(self.both_clicked)
        self._raw_only.toggled.connect(self.raw_steno_only_clicked)
        self._text_only.toggled.connect(self.text_only_clicked)

        # Get the state of the Translator
        self.translations = engine._translator.get_state().translations

        # Get the state of the Translator
        self.translations = engine._translator.get_state().translations

        # We want the starting point of the Translations list to be at the end
        self.starting_point = len(self.translations)

        # Engine event handlers
        engine.signal_connect('config_changed', self.on_config_changed)
        engine.signal_connect('stroked', self.on_stroke)
        self.on_config_changed(engine.config)

        # Connect printer on init
        self.connect_printer()