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)
Exemple #2
0
 def __init__(self, config, keyboard_emulation):
     StenoEngine.__init__(self, config, keyboard_emulation)
     QThread.__init__(self)
     self._signals = {}
     for hook in self.HOOKS:
         signal = getattr(self, 'signal_' + hook)
         self.hook_connect(hook, signal.emit)
         self._signals[hook] = signal
def space_placement_toggle(engine: StenoEngine, _) -> None:
	'''
	Toggle the spacing type.
	'''

	if engine.config['space_placement'] == BEFORE:
		engine.config = { 'space_placement' : AFTER }
	else:
		engine.config = { 'space_placement' : BEFORE }
    def __init__(
        self, config, keyboard_emulation, layout: ConsoleLayout, controller=None
    ):
        if controller:
            StenoEngine.__init__(self, config, controller, keyboard_emulation)
        else:
            StenoEngine.__init__(self, config, keyboard_emulation)

        Thread.__init__(self)
        self.name += "-engine"
        self.hook_connect("focus", focus_toggle)

        layout.suggestions.engine = self
        layout.tape.engine = self

        self.hook_connect("config_changed", layout.tape.on_config_changed)
        self.hook_connect("add_translation", partial(layout.on_add_translation, self))
        self.cmder = Commander(build_commands(self, layout), layout.output_to_console)

        def on_output_changed(_):
            get_app().invalidate()

        self.hook_connect("output_changed", on_output_changed)

        def on_lookup():
            focus_console()
            layout.cmder_input.text = ""
            remove_filter(self)
            self.cmder.set_state(["lookup"], layout.exit_modal)
            get_app().invalidate()

        self.hook_connect("lookup", on_lookup)

        def on_configure():
            focus_console()
            layout.cmder_input.text = ""
            remove_filter(self)
            self.cmder.set_state(["configure"], layout.exit_modal)
            get_app().invalidate()

        self.hook_connect("configure", on_configure)

        def on_quit():
            self.cmder.set_state([])
            self.cmder.handle_command(["exit"])

        self.hook_connect("quit", on_quit)

        layout.cmder_input.control.input_processors.append(
            BeforeInput(self.cmder.prompt, style="class:text-area.prompt"),
        )

        layout.cmder_input.accept_handler = self.cmder
        layout.status_bar.text = partial(status_bar_text, self)
    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()
Exemple #6
0
 def start(self):
     QThread.start(self)
     StenoEngine.start(self)
Exemple #7
0
 def start(self):
     StenoEngine.start(self)
Exemple #8
0
 def __init__(self, config, keyboard_emulation):
     StenoEngine.__init__(self, config, keyboard_emulation)
     Thread.__init__(self)
     self.name += '-engine'
     self._add_translation = AddTranslation(self)
Exemple #9
0
 def start(self):
     StenoEngine.start(self)
Exemple #10
0
 def __init__(self, config, keyboard_emulation):
     StenoEngine.__init__(self, config, keyboard_emulation)
     Thread.__init__(self)
     self.name += '-engine'
     self._add_translation = AddTranslation(self)
def space_placement_after(engine: StenoEngine, _) -> None:
	'''
	Set spacing to after.
	'''

	engine.config = { 'space_placement' : AFTER }
def space_placement_before(engine: StenoEngine, _) -> None:
	'''
	Set spacing to before.
	'''

	engine.config = { 'space_placement' : BEFORE }