コード例 #1
0
ファイル: tabs.py プロジェクト: sushi-irc/nigiri
	def set_connected(self, switch):
		self._connected = switch

		for child in self.children:
			child.set_connected(switch)

		urwid.emit_signal(self, "connected", switch)
コード例 #2
0
ファイル: urwidgets.py プロジェクト: Jdaco/urwidgets
 def shiftDown(self, amount=1):
     if self.body.focus is not self.scroll(amount):
         self.focus_position = self.scroll()
         self.body[:] = self.body[:]
         urwid.emit_signal(self, 'shift')
     else:
         urwid.emit_signal(self, 'bottom')
コード例 #3
0
ファイル: screen.py プロジェクト: posita/balanced-hangman
 def __accept(self):
     new_vals = {
         'server_uri': self.server_uri,
         'username': self.username,
         'password': self.password,
     }
     urwid.emit_signal(self, SettingsWidget.SIG_SETTINGS_ACCEPTED, new_vals)
コード例 #4
0
ファイル: debug.py プロジェクト: hberntsen/usim
    def keypress(self, size, key):
        if key == "enter":
            if self.edit_text == "" and self.history:
                self.command = Command(self.history[-1])
            else:
                self.command = Command(self.edit_text)
                self.history.append(self.edit_text)

            self.command.executeCommand()
            self.historyIdx = -1
            self.edit_text = ""

            urwid.emit_signal(self, "executed")
        elif key == "up":
            if len(self.history) != 0:
                self.edit_text = self.history[self.historyIdx]
                self.edit_pos = len(self.edit_text)
                if self.historyIdx - 1 >= -1 * len(self.history):
                    self.historyIdx -= 1
        elif key == "down":
            if self.historyIdx == -1:
                self.edit_text = ""
            else:
                self.historyIdx += 1
                self.edit_text = self.history[self.historyIdx]
                self.edit_pos = len(self.edit_text)
        else:
            return super(CliEdit, self).keypress(size, key)
コード例 #5
0
ファイル: ez_cli.py プロジェクト: gsec/eZchat
  def cmd_exit_msgbox(self, *args):
    if self.logo_displayed:
      self.clear_msgbox()
      self.logo_displayed = False
      self._selectable = False

    urwid.emit_signal(self, 'exit_msgbox')
コード例 #6
0
ファイル: fe_curses.py プロジェクト: fmichea/srddl
 def keypress(self, size, key):
     if key == 'enter':
         urwid.emit_signal(self, 'ask_done', self.get_edit_text())
     elif key == 'esc':
         urwid.emit_signal(self, 'ask_done', None)
     elif len(key) != 1 or self.validator is None or self.validator(key):
         super().keypress(size, key)
コード例 #7
0
ファイル: gui.py プロジェクト: kylerbrown/panoptisong
 def keypress(self, size, key):
     if key == "enter":
         self.save()
     elif key == "ctrl k":
         urwid.emit_signal(self, 'saved')
     else:
         return super(Saver, self).keypress(size, key)
コード例 #8
0
ファイル: tabs.py プロジェクト: sushi-irc/nigiri
	def remove(self):
		""" emit remove signals """
		for child in self.children:
			child.remove()
			self.child_removed(child)
		urwid.emit_signal(self, "remove")
		self.set_parent(None)
コード例 #9
0
ファイル: commander.py プロジェクト: vanous/random_scripts
 def keypress(self, size, key):
     if key=='enter':
         line=self.edit_text.strip()
         if line:
             urwid.emit_signal(self,'line_entered', line)
             self.history.append(line)
         self._history_index=len(self.history)
         self.edit_text=u''
     if key=='up':
         
         self._history_index-=1
         if self._history_index< 0:
             self._history_index= 0
         else:
             self.edit_text=self.history[self._history_index]
             self.set_edit_pos(len(self.edit_text))
     if key=='down':
         self._history_index+=1
         if self._history_index>=len(self.history):
             self._history_index=len(self.history) 
             self.edit_text=u''
         else:
             self.edit_text=self.history[self._history_index]
             self.set_edit_pos(len(self.edit_text))
     else:
         urwid.Edit.keypress(self, size, key)
