Пример #1
0
    def _update_switch_layout(self):
        num = 0
        self.switch_widgets = []
        self.switches = {}
        self.switch_widgets.append((Label("SWITCHES"), 1))
        self.switch_widgets.append((Divider(), 1))
        self.switch_widgets.append((Label(""), 2))
        self.switch_widgets.append((Divider(), 2))

        for sw in sorted(self.machine.switches.values()):
            if sw.invert:
                name = sw.name + '*'
            else:
                name = sw.name

            col = 1 if num <= int(len(self.machine.switches) / 2) else 2

            switch_widget = Label(name)
            if sw.state:
                switch_widget.custom_colour = "active_switch"

            self.switch_widgets.append((switch_widget, col))
            self.switches[sw.name] = (sw, switch_widget)

            num += 1

        self._schedule_draw_screen()
Пример #2
0
    def __init__(self, screen):
        super(DemoFrame2, self).__init__(screen,
                                         int(screen.height * 0.95),
                                         int(screen.width * 0.9),
                                         data=form_data,
                                         has_shadow=True,
                                         name="My Form")
        #layout = Layout([1, 18, 1])
        #self.add_layout(layout)
        layout = Layout([1, 3])
        self.add_layout(layout)

        layout.add_widget(Button("Añadir personaje", self._quit), 0)
        layout.add_widget(Button("Borrar personaje ", self._quit), 0)
        layout.add_widget(Button("Editar personaje", self._quit), 0)
        layout.add_widget(Button("Testear personajes", self._quit), 0)
        layout.add_widget(Button("Salir", self._quit), 0)

        self._reset_button = Button("Añadir personaje", self._reset)
        #layout.add_widget(self._reset_button, 0)
        #layout.add_widget(Button("Salir", self._quit), 0)

        layout.add_widget(
            Text(label="Alpha:",
                 name="TB",
                 on_change=self._on_change,
                 validator="^[a-zA-Z]*$"), 1)
        layout.add_widget(
            Text(label="Number:",
                 name="TC",
                 on_change=self._on_change,
                 validator="^[0-9]*$"), 1)
        layout.add_widget(
            Text(label="Email:",
                 name="TD",
                 on_change=self._on_change,
                 validator=self._check_email), 1)
        layout.add_widget(Divider(height=2), 1)
        layout.add_widget(Label("Group 2:"), 1)
        layout.add_widget(
            RadioButtons([("Option 1", 1), ("Option 2", 2), ("Option 3", 3)],
                         label="A Longer Selection:",
                         name="Things",
                         on_change=self._on_change), 1)
        layout.add_widget(
            CheckBox("Field 1",
                     label="A very silly long name for fields:",
                     name="CA",
                     on_change=self._on_change), 1)
        layout.add_widget(
            CheckBox("Field 2", name="CB", on_change=self._on_change), 1)
        layout.add_widget(
            CheckBox("Field 3", name="CC", on_change=self._on_change), 1)
        layout.add_widget(Divider(height=3), 1)
        layout2 = Layout([1, 1, 1])
        self.add_layout(layout2)
        layout2.add_widget(self._reset_button, 0)
        layout2.add_widget(Button("View Data", self._view), 1)
        layout2.add_widget(Button("Quit", self._quit), 2)
        self.fix()
Пример #3
0
    def __init__(self, screen):
        super(mainView, self).__init__(screen,
                                       screen.height * 2 // 3,
                                       screen.width * 2 // 3,
                                       hover_focus=True,
                                       title="music finder")

        self.fileslist = os.listdir()
        self.dirlist = [("up..", 0)]
        i = 1
        for l in self.fileslist:
            if os.path.isdir(l):
                self.dirlist.append((l, i))
                i += 1

        for l in self.fileslist:
            if l.endswith("mp3"):
                self.dirlist.append((l, i))
                i += 1

        layout = Layout([100], fill_frame=True)
        self.add_layout(layout)
        lable1 = Label(self.curdir.format(os.getcwd()))
        layout.add_widget(Divider())
        flbr = ListBox(10, self.dirlist, on_select=self._enter, name="flb")
        button1 = Button("quit", self._quit)
        button2 = Button("Enter", self._enter)
        layout.add_widget(lable1)
        layout.add_widget(flbr)
        layout.add_widget(Divider())
        layout2 = Layout([1, 1])
        self.add_layout(layout2)
        layout2.add_widget(button1, 1)
        layout2.add_widget(button2, 0)
        self.fix()
Пример #4
0
    def __init__(self, screen, interface):
        super(SendBox, self).__init__(screen, 21, 59, interface, tx_func=self._ok, cancel_func=self._cancel, name="sendbox", title="Send Crypto")

        layout = Layout([100])#, fill_frame=True)
        self.prepend_layout(layout)
        layout.add_widget(Text("To Address:", "address"))
        layout.add_widget(Divider(draw_line=False))
        self.everything_checkbox = CheckBox("Send Everything", on_change=self.checkbox_change)
        self.amount_text = Text("    Amount:", "amount", on_change=self.amount_change)
        layout.add_widget(self.amount_text)
        layout.add_widget(self.everything_checkbox)
        layout.add_widget(Divider(draw_line=False))


        balances = [{'name':'ETH', 'balance': interface.node.eth_balance}]
        balances += [x for x in interface.node.erc20_balances if x['balance'] > 0]

        currency_options = [(x['name'], x) for x in balances]

        logging.info(currency_options)
        logging.info(currency_options)

        self.estimated_gas = Decimal(21000)

        self.currency_listbox = ListBox(1, currency_options, label="  Currency:",  name="currency")
        layout.add_widget(self.currency_listbox)

        self.currency_balance_label = Label(self.currency_balance)
        layout.add_widget(self.currency_balance_label)

        layout.add_widget(Divider(draw_line=False))
        self.fix()
