Пример #1
0
def draw(stdscr, table_pad, output_pad, offset, table):
    top_offset, left_offset = offset

    mi, mj = stdscr.getmaxyx()
    # Clear all pads and windows
    stdscr.clear()
    table_pad.clear()
    output_pad.clear()

    # Draw table
    top_offset, left_offset = table.draw(stdscr,
                                         table_pad, top_offset, left_offset)

    stdscr.move(mi / 2 + 1, 0)

    # Draw instructions
    printstr(stdscr, "[q] abort / [arrows] move / [space] (un)select cell / [d] clear selection / [c] select column", curses.color_pair(3))
    printstr(stdscr, "[enter] print and copyselected cells(protip: use `pbpaste | ...` to pipe forward)", curses.color_pair(3))
    printstr(stdscr)

    # Output preview
    if table.selection:
        printstr(stdscr, "[{}] cells selected".format(len(table.selection)), curses.color_pair(3))
        output_pad.move(0, 0)
        for content in table.selection_content:
            i, j = output_pad.getyx()
            writestr(output_pad, " |=> ", curses.color_pair(1))
            printstr(output_pad, content, curses.color_pair(1))
            output_pad.move(i + 1, j)

    # Refresh
    stdscr.refresh()
    table_pad.refresh(top_offset, table.get_column_offset(left_offset), 0, 0, mi / 2 - 1, mj - 1)
    output_pad.refresh(0, 0, mi / 2 + 6, 0, mi - 1, mj - 1)
    return (top_offset, left_offset)
Пример #2
0
 def draw_preview(self, pad):
     if self._table.selection:
         pad.move(0, 0)
         printstr(pad, "[{}] cells selected".format(len(self._table.selection)), curses.color_pair(7))
         for content in self._table.selection_content:
             i, j = pad.getyx()
             writestr(pad, " |=> ", curses.color_pair(1))
             printstr(pad, content, curses.color_pair(1))
             pad.move(i + 1, j)
Пример #3
0
 def draw_preview(self, pad):
     if self._table.selection:
         pad.move(0, 0)
         printstr(pad,
                  "[{}] cells selected".format(len(self._table.selection)),
                  curses.color_pair(7))
         for content in self._table.selection_content:
             i, j = pad.getyx()
             writestr(pad, " |=> ", curses.color_pair(1))
             printstr(pad, content, curses.color_pair(1))
             pad.move(i + 1, j)
Пример #4
0
def draw(stdscr, table_pad, output_pad, offset, table):
    top_offset, left_offset = offset

    mi, mj = stdscr.getmaxyx()
    # Clear all pads and windows
    stdscr.clear()
    table_pad.clear()
    output_pad.clear()

    # Draw table
    top_offset, left_offset = table.draw(stdscr, table_pad, top_offset,
                                         left_offset)

    stdscr.move(mi / 2 + 1, 0)

    # Draw instructions
    printstr(
        stdscr,
        "[q] abort / [arrows] move / [space] (un)select cell / [d] clear selection / [c] select column",
        curses.color_pair(3))
    printstr(
        stdscr,
        "[enter] print and copyselected cells(protip: use `pbpaste | ...` to pipe forward)",
        curses.color_pair(3))
    printstr(stdscr)

    # Output preview
    if table.selection:
        printstr(stdscr, "[{}] cells selected".format(len(table.selection)),
                 curses.color_pair(3))
        output_pad.move(0, 0)
        for content in table.selection_content:
            i, j = output_pad.getyx()
            writestr(output_pad, " |=> ", curses.color_pair(1))
            printstr(output_pad, content, curses.color_pair(1))
            output_pad.move(i + 1, j)

    # Refresh
    stdscr.refresh()
    table_pad.refresh(top_offset, table.get_column_offset(left_offset), 0, 0,
                      mi / 2 - 1, mj - 1)
    output_pad.refresh(0, 0, mi / 2 + 6, 0, mi - 1, mj - 1)
    return (top_offset, left_offset)