def build(self):
     root = Accordion()
     for x in xrange(5):
         item = AccordionItem(title='Title %d' % x)
         item.add_widget(Label(text='Very big content\n' * 10))
         root.add_widget(item)
     return root
Exemple #2
0
    def __init__(self, username, userid, name):
        """

        """
        self.name = name
        self.username = username
        self.userid = userid
        super(LevelSelect, self).__init__()

        conn = sqlite3.connect(filehome + 'database.db')  # Opens the connection to the database.
        c = conn.cursor()
        levels = c.execute('''SELECT levelid, levelname, leveldesc FROM level''')  # Gets the levels from the database

        box = BoxLayout(orientation = 'vertical')
        box.add_widget(Banner(False, 2, self.userid))  # Adds the top banner, as this is the main menu we need a logout button and not a back button. 
        lvlAccordion = Accordion(orientation = 'vertical', min_space = dp(25), anim_duration = 1)
        for i in levels:
            item = AccordionItem(title = i[1], min_space = dp(25), background_normal='images/blue32025.png', background_selected='images/orange32025.png')    
            boxa = BoxLayout(orientation = 'vertical')
            lbl = Label(text = i[2], text_size = (300, None))
            boxa.add_widget(lbl)
            btn = Button(text = 'Go', id = str(i[0])+','+i[1], on_press = self.selectlevel, background_normal = 'images/orange32030.png', background_down = 'images/blue32025.png', size_hint_y = None, height = dp(30))
            boxa.add_widget(btn)
            item.add_widget(boxa)
            lvlAccordion.add_widget(item)
        box.add_widget(lvlAccordion)  # Adds the Accordion to the box
        self.add_widget(box)  # Adds the box widget to the screen
        conn.close()
    def __init__(self, **kwargs):
        self._buttons = {}

        super(PlaygroundSizeView, self).__init__(**kwargs)

        for title, values in self.default_sizes:
            grid = GridLayout(rows=4)

            def sort_sizes(item):
                return item[1][1] * item[1][0]

            values = sorted(values, key=sort_sizes, reverse=True)
            for name, size in values:
                btn = ToggleButton(text='', markup=True)
                btntext = ('%s\n[color=777777][size=%d]%dx%d[/size][/color]' %
                           (name, btn.font_size * 0.8, size[0], size[1]))
                btn.text = btntext
                btn.bind(on_press=partial(self.set_size, size))
                grid.add_widget(btn)
                self._buttons[name] = btn

            item = AccordionItem(title=title)
            item.add_widget(grid)
            self.accordion.add_widget(item)

        self.accordion.select(self.accordion.children[-1])

        self.update_buttons()
Exemple #4
0
 def add_pages(self, day):
     self.clear_widgets()    
     a = AccordionItem(title='Basic Truths')
     self.rule_list = BoxLayout(orientation='vertical')
     a.add_widget(self.rule_list)
     self.add_rules(day)
     self.add_widget(a)
Exemple #5
0
 def build(self):
     root =Accordion()
     for x in range(5):
         item = AccordionItem(title='Title %d'  %x , min_space=60)
         item.add_widget(Label(text='Hello Youssef \n' *5))
         root.add_widget(item)
     return root
    def __init__(self, **kwargs):
        self._buttons = {}

        super(PlaygroundSizeView, self).__init__(**kwargs)

        for title, values in self.default_sizes:
            grid = GridLayout(rows=4)

            def sort_sizes(item):
                return item[1][1] * item[1][0]

            values = sorted(values, key=sort_sizes, reverse=True)
            for name, size in values:
                btn = ToggleButton(text='', markup=True)
                btntext = ('%s\n[color=777777][size=%d]%dx%d[/size][/color]' %
                           (name, btn.font_size * 0.8, size[0], size[1]))
                btn.text = btntext
                btn.bind(on_press=partial(self.set_size, size))
                grid.add_widget(btn)
                self._buttons[name] = btn

            item = AccordionItem(title=title)
            item.add_widget(grid)
            self.accordion.add_widget(item)

        self.accordion.select(self.accordion.children[-1])

        self.update_buttons()
Exemple #7
0
 def build(self):
     root = Accordion()
     for x in range(2):
         item = AccordionItem(title='Title %d' % x)    
         item.add_widget(Builder.load_string(kv))
         root.add_widget(item)
     return root   
Exemple #8
0
 def build(self):
     root = Accordion()
     for x in xrange(5):
         item = AccordionItem(title='Title %d' % x)
         item.add_widget(Label(text='Very big content\n' * 10))
         root.add_widget(item)
     return root
    def on_keywords(self, instance, value):
        self.clear_widgets()

        accitem = None
        accgroup = None
        
        for item in value:
            if item['group'].find('filtre') == -1: # We don't use groups with "filtre" in the name, -> only for imagebuttons
                # create new accordion
                k = {}
                if self.title_template:
                    k['title_template'] = self.title_template
                if self.color_file :
                    k['background_normal'] = self.color_file
                if self.color_file_selected :
                    k['background_selected'] = self.color_file_selected
                accitem = AccordionItem(title=item['group'],**k)
                self.add_widget(accitem)
                # create new group
                accgroup = KeywordsGroup(title=item['group'], accitem=accitem)
                accitem.add_widget(accgroup)
                children = item['children']
                if self.alphabetical_sort:
                    children.sort(key=lambda x: x['name'])
                for child in children:
                    keyword = Keyword(text=child['name'], text_id=child['id'],
                            controler=self, group=accgroup)
                    accgroup.add_widget(keyword)
Exemple #10
0
class dice_UIRight(Accordion):
    """The right side of the interface, an accordion group"""
    def __init__(self, **kwargs):
        super(dice_UIRight, self).__init__(**kwargs)
        self.size_hint_x = .35
        self.orientation = "vertical"
        
        # Accordion Items
        self.historyAcc = AccordionItem(
            title = "History"
            )
        self.commonPoolsAcc = AccordionItem(
            title = "Common Dice Pools"
            )
        
        # Things inside of the Accordion Items
        self.commonPools = dice_CommonPools()
        self.history = dice_HistoryListView()
        
        # Add interior items to Accordion Items
        self.commonPoolsAcc.add_widget(self.commonPools)
        self.historyAcc.add_widget(self.history)
        
        # Add Accordion Items
        self.add_widget(self.historyAcc)
        self.add_widget(self.commonPoolsAcc)
Exemple #11
0
 def create_layout(self, player):
     item = AccordionItem(title=player)
     layout3 = GridLayout(cols=3)
     for field in fields:
         layy = self.create_count_buttons(field)
         layout3.add_widget(layy)
     item.add_widget(layout3)
     return item
Exemple #12
0
 def show_accordion(self):
     root = Accordion()
     for x in xrange(5):
         item = AccordionItem(title='Title %d' % x)
         item.add_widget(Label(text='Very big content\n' * 10))
         root.add_widget(item)
     col = AnchorLayout()
     col.add_widget(root)
     return col
Exemple #13
0
 def build(self):
     root_acc = Accordion(orientation='vertical')
     for player in players_list:
         item = AccordionItem(title=player)
         btn = Button(text=player, background_color=grey)
         item.add_widget(btn)
         item = self.create_layout(player)
         root_acc.add_widget(item)
     return root_acc
 def build(self):
     root = Accordion(orientation='vertical')
     for x in xrange(5):
         item= AccordionItem(title='Image %d' %x)
         src = "images/%d.jpg" % x
         image = Image(source=src,pos=(400, 100), size=(400, 400))
         item.add_widget(image)
         root.add_widget(item)
     return root
Exemple #15
0
 def show_accordion(self):
     root = Accordion()
     for x in xrange(5):
         item = AccordionItem(title='Title %d' % x)
         item.add_widget(Label(text='Very big content\n' * 10))
         root.add_widget(item)
     col = AnchorLayout()
     col.add_widget(root)
     return col
Exemple #16
0
    def build(self):
        for device in Device.objects.order_by('pin'):
            GPIO.setup(device.pin, GPIO.OUT)

        screen = Accordion()
        for category in Category.objects.order_by('order'):
            item = AccordionItem(title=category.label)
            screen.add_widget(item)
            item.add_widget(self.buildCategory(category))
        return screen
