Пример #1
0
    def select_row(self, ev):
        """Select all cells in a row"""
        global mouseDown, selected_line
        
        # remove caret from selected cell        
        document.getSelection().removeAllRanges()

        selected_line = self
        mouseDown += 1
    
        clear_selections()
        Row(self.closest('tr')).mark_cells()
        ev.preventDefault()
        ev.stopPropagation()
Пример #2
0
    def select_row(self, ev):
        """Select all cells in a row"""
        global mouseDown, selected_line

        # remove caret from selected cell
        document.getSelection().removeAllRanges()

        selected_line = self
        mouseDown += 1

        clear_selections()
        Row(self).mark_cells()
        ev.preventDefault()
        ev.stopPropagation()
Пример #3
0
    def select_column(self, ev):
        """Select cells in a column"""
        global mouseDown, selected_line

        # remove caret from selected cell        
        document.getSelection().removeAllRanges()

        selected_line = self
        mouseDown += 1
    
        clear_selections()
        Column(self).mark_cells()
        ev.preventDefault()
        ev.stopPropagation()
Пример #4
0
def keypress(evt):
    if evt.keyCode == 9:  # tab key
        sel = document.getSelection()
        evt.preventDefault()
        insert_spaces(4)
    if evt.keyCode == 13:  # CR
        # store indent
        get_indent()
Пример #5
0
def get_indent():
    """When user hits the Enter key, set global variables indent and
    start_block."""
    global indent
    sel = document.getSelection()
    _range = sel.getRangeAt(0)
    line_start = _range.startOffset
    text = sel.anchorNode.text
    indent = len(text) - len(text.lstrip())
    if text.rstrip().endswith(":"):
        indent += 4
Пример #6
0
def insert_spaces(nb):
    # insert four non-breaking spaces for the tab key
    sel = document.getSelection()
    _range = sel.getRangeAt(0)

    tabNode = document.createTextNode(" " * nb)
    _range.insertNode(tabNode)

    _range.setStartAfter(tabNode)
    _range.setEndAfter(tabNode)
    sel.removeAllRanges()
    sel.addRange(_range)
Пример #7
0
 def keydown(self, ev):
     if self.selected is None:
         return
     elif ev.keyCode == 40:  # key down
         if int(self.selected) < len(self.panel):
             self.select(self.selected + 1)
     elif ev.keyCode == 38:  # key up
         if int(self.selected) > 0:
             self.select(self.selected - 1)
     elif ev.keyCode == 9:  # tab
         sel = doc.getSelection()
         pos = sel.getRangeAt(0)
         node = html.SPAN("    ")
         pos.insertNode(node)
         pos.setStartAfter(node)
         sel.removeAllRanges()
         sel.addRange(pos)
         ev.preventDefault()
Пример #8
0
 def keydown(self, ev):
     if self.selected is None:
         return
     elif ev.keyCode == 40:  #key down
         if int(self.selected) < len(self.panel):
             self.select(self.selected + 1)
     elif ev.keyCode == 38:  #key up
         if int(self.selected) > 0:
             self.select(self.selected - 1)
     elif ev.keyCode == 9:  #tab
         sel = doc.getSelection()
         pos = sel.getRangeAt(0)
         node = html.SPAN('    ')
         pos.insertNode(node)
         pos.setStartAfter(node)
         sel.removeAllRanges()
         sel.addRange(pos)
         ev.preventDefault()
Пример #9
0
    def on_note_click(self, event):
        self.edit_field.focus()

        document.getSelection().collapseToEnd()