コード例 #10
0
ファイル: chatGUI.py プロジェクト: llicour/BlackHole
    def keypress(self, size, key):
        """ 
            Handle user inputs
        """

        urwid.emit_signal(self, "keypress", size, key)

        # scroll the top panel

        if key in ("page up","page down","up","down"):
            self.body.keypress (size, key)
    
        # resize the main windows
        elif key == "window resize":
            self.size = self.ui.get_cols_rows()
#    
#        elif key in ('ctrl q'):
#            self.quit()
#            self.context.keypress (size, key)
               
        elif key == "enter":
            # Parse data or (if parse failed)
            # send it to the current world
            text = self.footer.get_edit_text()
            self.footer.set_edit_text(u" "*len(text))
            self.footer.set_edit_text(u"")
            if text.strip():
                self.print_sent_message(text)
                #self.print_received_message('Answer')
        else:
            self.context.keypress(size, key)
コード例 #11
0
ファイル: retut.py プロジェクト: elKokito/sms-term
 def keypress(self, size, key):
     if key == "enter":
         text = self.get_edit_text()
         urwid.emit_signal(self, "send_signal", text)
         self.set_edit_text("")
     else:
         return super(EditSms, self).keypress(size, key)
コード例 #12
0
ファイル: widgets.py プロジェクト: thubaichaves/pygestor
 def edit_changed(self, x, d, *arg):
     # r = self.lck.acquire(False)
     # if r:
     if self.textField._checamudou():
         urwid.emit_signal(self, 'change', self, d)
         nisk.util.dump((self.textField.value(), self.textField._lastlastvalue, self.textField._checamudou()),
                        'change date')
コード例 #13
0
ファイル: editor.py プロジェクト: muromec/tyrs
 def keypress(self, size, key):
     if key == 'enter':
         urwid.emit_signal(self, 'done', self.get_edit_text())
         return
     if key == 'esc':
         urwid.emit_signal(self, 'done', None)
     urwid.Edit.keypress(self, size, key)
コード例 #14
0
ファイル: input_area.py プロジェクト: aetherith/groupcurses
 def keypress(self, size, key):
     key = super().keypress(size, key)
     if key is not 'enter':
         return key
     else:
         message_text = self.input_field.get_edit_text()
         urwid.emit_signal(self, 'message-send', message_text)
コード例 #15
0
ファイル: client.py プロジェクト: posita/balanced-hangman
    def __cebNewAccountLogIn(self, a_arg_or_err, a_base_uri, a_auth):
        try:
            self.__logIn(a_base_uri, a_auth, a_arg_or_err)
        except Exception, e:
            urwid.emit_signal(self, SIG_RSP_NEW_ACCT, None, e)

            return
コード例 #16
0
ファイル: client.py プロジェクト: posita/balanced-hangman
    def __cebPrisoners(self, a_arg_or_err, a_auth, a_prisoners):
        if isinstance(a_arg_or_err, twisted.python.failure.Failure):
            urwid.emit_signal(self, SIG_RSP_PRISONERS, None, None, a_arg_or_err.value)

            return

        next_uri = None
        iresponse, resp_str, json_obj = a_arg_or_err
        new_items = dict(( ( i['id'], i ) for i in json_obj['items'] ))
        a_prisoners['items'].update(new_items)

        # Note, we check to see if "offset" has changed because there is a
        # bug in the server reference implementation where the "offset"
        # parameter is ignored (see "Server Issues" section in README)
        if json_obj['next'] is not None \
                and json_obj.get('offset', SENTINEL) != a_prisoners['offset']:
            next_uri = urlparse.urljoin(self.__base_uri, json_obj['next'])

        a_prisoners.update(( ( k, v ) for k, v in json_obj.items() if k != 'items' ))

        # Keep calling ourselves as long as we have somewhere to go
        if next_uri is not None:
            d = self._jsonRequest(next_uri, a_auth)
            d.addCallback(self.__cebPrisoners, a_auth, a_prisoners)
            d.addErrback(self.__cebPrisoners, a_auth, a_prisoners)

            return d

        urwid.emit_signal(self, SIG_RSP_PRISONERS, a_auth, a_prisoners['items'])