Exemple #17
0
    def getContent(self):

        content_dict = loadContent()       # in module client
        title_no = 0
        for title, content in content_dict.items():
            # print(title, content)
            title_no += 1
            item = AccordionItem(title=f'{title_no}')
            item.add_widget(EachNoticeWidget(content=title + '\n' + content))
            self.add_widget(item)
    def build(self):
        root = Accordion()
        for x in range(5):
            item = AccordionItem(
                title='Title %d' % x,
                min_space=50)  #involve the value of x instead of d
            item.add_widget(Label(text='Hello World\n' * 5))
            root.add_widget(item)

        return root
    def __init__(self, **kwargs):
        super(SelectionScreen, self).__init__(**kwargs)

        global Combatants
        self.root = Accordion()
        charItem = AccordionItem(title='Characters')
        self.root.add_widget(charItem)
        enItem = AccordionItem(title='Enemies')
        self.root.add_widget(enItem)
        confirmItem = AccordionItem(title='Done')
        self.root.add_widget(confirmItem)
        self.CharButtons = []
        self.EnemyButtons = []
        self.enemyIter = 0
        self.quantity = 0
        self.content = TextInput(text='1', multiline=False)
        self.content.bind(on_text_validate=self.setQuantity)
        i = 0
        while i < Combatants.getNumChars():
            btn = ToggleButton(text=Combatants.getCharName(i))
            charItem.add_widget(btn)
            self.CharButtons.append(btn)
            i = i+ 1
        i = 0
        while i < Combatants.getNumEn():
            btn = ToggleButton(text=Combatants.getEnName(i))
            enItem.add_widget(btn)
            self.EnemyButtons.append(btn)
            i = i + 1
        B = Button(text='Go!')
        B.bind(on_press=self.showCombatants)
        confirmItem.add_widget(B)
        self.add_widget(self.root)
Exemple #20
0
    def build(self):
        scroller = ScrollView(size_hint=(1, None), size=(Window.width, Window.height))
        root = Accordion(orientation='vertical',size_hint_y=None,height=50*27)
        chart = self.create_gantt()
        for title in chart:
            item = AccordionItem(title=title)
            item.add_widget(Image(source=title))
            root.add_widget(item)

        scroller.add_widget(root)

        return scroller
Exemple #21
0
    def build(self):
        lista = Accordion()

        for x in range(7):
            item = AccordionItem(title='Item{0}'.format(x + 1))
            item.add_widget(
                Label(text='''Além do horizonte deve ter
Algum lugar bonito pra viver em paz
Onde eu possa encontrar a natureza
Alegria e felicidade com certeza'''))
            lista.add_widget(item)

        return lista
Exemple #22
0
    def build(self):
        num_page = 2
        root = Accordion()
        pages = list()

        for page in range(num_page):
            item = AccordionItem(title=f'Title{page}')
            grid = GridLayout(cols=3, spacing=20, padding=10)
            # with grid.canvas:
            #     Color(0.5,0.6,0.7,0.8)
            #     Rectangle(size=grid.size,pos=grid.pos)
            item.add_widget(grid)
            root.add_widget(item)
            pages.append(grid)
        #!!! this must be get from serial port !!!#
        Buttons_text = list(map(lambda num: 'Button ' + str(num), range(1, 6)))
        Buttons_status0 = [
            'open', 'close', 'deactive', 'open', 'close', 'deactive'
        ]
        Buttons_status = dict()
        for name, status in zip(Buttons_text, Buttons_status0):
            Buttons_status[name] = status
        # predefined constants
        Buttons_color = {
            'open': [random(), random(), random(), 0.9],
            'close': [1, 0, 0, 0.9],
            'deactive': [0.5, 0.5, 0.5, 0.9]
        }

        # add Buttons to page 0
        Buttons = list(
            map(
                lambda name: Button(text=name,
                                    background_color=Buttons_color[
                                        Buttons_status[name]]), Buttons_text))
        # Clock.schedule_interval(Buttons[0]., 1.0 / 60.0)
        # Buttons[0].bind(on_press=print('hello world'))
        _ = list(map(lambda button: pages[0].add_widget(button), Buttons))

        # add Gauges to page 1
        Gauges = list(
            map(lambda gauge: Gauge(value=50, size_gauge=200, size_text=19),
                Buttons_text))
        _ = list(map(lambda gauge: pages[1].add_widget(gauge), Gauges))

        ### defines events
        _ = list(
            map(
                lambda button: button.bind(on_press=lambda button: self.
                                           ErrorWindow()), Buttons))
        return root
Exemple #23
0
    def add_pages(self):
        self.clear_widgets()
        for c in self.crime_tab:
            self.add_widget(Page(c))  
            
        l = '\n'.join(['Proletariat - The working poor, non-believers of IngSoc.',
                       'Outer Party - Middle class members of The Party',
                       'Inner Party - Individuals having demonstrated dedication to Ingsoc and The Party.'])
        a = AccordionItem(title='Classes')
        class_list = BoxLayout(orientation='vertical')
        class_list.add_widget(Label(text=l))
        a.add_widget(class_list)
        self.add_widget(a)

        lab = Label(text=l)
    def build(self):
        root = Accordion()
        root = Accordion(min_space=60)
        # Providing the orentation
        root = Accordion(orientation='vertical')

        # Adding text to each Accordion
        for x in range(5):
            item = AccordionItem(title='Title % d' % x)
            item.add_widget(
                Label(text='GFG is Good Website foe CSE Students\n' * 5))
            root.add_widget(item)

        # Reurn the root
        return root
Exemple #25
0
 def buildContent(self):
     self.ids.setupAccordion.clear_widgets(children=self.ids.setupAccordion.children)
     setupList = []
     for key in gameSetups.keys():
         if gameSetups.get(key).get('playerNumber') == Mafia.playerNumber:
             setupList.append(str(key))
     for setup in setupList:
         item = AccordionItem(title=setup, background_normal='atlas://img/button/buttonatlas/midnight',
             background_selected='atlas://img/button/buttonatlas/sky')
         itemContent = BoxLayout(orientation='vertical')
         itemContent.add_widget(multiLineLabel(text=gameSetups.get(setup).get('description'),
          halign='center', valign='middle'))
         itemContent.add_widget(Image(source=gameSetups.get(setup).get('src')))
         item.add_widget(itemContent)
         self.ids.setupAccordion.add_widget(item)
    def __init__(self, **kwargs):
        super(ActionMenu, self).__init__(**kwargs)

        self.root = Accordion(orientation='vertical')
        self.targItem = AccordionItem(title='Target')
        self.root.add_widget(self.targItem)
        self.conItem = AccordionItem(title='Confirm')
        self.root.add_widget(self.conItem)
        B = Button(text='Confirm')
        B2 = Button(text='Cancel')
        B.bind(on_press=self.confirmTarget)
        B2.bind(on_press=self.cancel)
        self.conItem.add_widget(B)
        self.conItem.add_widget(B2)
        self.add_widget(self.root)
Exemple #27
0
    def __init__(self, list_site, project, **kwargs):

        super(ProcessingZ, self).__init__(**kwargs)

        self.ids.bt_processingZ.text = self.lang['ProcessingZ']
        self.ids.bt_cancel.text = self.lang['Cancel']

        self.list_sites = list_site

        self.project = project

        for site in list_site:

            self.site_acordion = AccordionItem()


            self.site_acordion.title = site.name
            self.site_acordion.min_space = 25

            self.make_file_band_asc(site)

            if site.equipment == 'ADU06':
                view_files_asc06 = ViewFilesAscADU06(band=self.lang['Band'], get_band=self.change_tabs)
                view_files_asc06.site = site.name
                view_files_asc06.equipment = site.equipment
                self.site_acordion.add_widget(view_files_asc06)

            elif site.equipment == 'ADU07':

                view_files_asc07 = ViewFilesAscADU07(band=self.lang['Band'], get_band=self.change_tabs)
                view_files_asc07.site = site.name
                view_files_asc07.equipment = site.equipment
                self.site_acordion.add_widget(view_files_asc07)

            self.ids.accor_sites.add_widget(self.site_acordion)
Exemple #28
0
    def __init__(self, *args, **kwargs):
        super(Settings, self).__init__(**kwargs)
        self.orientation = "vertical"
        self.accordion = Accordion(orientation="vertical")
        for x in [General, Themes, About]:
            item = AccordionItem(title=str(x.__name__), title_template="Panel")
            item.box = x(orientation="vertical")
            item.add_widget(item.box)
            self.accordion.add_widget(item)

        for x in self.accordion.children:
            x.collapse = False if type(x.box).__name__ == "General" else True

        self.add_widget(self.accordion)
        self.save_buttons = SaveButtons(size_hint_y=0.1)
        self.add_widget(self.save_buttons)