Пример #5
0
    def __init__(self,
                 dapp,
                 x,
                 y,
                 tx_fn=None,
                 tx_value=0,
                 gas_limit=300000,
                 **kwargs):
        super(SLTransactionFrame,
              self).__init__(dapp._screen, x, y, dapp, self._ok_fn, self.close,
                             **kwargs)
        self.dapp = dapp
        # Add as block listener
        dapp._block_listeners.append(self)

        self._tx_fn = tx_fn
        self.estimated_gas = gas_limit

        layout = Layout([100])
        self.prepend_layout(layout)

        # TODO raise an exception if tx_value is not already a Decimal
        self.tx_value = Decimal(tx_value)
        layout.add_widget(Label("You will send {} ETH".format(self.tx_value)))
        layout.add_widget(Divider(draw_line=False))
        layout.add_widget(
            Label("Estimated Gas for Tx: {}".format(self.estimated_gas)))
        layout.add_widget(Divider(draw_line=False))
        self.fix()
Пример #6
0
    def initialize(self):
        self.drawn = True
        total_price = 0
        layout = Layout([1])
        self.add_layout(layout)
        layout.add_widget(Label('Shopping List', align='^', height=2), 0)
        layout.add_widget(Divider(height=1), 0)

        layout2 = Layout([1, 1, 1])
        self.add_layout(layout2)
        gorccery_list = self.screen.shopping_list
        layout2.add_widget(Label('Ingredient Name'), 0)
        layout2.add_widget(Label('Grocery Aisle'), 1)
        layout2.add_widget(Label('Price'), 2)
        for ingredient in gorccery_list:
            total_price += ingredient['price']
            layout2.add_widget(Label(f"   - {ingredient['name']}"), 0)
            layout2.add_widget(Label(f"   - {ingredient['aisle']}"), 1)
            layout2.add_widget(Label(f"{ingredient['price_display']}"), 2)
        layout2.add_widget(Divider(height=1))

        layout3 = Layout([1, 1, 1])
        self.add_layout(layout3)
        layout3.add_widget(Label(f"Total:"), 0)
        layout3.add_widget(Label(f"${round(total_price, 2)}", height=2), 2)

        layout4 = Layout([1])
        self.add_layout(layout4)
        layout4.add_widget(Label(f"Press Any Key to Exit", align='^'), 0)
        self.fix()
Пример #7
0
    def __init__(self, screen):
        super(DemoFrame, self).__init__(
            screen, screen.height, screen.width, has_border=False, name="My Form")

        # Create the (very simple) form layout...
        layout = Layout([1], fill_frame=True)
        self.add_layout(layout)

        # Now populate it with the widgets we want to use.
        self._details = Text()
        self._details.disabled = True
        self._details.custom_colour = "field"
        self._list = FileBrowser(Widget.FILL_FRAME,
                                 os.path.abspath("."),
                                 name="mc_list",
                                 on_select=self.popup,
                                 on_change=self.details)
        layout.add_widget(Label("Local disk browser sample"))
        layout.add_widget(Divider())
        layout.add_widget(self._list)
        layout.add_widget(Divider())
        layout.add_widget(self._details)
        layout.add_widget(Label("Press Enter to select or `q` to quit."))

        # Prepare the Frame for use.
        self.fix()
Пример #8
0
 def __init__(self, screen, longitude, latitude, on_ok):
     super(EnterLocation, self).__init__(screen,
                                         7,
                                         40,
                                         data={
                                             "long": str(longitude),
                                             "lat": str(latitude)
                                         },
                                         name="loc",
                                         title="Enter New Location",
                                         is_modal=True)
     self._on_ok = on_ok
     layout = Layout([1, 18, 1])
     self.add_layout(layout)
     layout.add_widget(Divider(draw_line=False), 1)
     layout.add_widget(
         Text(label="Longitude:",
              name="long",
              validator=r"^[-]?\d+?\.\d+?$"), 1)
     layout.add_widget(
         Text(label="Latitude:", name="lat", validator=r"^[-]?\d+?\.\d+?$"),
         1)
     layout.add_widget(Divider(draw_line=False), 1)
     layout2 = Layout([1, 1, 1])
     self.add_layout(layout2)
     layout2.add_widget(Button("OK", self._ok), 1)
     layout2.add_widget(Button("Cancel", self._cancel), 2)
     self.fix()