コード例 #17
0
ファイル: urwidgets.py プロジェクト: Jdaco/urwidgets
 def bottom(self):
     for index in xrange(len(self.contents) - 1, -1, -1):
         widget = self.contents[index][0]
         if self.constraint(index, widget):
             self.focus_position = index
             urwid.emit_signal(self, 'shift')
             return
コード例 #18
0
 def keypress(self, size, key):
     if self.single:
         urwid.emit_signal(self, 'prompt_enter', self, key)
     elif key == 'enter':
         urwid.emit_signal(self, 'prompt_enter', self, self.get_edit_text())
     else:
         return urwid.Edit.keypress(self, size, key)
コード例 #19
0
ファイル: urwidgets.py プロジェクト: Jdaco/urwidgets
 def shiftUp(self, amount=1):
     if self.body.focus is not self.scroll(-amount):
         self.focus_position = self.scroll()
         self.body[:] = self.body[:]
         urwid.emit_signal(self, 'shift')
     else:
         urwid.emit_signal(self,'top')
コード例 #20
0
ファイル: CommandLineWidget.py プロジェクト: bram85/topydo
 def completion_mode(self, p_enable):
     if p_enable is True:
         urwid.emit_signal(self, 'show_completions')
     elif p_enable is False:
         self._surrounding_text = None
         if self.completion_mode:
             self.completion_box.clear()
             urwid.emit_signal(self, 'hide_completions')
コード例 #21
0
ファイル: TodoListWidget.py プロジェクト: bram85/topydo
    def _repeat_cmd(self):
        try:
            todo = self.listbox.focus.todo
            todo_id = str(self.view.todolist.number(todo))
        except AttributeError:
            todo_id = None

        urwid.emit_signal(self, 'repeat_cmd', todo_id)
コード例 #22
0
ファイル: client.py プロジェクト: daniter-cu/shout
 def quit(self, _exit=True):
     """ stops the ui, exits the application (if exit=True)
         After the UI is stopped, the config is written.
     """
     urwid.emit_signal(self, "quit")
     self.shall_quit = True
     if _exit:
         sys.exit(0)
コード例 #23
0
ファイル: paprika.py プロジェクト: spicerack/paprika
    def quit(self, exit=True):
        """ stops the ui, exits the application (if exit=True) """
        urwid.emit_signal(self, "quit")

        self.shall_quit = True

        if exit:
            sys.exit(0)
コード例 #24
0
ファイル: ConsoleWidget.py プロジェクト: MinchinWeb/topydo
    def keypress(self, p_size, p_key):
        if p_key == 'enter' or p_key == 'q' or p_key == 'esc':
            urwid.emit_signal(self, 'close')

        # don't return the key, 'enter', 'escape', 'q' or ':' are your only
        # escape. ':' will reenter to the cmdline.
        elif p_key == ':':
            urwid.emit_signal(self, 'close', True)
コード例 #25
0
ファイル: tabs.py プロジェクト: sushi-irc/nigiri
	def child_removed(self, child):
		urwid.emit_signal(self, "child_removed", self, child)
		try:
			i = self.children.index(child)
		except ValueError:
			pass
		else:
			del self.children[i]
コード例 #26
0
ファイル: show_history.py プロジェクト: andresmrm/cliptopia
 def handle_keys(self, key):
     '''Handle keyboard input'''
     hot_item = self.hot_items.get(key)
     if hot_item:
         # select a history entry based on its hotkey
         urwid.emit_signal(hot_item, 'click', hot_item)
     elif key in ('esc',):
         self.close()
コード例 #27
0
ファイル: user.py プロジェクト: moskupols/habiter
    def _reset_data(self, new_data):
        new_data = new_data or {}
        for k in ('profile', 'stats'):
            self._data[k] = new_data.get(k)
            urwid.emit_signal(self, k + '_update')

        for cls in TASK_CLASSES:
            self._task_lists[cls.type][:] = list(map(cls, new_data[cls.USER_ENTRY], itertools.repeat(self)))
コード例 #28
0
ファイル: curses.py プロジェクト: anjandev/trackma
 def do_select(self, remember):
     accountitem = self.listwalker.get_focus()[0]
     if remember:
         self.manager.set_default(accountitem.num)
     else:
         self.manager.set_default(None)
     self.close()
     urwid.emit_signal(self, 'done', accountitem.account)