Exemple #29
0
    def build(self):
        root = Accordion(orientation="vertical")
        for x in range(4):
            item = AccordionItem(title='Screen %d' % x)
            item.add_widget(Button(text='Vis TimeLapse\n', size_hint=(0.25,0.25), 
                                   pos=(100, 100)))
            item.add_widget(Button(text='IR TimeLapse\n', size_hint=(0.25,0.25),
                                   pos=(100, 100)))
            item.add_widget(Button(text='Vis Live\n', size_hint=(0.25,0.25),
                                   pos=(100, 100)))
            item.add_widget(Button(text='IR Live\n', size_hint=(0.25,0.25),
                                   pos=(100, 100)))



            root.add_widget(item)
        return root
Exemple #30
0
 def _build_schema(self, schema):
     '''
     Build UI widgets and the structure of the dictionary sent back to the tunable
     '''
     self.param_schema = dict()
     for key in schema:
         self.param_schema[key] = dict()
         item = AccordionItem(title=key)
         layout = GridLayout(cols=1, spacing=20, padding=10)
         item.add_widget(layout)
         for param in schema[key]:
             widget = AccordionSlider(self,
                                      **schema[key][param],
                                      param_label=param)
             self.param_schema[key][param] = widget
             layout.add_widget(widget)
         self.content_area.add_widget(item)
Exemple #31
0
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        btn2 = Button(
            text='New Game',
            size_hint=(.5, .25),
            pos_hint={'left': 0, 'top': 1}
        )
        """btn2.bind(on_press=self.change_screen_to_game())
        self.add_widget(btn2)"""



        for x in range(5):
            item = AccordionItem()
            item.add_widget(Label(text='Very big content\n' * 10))
            self.add_widget(item)
Exemple #32
0
    def order_by_category(self):
        self.ids.container.clear_widgets()
        self.ids.search_holder.clear_widgets()
        self.ids.search_holder.size_hint = (1, 0)

        if self.searchFlag:
            self.searchFlag = False

        for cate in self.category:
            if cate == 'omission':
                accordItem = AccordionItem(
                    background_normal='images/accordion_normal.png',
                    background_selected='images/accordion_selected.png',
                    background_disabled_normal='images/accordion_normal.png',
                    background_disabled_selected='images/accordion_selected.png'
                )
            else:
                accordItem = AccordionItem(
                    background_normal='images/accordion_normal.png',
                    background_selected='images/accordion_selected.png',
                    background_disabled_normal='images/accordion_normal.png',
                    background_disabled_selected='images/accordion_selected.png'
                )
            scroll = ScrollView()
            grid = GridLayout(id='grid',
                              size_hint_y=None,
                              cols=1,
                              row_default_height='80dp',
                              row_force_default=True,
                              spacing=20,
                              padding=20)
            grid.bind(minimum_height=grid.setter('height'))
            scroll.add_widget(grid)
            accordItem.add_widget(scroll)
            accordItem.title = cate
            accordItem.font_name = 'Ubuntu'
            self.ids.container.add_widget(accordItem)

            id_list = self.category[cate]

            for id in id_list:
                mistake_noun = get_mistake_noun(id)
                mistake_verb = get_mistake_verb(id)
                mistake_time = get_mistake_date(id).strftime("%H:%M:%S")
                mistake_cost = str(get_mistake_cost(id))

                new = Entry(name=mistake_noun,
                            verb=mistake_verb,
                            time=mistake_time,
                            cost=mistake_cost)
                grid.add_widget(new)

        self.ids.by_day.background_color = get_color_from_hex('#5D535E')
        self.ids.by_cat.background_color = get_color_from_hex('#669999')
        self.ids.by_search.background_color = get_color_from_hex('#5D535E')
Exemple #33
0
class MainMenuScreen(BaseScreen):
    def __init__(self, name, *navigate_screens):
        super(MainMenuScreen, self).__init__(name, *navigate_screens)

        self.accordion = MDAccordion(orientation='vertical')

        self.profile = AccordionItem(title='Profile')
        self.feed = AccordionItem(title='Feed')

        self.accordion.add_widget(self.profile)
        self.accordion.add_widget(self.feed)

        self.lower_panel.add_widget(self.accordion)

        base_box = BoxLayout(orientation='vertical')

        box = BoxLayout(orientation='vertical', spacing=5)
        box.add_widget(
            AsyncImage(
                source=
                'https://codeguida.com/media/post_title/kivy-logo-black-256_70JCttF.png',
                size_hint_y=.2,
                size_hint_x=.5))
        menu_items_box = BoxLayout(orientation='vertical',
                                   padding=2,
                                   size_hint_y=.5)

        base_box.add_widget(box)
        base_box.add_widget(menu_items_box)

        self.username_label = MenuItemLabel(text='Test username')
        self.followers_label = MenuItemLabel(text='Followers')
        self.posts_amount = MenuItemLabel(text='Posts published')

        menu_items_box.add_widget(self.username_label)
        menu_items_box.add_widget(self.followers_label)
        menu_items_box.add_widget(self.posts_amount)

        self.profile.add_widget(base_box)

        # self.feed.add_widget(FeedItem(image_path='https://codeguida.com/media/post_title/kivy-logo-black-256_70JCttF.png'))
        self.feed.add_widget(Feed())

    def update_label(self, *args):
        pass
class ActionMenu(Screen):
    def __init__(self, **kwargs):
        super(ActionMenu, self).__init__(**kwargs)

        self.root = Accordion(orientation='vertical')
        self.targItem = AccordionItem(title='Target')
        self.root.add_widget(self.targItem)
        self.conItem = AccordionItem(title='Confirm')
        self.root.add_widget(self.conItem)
        B = Button(text='Confirm')
        B2 = Button(text='Cancel')
        B.bind(on_press=self.confirmTarget)
        B2.bind(on_press=self.cancel)
        self.conItem.add_widget(B)
        self.conItem.add_widget(B2)
        self.add_widget(self.root)

    def populate(self):
        self.ComButtons = []
        for c in Combatants.retList():
            btn = ToggleButton(text=c.name, group='targets')
            self.targItem.add_widget(btn)
            self.ComButtons.append(btn)

    def confirmTarget(self, obj):
        hasTarget = False
        i = 0
        for b in self.ComButtons:
            if b.state == 'down':
                hasTarget = True
                Screens[2].Target = Combatants.get(i)
            i += 1
        if hasTarget == True:
            hasTarget = False
            self.targItem.clear_widgets(children=self.ComButtons)
            self.ComButtons.clear()
            Combatants.get(0).hasActed = True
            Screens[2].AttackButton.disabled = True
            self.manager.current = 'Battle Screen'
            Screens[2].Attack()

    def cancel(self, obj):
        self.targItem.clear_widgets(children=self.ComButtons)
        self.ComButtons.clear()
        self.manager.current = 'Battle Screen'
Exemple #35
0
    def searchList(self, mistakes_id):
        self.ids.container.clear_widgets()
        if len(mistakes_id) == 0:
            accordItem = AccordionItem(
                background_normal='images/accordion_normal.png',
                background_selected='images/accordion_selected.png',
                background_disabled_normal='images/accordion_normal.png',
                background_disabled_selected='images/accordion_selected.png')
            accordItem.title = "No archive found!"
            self.ids.container.add_widget(accordItem)

        dates = {}

        for id in mistakes_id:
            mistake_date = get_mistake_date(id).strftime("%Y-%m-%d")

            if mistake_date not in dates:
                dates[mistake_date] = [id]
            else:
                dates[mistake_date].append(id)

        for date in dates:
            accordItem = AccordionItem(
                background_normal='images/accordion_normal.png',
                background_selected='images/accordion_selected.png',
                background_disabled_normal='images/accordion_normal.png',
                background_disabled_selected='images/accordion_selected.png')
            scroll = ScrollView()
            grid = GridLayout(id='grid',
                              size_hint_y=None,
                              cols=1,
                              row_default_height='80dp',
                              row_force_default=True,
                              spacing=20,
                              padding=20)
            grid.bind(minimum_height=grid.setter('height'))
            scroll.add_widget(grid)
            accordItem.add_widget(scroll)
            accordItem.title = date
            self.ids.container.add_widget(accordItem)

            id_list = dates[date]

            # go through all mistakes for the day
            for id in id_list:
                mistake_noun = get_mistake_noun(id)
                mistake_verb = get_mistake_verb(id)
                mistake_time = get_mistake_date(id).strftime("%H:%M:%S")
                mistake_cost = str(get_mistake_cost(id))

                new = Entry(name=mistake_noun,
                            verb=mistake_verb,
                            time=mistake_time,
                            cost=mistake_cost)
                grid.add_widget(new)