Пример #9
0
    def __init__(self, screen, x, y, interface, tx_func=None, cancel_func=None, **kwargs):
        super(TransactionFrame, self).__init__(screen, x, y, can_scroll=False, has_shadow=True, is_modal=True, **kwargs)
        self.set_theme('shadowlands')
        self._interface = interface
        self._screen = screen
        self._gas_price_wei = None
        self._tx_func = tx_func

        # subclass sets this to Decimal(something)
        self.estimated_gas = None

        layout = Layout([100], fill_frame=True)
        self.add_layout(layout)
        self.nonce_text = Text("     Nonce:", "nonce", default_value=str(self._interface.node.next_nonce()))
        layout.add_widget(self.nonce_text)
        layout.add_widget(Divider(draw_line=False))
        layout.add_widget(GasPricePicker(on_change=self._on_option_change, interface=interface))
        custgas = Text("   CustGas:", "custgas", on_change=self._on_text_change)
        custgas._is_disabled = True
        layout.add_widget(Divider(draw_line=False))
        layout.add_widget(custgas)
        layout.add_widget(Divider(draw_line=False))

        layout.add_widget(Label("", name='gas_est_label'))
        layout.add_widget(Divider(draw_line=False))

        layout2 = Layout([1, 1, 1, 1])
        self.add_layout(layout2)
        layout2.add_widget(Button("Sign Tx", self.validate), 0)
        layout2.add_widget(Button("Cancel", cancel_func), 3)

        self._on_option_change()
Пример #10
0
    def __init__(self, screen):
        super(ListView, self).__init__(screen,
                                       screen.height * 2 // 3,
                                       screen.width * 2 // 3,
                                       on_load=self._reload_list,
                                       hover_focus=True,
                                       title="Session List")

        # Create the form for displaying the list of sessions.
        self._session_list = ListBox(
            Widget.FILL_FRAME,
            list_sessions(),
            name="Sessions",
            on_select=self._attach,
        )

        layout = Layout([100], fill_frame=True)
        self.add_layout(layout)
        layout.add_widget(Divider())
        self._new_button = Button("[N]ew Session", self._new)
        layout.add_widget(self._new_button, 0)
        layout.add_widget(Divider())
        layout.add_widget(self._session_list)
        layout.add_widget(Divider())

        layout2 = Layout([1, 1, 1])
        self.add_layout(layout2)
        self._attach_button = Button("[A]ttach", self._attach)
        self._delete_button = Button("[D]elete", self._delete)
        self._quit_button = Button("[Q]uit", self._quit)
        layout2.add_widget(self._attach_button, 0)
        layout2.add_widget(self._delete_button, 1)
        layout2.add_widget(self._quit_button, 2)

        self.fix()
Пример #11
0
    def __init__(self, screen, frame_type, frame_data):
        super(CommonSettingsFrame, self).__init__(screen, frame_type,
                                                  frame_data)

        self._layout.add_widget(Label("VM count:", height=2), 1)
        self._layout.add_widget(
            RadioButtons([("Single VM", 1), ("2 VMs", 2), ("3 VMs", 3)],
                         name="vm_count"), 1)

        self._layout.add_widget(Divider(height=1, draw_line=False), 1)
        self._layout.add_widget(Label("Additional options:", height=2), 1)

        self._layout.add_widget(
            CheckBox("Add local YAML config", name="add_config"), 1)
        self._layout.add_widget(Divider(height=1, draw_line=False), 1)

        self._layout.add_widget(
            CheckBox("Require 'vagrant-vbguest' plugin",
                     name="require_vagrant_vbguest"), 1)
        self._layout.add_widget(Divider(height=1, draw_line=False), 1)

        self._add_intnet_checkbox = CheckBox(
            "Add VirtualBox internal network",
            name="add_vb_intnet",
            on_change=self._on_add_intnet_change)
        self._layout.add_widget(self._add_intnet_checkbox, 1)
        self._intnet_name_edit = Text(
            # label="Network name:",
            name="intnet_name")
        # self._intnet_name_edit.offset = 5
        self._layout.add_widget(self._intnet_name_edit, 1)
        # self._layout.add_widget(Divider(height=1, draw_line=False), 1)

        self.data = frame_data.controls_data
        self.fix()
Пример #12
0
    def __init__(self, screen, bf):
        super(BFView, self).__init__(screen,
                                     screen.height * 2 // 3,
                                     screen.width * 2 // 3,
                                     on_load=self.reload_program,
                                     hover_focus=True,
                                     can_scroll=False,
                                     title="Brainfuck")

        self.bf = bf

        print('initting...')
        layout = Layout([100], fill_frame=True)
        self.add_layout(layout)
        self.program_widget = ProgramWidget(self.bf.program, self.bf.counter)
        layout.add_widget(self.program_widget)
        layout.add_widget(Divider())
        self.tape_widget = TapeWidget(bf.tape, bf.head)
        layout.add_widget(self.tape_widget)
        layout.add_widget(Divider())
        layout2 = Layout([1, 1, 1, 1])
        self.add_layout(layout2)
        self.delay_field = Text(on_change=self.delay_changed)
        self.delay_field.value = '0.1'
        layout2.add_widget(self.delay_field, 0)
        self.auto_box = CheckBox('Auto', on_change=self.auto_changed)
        self.auto_box.value = False
        layout2.add_widget(self.auto_box, 1)
        next_button = Button("Next", self.next)
        layout2.add_widget(next_button, 2)
        quit_button = Button("Exit", self.quit)
        layout2.add_widget(quit_button, 3)
        self.fix()