コード例 #29
0
 def keypress(self, size, key):
     if key == 'enter':
         urwid.emit_signal(self, 'done', self.get_edit_text())
         super(commandLine, self).set_edit_text('')
         return
     elif key == 'esc':
         super(commandLine, self).set_edit_text('')
         return
     urwid.Edit.keypress(self, size, key)
コード例 #30
0
ファイル: darcmenu.py プロジェクト: david-jenkins/darc
 def keypress(self, size, key):
     #key=super(EndEdit,self).keypress(size,key)
     if key == "enter":
         urwid.emit_signal(self, "change", self, self.get_edit_text(), 1)
     elif key == "esc":
         self.set_edit_text(self.orig)
         urwid.emit_signal(self, "change", self, self.orig, 2)
     else:
         return super(EndEdit, self).keypress(size, key)
コード例 #31
0
ファイル: curses.py プロジェクト: InitialFail/trackma
    def keypress(self, size, key):
        if key == 'enter':
            urwid.emit_signal(self, 'done', self.get_edit_text())
            return
        elif key == 'esc':
            urwid.emit_signal(self, 'done', None)
            return

        urwid.Edit.keypress(self, size, key)
コード例 #32
0
ファイル: viewer.py プロジェクト: wojons/profiling
 def expanded(self, expanded):
     in_init = not hasattr(self, 'expanded')
     self._expanded = expanded
     if in_init:
         return
     if expanded:
         urwid.emit_signal(self, 'expanded')
     else:
         urwid.emit_signal(self, 'collapsed')
コード例 #33
0
    def keypress(self, size, key):
        super(ModalDialog, self).keypress(size, key)
        if key == self.escape_key:
            urwid.emit_signal(self, "close")
            self.keep_open = False
            self.loop.widget = self.previous_widget

        if key == 'f12':
            self.original_mod.parent.exit_program(None)
コード例 #34
0
ファイル: viewer.py プロジェクト: pomeo92/profiling
 def expanded(self, expanded):
     in_init = not hasattr(self, 'expanded')
     self._expanded = expanded
     if in_init:
         return
     if expanded:
         urwid.emit_signal(self, 'expanded')
     else:
         urwid.emit_signal(self, 'collapsed')
コード例 #35
0
ファイル: ui.py プロジェクト: qarth/xapers
    def keypress(self, size, key):
        if key == "enter":
            urwid.emit_signal(self, "done", self.get_edit_text())
            return
        elif key == "esc":
            urwid.emit_signal(self, "done", None)
            return

        urwid.Edit.keypress(self, size, key)
コード例 #36
0
 def _on_snippet_selected(self, view, snippet):
     try:
         cmd = parse_command(snippet['cmd'])
     except ParsingError as err:
         # TODO: show error
         return
     if not cmd.field_names:
         urwid.emit_signal(self, 'snippet-applied', snippet['cmd'])
         return
     self.view.open_insert_snippet_dialog(snippet)
コード例 #37
0
    def quit(self, exit=True):
        """
            Stops the ui, exits the application (if exit=True)
        """
        urwid.emit_signal(self, "quit")
        self.shall_quit = True

        if exit:

            sys.exit(0)
コード例 #38
0
ファイル: widget.py プロジェクト: thesquelched/suggestive
    def keypress(self, size, key):
        if key == 'enter':
            urwid.emit_signal(self, signals.PROMPT_DONE, self.get_edit_text(),
                              *self.metadata)
        elif key == 'esc':
            urwid.emit_signal(self, signals.PROMPT_DONE, None, *self.metadata)
        else:
            super(Prompt, self).keypress(size, key)

        return True
コード例 #39
0
ファイル: components.py プロジェクト: budnik/sclack
 def keypress(self, size, key):
     keymap = Store.instance.config['keymap']
     if key == keymap['go_to_sidebar']:
         self.header.restore_topic()
         urwid.emit_signal(self, 'go_to_sidebar')
         return True
     elif key == keymap['quit_application']:
         urwid.emit_signal(self, 'quit_application')
         return True
     return super(ChatBox, self).keypress(size, key)