Exemple #36
0
 def build(self):
     Window.size = (1400, 800)
     bltAll = AllLayout()
     bltCenter = BoxLayout()
     aciInf = AccordionItem(title='ISP Selection')
     aciInf.add_widget(InferencePanel(self.url, self))
     aciCal = AccordionItem(title='Calendar')
     aciCal.add_widget(self.pnlCalendar)
     self.accordion.add_widget(aciInf)
     self.accordion.add_widget(aciCal)
     bltCenter.add_widget(self.accordion)
     bltAll.add_widget(bltCenter)
     return bltAll
    def build(self):
        self.title = "HP4156C Parameter Analyser"
        ## Main screen has a title and two accordions
        root = BoxLayout(orientation='vertical')
        ## Add a title header to the window
        header = Label(text="HP4156C Parameter Analyser",
                       font_size=20,
                       size_hint_y=None,
                       height=25)
        root.add_widget(header)
        ## The main Accordion menu
        menu = Accordion()

        ## The first accordion tab has three buttons
        item = AccordionItem(title='Configuration')
        item.add_widget(Configuration())
        menu.add_widget(item)
        #the above section can be repeated to add more accordion items

        ## Add the accordion to the main screen
        root.add_widget(menu)
        return root
Exemple #38
0
    def on_keywords(self, instance, value):
        self.clear_widgets()

        accitem = None
        accgroup = None
        for item in value:
            # create new accordion
            k = {}
            if self.title_template:
                k['title_template'] = self.title_template
            accitem = AccordionItem(title=item['group'], **k)
            self.add_widget(accitem)
            # create new group
            accgroup = KeywordsGroup(title=item['group'], accitem=accitem)
            accitem.add_widget(accgroup)
            children = item['children']
            if self.alphabetical_sort:
                children.sort(key=lambda x: x['name'])
            for child in children:
                keyword = Keyword(text=child['name'], text_id=child['id'],
                        controler=self, group=accgroup)
                accgroup.add_widget(keyword)
Exemple #39
0
 def set_sections(self):
     for each in sections:
         item = AccordionItem()
         item.pos = (0, 0)
         item.title = sections[each]
         detail = DetailedData(each)
         item.add_widget(detail)
         self.ids.container.add_widget(item)
Exemple #40
0
 def __init__(self, **kwargs):
     super(ATDR, self).__init__(**kwargs)
     self.orientation = "horizontal"
     
     # Accordion Items
     self.diceAcc = AccordionItem(
         title = "Dice Pools"
         )
     self.crit_forceAcc = AccordionItem(
         title = "Critical Injuries and Force Dice"
         )
     
     # Things inside of the Accordion Items
     self.dice = dice_UI()
     self.crit_force = InjuryAndForceUI()
     
     # Add interior items to Accordion Items
     self.diceAcc.add_widget(self.dice)
     self.crit_forceAcc.add_widget(self.crit_force)
     
     # Add Accordion Items
     self.add_widget(self.crit_forceAcc)
     self.add_widget(self.diceAcc)
Exemple #41
0
    def __init__(self, **kwargs):
        super(Favorites, self).__init__(**kwargs)
        self.mistakes_list = {'2016-02-31': 'Missed the morning class',
                              '2016-01-31': 'Overslept',
                              '2015-02-31': 'Forgot to call papaw'}

        accordItem1 = AccordionItem()
        accordItem1.add_widget(Slide().build())
        accordItem1.title = 'Stats'
        self.ids.container.add_widget(accordItem1)

        accordItem2 = AccordionItem()
        scroll = ScrollView()
        grid = GridLayout(id='grid', size_hint_y=None, cols=1, row_default_height='20dp', row_force_default=True, spacing=20, padding=20)
        grid.bind(minimum_height=grid.setter('height'))
        scroll.add_widget(grid)
        accordItem2.add_widget(scroll)
        accordItem2.title = 'History Mistakes'
        self.ids.container.add_widget(accordItem2)
        # self.add_widget(scroll)

        for date, mistake in self.mistakes_list.iteritems():
            new = Mistake(date=date, mistake=mistake)
            grid.add_widget(new)
Exemple #42
0
    def on_keywords(self, instance, value):
        self.clear_widgets()

        accitem = None
        accgroup = None
        for item in value:
            # create new accordion
            k = {}
            if self.title_template:
                k['title_template'] = self.title_template
            accitem = AccordionItem(title=item['group'], **k)
            self.add_widget(accitem)
            # create new group
            accgroup = KeywordsGroup(title=item['group'], accitem=accitem)
            accitem.add_widget(accgroup)
            children = item['children']
            if self.alphabetical_sort:
                children.sort(key=lambda x: x['name'])
            for child in children:
                keyword = Keyword(text=child['name'],
                                  text_id=child['id'],
                                  controler=self,
                                  group=accgroup)
                accgroup.add_widget(keyword)
Exemple #43
0
    def get_question(self):
        list_for_accord = []
        list_for_sub_item = []

        for i in list_of_subject:
            store = JsonStore('{}.json'.format(i.strip('').upper()))
            list_for_accord.append(i)
            accord_item = AccordionItem(title=i, orientation='horizontal')
            for key in store.keys():
                p = Popup(title=key, size_hint=(.5, .5), auto_dismiss=True)
                accord_sub_item = OneLineListItem(text=str(key))
                accord_sub_item.bind(on_press=p.open)
                accord_item.add_widget(accord_sub_item)

                grid = GridLayout(cols=1)
                l1 = Button(text=store[key]['question'])
                l2 = Button(text=store[key]['option1'])
                l3 = Button(text=store[key]['option2'])
                l4 = Button(text=store[key]['option3'])
                l5 = Button(text=store[key]['option4'])
                l7 = TextInput(text='')
                l6 = Button(text='see answer')
                l6.bind(on_release=lambda x: setattr(l7, 'text', store[p.title]
                                                     ['answer']))

                grid.add_widget(l1)
                grid.add_widget(l2)
                grid.add_widget(l3)
                grid.add_widget(l4)
                grid.add_widget(l5)
                grid.add_widget(l6)
                grid.add_widget(l7)

                p.add_widget(grid)
            self.accordion.add_widget(accord_item)
        self.add_widget(self.accordion)
Exemple #44
0
    def __init__(self, list_site, project, **kwargs):

        super(ProcessingZ, self).__init__(**kwargs)

        self.ids.bt_processingZ.text = self.lang['ProcessingZ']
        self.ids.bt_cancel.text = self.lang['Cancel']

        self.list_sites = list_site

        self.project = project

        for site in list_site:

            self.site_acordion = AccordionItem()

            self.site_acordion.title = site.name
            self.site_acordion.min_space = 25

            self.make_file_band_asc(site)

            if site.equipment == 'ADU06':
                view_files_asc06 = ViewFilesAscADU06(band=self.lang['Band'],
                                                     get_band=self.change_tabs)
                view_files_asc06.site = site.name
                view_files_asc06.equipment = site.equipment
                self.site_acordion.add_widget(view_files_asc06)

            elif site.equipment == 'ADU07':

                view_files_asc07 = ViewFilesAscADU07(band=self.lang['Band'],
                                                     get_band=self.change_tabs)
                view_files_asc07.site = site.name
                view_files_asc07.equipment = site.equipment
                self.site_acordion.add_widget(view_files_asc07)

            self.ids.accor_sites.add_widget(self.site_acordion)
Exemple #45
0
 def build(self):
     Window.size = (1400, 800)
     bltAll = AllLayout()
     bltCenter = BoxLayout()
     aciInf = AccordionItem(title='ISP Selection')
     aciInf.add_widget(InferencePanel(self.url, self))
     aciCal = AccordionItem(title='Calendar')
     aciCal.add_widget(self.pnlCalendar)
     self.accordion.add_widget(aciInf)
     self.accordion.add_widget(aciCal)
     bltCenter.add_widget(self.accordion)
     bltAll.add_widget(bltCenter)
     return bltAll
	def build(self):
		self.title = "HP4156C Parameter Analyser"
		## Main screen has a title and two accordions
		root = BoxLayout(orientation='vertical')
		## Add a title header to the window
		header = Label(text="HP4156C Parameter Analyser", font_size=20, size_hint_y=None, height=25)
		root.add_widget(header)
		## The main Accordion menu
		menu = Accordion()
		## The first accordion tab has three buttons
		item = AccordionItem(title='Configuration')
		item.add_widget(Label(text='Very big content\n' * 10))
		menu.add_widget(item)
		## The second accordion tab graphs data and saves to excel
		item = AccordionItem(title='Results')
		item.add_widget(Label(text='Very big content\n' * 10))
		menu.add_widget(item)
		## Add the accordion to the main screen
		root.add_widget(menu)
		
		return root