Пример #13
0
    def __init__(self, screen, model):
        super(ListView, self).__init__(screen,
                                       screen.height * 75 // 100,
                                       screen.width * 75 // 100,
                                       on_load=self._reload_list,
                                       hover_focus=True,
                                       title="Login List",
                                       y=1)
        # Save off the model that accesses the contacts database.
        self._model = model

        # Create the form for displaying the list of contacts.
        self._list_view = ListBox(Widget.FILL_FRAME,
                                  model.get_summary(),
                                  name="logins",
                                  on_change=self._on_pick)
        self._edit_button = Button("Edit", self._edit)
        self._delete_button = Button("Delete", self._delete)
        layout = Layout([100], fill_frame=True)
        self.add_layout(layout)
        layout.add_widget(self._list_view)
        layout.add_widget(Divider())
        self.filter_selector = Text("Groupfilter:",
                                    "lgroup",
                                    on_change=self._filter_list)
        layout.add_widget(self.filter_selector)
        layout.add_widget(Divider())
        layout2 = Layout([1, 1, 1, 1])
        self.add_layout(layout2)
        layout2.add_widget(Button("Add", self._add), 0)
        layout2.add_widget(self._edit_button, 1)
        layout2.add_widget(self._delete_button, 2)
        layout2.add_widget(Button("Quit", self._quit), 3)
        self.fix()
        self._on_pick()
