python类LineBox()的实例源码

graph.py 文件源码 项目:Adwear 作者: Uberi 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def main_window(self):
        self.graph = self.bar_graph()
        self.graph_wrap = urwid.WidgetWrap( self.graph )
        vline = urwid.AttrWrap( urwid.SolidFill(u'\u2502'), 'line')
        c = self.graph_controls()
        w = urwid.Columns([('weight',2,self.graph_wrap),
            ('fixed',1,vline), c],
            dividechars=1, focus_column=2)
        w = urwid.Padding(w,('fixed left',1),('fixed right',0))
        w = urwid.AttrWrap(w,'body')
        w = urwid.LineBox(w)
        w = urwid.AttrWrap(w,'line')
        w = self.main_shadow(w)
        return w
loading.py 文件源码 项目:terminal-leetcode 作者: chishui 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def __init__(self, text, width, host_view, loop = None):
        self.running = False
        self.lock = EasyLock()
        self.loop = loop
        self.overlay = urwid.Overlay(
                    urwid.LineBox(urwid.Text(text)), host_view, #urwid.SolidFill(),
                    'center', width, 'middle', None)
        urwid.Frame.__init__(self, self.overlay)
loading.py 文件源码 项目:terminal-leetcode 作者: chishui 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def __init__(self, text, width, host_view, loop = None):
        self.loop = loop
        self.host_view = host_view
        self.overlay = urwid.Overlay(
                    urwid.LineBox(urwid.Text(text)), host_view, #urwid.SolidFill(),
                    'center', width, 'middle', None)
        urwid.Frame.__init__(self, self.overlay)
clients.py 文件源码 项目:wsstat 作者: Fitblip 项目源码 文件源码 阅读 33 收藏 0 点赞 0 评论 0
def __init__(self, websocket_url, **kwargs):

        # Configuration stuff
        self.frame = None
        self.websocket_url = urllib.parse.urlparse(websocket_url)
        self.total_connections = kwargs.get('total_connections', 250)
        self._exiting = False
        self.extra_headers = None

        # Asyncio stuff
        self.loop = asyncio.get_event_loop()
        self.loop.set_exception_handler(self.handle_exceptions)
        self.connection_semaphore = asyncio.Semaphore(kwargs.get('max_connecting_sockets', 15))

        # Counts and buffers
        self.global_message_counter = itertools.count()
        self.socket_count = itertools.count(1)
        self.sockets = OrderedDict()
        self.ring_buffer = deque(maxlen=10)

        if kwargs.get('header'):
            self.extra_headers = dict([map(lambda x: x.strip(), kwargs['header'].split(':'))])

        if kwargs.get('setup_tasks', True):
            self.setup_tasks()

        self.blinkboard = BlinkBoardWidget()
        self.logger = LoggerWidget()
        self.default_view = urwid.Pile([
            self.blinkboard.default_widget,
            (10, self.logger.default_widget)
        ])

        self.logger_view = urwid.Pile([
            self.logger.logger_widget,
        ])

        self.graph_view = urwid.Pile([
            self.logger.graph_widget,
        ])

        self.small_blink_and_graph_view = urwid.Pile([
            self.logger.graph_widget,
            (10, urwid.LineBox(self.blinkboard.small_blinks)),
        ])
gui.py 文件源码 项目:projects 作者: tiborsimon 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def select_project(project_list, path_callback):
    max_width = len(max(project_list, key=len))
    f = ProjectSelector(project_list, 'normal', 'highlighted', 'selected')

    def refresh_list(key=''):
        if key:
            if key in ('delete', 'backspace'):
                f.remove_key()
            else:
                if key in 'abcdefghijklmnopqrstuvwxyz- .0123456789':
                    f.add_key(key)
        s = f.render()
        txt.set_text(s)

    def exit_on_q(key):
        if key.__class__ is not str:
            return
        if key in ('Q',):
            raise urwid.ExitMainLoop()
        if key == 'up':
            f.up()
        if key == 'down':
            f.down()
        if key == 'enter':
            path_callback(f.select())
            raise urwid.ExitMainLoop()
        key = key.lower()
        refresh_list(key)

    palette = [
        ('normal', 'light gray', ''),
        ('selected', 'yellow, bold', ''),
        ('highlighted', 'black, bold', 'yellow'),
        ('quit button', 'light red, bold', ''),
        ('enter button', 'light green, bold', '')
    ]

    txt = urwid.Text('', align='left')
    fill = urwid.Filler(txt)
    pad = urwid.Padding(fill, align='center', width=max_width+4)
    box = urwid.LineBox(pad, title="Projects")

    footer = urwid.Text(['Start typing to search. Use arrow keys to navigate. Press (', ('enter button', 'Enter'), ') to select project. ', 'Press (', ('quit button', 'Q'), ') to exit.'])
    frame = urwid.Frame(body=box, footer=footer)

    loop = urwid.MainLoop(frame, palette, unhandled_input=exit_on_q)
    refresh_list()
    loop.run()