Exemple #47
0
 def nextland(self):
     global AllLands
     if (len(AllLands) == self.cur + 1):
         popup = Popup(title='Error!',
                       content=Label(text='No More Lands!!'),
                       size_hint=(None, None),
                       size=(200, 200))
         popup.open()
         return
     else:
         self.ids.acc.clear_widgets()
         if (len(AllLands) - 1 - self.cur >= 4):
             for i in range(self.cur + 1, self.cur + 5):
                 txt = str("")
                 txt += "[b][color=87ceeb]"
                 txt += str(
                     str(AllLands[i][0]) + "\n " + AllLands[i][1] + "\n" +
                     AllLands[i][2] + "\n" + AllLands[i][3])
                 txt += '[/color][/b]'
                 item = AccordionItem(title='Land %d' % (i + 1),
                                      orientation='vertical')
                 item.add_widget(Button(text=txt, markup=True))
                 self.ids.acc.add_widget(item)
             self.cur += 4
         else:
             for i in range(self.cur + 1, len(AllLands)):
                 print("Yes")
                 txt = str("")
                 txt += "[b][color=87ceeb]"
                 txt += str(
                     str(AllLands[i][0]) + "\n " + AllLands[i][1] + "\n" +
                     AllLands[i][2] + "\n" + AllLands[i][3])
                 txt += '[/color][/b]'
                 item = AccordionItem(title='Land %d' % (i + 1),
                                      orientation='vertical')
                 print(txt)
                 item.add_widget(Button(text=txt, markup=True))
                 self.ids.acc.add_widget(item)
             self.cur = len(AllLands) - 1
Exemple #48
0
 def prevland(self):
     global AllLands
     if (self.cur <= 3):
         popup = Popup(title='Error!',
                       content=Label(text='No More Lands!!'),
                       size_hint=(None, None),
                       size=(200, 200))
         popup.open()
         return
     elif (self.cur >= 3):
         self.cur -= 4
         self.ids.acc.clear_widgets()
         for i in range(self.cur, self.cur + 4):
             txt = str("")
             txt += "[b][color=87ceeb]"
             txt += str(
                 str(AllLands[i][0]) + "\n " + AllLands[i][1] + "\n" +
                 AllLands[i][2] + "\n" + AllLands[i][3])
             txt += '[/color][/b]'
             item = AccordionItem(title='Land %d' % (i + 1),
                                  orientation='vertical')
             item.add_widget(Button(text=txt, markup=True))
             self.ids.acc.add_widget(item)
     else:
         self.cur = 0
         self.ids.acc.clear_widgets()
         for i in range(self.cur, self.cur + 4):
             txt = str("")
             txt += "[b][color=87ceeb]"
             txt += str(
                 str(AllLands[i][0]) + "\n " + AllLands[i][1] + "\n" +
                 AllLands[i][2] + "\n" + AllLands[i][3])
             txt += '[/color][/b]'
             item = AccordionItem(title='Land %d' % (i + 1),
                                  orientation='vertical')
             item.add_widget(Button(text=txt, markup=True))
             self.ids.acc.add_widget(item)
         self.cur = 3
    def __init__(self, **kwargs):
        super(ConnectionScreen, self).__init__(**kwargs)

        self.root = Accordion()
        roleItem = AccordionItem(title='Role')
        self.root.add_widget(roleItem)
        serverItem = AccordionItem(title='Server')
        self.root.add_widget(serverItem)
        self.dmBtn = ToggleButton(text="DM", group="role")
        self.pcBtn = ToggleButton(text="Player", group="role", state="down")
        self.textinput = TextInput(text='John-LAPTOP', multiline=False)
        self.textinput.bind(on_text_validate=self.on_confirm)
        roleItem.add_widget(self.dmBtn)
        roleItem.add_widget(self.pcBtn)
        serverItem.add_widget(self.textinput)
        self.add_widget(self.root)
Exemple #50
0
    def searchList(self, mistakes_id):
        self.ids.container.clear_widgets()
        if len(mistakes_id) == 0:
            accordItem = AccordionItem(background_normal='images/accordion_normal.png',
                                        background_selected='images/accordion_selected.png',
                                        background_disabled_normal='images/accordion_normal.png',
                                        background_disabled_selected='images/accordion_selected.png')
            accordItem.title = "No archive found!"
            self.ids.container.add_widget(accordItem)

        dates = {}

        for id in mistakes_id:
                mistake_date = get_mistake_date(id).strftime("%Y-%m-%d")

                if mistake_date not in dates:
                    dates[mistake_date] = [id]
                else:
                    dates[mistake_date].append(id)

        for date in dates:
            accordItem = AccordionItem(background_normal='images/accordion_normal.png',
                                        background_selected='images/accordion_selected.png',
                                        background_disabled_normal='images/accordion_normal.png',
                                        background_disabled_selected='images/accordion_selected.png')
            scroll = ScrollView()
            grid = GridLayout(id='grid', size_hint_y=None, cols=1, row_default_height='80dp', row_force_default=True, spacing=20, padding=20)
            grid.bind(minimum_height=grid.setter('height'))
            scroll.add_widget(grid)
            accordItem.add_widget(scroll)
            accordItem.title = date
            self.ids.container.add_widget(accordItem)

            id_list = dates[date]

            # go through all mistakes for the day
            for id in id_list:
                mistake_noun = get_mistake_noun(id)
                mistake_verb = get_mistake_verb(id)
                mistake_time = get_mistake_date(id).strftime("%H:%M:%S")
                mistake_cost = str(get_mistake_cost(id))

                new = Entry(name=mistake_noun, verb=mistake_verb, time=mistake_time, cost=mistake_cost)
                grid.add_widget(new)
Exemple #51
0
    def order_by_category(self):
        self.ids.container.clear_widgets()
        self.ids.search_holder.clear_widgets()
        self.ids.search_holder.size_hint=(1, 0)

        if self.searchFlag:
            self.searchFlag = False

        for cate in self.category:
            if cate == 'omission':
                accordItem = AccordionItem(background_normal='images/accordion_normal.png',
                                            background_selected='images/accordion_selected.png',
                                            background_disabled_normal='images/accordion_normal.png',
                                            background_disabled_selected='images/accordion_selected.png')
            else:
                accordItem = AccordionItem(background_normal='images/accordion_normal.png',
                                            background_selected='images/accordion_selected.png',
                                            background_disabled_normal='images/accordion_normal.png',
                                            background_disabled_selected='images/accordion_selected.png')
            scroll = ScrollView()
            grid = GridLayout(id='grid', size_hint_y=None, cols=1, row_default_height='80dp', row_force_default=True, spacing=20, padding=20)
            grid.bind(minimum_height=grid.setter('height'))
            scroll.add_widget(grid)
            accordItem.add_widget(scroll)
            accordItem.title = cate
            accordItem.font_name = 'Ubuntu'
            self.ids.container.add_widget(accordItem)

            id_list = self.category[cate]

            for id in id_list:
                mistake_noun = get_mistake_noun(id)
                mistake_verb = get_mistake_verb(id)
                mistake_time = get_mistake_date(id).strftime("%H:%M:%S")
                mistake_cost = str(get_mistake_cost(id))

                new = Entry(name=mistake_noun, verb=mistake_verb, time=mistake_time, cost= mistake_cost)
                grid.add_widget(new)

        self.ids.by_day.background_color = get_color_from_hex('#5D535E')
        self.ids.by_cat.background_color = get_color_from_hex('#669999')
        self.ids.by_search.background_color = get_color_from_hex('#5D535E')