Пример #14
0
 def __init__(self, screen):
     super(DemoFrame, self).__init__(screen,
                                     int(screen.height * 2 // 3),
                                     int(screen.width * 2 // 3),
                                     data=form_data,
                                     has_shadow=True,
                                     name="My Form")
     layout = Layout([1, 18, 1])
     self.add_layout(layout)
     self._reset_button = Button("Reset", self._reset)
     layout.add_widget(Label("Group 1:"), 1)
     layout.add_widget(TextBox(5,
                               label="My First Box:",
                               name="TA",
                               on_change=self._on_change), 1)
     layout.add_widget(
         Text(label="Alpha:",
              name="TB",
              on_change=self._on_change,
              validator="^[a-zA-Z]*$"), 1)
     layout.add_widget(
         Text(label="Number:",
              name="TC",
              on_change=self._on_change,
              validator="^[0-9]*$"), 1)
     layout.add_widget(
         Text(label="Email:",
              name="TD",
              on_change=self._on_change,
              validator=self._check_email), 1)
     layout.add_widget(Divider(height=2), 1)
     layout.add_widget(Label("Group 2:"), 1)
     layout.add_widget(RadioButtons([("Option 1", 1),
                                     ("Option 2", 2),
                                     ("Option 3", 3)],
                                    label="A Longer Selection:",
                                    name="Things",
                                    on_change=self._on_change), 1)
     layout.add_widget(CheckBox("Field 1",
                                label="A very silly long name for fields:",
                                name="CA",
                                on_change=self._on_change), 1)
     layout.add_widget(
         CheckBox("Field 2", name="CB", on_change=self._on_change), 1)
     layout.add_widget(
         CheckBox("Field 3", name="CC", on_change=self._on_change), 1)
     layout.add_widget(DatePicker("Date",
                                  name="DATE",
                                  year_range=range(1999, 2100),
                                  on_change=self._on_change), 1)
     layout.add_widget(
         TimePicker("Time", name="TIME", on_change=self._on_change, seconds=True), 1)
     layout.add_widget(Text("Password", name="PWD", on_change=self._on_change, hide_char="*"), 1)
     layout.add_widget(Divider(height=3), 1)
     layout2 = Layout([1, 1, 1])
     self.add_layout(layout2)
     layout2.add_widget(self._reset_button, 0)
     layout2.add_widget(Button("View Data", self._view), 1)
     layout2.add_widget(Button("Quit", self._quit), 2)
     self.fix()
Пример #15
0
    def __init__(self, screen, events):
        super(EventList, self).__init__(screen,
                                        screen.height // 3,
                                        screen.width // 3,
                                        has_border=False)

        self._events = events

        self.palette = palette

        layout1 = Layout([100])
        self.add_layout(layout1)

        layout1.add_widget(Label("Event List"))
        layout1.add_widget(Divider(draw_line=False))
        layout1.add_widget(Label("%i events found." % len(self._events)))

        layout2 = Layout([100], fill_frame=True)
        self.add_layout(layout1)

        layout2.add_widget(
            ListBox(Widget.FILL_FRAME,
                    [(event.event['name'], i)
                     for event, i in enumerate(self._events)]))
        layout2.add_widget(Divider(draw_line=False))

        layout3 = Layout([1, 1, 1, 1])
        self.add_layout(layout2)

        layout3.add_widget(Button("OK", leave), 1)
        layout3.add_widget(Button("Cancel", leave), 2)
Пример #16
0
 def __init__(self, screen):
     self.screen = screen
     super(DemoFrame, self).__init__(
         screen,
         int(screen.height),
         int(screen.width),
         data=form_data,
         has_shadow=True,
         has_border=True,
         name="My Form",
         x=0,
         y=0,
     )
     layout = Layout([1], fill_frame=False)
     self.add_layout(layout)
     self._reset_button = Button("Reset", self._reset)
     title = "MISP Event #{} ({}):".format(args.event, event_tag)
     layout.add_widget(
         Text(label=title, name="ENA", on_change=self._on_change), 0)
     layout.add_widget(Divider(height=1), 0)
     layout1 = Layout([1, 1], fill_frame=False)
     self.add_layout(layout1)
     layout1.add_widget(
         RadioButtons([("Malicious files hosted", 1),
                       ("Compromised server", 2)],
                      label="Templates",
                      name="template",
                      on_change=self._on_change), 0)
     dryruntext = "Dry-run (all mails to %s)" % override_email
     layout1.add_widget(
         CheckBox(dryruntext, name="dryrun", on_change=self._on_change), 1)
     onlinechecktext = "Verify resource (online and size > %s bytes)" % min_size
     layout1.add_widget(
         CheckBox(onlinechecktext,
                  name="onlinecheck",
                  on_change=self._on_change), 1)
     layout2 = Layout([50, 50], fill_frame=True)
     self.add_layout(layout2)
     layout2.add_widget(Divider(height=1), 0)
     layout2.add_widget(Divider(height=1), 1)
     layout2.fix(0, 0, 0, 5)
     i = False
     for entry in urllist:
         if i is False:
             layout2.add_widget(
                 CheckBox(entry, name=entry, on_change=self._on_change), 0)
             i = True
         else:
             layout2.add_widget(
                 CheckBox(entry, name=entry, on_change=self._on_change), 1)
             i = False
     self.l = layout2
     layout4 = Layout([1, 1, 1])
     self.add_layout(layout4)
     layout4.add_widget(self._reset_button, 0)
     layout4.add_widget(Button("Quit", self._quit), 1)
     layout4.add_widget(Button("Process data", self._process), 2)
     self.fix()
Пример #17
0
    def __init__(self, screen, event_model):
        super(EventList, self).__init__(screen,
                                        screen.height // 2,
                                        screen.width // 2,
                                        on_load=self.reload,
                                        has_border=False,
                                        reduce_cpu=True)

        self.palette = palette

        self._model = event_model

        self.event_listbox = ListBox(Widget.FILL_FRAME,
                                     self._model.event_list,
                                     name="events",
                                     on_change=self._on_pick,
                                     on_select=self._select)

        layout0 = Layout([100])
        self.add_layout(layout0)

        layout0.add_widget(Label("EVENT LIST"))
        layout0.add_widget(Divider(draw_line=False))

        layout1 = Layout([50, 50])
        self.add_layout(layout1)

        stipulation = '%s%s' % ((' at %s' % self._model.venue['venue'])
                                if self._model.venue is not None else '',
                                (' featuring %s' % self._model.band['name'])
                                if self._model.band is not None else '')

        layout1.add_widget(
            Label("%i events found%s." % (self._model.count, stipulation)))
        layout1.add_widget(
            Label("%i other known bands featured (!)." %
                  self._model.count_of_other_bands))
        layout1.add_widget(
            Label("%i distinct venues featured." %
                  self._model.count_of_venues))
        layout1.add_widget(
            Label("%i venues not currently in the database (*)." %
                  self._model.count_of_new_venues))
        layout1.add_widget(Divider(draw_line=False))

        layout2 = Layout([100], fill_frame=True)
        self.add_layout(layout2)

        layout2.add_widget(self.event_listbox)
        layout2.add_widget(Divider(draw_line=False))

        layout3 = Layout([1, 1, 1, 1, 1])
        self.add_layout(layout3)

        layout3.add_widget(Button("Commit", self._commit), 1)
        layout3.add_widget(Button("Cancel", self._cancel), 2)

        self.fix()
Пример #18
0
 def _create_help_layout(self):
     help_layout = Layout([1], fill_frame=True)
     self.add_layout(help_layout)
     help_layout.add_widget(Divider())
     # ...the help widget itself
     self._help = TextBox(height=3, label="Help: ", as_string=True)
     self._help.value = "TEST"
     self._help.disabled = True
     help_layout.add_widget(self._help)
     help_layout.add_widget(Divider())
Пример #19
0
    def __init__(self, screen):
        super(Dashboard, self).__init__(screen,
                                       screen.height,
                                       screen.width,
                                       hover_focus=True,
                                       reduce_cpu=True)

        self._list_view_run_queue = CListBox(
            "running",
            screen.height // 2,
            [], name="LIST")
        self._list_view_idle_queue = CListBox(
            "idle",
            screen.height // 2,
            [], name="LIST")
        self._list_view_noRunning = CListBox(
            "notRunning",
            screen.height // 5,
            [], name="LIST")
        self._list_view_Log = CListBox(
            "logs",
            screen.height // 4,
            [], name="LIST")
        #self._list_view_Log.disabled = True


        #Running Queues
        layout = Layout([100])
        self.add_layout(layout)
        text_rq = CLabel("Running Queues")
        layout.add_widget(text_rq)
        layout.add_widget(CLabel(TABLES_TITLES["running"], listTitle=True))
        layout.add_widget(self._list_view_run_queue)
        layout.add_widget(Divider())

        #Idling Queues
        layout2 = Layout([1,1])
        self.add_layout(layout2)
        text_iq = CLabel("Idling Queues")
        layout2.add_widget(text_iq, 0)
        layout2.add_widget(CLabel(TABLES_TITLES["idle"], listTitle=True), 0)
        layout2.add_widget(self._list_view_idle_queue, 0)
        #Non Running Queues
        text_nq = CLabel("Queues not running")
        layout2.add_widget(text_nq, 1)
        layout2.add_widget(CLabel(TABLES_TITLES["notRunning"], listTitle=True), 1)
        layout2.add_widget(self._list_view_noRunning, 1)
        layout2.add_widget(Divider(), 1)
        #Log
        text_l = CLabel("Logs")
        layout2.add_widget(text_l, 1)
        layout2.add_widget(CLabel(TABLES_TITLES["logs"], listTitle=True), 1)
        layout2.add_widget(self._list_view_Log, 1)

        self.fix()
Пример #20
0
 def __init__(self, screen):
     super(DemoFrame, self).__init__(screen,
                                     screen.height,
                                     screen.width // 5,
                                     data=form_data,
                                     x=0,
                                     y=0,
                                     name="Side bar")
     layout = Layout([1, 18, 1])
     self.add_layout(layout)
     self._reset_button = Button("Reset", self._reset)
     layout.add_widget(Label("Group 1:"), 1)
     layout.add_widget(
         TextBox(5,
                 label="My First Box:",
                 name="TA",
                 on_change=self._on_change), 1)
     layout.add_widget(
         Text(label="Alpha:",
              name="TB",
              on_change=self._on_change,
              validator="^[a-zA-Z]*$"), 1)
     layout.add_widget(
         Text(label="Number:",
              name="TC",
              on_change=self._on_change,
              validator="^[0-9]*$"), 1)
     layout.add_widget(
         Text(label="Email:",
              name="TD",
              on_change=self._on_change,
              validator=self._check_email), 1)
     layout.add_widget(Divider(height=2), 1)
     layout.add_widget(Label("Group 2:"), 1)
     layout.add_widget(
         RadioButtons([("Option 1", 1), ("Option 2", 2), ("Option 3", 3)],
                      label="A Longer Selection:",
                      name="Things",
                      on_change=self._on_change), 1)
     layout.add_widget(
         CheckBox("Field 1",
                  label="A very silly long name for fields:",
                  name="CA",
                  on_change=self._on_change), 1)
     layout.add_widget(
         CheckBox("Field 2", name="CB", on_change=self._on_change), 1)
     layout.add_widget(
         CheckBox("Field 3", name="CC", on_change=self._on_change), 1)
     layout.add_widget(Divider(height=3), 1)
     layout2 = Layout([1, 1, 1])
     self.add_layout(layout2)
     layout2.add_widget(self._reset_button, 0)
     layout2.add_widget(Button("View Data", self._view), 1)
     layout2.add_widget(Button("Quit", self._quit), 2)
     self.fix()
Пример #21
0
    def __init__(self, parent: "CustomFileBrowser"):
        """Create a popup with the list of options from the parent widget.

        Args:
            parent: the parent widget.
        """
        location = parent.get_location()
        if parent.frame.screen.height - location[1] < 3:
            height = min(len(parent.options) + 4, location[1] + 2)
            start_line = location[1] - height + 2
            reverse = True
        else:
            start_line = location[1] - 1
            height = min(
                len(parent.options) + 4,
                parent.frame.screen.height - location[1] + 1)
            reverse = False

        _TempPopup.__init__(
            self,
            parent.frame.screen,
            parent,
            location[0],
            start_line,
            parent.width,
            height,
        )

        layout = Layout([1], fill_frame=True)
        self.add_layout(layout)
        self._field = Text()
        self._field.disabled = True
        divider = Divider()
        divider.disabled = True
        self._list = ListBox(
            Widget.FILL_FRAME,
            parent.options,
            add_scroll_bar=len(parent.options) > height - 4,
            on_select=self.close,
            on_change=self._link,
        )
        layout.add_widget(self._list if reverse else self._field, 0)
        layout.add_widget(divider, 0)
        layout.add_widget(self._field if reverse else self._list, 0)
        self.fix()

        selected_name = parent.selection.name if parent.selection.is_file(
        ) else "."
        for p, i in self._list.options:
            if p == selected_name:
                self._list.value = i
                break
Пример #22
0
 def __init__(self, screen, has_border=True, reduce_cpu=False):
     super(TestFrame, self).__init__(screen,
                                     screen.height,
                                     screen.width,
                                     name="Test Form",
                                     has_border=has_border,
                                     hover_focus=True,
                                     reduce_cpu=reduce_cpu)
     layout = Layout([1, 18, 1])
     self.add_layout(layout)
     self._reset_button = Button("Reset", self._reset)
     layout.add_widget(Label("Group 1:"), 1)
     layout.add_widget(
         TextBox(5,
                 label="My First Box:",
                 name="TA",
                 on_change=self._on_change), 1)
     layout.add_widget(
         Text(label="Text1:", name="TB", on_change=self._on_change), 1)
     layout.add_widget(
         Text(label="Text2:",
              name="TC",
              on_change=self._on_change,
              validator="^[0-9]*$"), 1)
     layout.add_widget(
         Text(label="Text3:",
              name="TD",
              on_change=self._on_change,
              validator=lambda x: x in ("", "a")), 1)
     layout.add_widget(Divider(height=2), 1)
     layout.add_widget(Label("Group 2:"), 1)
     layout.add_widget(
         RadioButtons([("Option 1", 1), ("Option 2", 2), ("Option 3", 3)],
                      label="A Longer Selection:",
                      name="Things",
                      on_change=self._on_change), 1)
     layout.add_widget(
         CheckBox("Field 1",
                  label="A very silly long name for fields:",
                  name="CA",
                  on_change=self._on_change), 1)
     layout.add_widget(
         CheckBox("Field 2", name="CB", on_change=self._on_change), 1)
     layout.add_widget(
         CheckBox("Field 3", name="CC", on_change=self._on_change), 1)
     layout.add_widget(Divider(height=3), 1)
     layout2 = Layout([1, 1, 1])
     self.add_layout(layout2)
     layout2.add_widget(self._reset_button, 0)
     layout2.add_widget(Button("View Data", self._view), 1)
     layout2.add_widget(Button("Quit", self._quit), 2)
     self.fix()
Пример #23
0
 def _create_research_layout(self):
     research_layout = Layout([1, 1], fill_frame=False)
     # ...list of available research
     self._available_research = ListBox(
         10,
         [],
         on_change=self._on_research_selected,
     )
     self.add_layout(research_layout)
     research_layout.add_widget(Divider(), column=0)
     research_layout.add_widget(Label("Available Research"), column=0)
     research_layout.add_widget(self._available_research, column=0)
     research_layout.add_widget(Divider(), column=1)
Пример #24
0
    def __draw_list(self):
        self.layout_main.clear_widgets()
        self.layout_main.reset()

        self.layout_main.add_widget(Label('Path found'), 0)
        self.layout_main.add_widget(Label('Size MB'), 1)
        self.layout_main.add_widget(Divider(), 0)
        self.layout_main.add_widget(Divider(), 1)

        for v in self.venvs:
            self.layout_main.add_widget(v['checkbox'], 0)
            self.layout_main.add_widget(Label(str(v['size'])), 1)
        self.fix()
Пример #25
0
    def __init__(self, screen, game):
        self.game = game
        self.form_data = {
            "playerName": "",
            "cb_one": False,
            "cb_two": False,
            "cb_three": False,
            "cb_four": False,
            "cb_five": False,
            "cb_six": False,
            "cb_seven": False,
            "cb_eight": False,
            "cb_nine": False,
            "cb_ten": False
        }
        self._readConfig(game.config)
        super(SplashScreenFrame, self).__init__(screen,
                                                int(self.game.config.windowHeight),
                                                int(self.game.config.windowWidth),
                                                data=self.form_data,
                                                has_shadow=True,
                                                name="SplashScreen")

        layout = Layout([1, 18, 1])
        self.add_layout(layout)
        self._reset_button = Button("Reset", self._reset)
        layout.add_widget(Divider(height=3), 1)
        layout.add_widget(Label("MURPHY MAN 1 - Einmaleins"), 1)
        layout.add_widget(Divider(height=3), 1)
        layout.add_widget( CheckBox("1", "1x?", "cb_one", self._on_change), 1)
        layout.add_widget( CheckBox("2", None, "cb_two", self._on_change), 1)
        layout.add_widget( CheckBox("3", None, "cb_three", self._on_change), 1)
        layout.add_widget( CheckBox("4", None, "cb_four", self._on_change), 1)
        layout.add_widget( CheckBox("5", None, "cb_five", self._on_change), 1)
        layout.add_widget( CheckBox("6", None, "cb_six", self._on_change), 1)
        layout.add_widget( CheckBox("7", None, "cb_seven", self._on_change), 1)
        layout.add_widget( CheckBox("8", None, "cb_eight", self._on_change), 1)
        layout.add_widget( CheckBox("9", None, "cb_nine", self._on_change), 1)
        layout.add_widget( CheckBox("10", None, "cb_ten", self._on_change), 1)
        layout.add_widget(Divider(height=3), 1)
        nameWidget = Text(label="Name:",
                         name="playerName",
                         on_change=self._on_change,
                         validator="^[a-zA-Z]*$")
        layout.add_widget(nameWidget, 1)
        layout.add_widget(Divider(height=3), 1)
        layout2 = Layout([10, 10])
        self.add_layout(layout2)
        layout2.add_widget(Button("Start", self._start), 0)
        layout2.add_widget(Button("Beenden", self._quit), 1)
        self.fix()
Пример #26
0
    def __init__(self, screen, dirstat: DirectoryStat):
        super(TDirStatView, self).__init__(
            screen, screen.height, screen.width,
            has_border=True,
            name="My Form")
        # Model
        self.dirstat: DirectoryStat = dirstat
        self.disk_usage = shutil.disk_usage(str(self.dirstat.path)).used

        # Settings
        self.percent_mode = PercentMode.rel_to_dir

        # Create layouts
        layout_1 = Layout([1], fill_frame=True)
        layout_2 = Layout([1, 1])
        self.add_layout(layout_1)
        self.add_layout(layout_2)

        titles = [("Name", 0), ("%", "20>"), ("Size", "15>"), ("Items", "15>")]
        self._list = MultiColumnListBox(
            height=Widget.FILL_FRAME,
            columns=[c[1] for c in titles],
            titles=[c[0] for c in titles],
            options=[],
            name="qdirstat_list",
            on_select=self.enter_directory,
            on_change=self.details)

        self._details = Text()
        self._details.disabled = True
        self._details.custom_colour = "field"

        percent_mode_radio_btn = RadioButtons(
            [("% Relative to Directory", PercentMode.rel_to_dir),
             ("% Relative to Drive", PercentMode.rel_to_drive_usage)],
            on_change=lambda: self.set_percent_mode(
                percent_mode_radio_btn.value))

        layout_1.add_widget(Label("TDirStat"))
        layout_1.add_widget(Divider())
        layout_1.add_widget(self._list)
        layout_1.add_widget(Divider())

        layout_2.add_widget(self._details, column=0)
        layout_2.add_widget(
            column=1,
            widget=percent_mode_radio_btn)

        layout_2.add_widget(Label("Press Enter to select or `q` to quit."))
        # Prepare the Frame for use
        self.fix()
Пример #27
0
    def __init__(self, screen, model):
        super(EntityListView, self).__init__(
            screen,
            screen.height,
            screen.width,
            on_load=self._reload_list,
            hover_focus=False,
            can_scroll=False,
            title="",
        )

        self.set_theme("custom")

        self._model = model

        self._entity_list_view = MultiColumnListBox(
            Widget.FILL_FRAME,
            ["<24", "<64"],
            model.get_children(),
            name="entities",
            on_change=self._on_pick,
            on_select=self._enter_child,
        )
        self._quantities_list_view = MultiColumnListBox(
            10,
            ["<24", "<64"],
            model.get_quantities(),
            name="quantities",
            on_change=self._on_pick,
            on_select=self._enter_quantity,
        )

        entity_list_layout = Layout([100], fill_frame=True)
        self.add_layout(entity_list_layout)
        entity_list_layout.add_widget(self._entity_list_view)
        entity_list_layout.add_widget(Divider())

        details_layout = Layout([100])
        self.add_layout(details_layout)
        details_layout.add_widget(self._quantities_list_view)
        details_layout.add_widget(Divider())

        button_row_layout = Layout([1, 1, 1, 1])
        self.add_layout(button_row_layout)
        button_row_layout.add_widget(Button("Quit", self._quit), 3)

        self._refresh_status()
        self.fix()
        self._on_pick()
Пример #28
0
    def __init__(self, screen, model, ui: UIController):
        super().__init__(screen,
                         height=screen.height // 2,
                         width=screen.width // 2,
                         can_scroll=False,
                         title="Add Command",
                         hover_focus=True)

        self._model: ModelInterface = model
        self._ui: UIController = ui
        self._theme = None
        self.set_theme(ui.theme)

        # Initialize Widgets
        self._confirm_button = Button("Confirm", self._confirm)
        self._cancel_button = Button("Cancel", self._cancel)
        self._ip_input = Text("IPs and/or subnet(s): ",
                              name="ips",
                              disabled=True)
        self._ip_input.value = self._model.current_machine
        self._command_type = RadioButtons([("Powershell", "ps"),
                                           ("DOS", "cmd"), ("Bash", "bash")],
                                          name="cmdtype",
                                          label="Command Type: ")
        # self._or = Text("OR", disabled=True)
        # self._hostname_input = Text("Hostname(s):", name="hostnames")
        self._command_input = TextBox(Widget.FILL_FRAME,
                                      label="Command(s): \n(one per line)",
                                      name="commands",
                                      line_wrap=True)

        # Create and Generate Layouts
        layout = Layout([1], fill_frame=True)
        self.add_layout(layout)
        layout.add_widget(self._ip_input)
        layout.add_widget(self._command_type)
        # layout.add_widget(self._or)
        # layout.add_widget(self._hostname_input)
        layout.add_widget(Divider())
        layout.add_widget(self._command_input)
        layout.add_widget(Divider())

        button_layout = Layout([1, 1])
        self.add_layout(button_layout)
        button_layout.add_widget(self._confirm_button, 0)
        button_layout.add_widget(self._cancel_button, 1)

        # Save Layouts
        self.fix()
Пример #29
0
    def _update_player(self, **kwargs):
        del kwargs
        self._player_widgets = []
        self._player_widgets.append(Label("CURRENT PLAYER"))
        self._player_widgets.append(Divider())

        try:
            player = self.machine.game.player
            self._player_widgets.append(
                Label('PLAYER: {}'.format(player.number)))
            self._player_widgets.append(Label('BALL: {}'.format(player.ball)))
            self._player_widgets.append(
                Label('SCORE: {:,}'.format(player.score)))
        except AttributeError:
            self._player_widgets.append(Label("NO GAME IN PROGRESS"))
            return

        player_vars = player.vars.copy()
        player_vars.pop('score', None)
        player_vars.pop('number', None)
        player_vars.pop('ball', None)

        names = self.config.get('player_vars', player_vars.keys())
        for name in names:
            self._player_widgets.append(
                Label("{}: {}".format(name, player_vars[name])))

        self._layout_change = True
        self._schedule_draw_screen()
Пример #30
0
    def _update_ball_devices(self, **kwargs):
        del kwargs
        # TODO: do not create widgets. just update contents
        self.ball_device_widgets = []
        self.ball_device_widgets.append(Label("BALL COUNTS"))
        self.ball_device_widgets.append(Divider())

        try:
            for pf in self.machine.playfields.values():
                widget = Label('{}: {} '.format(pf.name, pf.balls))
                if pf.balls:
                    widget.custom_colour = "pf_active"
                else:
                    widget.custom_colour = "pf_inactive"
                self.ball_device_widgets.append(widget)

        except AttributeError:
            pass

        for bd in self.ball_devices:
            widget = Label('{}: {} ({})'.format(bd.name, bd.balls, bd.state))
            if bd.balls:
                widget.custom_colour = "pf_active"
            else:
                widget.custom_colour = "pf_inactive"

            self.ball_device_widgets.append(widget)

        self.ball_device_widgets.append(Label(""))

        self._layout_change = True
        self._schedule_draw_screen()