コード例 #40
0
    def keypress(self, size, key):
        if key in ('up', 'down', 'left', 'right', 'page up', 'page down',
                   'home', 'end', 'q', 'h', 'f'):
            return super(urwid.Button, self).keypress(size, key)

        if key == 'enter':
            urwid.emit_signal(self, 'click')

        if key == 'r':
            urwid.emit_signal(self, 'read')
コード例 #41
0
ファイル: components.py プロジェクト: wf5fcom/sclack
    def keypress(self, size, key):
        keymap = Store.instance.config['keymap']
        if key == keymap['open_quick_switcher']:
            urwid.emit_signal(self, 'open_quick_switcher')
            return True
        if key == keymap['set_snooze']:
            urwid.emit_signal(self, 'open_set_snooze')
            return True

        return super(ChatBox, self).keypress(size, key)
コード例 #42
0
    def handle_transaction_finalized(self, *args, **kwargs):
        """
        Clear the transation dialog state when we are told the transaction is finished.

        This cleans up the event notifications and closes the dialog.
        """
        self.finalize()

        # Close the dialog
        urwid.emit_signal(self, self.signals[0])
コード例 #43
0
ファイル: dataio-pyshovel.py プロジェクト: wardVD/IceSimV05
 def closing_action(self):
     try:
         f = int(self.get_edit_text()) - 1
         if f < 0:
             f = 0
     except ValueError:
         pass
     else:
         urwid.emit_signal(self, 'select_frame', f)
     Popup.closing_action(self)
コード例 #44
0
 def cycle(self, clockwise):
     if clockwise:
         self.position += 1
         if self.position >= len(self.entries):
             self.position = 0
     else:
         self.position -= 1
         if self.position < 0:
             self.position = len(self.entries) - 1
     self.label_widget.set_text(self.carouselText(self.position))
     urwid.emit_signal(self, "click")
コード例 #45
0
    def keypress(self, size, key):
        if key == 'enter' and self.edit_text:
            urwid.emit_signal(self, "validated")
            return None

        if len(self.edit_text) == self._max_len:
            if self.valid_char(key):
                # No more room for printable chars.
                return None

        return super(LimitedEdit, self).keypress(size, key)
コード例 #46
0
 def _set_state_internal(self, state, signal=True):
     if state != self._state:
         old_state = self._state
         self._state = state
         # argument list to match Edit behaviour
         if signal:
             emit_signal(self, 'change', self, state)
         self._update_text()
         # this is similar behaviour to the edit widget
         if signal:
             emit_signal(self, 'postchange', self, old_state)
コード例 #47
0
ファイル: body.py プロジェクト: psbleep/tpass
 def _keypress_mode_input_filter(self, keys, raw):
     urwid.emit_signal(
         self,
         self._keypress_prompt_callback_signal,
         keys[0],
         self._keypress_prompt_callback_kwargs,
     )
     self._mode = NORMAL
     self._keypress_prompt_callback_signal = None
     self._keypress_prompt_callback_kwargs = {}
     return []
コード例 #48
0
    def keypress(self, size, key):
        '''Emit a signal with the key and size to be handled in the parent

        The reason for this is to get the inner size of the table
        Disable only the 'up' and 'down' keys due to interfering
        with other parent pile containers
        '''
        urwid.emit_signal(self, self.KEYPRESS, self, size, key)
        if key == 'up' or key == 'down':
            return
        return key
コード例 #49
0
    def keypress(self, size, key):
        key = utils.vim2emacs_translation(key)
        if key == 'esc':
            urwid.emit_signal(self, self.SIGNAL_ESCAPE, self)
            return

        if key == 'f10':
            urwid.emit_signal(self, self.SIGNAL_QUIT, self)
            return

        return super().keypress(size, key)
コード例 #50
0
    def __confirm(self):
        emit_signal(self, SET_HEADER_TEXT_SIGNAL, self.name)
        self.render_overlay()

        try:
            self.__submit()
            self.__quit()
        except Exception as e:
            emit_signal(self, SET_HEADER_TEXT_SIGNAL, ("error", str(e)))
        finally:
            self.render_form()