Exemple #52
0
 def __init__(self, username, userid, level, levelname, name):
     self.name = name
     self.username = username
     self.userid = userid
     self.level = level
     self.levelname = levelname
     super(LevelListScreen, self).__init__()
     
     # Get level sections from database.
     conn = sqlite3.connect(filehome + 'database.db')
     c = conn.cursor()
     levelsections = c.execute('''SELECT levelsectionid, levelsectionname, levelsectionimage FROM levelsection WHERE levelid = ?''', (level,))
     box = BoxLayout(orientation = 'vertical')
     box.add_widget(Banner(self.levelname, 1, self.userid))
     topAccordion = Accordion(orientation = 'vertical', min_space = dp(25), anim_duration = 1)
     
     # Adding an accordion item for each of the levelsections
     for i in levelsections:
         item = AccordionItem(title = i[1], min_space = dp(25), background_normal='images/blue32025.png', background_selected = 'images/orange32025.png')
         boxa = BoxLayout(orientation = 'vertical')
         boxa.add_widget(AsyncImage(source = i[2]))
         
         # Get topics for the current level section from the database.
         c1 = conn.cursor()
         levelsectiontopics = c1.execute('''SELECT topicid, topicname, topicpage FROM topics WHERE levelsectionid = ?''', (i[0],))
         
         # Add a button for each topic within the section
         for j in levelsectiontopics:
             boxa.add_widget(Button(text=j[1], id= j[1] + ',' + j[2], on_press = self.selecttopic, background_normal = 'images/orange32030.png', background_down = 'images/blue32025.png', size_hint_y = None, height = dp(30)))
         item.add_widget(boxa)
         topAccordion.add_widget(item)
     
     quizitem = AccordionItem(title = 'Quiz', min_space = dp(25), background_normal = 'images/blue32025.png', background_selected = 'images/orange32025.png')
     boxb = BoxLayout(orientation = 'vertical')
     boxb.add_widget(Label(text = 'Want to test your knowledge for this level?'))
     boxb.add_widget(Button(text = 'Quiz here', on_press = self.quiz, id = level, background_normal = 'images/orange32030.png', background_down = 'images/blue32025.png', size_hint_y = None, height = dp(30)))
     quizitem.add_widget(boxb)
     topAccordion.add_widget(quizitem)
     box.add_widget(topAccordion)
     self.add_widget(box)
     conn.close()
class AbilityMenu(Screen):
    def __init__(self, **kwargs):
        super(AbilityMenu, self).__init__(**kwargs)

        self.root = Accordion(orientation='vertical')
        self.invItem = AccordionItem(title='Item')
        self.root.add_widget(self.invItem)
        self.targItem = AccordionItem(title='Target')
        self.root.add_widget(self.targItem)
        self.conItem = AccordionItem(title='Confirm')
        self.root.add_widget(self.conItem)
        B = Button(text='Confirm')
        B2 = Button(text='Cancel')
        B.bind(on_press=self.confirmTarget)
        B2.bind(on_press=self.cancel)
        self.conItem.add_widget(B)
        self.conItem.add_widget(B2)
        self.add_widget(self.root)

    def populateItems(self):
        self.ItemButtons = []
        for item in Combatants.get(0).inventory:
            if item.quantity > 0:
                btn = ToggleButton(text=item.name, group='items')
                self.invItem.add_widget(btn)
                self.ItemButtons.append(btn)

    def populateTargs(self):
        self.ComButtons = []
        for c in Combatants.retList():
            btn = ToggleButton(text=c.name, group='targets')
            self.targItem.add_widget(btn)
            self.ComButtons.append(btn)

    def confirmTarget(self, obj):
        hasTarget = False
        hasItem = False
        itemNum = None
        i = 0
        for a in self.ItemButtons:
            if a.state == 'down':
                hasItem = True
                itemNum = i
            i += 1
        i = 0
        for b in self.ComButtons:
            if b.state == 'down':
                hasTarget = True
                Screens[2].Target = Combatants.get(i)
            i += 1
        if hasTarget == True and hasItem == True:
            hasTarget = False
            hasItem = False
            self.targItem.clear_widgets(children=self.ComButtons)
            self.ComButtons.clear()
            self.invItem.clear_widgets(children=self.ItemButtons)
            self.ItemButtons.clear()
            Combatants.get(0).abilitiesUsed = Combatants.get(0).abilitiesUsed + 1
            Screens[2].AbilityButton.disabled = True
            self.manager.current = 'Battle Screen'
            Screens[2].UseItem(itemNum)

    def cancel(self, obj):
        self.targItem.clear_widgets(children=self.ComButtons)
        self.ComButtons.clear()
        self.invItem.clear_widgets(children=self.ItemButtons)
        self.ItemButtons.clear()
        self.manager.current = 'Battle Screen'
Exemple #54
0
    def order_by_time(self):
        self.all_entries = []
        self.dates = {}
        self.category = {}

        self.ids.container.clear_widgets()
        self.ids.search_holder.clear_widgets()
        self.ids.search_holder.size_hint=(1, 0)

        self.all_entries = get_all_entries_id()

        if self.all_entries is None:
            self.list_empty_archive()
            return

        # Get all mistakes and get date list
        for ind, eid in enumerate(self.all_entries):
            mistakes_id = get_entry_mistakes_id(eid)
            if mistakes_id is None:
                continue

            # parse all mistakes by date and categories
            for id in mistakes_id:
                mistake_date = get_mistake_date(id).strftime("%Y-%m-%d")

                if mistake_date not in self.dates:
                    self.dates[mistake_date] = [id]
                else:
                    self.dates[mistake_date].append(id)

                self.category['omission'] = get_mistakes_category_id(True)
                self.category['commission'] = get_mistakes_category_id(False)

        if self.searchFlag:
            self.searchFlag = False

        self.sortedDate= []
        for date in self.dates:
            self.sortedDate.append(datetime.datetime.strptime(date, '%Y-%m-%d').date())

        print("date: " + str(sorted(self.sortedDate)))

        # Iterate over date list and order mistakes by date
        for date in sorted(self.sortedDate):
            accordItem = AccordionItem(background_normal='images/accordion_normal.png',
                                        background_selected='images/accordion_selected.png',
                                        background_disabled_normal='images/accordion_normal.png',
                                        background_disabled_selected='images/accordion_selected.png')
            scroll = ScrollView()
            grid = GridLayout(id='grid', size_hint_y=None, cols=1, row_default_height='80dp', row_force_default=True, spacing=20, padding=20)
            grid.bind(minimum_height=grid.setter('height'))
            scroll.add_widget(grid)
            accordItem.add_widget(scroll)
            accordItem.title = date.strftime("%Y-%m-%d")
            self.ids.container.add_widget(accordItem)

            id_list = self.dates[date.strftime("%Y-%m-%d")]

            # go through all mistakes for the day
            for id in id_list:
                mistake_noun = get_mistake_noun(id)
                mistake_verb = get_mistake_verb(id)
                mistake_time = get_mistake_date(id).strftime("%H:%M:%S")
                mistake_cost = str(get_mistake_cost(id))

                new = Entry(name=mistake_noun, verb=mistake_verb, time=mistake_time, cost=mistake_cost)
                grid.add_widget(new)

        self.ids.by_day.background_color = get_color_from_hex('#669999')
        self.ids.by_cat.background_color = get_color_from_hex('#5D535E')
        self.ids.by_search.background_color = get_color_from_hex('#5D535E')
    def index_of(self, dt):
        '''return a global index corresponding to a datetime. '''
        secs = (dt - unixepoch).total_seconds() 
        global_idx = secs / TimeTick.scale_factor_dict['second']
        return global_idx
    def pos_of_time(self, time):
        return self.index2pos(self.index_of(time))
    def timedelta2dist(self, td):
        return td.days * self.scale
    def center_on_timeframe(self, start, end):
        self.index_0 = self.index_of(start)
        self.index_1 = self.index_of(end)
                
if __name__ == '__main__':
    acc = Accordion(orientation='vertical')
    simple = AccordionItem(title='simple')
    simple.add_widget(Timeline())
    complex_ = AccordionItem(title='complex')
    complex_.add_widget(
        Timeline(backward=True,
                 orientation='horizontal',
                 ticks=selected_time_ticks() + [TimeTick(valign='top',
                                                         mode='12 hours'),
                                                TimeTick(valign='line_bottom',
                                                         mode='2 hours')],
                 line_offset=dp(130)
                 ))
    acc.add_widget(simple)
    acc.add_widget(complex_)
    runTouchApp(acc)