main_screen.py 文件源码 项目:stellarmagnate 作者: abadger 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self, pubpen):
        self.pubpen = pubpen
        self.display_stack = []
        self.blank = LineBox(urwid.SolidFill(' '), lline=None,
                             blcorner='?', tlcorner='?',
                             trcorner='\u252c', brcorner='\u2524')
        self.background = urwid.WidgetPlaceholder(self.blank)

        super().__init__(self.background)

        # Widgets traded in and out of the main display area

        self.market_display = MarketDisplay(self.pubpen)
        self.cargo_order_dialog = CargoOrderDialog(self.pubpen)
        self.travel_menu = TravelDisplay(self.pubpen)
        self.game_menu = GameMenuDialog(self.pubpen)
        self.port_display = PortDisplay(self.pubpen)
        self.equip_order_dialog = EquipOrderDialog(self.pubpen)
        self.financial_display = FinancialDisplay(self.pubpen)

        self.display_map = {
            'MarketDisplay': self.market_display,
            'CargoOrderDialog': self.cargo_order_dialog,
            'PortDisplay': self.port_display,
            'EquipOrderDialog': self.equip_order_dialog,
            'FinancialDisplay': self.financial_display,
            'TravelDisplay': self.travel_menu,
            'GameMenuDialog': self.game_menu,
            'Blank': self.blank
            }

        self.dialogs = frozenset(n for n in self.display_map if n.endswith('Dialog'))

        self.push_display('Blank')

        urwid.connect_signal(self.market_display, 'close_market_display', self.pop_display)
        urwid.connect_signal(self.market_display, 'open_cargo_order_dialog',
                             partial(self.push_display, 'CargoOrderDialog'))
        urwid.connect_signal(self.cargo_order_dialog, 'close_cargo_order_dialog', self.pop_display)
        urwid.connect_signal(self.port_display, 'open_equip_order_dialog',
                             partial(self.push_display, 'EquipOrderDialog'))
        urwid.connect_signal(self.equip_order_dialog, 'close_equip_order_dialog', self.pop_display)
        urwid.connect_signal(self.travel_menu, 'close_travel_menu', self.pop_display)
        urwid.connect_signal(self.game_menu, 'close_game_menu', self.pop_display)
graph.py 文件源码 项目:Adwear 作者: Uberi 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def graph_controls(self):
        modes = self.controller.get_modes()
        # setup mode radio buttons
        self.mode_buttons = []
        group = []
        for m in modes:
            rb = self.radio_button( group, m, self.on_mode_button )
            self.mode_buttons.append( rb )
        # setup animate button
        self.animate_button = self.button( "", self.on_animate_button)
        self.on_animate_button( self.animate_button )
        self.offset = 0
        self.animate_progress = self.progress_bar()
        animate_controls = urwid.GridFlow( [
            self.animate_button,
            self.button("Reset", self.on_reset_button),
            ], 9, 2, 0, 'center')

        if urwid.get_encoding_mode() == "utf8":
            unicode_checkbox = urwid.CheckBox(
                "Enable Unicode Graphics",
                on_state_change=self.on_unicode_checkbox)
        else:
            unicode_checkbox = urwid.Text(
                "UTF-8 encoding not detected")

        self.animate_progress_wrap = urwid.WidgetWrap(
            self.animate_progress)

        l = [    urwid.Text("Mode",align="center"),
            ] + self.mode_buttons + [
            urwid.Divider(),
            urwid.Text("Animation",align="center"),
            animate_controls,
            self.animate_progress_wrap,
            urwid.Divider(),
            urwid.LineBox( unicode_checkbox ),
            urwid.Divider(),
            self.button("Quit", self.exit_program ),
            ]
        w = urwid.ListBox(urwid.SimpleListWalker(l))
        return w
graph.py 文件源码 项目:Adwear 作者: Uberi 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def graph_controls(self):
        modes = self.controller.get_modes()
        # setup mode radio buttons
        self.mode_buttons = []
        group = []
        for m in modes:
            rb = self.radio_button( group, m, self.on_mode_button )
            self.mode_buttons.append( rb )
        # setup animate button
        self.animate_button = self.button( "", self.on_animate_button)
        self.on_animate_button( self.animate_button )
        self.offset = 0
        self.animate_progress = self.progress_bar()
        animate_controls = urwid.GridFlow( [
            self.animate_button,
            self.button("Reset", self.on_reset_button),
            ], 9, 2, 0, 'center')

        if urwid.get_encoding_mode() == "utf8":
            unicode_checkbox = urwid.CheckBox(
                "Enable Unicode Graphics",
                on_state_change=self.on_unicode_checkbox)
        else:
            unicode_checkbox = urwid.Text(
                "UTF-8 encoding not detected")

        self.animate_progress_wrap = urwid.WidgetWrap(
            self.animate_progress)

        l = [    urwid.Text("Mode",align="center"),
            ] + self.mode_buttons + [
            urwid.Divider(),
            urwid.Text("Animation",align="center"),
            animate_controls,
            self.animate_progress_wrap,
            urwid.Divider(),
            urwid.LineBox( unicode_checkbox ),
            urwid.Divider(),
            self.button("Quit", self.exit_program ),
            ]
        w = urwid.ListBox(urwid.SimpleListWalker(l))
        return w
