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 __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()
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)
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 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
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)
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)
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
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
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
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
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)
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
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
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
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
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)
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)
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)
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
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)
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)
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')
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'
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)
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
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)
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)
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)
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)
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)
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
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
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)
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)
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')
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'
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)
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)
def addTab(self, name, obj): th = AccordionItem(title=name) self.add_widget(th) th.add_widget(obj) return th
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
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