Exemple #56
0
class UploadFiles(GridLayout):
    event_callback = ObjectProperty(p)
    data_callback = ObjectProperty(p)
    """Принимает словарь данных о выборе пользователя."""
    background_selected = StringProperty(
        "atlas://data/images/defaulttheme/button_pressed")
    background_normal = StringProperty(
        "atlas://data/images/defaulttheme/button")
    background_image = StringProperty(
        "atlas://data/images/defaulttheme/modalview-background")
    """Фоновое изображение окна."""
    title = StringProperty("Add File")
    title_step = StringProperty("Add File")
    # Подписи вкладок аккордиона.
    panel_step_one_text = StringProperty("Step One: Select section")
    panel_step_two_text = StringProperty("Step Two: Select category")
    panel_step_three_text = StringProperty("Step Three: Select file")
    text_terms = StringProperty("Step One\n-------------------")
    sections_files = DictProperty({})

    def __init__(self, **kvargs):
        super(UploadFiles, self).__init__(**kvargs)
        self.__data = {
            "zip": False,  # упаковывать ли файл в zip
            "name": "",  # имя файла
            "version": "",  # версия файла
            "description": "",  # описание файла
            "file": "",  # путь к файлу
            "screenshot": ""  # путь к изображению скриншота
        }

        self.cols = 1
        self.spacing = 17

        self.label_form = Label(text=self.title_step, font_size=20,
                                size_hint=(1, .05), markup=True)
        accordion = Accordion(orientation="vertical")
        # --------------------STEP-ONE----------------------
        self.step_one = \
            AccordionItem(title=self.panel_step_one_text,
                          background_selected=self.background_selected,
                          background_normal=self.background_normal)

        scroll_view_one = ScrollView()
        sections = GridLayout(cols=1, spacing=17, size_hint_y=None)
        sections.bind(minimum_height=sections.setter("height"))
        sections.add_widget(SettingSpacer())

        for section_name in self.sections_files.keys():
            sections.add_widget(
                Label(text="[color=#2fbfe0][ref={section_name}]{section_name}"
                           "[/ref][/color]".format(section_name=section_name),
                      on_ref_press=self.event_callback, markup=True))
            sections.add_widget(SettingSpacer())

        scroll_view_one.add_widget(sections)
        self.step_one.add_widget(RstDocument(text=self.text_terms))
        self.step_one.add_widget(scroll_view_one)
        # --------------------STEP-TWO----------------------
        self.step_two = \
            AccordionItem(title=self.panel_step_two_text,
                          background_selected=self.background_selected,
                          background_normal=self.background_normal)

        self.scroll_view_two = ScrollView()
        self.sub_sections = GridLayout(cols=1, spacing=17, size_hint_y=None)
        self.sub_sections.bind(
            minimum_height=self.sub_sections.setter("height"))
        self.sub_sections.add_widget(SettingSpacer())

        self.step_two.disabled = True
        # --------------------STEP-THREE----------------------
        self.step_three = \
            AccordionItem(title=self.panel_step_three_text,
                          background_selected=self.background_selected,
                          background_normal=self.background_normal)

        self.scroll_view_three = ScrollView()
        self.select_file = GridLayout(cols=1, spacing=17, size_hint_y=None)
        self.select_file.bind(minimum_height=self.select_file.setter("height"))
        self.select_file.add_widget(SettingSpacer())

        self.step_three.disabled = True
        # ----------------------------------------------------
        accordion.add_widget(self.step_one)
        accordion.add_widget(self.step_two)
        accordion.add_widget(self.step_three)
        self.add_widget(self.label_form)
        self.add_widget(accordion)

        self.body = Popup(title=self.title, content=self, size_hint=(.9, .99),
                          background=self.background_image)
        self.body.open()

        # Открываем панель "Шаг Первый".
        self.step_one.collapse = False

    def _choice_file(self, *args):
        def set_file(*args):
            path_to__file = args[1][0]
            self.__data[button_id] = path_to__file
            file_manager.body.dismiss()

            name_file = os.path.split(path_to__file)[1]

            if button_id == "file":
                self.button_add_file.text = name_file
            elif button_id == "screenshot":
                self.button_add_screenshot.text = name_file

        button_id = args[0].id

        if FileChooser:
            file_manager = FileChooser(title=self.title,
                                       select_callback=set_file)
        else:
            raise ImportError("No module named filechooser")

    def show_step_two(self, text_terms, sub_sections_files,
                      select_sub_section):
        """Наполняет контентом вкладку 'Шаг Второй'."""

        for sub_section_name in sub_sections_files.keys():
            self.sub_sections.add_widget(Label(
                text="[color=#2fbfe0][ref={sub_section_name}]"
                     "{sub_section_name}"
                     "[/ref]".format(sub_section_name=sub_section_name),
                on_ref_press=select_sub_section, markup=True))
            self.sub_sections.add_widget(SettingSpacer())

        self.scroll_view_two.add_widget(self.sub_sections)
        self.step_two.add_widget(RstDocument(text=text_terms))
        self.step_two.add_widget(self.scroll_view_two)

        self.step_two.disabled = False
        self.step_two.collapse = False  # открываем панель "Шаг Второй"

    def show_step_three(self, section_title, sub_section_title,
                        legal_files_title, legal_files_str,
                        add_screenshot_title, select_file_title,
                        add_file_title,
                        name_file_title, version_file_title, description_title,
                        zip_pack_title, send_title):
        """Наполняет контентом вкладку 'Шаг Третий'."""

        def _data_callback(*args):
            self.__data["zip"] = switch.active
            self.__data["name"] = name_file.text
            self.__data["version"] = version_file.text
            self.__data["description"] = description_file.text

            self.data_callback(self.__data)

        print("this 2")
        # Вы добавляете файл в раздел такой-то
        # Категорию такую-то
        # Допустимые форматы файлов
        # ".xap", ".flv", ".pdf", ".apk" ...
        label_select_section = Label(text=section_title, font_size=20,
                                     markup=True)
        label_select_sub_section = Label(text=sub_section_title, markup=True)
        label_legal_files = Label(text=legal_files_title, markup=True)
        legal_files_ext = Label(text=legal_files_str, markup=True)
        legal_files_ext.bind(size=lambda *args: self._update_window_size(args))

        # Добавить скриншот           Добавить файл
        # -----------------          -----------------
        # | Выбрать файл  |          | Выбрать файл  |
        # -----------------          -----------------
        box_add_content = BoxLayout(size_hint_y=None, height=60)
        box_add_screenshot = BoxLayout(orientation="vertical",
                                       size_hint_y=None)
        label_add_screenshot = Label(text=add_screenshot_title, markup=True)
        # label_add_screenshot.bind(size=lambda *args: self._update_window_size(args))
        self.button_add_screenshot = Button(text=select_file_title,
                                            size_hint=(1, 1),
                                            on_press=self._choice_file,
                                            id="screenshot")

        box_add_file = BoxLayout(orientation="vertical", size_hint_y=None)
        label_add_file = Label(text=add_file_title, id="add_file", markup=True)
        # label_add_file.bind(size=lambda *args: self._update_window_size(args))
        self.button_add_file = Button(text=select_file_title, size_hint=(1, 1),
                                      on_press=self._choice_file, id="file")

        #     Имя файла                Версия файла
        # -----------------          -----------------
        # |               |          |               |
        # -----------------          -----------------
        box_info_file = BoxLayout(size_hint_y=None, height=70)
        box_name_file = BoxLayout(orientation="vertical", size_hint_y=None)
        label_name_file = Label(text=name_file_title, markup=True)
        name_file = TextInput(size_hint=(1, 1), id="name")

        box_version_file = BoxLayout(size_hint_y=None, orientation="vertical")
        label_version_file = Label(text=version_file_title, markup=True)
        version_file = TextInput(size_hint=(1, 1), id="version")

        #           Описание файла
        # ----------------------------------
        # |                                |
        # ----------------------------------
        label_description_file = Label(text=description_title, markup=True)
        description_file = TextInput(size_hint_y=None, id="description")

        # Упаковать в zip-архив
        #       --------
        #       |ON|   |
        #       --------
        label_zip_pack = Label(text=zip_pack_title, markup=True,
                               size_hint_y=None, height=55)
        box_zip_pack = BoxLayout(orientation="vertical", size_hint_y=None,
                                 height=40)
        switch = Switch(size_hint_y=None, height=15)

        # ----------------------------------
        # |           Отправить            |
        # ----------------------------------
        box_send = BoxLayout(size_hint_y=None, height=50)
        button_send = Button(text=send_title, on_press=_data_callback)

        box_add_screenshot.add_widget(label_add_screenshot)
        box_add_screenshot.add_widget(self.button_add_screenshot)

        box_add_file.add_widget(label_add_file)
        box_add_file.add_widget(self.button_add_file)
        box_add_content.add_widget(box_add_screenshot)
        box_add_content.add_widget(box_add_file)

        box_send.add_widget(button_send)

        box_zip_pack.add_widget(label_zip_pack)
        box_zip_pack.add_widget(switch)

        box_version_file.add_widget(label_version_file)
        box_version_file.add_widget(version_file)
        box_name_file.add_widget(label_name_file)
        box_name_file.add_widget(name_file)

        box_info_file.add_widget(box_name_file)
        box_info_file.add_widget(box_version_file)

        self.select_file.add_widget(label_select_section)
        self.select_file.add_widget(SettingSpacer())
        self.select_file.add_widget(label_select_sub_section)
        self.select_file.add_widget(SettingSpacer())

        self.select_file.add_widget(label_legal_files)
        self.select_file.add_widget(Widget(size_hint=(1, .1)))
        self.select_file.add_widget(legal_files_ext)
        self.select_file.add_widget(Widget(size_hint=(1, .1)))
        self.select_file.add_widget(SettingSpacer())

        self.select_file.add_widget(Widget(size_hint=(1, .1)))
        self.select_file.add_widget(box_add_content)
        self.select_file.add_widget(SettingSpacer())

        self.select_file.add_widget(box_info_file)
        self.select_file.add_widget(SettingSpacer())

        self.select_file.add_widget(label_description_file)
        self.select_file.add_widget(description_file)
        self.select_file.add_widget(SettingSpacer())

        self.select_file.add_widget(box_zip_pack)
        self.select_file.add_widget(SettingSpacer())

        self.select_file.add_widget(box_send)

        self.scroll_view_three.add_widget(self.select_file)
        self.step_three.add_widget(self.scroll_view_three)

        self.step_three.disabled = False
        self.step_three.collapse = False  # открываем панель "Шаг Третий"

    def _update_window_size(self, *args):
        label = args[0][0]
        width = args[0][1][0]
        height = 40

        label.text_size = (width - 30, height)