TempSensorsMenu.py 文件源码 项目:s-tui 作者: amanusk 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def __init__(self, return_fn):

        # What is shown in menu
        self.current_mode = None
        # Sensor Applied
        self.current_active_mode = None

        self.no_malloc = False

        title = urwid.Text(('bold text', u"  Available Temperature Sensors  \n"), 'center')

        self.available_sensors = []
        sensors_dict = dict()
        try:
            sensors_dict = psutil.sensors_temperatures()
        except (AttributeError, IOError):
            logging.debug("Unable to create sensors dict")
        for key,value in sensors_dict.items():
            sensor_name = key
            for itr in range(len(value)):
                sensor_label = ""
                try:
                    sensor_label = value[itr].label
                    logging.debug("Sensor Label")
                    logging.debug(sensor_label)
                except (IndexError):
                    pass

                self.available_sensors.append(sensor_name +\
                                              "," +str(itr) +\
                                              "," + sensor_label)
        group = []
        self.sensor_buttons = []
        for sensor in self.available_sensors:
            rb = radio_button(group, sensor, self.on_mode_button)
            self.sensor_buttons.append(rb)

        #rb = radio_button(group, "INVALID", self.on_mode_button)
        #self.sensor_buttons.append(rb)

        self.return_fn = return_fn

        cancel_button = urwid.Button('Cancel', on_press=self.on_cancel)
        cancel_button._label.align = 'center'
        apply_button = urwid.Button('Apply', on_press=self.on_apply)
        apply_button._label.align = 'center'

        if_buttons = urwid.Columns([apply_button,cancel_button])

        self.titles = [title] + self.sensor_buttons + [if_buttons]

        self.main_window = urwid.LineBox(ViListBox(self.titles))
s_tui.py 文件源码 项目:s-tui 作者: amanusk 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def graph_controls(self):
        """ Dislplay sidebar controls. i.e. buttons, and controls"""
        modes = self.controller.get_modes()
        # setup mode radio buttons
        group = []
        for m in modes:
            rb = radio_button(group, m, self.on_mode_button)
            self.mode_buttons.append(rb)

        # Create list of buttons
        control_options = [button("Reset", self.on_reset_button)]
        if stress_installed:
            control_options.append(button('Stress Options', self.on_stress_menu_open))
        control_options.append(button('Temp Sensors', self.on_temp_sensors_menu_open))
        control_options.append(button('Help', self.on_help_menu_open))
        control_options.append(button('About', self.on_about_menu_open))

        # Create the menu
        animate_controls = urwid.GridFlow(control_options, 18, 2, 0, 'center')


        if urwid.get_encoding_mode() == "utf8":
            unicode_checkbox = urwid.CheckBox(
                "Smooth Graph", state=False,
                on_state_change=self.on_unicode_checkbox)
        else:
            unicode_checkbox = urwid.Text(
                "UTF-8 encoding not detected")


        install_stress_message = urwid.Text("")
        if not stress_installed:
            install_stress_message = urwid.Text(('button normal', u"(N/A) install stress"))


        graph_checkboxes = [urwid.CheckBox(x.get_graph_name(), state=True,
                            on_state_change=lambda w, state, x=x:  self.change_checkbox_state(x, state))
                            for x in self.available_graphs.values()]
        unavalable_graphs = [urwid.Text(( "[N/A] " + x.get_graph_name()) ) for x in self.graphs.values() if x.source.get_is_available() == False]
        graph_checkboxes += unavalable_graphs

        buttons = [urwid.Text(('bold text', u"Modes"), align="center"),
                   ] +  self.mode_buttons + [
            install_stress_message,
            urwid.Divider(),
            urwid.Text(('bold text', u"Control Options"), align="center"),
            animate_controls,
            urwid.Divider(),
            self.refresh_rate_ctrl,
            urwid.Divider(),
            urwid.LineBox(urwid.Pile(graph_checkboxes)),
            urwid.LineBox(unicode_checkbox),
            urwid.Divider(),
            button("Quit", self.exit_program),
            ]

        return buttons


问题


面经


文章

微信
公众号

扫码关注公众号