コード例 #51
0
ファイル: session_select.py プロジェクト: vladbalmos/mitzasql
    def test_connection(self, *args):
        form = self._edit_form_widget
        form_data = form.data
        validation_error = self._validate_connection_data(form_data)

        if validation_error is not None:
            form.set_status_message(validation_error, error=True)
            return

        form.clear_status_message()
        urwid.emit_signal(self, self.SIGNAL_TEST_CONNECTION, self, form_data)
コード例 #52
0
    def keypress(self, size, key):
        """Keypress events."""
        if key == "enter":
            command = self._edit_box.edit_text.strip()

            if command:
                # Call listeners.
                urwid.emit_signal(self, "line_entered", command)
            self._edit_box.edit_text = ""
        else:
            urwid.Edit.keypress(self._edit_box, size, key)
コード例 #53
0
 def mouse_event(self, size, event, button, col, row, focus):
     if event == "mouse press" and button == 1:
         now = time.time()
         delta = now - self.last_click
         self.last_click = now
         if delta < self.DOUBLE_CLICK_SPEED:
             urwid.emit_signal(self, "doubleclick")
             return True
     try:
         return super().mouse_event(size, event, button, col, row, focus)
     except AttributeError:
         return True
コード例 #54
0
 def keypress(self, size, key):
     keymap = Store.instance.config['keymap']
     if key == keymap['compose_in_editor']:
         self.set_edit_text(edit_text_in_editor(self.get_edit_text()))
         return True
     elif key == 'enter':
         urwid.emit_signal(self, 'submit_message', self.get_edit_text())
         return True
     elif key == 'up':
         urwid.emit_signal(self, 'go_to_last_message')
         return True
     return super(MessagePrompt, self).keypress(size, key)
コード例 #55
0
    def load_next_set(self):
        self._increment_page()

        urwid.emit_signal(self, self.SIGNAL_PRE_LOAD, self)
        result = self._fetch_more_rows()
        if result is None:
            self._increment_page(-1)
            data = []
            data_length = 0
        else:
            data, data_length = result
        urwid.emit_signal(self, self.SIGNAL_NEW_DATA, self, data, data_length)
コード例 #56
0
 async def add_info():
     with self._context.child("add_info"):
         try:
             await run_in_thread(_bg_add_info)
         except Exception:
             self.state = ErrorReportState.ERROR_GENERATING
             log.exception("adding info to problem report failed")
         else:
             self.state = ErrorReportState.DONE
         self._file.close()
         self._file = None
         urwid.emit_signal(self, "changed")
コード例 #57
0
ファイル: TodoListWidget.py プロジェクト: wzel/topydo
    def _add_pending_action(self, p_action, p_size):
        """
        Creates action waiting for execution and forwards it to the mainloop.
        """
        def generate_callback():
            def callback(*args):
                self.resolve_action(p_action, p_size)
                self.keystate = None

            return callback

        urwid.emit_signal(self, 'add_pending_action', generate_callback())
コード例 #58
0
 async def upload():
     with self._context.child("upload") as context:
         try:
             oops_id = await run_in_thread(_bg_upload)
         except requests.exceptions.RequestException:
             log.exception("upload for %s failed", self.base)
         else:
             self.set_meta("oops-id", oops_id)
             context.description = oops_id
         uploader.stop()
         self.uploader = None
         urwid.emit_signal(self, 'changed')
コード例 #59
0
ファイル: dialog.py プロジェクト: michaelpalmeruw/mbib
    def on_exit_button(self, button):
        '''
        invoked by pressing of exit buttons.
        '''
        self.exitcode = button.exitcode

        if  not self.is_root:
            self.dismiss()
            urwid.emit_signal(self, "exit")
        else:
            urwid.emit_signal(self, "exit")
            application.exit()
コード例 #60
0
ファイル: widget.py プロジェクト: thesquelched/suggestive
        def keypress(self, size, key):
            if key in self.__keymap:
                signal = self.__keymap[key]
                logger.debug("Keypress '{}' sent signal '{}'".format(
                    key, signal))
                # Emit signal with self as the only argument
                urwid.emit_signal(self, self.__keymap[key], self)

                super(cls, self).keypress(size, None)
                return True

            return super(cls, self).keypress(size, key)