Exemple #57
0
    def addTab(self, name, obj):
    	th = AccordionItem(title=name)
    	self.add_widget(th)
	th.add_widget(obj)
	return th
Exemple #58
0
def main_menu():
        #Window.fullscreen=True
        Window.clearcolor=(1,140.0/255,15.0/255,0)
        Menu=BoxLayout(orientation='vertical')
        title = Label(
            text='Trages',
            markup=True,
            bold=True,
            color=(79.0/255,15.0/255,204.0/255,0),
            font_name='RAVIE.ttf',
            font_size='100dp',
            y=Window.height/2-25,
            x=-Window.width/2+100,
            size_hint=(1,0.3)
        )
        Menu.add_widget(title)
        
        root=Accordion(orientation='vertical')

        ButtonChildren=Button(text='Press here for children education',size_hint=(1,0.3))
        ButtonChildren.bind(on_press=go_children)

        s1='This version of software\n is a new method of \nteaching children.\n It allows one to make \nlearning process \nmore interactive and \nsimple due to gaming form.'
        LabelChildren=Label(text=s1, font_name='RAVIE.ttf',font_size='20dp',max_lines=4,shorten=True,color=(113.0/255,17.0/255,150.0/255,1))       
        BoxLayoutChildren=BoxLayout(orientation='horizontal')
        BoxLayoutChildren2=BoxLayout(orientation='vertical')
        BoxLayoutChildren2.add_widget(LabelChildren)
        BoxLayoutChildren2.add_widget(ButtonChildren)
        ImageChildren=Image(source='childeduc.bmp')
        BoxLayoutChildren.add_widget(ImageChildren)
        BoxLayoutChildren.add_widget(BoxLayoutChildren2)
        
        children=AccordionItem(title='Children Education')      
        children.add_widget(BoxLayoutChildren)
        
        ###
        ButtonGame=Button(text='Press here for testing',size_hint=(1,.3))
        ButtonGame.bind(on_press=go_game)
        s2='This version of software\n is a new method of \ntesting children.\n It allows one to make \ntesting process \nmore interactive and \nsimple due to gaming form.'
        LabelGame=Label(text=s2, font_name='RAVIE.ttf',font_size='20dp',max_lines=4,shorten=True,color=(113.0/255,17.0/255,150.0/255,1))       
        BoxLayoutGame=BoxLayout(orientation='horizontal')
        BoxLayoutGame2=BoxLayout(orientation='vertical')
        BoxLayoutGame2.add_widget(LabelGame)
        BoxLayoutGame2.add_widget(ButtonGame)
        ImageGame=Image(source='forgame.bmp')
        BoxLayoutGame.add_widget(ImageGame)
        BoxLayoutGame.add_widget(BoxLayoutGame2)
                                 
        game=AccordionItem(title='Game!')
        game.add_widget(BoxLayoutGame)
        ###     
        BoxLayoutInfo=BoxLayout(orientation='horizontal')
        ImageInfo=Image(source='command.jpg')
        BoxLayoutInfo.add_widget(ImageInfo)
        LabelInfo=Label(text='We are command from \nN.Novgorod,Russia.\nWe are Max and Anna.\nWe want to help \ndeaf-mute people,\nso we created\n this application.',font_size='25dp',font_name='RAVIE.ttf',color=(113.0/255,17.0/255,150.0/255,1))
        BoxLayoutInfo.add_widget(LabelInfo)
        info=AccordionItem(title='About us')
        info.add_widget(BoxLayoutInfo)

        ButtonExit=Button(text='Exit')
        ButtonExit.bind(on_press=go_exit)
        ButtonExit.size_hint=(1,.1)

        #rexit=AccordionItem(title='Exit')
        #rexit.add_widget(ButtonExit)
        
        root.add_widget(children)
        root.add_widget(game)
        root.add_widget(info)
        #root.add_widget(rexit)
        root.current=children
        Menu.add_widget(root)
        Menu.add_widget(ButtonExit)

        return Menu
Exemple #59
0
    def __init__(self, **kvargs):
        super(UploadFiles, self).__init__(**kvargs)
        self.__data = {
            "zip": False,  # упаковывать ли файл в zip
            "name": "",  # имя файла
            "version": "",  # версия файла
            "description": "",  # описание файла
            "file": "",  # путь к файлу
            "screenshot": ""  # путь к изображению скриншота
        }

        self.cols = 1
        self.spacing = 17

        self.label_form = Label(text=self.title_step, font_size=20,
                                size_hint=(1, .05), markup=True)
        accordion = Accordion(orientation="vertical")
        # --------------------STEP-ONE----------------------
        self.step_one = \
            AccordionItem(title=self.panel_step_one_text,
                          background_selected=self.background_selected,
                          background_normal=self.background_normal)

        scroll_view_one = ScrollView()
        sections = GridLayout(cols=1, spacing=17, size_hint_y=None)
        sections.bind(minimum_height=sections.setter("height"))
        sections.add_widget(SettingSpacer())

        for section_name in self.sections_files.keys():
            sections.add_widget(
                Label(text="[color=#2fbfe0][ref={section_name}]{section_name}"
                           "[/ref][/color]".format(section_name=section_name),
                      on_ref_press=self.event_callback, markup=True))
            sections.add_widget(SettingSpacer())

        scroll_view_one.add_widget(sections)
        self.step_one.add_widget(RstDocument(text=self.text_terms))
        self.step_one.add_widget(scroll_view_one)
        # --------------------STEP-TWO----------------------
        self.step_two = \
            AccordionItem(title=self.panel_step_two_text,
                          background_selected=self.background_selected,
                          background_normal=self.background_normal)

        self.scroll_view_two = ScrollView()
        self.sub_sections = GridLayout(cols=1, spacing=17, size_hint_y=None)
        self.sub_sections.bind(
            minimum_height=self.sub_sections.setter("height"))
        self.sub_sections.add_widget(SettingSpacer())

        self.step_two.disabled = True
        # --------------------STEP-THREE----------------------
        self.step_three = \
            AccordionItem(title=self.panel_step_three_text,
                          background_selected=self.background_selected,
                          background_normal=self.background_normal)

        self.scroll_view_three = ScrollView()
        self.select_file = GridLayout(cols=1, spacing=17, size_hint_y=None)
        self.select_file.bind(minimum_height=self.select_file.setter("height"))
        self.select_file.add_widget(SettingSpacer())

        self.step_three.disabled = True
        # ----------------------------------------------------
        accordion.add_widget(self.step_one)
        accordion.add_widget(self.step_two)
        accordion.add_widget(self.step_three)
        self.add_widget(self.label_form)
        self.add_widget(accordion)

        self.body = Popup(title=self.title, content=self, size_hint=(.9, .99),
                          background=self.background_image)
        self.body.open()

        # Открываем панель "Шаг Первый".
        self.step_one.collapse = False