コード例 #1
0
ファイル: widget.py プロジェクト: muromec/tyrs
 def __init__(self, original_widget, title=''):
     """Draw a line around original_widget."""
     
     tlcorner=None; tline=None; lline=None
     trcorner=None; blcorner=None; rline=None
     bline=None; brcorner=None
     
     def use_attr( a, t ):
         if a is not None:
             t = urwid.AttrWrap(t, a)
         return t
         
     tline = use_attr( tline, urwid.Columns([
         ('fixed', 2, urwid.Divider(urwid.utf8decode("─"))),
         ('fixed', len(title), urwid.Text(title)),
         urwid.Divider(urwid.utf8decode("─"))]))
     bline = use_attr( bline, urwid.Divider(urwid.utf8decode("─")))
     lline = use_attr( lline, urwid.SolidFill(urwid.utf8decode("│")))
     rline = use_attr( rline, urwid.SolidFill(urwid.utf8decode("│")))
     tlcorner = use_attr( tlcorner, urwid.Text(urwid.utf8decode("┌")))
     trcorner = use_attr( trcorner, urwid.Text(urwid.utf8decode("┐")))
     blcorner = use_attr( blcorner, urwid.Text(urwid.utf8decode("└")))
     brcorner = use_attr( brcorner, urwid.Text(urwid.utf8decode("┘")))
     top = urwid.Columns([ ('fixed', 1, tlcorner),
         tline, ('fixed', 1, trcorner) ])
     middle = urwid.Columns( [('fixed', 1, lline),
         original_widget, ('fixed', 1, rline)], box_columns = [0,2],
         focus_column = 1)
     bottom = urwid.Columns([ ('fixed', 1, blcorner),
         bline, ('fixed', 1, brcorner) ])
     pile = urwid.Pile([('flow',top),middle,('flow',bottom)],
         focus_item = 1)
     
     urwid.WidgetDecoration.__init__(self, original_widget)
     urwid.WidgetWrap.__init__(self, pile)
コード例 #2
0
    def __init__(self, original_widget, title=''):
        """Draw a line around original_widget."""

        self.color = 'header'
        if int(urwid.__version__[0]) == 1:
            urwid.utf8decode = self.utf8decode

        tlcorner = None
        tline = None
        lline = None
        trcorner = None
        blcorner = None
        rline = None
        bline = None
        brcorner = None

        def use_attr(a, t):
            if a is not None:
                t = urwid.AttrWrap(t, a)
            return t

        tline = use_attr(
            tline,
            urwid.Columns([('fixed', 2, urwid.Divider(urwid.utf8decode("─"))),
                           ('fixed', len(title),
                            urwid.AttrWrap(urwid.Text(title), self.color)),
                           urwid.Divider(urwid.utf8decode("─"))]))
        bline = use_attr(bline, urwid.Divider(urwid.utf8decode("─")))
        lline = use_attr(lline, urwid.SolidFill(urwid.utf8decode("│")))
        rline = use_attr(rline, urwid.SolidFill(urwid.utf8decode("│")))
        tlcorner = use_attr(tlcorner, urwid.Text(urwid.utf8decode("┌")))
        trcorner = use_attr(trcorner, urwid.Text(urwid.utf8decode("┐")))
        blcorner = use_attr(blcorner, urwid.Text(urwid.utf8decode("└")))
        brcorner = use_attr(brcorner, urwid.Text(urwid.utf8decode("┘")))
        top = urwid.Columns([('fixed', 1, tlcorner), tline,
                             ('fixed', 1, trcorner)])
        middle = urwid.Columns([('fixed', 1, lline), original_widget,
                                ('fixed', 1, rline)],
                               box_columns=[0, 2],
                               focus_column=1)
        bottom = urwid.Columns([('fixed', 1, blcorner), bline,
                                ('fixed', 1, brcorner)])
        pile = urwid.Pile([('flow', top), middle, ('flow', bottom)],
                          focus_item=1)

        urwid.WidgetDecoration.__init__(self, original_widget)
        urwid.WidgetWrap.__init__(self, pile)
コード例 #3
0
ファイル: widget.py プロジェクト: Nic0/tyrs
    def __init__(self, original_widget, title=""):
        """Draw a line around original_widget."""

        self.color = "header"
        if int(urwid.__version__[0]) == 1:
            urwid.utf8decode = self.utf8decode

        tlcorner = None
        tline = None
        lline = None
        trcorner = None
        blcorner = None
        rline = None
        bline = None
        brcorner = None

        def use_attr(a, t):
            if a is not None:
                t = urwid.AttrWrap(t, a)
            return t

        tline = use_attr(
            tline,
            urwid.Columns(
                [
                    ("fixed", 2, urwid.Divider(urwid.utf8decode("─"))),
                    ("fixed", len(title), urwid.AttrWrap(urwid.Text(title), self.color)),
                    urwid.Divider(urwid.utf8decode("─")),
                ]
            ),
        )
        bline = use_attr(bline, urwid.Divider(urwid.utf8decode("─")))
        lline = use_attr(lline, urwid.SolidFill(urwid.utf8decode("│")))
        rline = use_attr(rline, urwid.SolidFill(urwid.utf8decode("│")))
        tlcorner = use_attr(tlcorner, urwid.Text(urwid.utf8decode("┌")))
        trcorner = use_attr(trcorner, urwid.Text(urwid.utf8decode("┐")))
        blcorner = use_attr(blcorner, urwid.Text(urwid.utf8decode("└")))
        brcorner = use_attr(brcorner, urwid.Text(urwid.utf8decode("┘")))
        top = urwid.Columns([("fixed", 1, tlcorner), tline, ("fixed", 1, trcorner)])
        middle = urwid.Columns(
            [("fixed", 1, lline), original_widget, ("fixed", 1, rline)], box_columns=[0, 2], focus_column=1
        )
        bottom = urwid.Columns([("fixed", 1, blcorner), bline, ("fixed", 1, brcorner)])
        pile = urwid.Pile([("flow", top), middle, ("flow", bottom)], focus_item=1)

        urwid.WidgetDecoration.__init__(self, original_widget)
        urwid.WidgetWrap.__init__(self, pile)
コード例 #4
0
ファイル: widget.py プロジェクト: dialelo/tyrs
    def __init__(self, original_widget, title=''):
        self.color = 'header'
        if int(urwid.__version__[0]) == 1:
            urwid.utf8decode = self.utf8decode

        def use_attr(a, t):
            if a:
                t = urwid.AttrWrap(t, a)
            return t

        # top line
        tline = None
        tline_attr = urwid.Columns([('fixed', 2, 
                                        urwid.Divider(urwid.utf8decode("─"))),
                                    ('fixed', len(title), 
                                        urwid.AttrWrap(urwid.Text(title), self.color)),
                                    urwid.Divider(urwid.utf8decode("─")),])
        tline = use_attr(tline, tline_attr)
        # bottom line
        bline = None
        bline = use_attr(bline, urwid.Divider(urwid.utf8decode("─")))
        # left line
        lline = None
        lline = use_attr(lline, urwid.SolidFill(urwid.utf8decode("│")))
        # right line
        rline = None
        rline = use_attr(rline, urwid.SolidFill(urwid.utf8decode("│")))
        # top left corner
        tlcorner = None
        tlcorner = use_attr(tlcorner, urwid.Text(urwid.utf8decode("┌")))
        # top right corner
        trcorner = None
        trcorner = use_attr(trcorner, urwid.Text(urwid.utf8decode("┐")))
        # bottom left corner
        blcorner = None
        blcorner = use_attr(blcorner, urwid.Text(urwid.utf8decode("└")))
        # bottom right corner
        brcorner = None
        brcorner = use_attr(brcorner, urwid.Text(urwid.utf8decode("┘")))

        # top
        top = urwid.Columns([('fixed', 1, tlcorner),
                             tline, 
                             ('fixed', 1, trcorner),])
        # middle
        middle = urwid.Columns([('fixed', 1, lline),
                                original_widget, 
                                ('fixed', 1, rline)], 
                               box_columns = [0,2], 
                               focus_column = 1)
        # bottom
        bottom = urwid.Columns([('fixed', 1, blcorner),
                                bline, 
                                ('fixed', 1, brcorner)])

        # widget decoration
        pile = urwid.Pile([('flow',top),
                           middle,
                           ('flow',bottom)], 
                          focus_item = 1)

        urwid.WidgetDecoration.__init__(self, original_widget)
        urwid.WidgetWrap.__init__(self, pile)