def viewGames(self): sview = ScrollView(size_hint=(.9, .8), pos_hint={'center_x':.5, 'center_y':.5}) layout = GridLayout(cols=1, spacing=10, size_hint_y=None) # Make sure the height is such that there is something to scroll. layout.bind(minimum_height=layout.setter('height')) # Run sql query to get all available games availableGames = retrieve("SELECT * FROM Games") if availableGames == "": popup = Popup(title='No Games', content=Label(text='There are currently no available games'), size_hint=(None, None), size=(400, 100)) popup.open() elif availableGames == 0: popup = Popup(title='Connection', content=Label(text='Could not connect to the database'), size_hint=(None, None), size=(400, 100)) popup.open() else: for tpl in availableGames: uid, name, location, creator, status = tpl print "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n" print name print "\n\n\n!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n\n\n" btn = Button(id=name, text=name, size_hint_y=None, height=200) btn.bind(on_press=self.seeInfo) layout.add_widget(btn) sview.add_widget(layout) self.add_widget(sview)
def update_file_layout(self): auth_token='S2_xUq0_iNAAAAAAAAAACYNG1zf1GAzKpVWVfmLcZLA-FIiSlGxMvmxBkAtspuWQ' client = dropbox.client.DropboxClient(auth_token) self.clear_widgets() b=BoxLayout(orientation='vertical') file_system = FileSystemLocal() root_dir= App.get_running_app().user_data_dir+'/';result_dir=root_dir+'results' file_list=file_system.listdir(root_dir) # this returns a list of files in dir if os.path.exists(result_dir):file_list.extend(file_system.listdir(App.get_running_app().user_data_dir+'/'+'results'+'/')) file_list=[x for x in file_list if x[-4:]=='.csv'] b.add_widget(Label(text='Select Files to Upload',bold=True,font_size=sp(25),size_hint_y= 0.1)) file_system = FileSystemLocal() file_list=file_system.listdir(App.get_running_app().user_data_dir+'/') # this returns a list of files in dir file_list=[x for x in file_list if x[-4:]=='.csv'] s=ScrollView(size_hint_y=0.75) g=GridLayout(cols=2,size_hint_y=None) for file_1 in file_list: c=CheckBox(active=False) l=Label(bold= True,font_size=sp(20),text=file_1,size_hint_y= None,height=70) self.check_boxes[c]=file_1 g.add_widget(l);g.add_widget(c) g.bind(minimum_height=g.setter('height')) s.add_widget(g) b.add_widget(s) g_options=GridLayout(cols=2,size_hint_y= 0.1,orientation='horizontal') g_options.add_widget(Button(text="Send",on_press=self.upload,font_size=sp(25))) g_options.add_widget(Button(text="Back",on_press=self.return_back,font_size=sp(25))) b.add_widget(g_options) self.add_widget(b)
def __init__(self, **kwargs): super(IntroPanelView, self).__init__(**kwargs) self.name='introscreen' # create a default grid layout with custom width/height layout = GridLayout(cols=1, padding=10, spacing=10, size_hint=(None, None),pos_hint={'center_x': .5, 'center_y': .5}, width=500) layout.bind(minimum_height=layout.setter('height')) # create a scroll view, with a size < size of the grid scrl = ScrollView(size_hint=(None, None), size=(500, 320), pos_hint={'center_x': .5, 'center_y': .5}, do_scroll_x=False) label = Label( text=self.introtext, size=(480, 900), text_size=(480,900), size_hint_y=None, markup=True) scrl.add_widget(label) layout.add_widget(scrl) btn = Button(text='Okay', size=(480, 40), size_hint=(None, None), on_press=self.close) layout.add_widget(btn) self.add_widget(layout)
def draw_buttons(self,text_buttons,buttons,objects): bl = BoxLayout( orientation = 'vertical', spacing = self.spacing, size_hint_y = None, height = len(buttons+objects+text_buttons)*(self.spacing + self.button_height) + self.spacing, ) # these don't really need to be separate at all for t in text_buttons: b = Button(text=str(t), id = str(t), size_hint_y = None, height = self.button_height) b.bind(on_release = self.button_callback) bl.add_widget(b) for t in buttons: b = Button(text="", id = t.material_name, background_normal = t.icon_str, background_down = t.icon_str, size_hint_y = None, height = self.button_height) b.bind(on_release = self.button_callback) bl.add_widget(b) for o in objects: b = Button(text="", id = o.name, background_down = o.icon_str, background_normal = o.icon_str, size_hint_y = None, height = self.button_height) b.bind(on_release = self.button_callback) bl.add_widget(b) sv = ScrollView(size_hint = (None, None), width=self.button_width, height = self.height, x = self.x + self.spacing, y = self.y + self.spacing) sv.add_widget(bl) self.add_widget(sv)
def readMode(self, *args): self.leafLayout.clear_widgets() # top btnBack = Button(text='Back', size_hint_x=0.1) capture = Label(text=tree.curItem().name, size_hint_x=0.8, color = color['lblPath']) btnEdit = Button(text='Edit', size_hint_x=0.1) topLayout = BoxLayout(size_hint_y = 0.1) topLayout.add_widget(btnBack) topLayout.add_widget(capture) topLayout.add_widget(btnEdit) self.leafLayout.add_widget(topLayout) btnBack.bind(on_press=self.back) # Content self.textField = TextInputForScroll( size_hint_y=None, text=tree.curItem().read(), background_color = color['readLeaf'], readonly = True, focus = True) self.textField.on_text() textFieldScroll = ScrollView( bar_width = 10) textFieldScroll.add_widget(self.textField) self.leafLayout.add_widget(textFieldScroll) btnEdit.bind(on_release=self.editMode)
class HexApp(App): game = ObjectProperty() camera = ObjectProperty() def build(self): self._keyboard = Window.request_keyboard(self._keyboard_closed, self, 'text') self._keyboard.bind(on_key_down=self._on_key_down) self.game = Grid(size_hint=(None, None)) self.game.build_grid(settings.GRID_WIDTH, settings.GRID_HEIGHT, settings.GRID_SCALE) self.game.add_player(0, settings.GRID_HEIGHT - 1, settings.GRID_SCALE) self.camera = ScrollView(size_hint=(1, 1)) self.camera.add_widget(self.game) return self.camera def _keyboard_closed(self): self._keyboard.unbind(on_key_down=self._on_key_down) self._keyboard = None def _on_key_down(self, keyboard, keycode, text, modifiers): if keycode[1] in keymap.WALK_DIRECTIONS: return self.game.player.action(keycode[1], movesteps=settings.MOVE_STEPS) elif keycode[1] == keymap.QUIT: keyboard.release() return True
def __init__(self, player_file=None, **kwargs): Screen.__init__(self, **kwargs) self.purchased = [] if player_file is None: self._purchased_file = os.path.join("player", "backgrounds.txt") else: self._purchased_file = player_file self._read_purchased() self.purchased_cat = BackgroundCategory('Purchased') self.categories = [] self._available_file = os.path.join("data", "Backgrounds.txt") self._read_available() layout = BoxLayout(orientation="vertical") layout.add_widget(ActionBar(size_hint=(1, .125))) scroller = ScrollView(do_scroll_x=False) self.grid = GridLayout(cols=1, size_hint_y=None) self.grid.add_widget(CategoryIcon(screen=self, category=self.purchased_cat)) self.bind(size=self._resize_grid) for cat in self.categories: self.grid.add_widget(CategoryIcon(screen=self, category=cat)) scroller.add_widget(self.grid) layout.add_widget(scroller) self.add_widget(layout)
def show_view_list_path(self, *args, **kwargs): self.clear_widgets() color = ColorLayout() boxl = BoxLayout(orientation= 'vertical',anchor_y= "top") grid = GridLayout(cols=1, size_hint_y=None) grid.bind(minimum_height=grid.setter('height')) scroll = ScrollView(size_hint=(None, None)) scroll.size = (Window.width, Window.height) scroll.center = Window.center #2 Space added but button go back ocuppies space and first value hidden. l_space = MultiLineLabel(text='',font_size="16dp", background_color=(255,255,255,255), markup=True) grid.add_widget(l_space) l_space = MultiLineLabel(text='',font_size="16dp", background_color=(255,255,255,255), markup=True) grid.add_widget(l_space) for i in args[0]: text = '[color=333333]'+' '+i['text'] + '[/color]'+' ' #~ l = MultiLineLabel(text=text,font_size="16dp",markup=True) l = MultiLineLabel(text=text,font_size="16dp", background_color=(255,255,255,255), markup=True) i['stations'] and l.bind(on_press = partial(self.show_list_stations, i['stations'],args[0])) grid.add_widget(l) button_back = Button(text="Go Back", auto_dismiss=False, size_hint=(None, None), pos_hint= {'center_x':.5, 'center_y':.7}) button_back.height="50dp" button_back.width="100dp" button_back.bind(on_press = lambda widget: self.show_option_view()) scroll.add_widget(grid) boxl.add_widget(scroll) boxl.add_widget(button_back) color.add_widget(boxl) self.add_widget(color)
class ViewListScreen(MyScreen): def __init__(self, **kwargs): super(ViewListScreen, self).__init__(**kwargs) self.sv = ScrollView() self.content_box.add_widget(self.sv) self.list_grid = GridLayout(cols = 1, size_hint_y = None, orientation = 'vertical') self.sv.add_widget(self.list_grid) self.bind(on_pre_enter= self.prepare_yourself) def prepare_yourself(self,*args): self.list_grid.clear_widgets() c_list = App.get_running_app().root.current_list self.list_grid.height = len(c_list)*40 #HARDCODE for e,spell in enumerate(c_list): spell['button_card'].id = str(e) self.list_grid.add_widget(spell['button_card'])
def OnIceFenwickStats(obj): # Clear widgets in order to hide previous table if user searched for other play stat categories first Layout.clear_widgets() Layout.add_widget(BackToPlayerSearch) Layout.add_widget(PlayerSearchLabel) Layout.add_widget(IndividualButton) Layout.add_widget(On_Ice_Goals_Button) Layout.add_widget(On_Ice_Fenwick_Button) Grid = GridLayout(rows = len(On_ice_Fenwick_stats) + 1, cols = len(On_ice_Fenwick_categories), size_hint = (None, None)) Grid.bind(minimum_height=Grid.setter('height'), minimum_width = Grid.setter('width')) for stat_category in On_ice_Fenwick_categories: Grid.add_widget(TextInput(text = str(stat_category), size_hint = (None, None), font_size = 18, readonly = True)) for i in range(len(On_ice_Fenwick_stats)): if i % 2 == 0: ColorBackGround = [200./255, 204./255, 255./255, 1] else: ColorBackGround = [1,1,1,1] season = On_ice_Fenwick_stats[i] for stat in season: Grid.add_widget(TextInput(text = str(stat), size_hint = (None, None), font_size = 18, background_color = ColorBackGround, readonly = True)) Scroll = ScrollView(size_hint = (1, .65)) Scroll.add_widget(Grid) Layout.add_widget(Scroll)
def getTreeViewAsFiles(self): try: tv = TreeView(hide_root=True) tv.size_hint = 1, None tv.bind(minimum_height = tv.setter('height')) for key in self.config_files: newnode = tv.add_node(TreeViewLabel(text=self.config_files[key].filename, font_size=self.label_font_size, color=self.filename_label_color)) for child_filename in self.config_files[key].child_files: self._addFileNodeToFileTreeView(tv, newnode, self.config_files[key].child_files[child_filename]) for configkey in self.config_files[key].config: if isinstance(self.config_files[key].config[configkey], dict): self._addDictNodeToFileTreeView(tv, newnode, configkey, self.config_files[key].config[configkey]) else: tv.add_node(TreeViewLabel(text=str(configkey) + ':' + str(self.config_files[key].config[configkey]), font_size=self.label_font_size, color=self.key_label_color), newnode) scv = ScrollView(pos = (0, 0), bar_width = 10) scv.add_widget(tv) return scv except: e = sys.exc_info()[0] self.log.exception("Error: %s" % e ) raise
def on_touch_down(self, touch): if touch.is_double_tap: try: Clipboard.copy(self.query_tree.selected_node.text) except AttributeError: Logger.debug("SQL Panel: Object didn't have text.") ScrollView.on_touch_down(self, touch)
def __init__(self, **kwargs): super(MyScreen, self).__init__(**kwargs) scrollView = ScrollView() self.add_widget(scrollView) boxLayout = BoxLayout(orientation='vertical', height=dp(1000), padding=dp(48)) scrollView.add_widget(boxLayout) textField = SingleLineTextField(id='text_filed', size_hint=(0.8, None), height=dp(48)) textField.hint_text='This is a pretty text filed' boxLayout.add_widget(textField) buttonContainer = BoxLayout(orientation='horizontal', height=dp(48)) flatButton = MDFlatButton(text='FlatButton') # size is not working somehow # flatButton.size = (3*dp(48), dp(48)) buttonContainer.add_widget(flatButton) raiseButton = MDRaisedButton(text='RaiseButton') # raiseButton.size = (3*dp(48), dp(48)) buttonContainer.add_widget(raiseButton) boxLayout.add_widget(buttonContainer) switchContainer = BoxLayout(orientation='horizontal') checkbox1 = MDCheckbox(group='test') # checkbox1.size=(dp(48), dp(48)) switchContainer.add_widget(checkbox1) checkbox2 = MDCheckbox(group='test') # checkbox2.size=(dp(48), dp(48)) switchContainer.add_widget(checkbox2) boxLayout.add_widget(switchContainer)
def __init__(self, **kwargs): super(GameRecorder, self).__init__(**kwargs) self.orientation = 'vertical' if self.height > self.width else 'horizontal' self.bind(size=self.on_size, orientation=self.on_orientation) self.game = Game() side_box = BoxLayout(orientation='vertical') b = BoxLayout(size_hint_y=None, height=dp(50)) back_button = CustomButton(text='<< Games') undo_button = CustomButton(text='Reset') undo_button.bind(on_release=self.reset) back_button.bind(on_release=self.go_back) b.add_widget(back_button) b.add_widget(undo_button) save_button = CustomButton(text='Save game', size_hint_y=None, height=dp(50)) save_button.bind(on_release=self.save_popup) side_box.add_widget(b) side_box.add_widget(save_button) moves_scroll = ScrollView() self.moves_table=MovesGrid(padding=dp(10), spacing=dp(10)) for move in self.game.move_history: self.moves_table.add_widget(MoveButton(text=move)) side = self.height if self.orientation == 'horizontal' else self.width self.board = ChessboardUI(game=self.game, size_hint=(None,None), height=side, width=side) self.board.bind(move_made=self.change_moves) self.add_widget(self.board) moves_scroll.add_widget(self.moves_table) side_box.add_widget(moves_scroll) self.add_widget(side_box)
def kernel_mods(self): Box = BoxLayout(orientation="vertical", spacing=10) msg = GridLayout(cols=1, padding=15, spacing=10, size_hint_y=None) btn_layout = GridLayout(cols=1) done = Button(text="Done") btn_layout.add_widget(done) msg.bind(minimum_height=msg.setter('height')) over = CustomButton(text='OverClocking', size=(475, 40), size_hint=(None, None)) over.bind(on_release=overclock) gpu = CustomButton(text='Gpu Overclock', size=(475, 40), size_hint=(None, None)) gpu.bind(on_release=gpu_overclock) gov = CustomButton(text='Governors', size=(475, 40), size_hint=(None, None)) gov.bind(on_release=gov_select) mhl = CustomButton(text='MHL Refresh Hack', size=(475, 40), size_hint=(None, None)) mhl.bind(on_release=msl_options) msg.add_widget(over) msg.add_widget(gpu) msg.add_widget(gov) msg.add_widget(mhl) root = ScrollView(size_hint=(None, None),bar_margin=-22, size=(475, 390), do_scroll_x=False) root.add_widget(msg) Box.add_widget(root) Box.add_widget(btn_layout) popup = Popup(background='atlas://images/eds/pop', title='Kernel Mods',content=Box, auto_dismiss=True, size_hint=(None, None), size=(520, 500)) done.bind(on_release=popup.dismiss) popup.open()
def Start(self,uTitle,aOptions,fktCallBack): ''' starts selection ''' self.fktCallBack=fktCallBack # create the popup content = GridLayout(cols=1, spacing='5dp') scrollview = ScrollView( do_scroll_x=False, bar_width='10dp',scroll_type=['bars'] ) scrollcontent = GridLayout(cols=1, spacing='5dp', size_hint=(None, None)) scrollcontent.bind(minimum_height=scrollcontent.setter('height')) self.oPopup = popup = Popup(content=content, title=ReplaceVars(uTitle), size_hint=(0.5, 0.9), auto_dismiss=False) #we need to open the popup first to get the metrics popup.open() #Add some space on top content.add_widget(Widget(size_hint_y=None, height=dp(2))) # add all the options for option in aOptions: if hasattr(option,"Name"): name=option.Name else: name=option.Type btn = Button(text=name, size=(popup.width, dp(30)), size_hint=(None, None)) btn.bind(on_release=self.On_Value) btn.oDBRef=option scrollcontent.add_widget(btn) # finally, add a cancel button scrollview.add_widget(scrollcontent) content.add_widget(scrollview) content.add_widget(SettingSpacer()) btn = Button(text=ReplaceVars('$lvar(5009)'), size=(popup.width, dp(50)),size_hint=(0.9, None)) btn.bind(on_release=popup.dismiss) content.add_widget(btn)
def initialize(self): ''' INITIALIZING GUI COMPONENTS ''' #just for faster testing self.file_text_input.text = "" #initializing node_params scrollview and layout self.node_params_layout = GridLayout(cols=2,spacing=10, size_hint_y=None) self.node_params_layout.bind(minimum_height=self.node_params_layout.setter('height')) self.node_params_root = ScrollView(size_hint=(None, None), size=(self.params_width,self.params_height), bar_width=5, bar_color=[.3,.3,.9,.5], do_scroll_x=False, ) self.node_params_root.add_widget(self.node_params_layout) #initializing edge_params scrollview and layout self.edge_params_layout = GridLayout(cols=2,spacing=10,size_hint_y=None) self.edge_params_layout.bind(minimum_height=self.edge_params_layout.setter('height')) self.edge_params_root = ScrollView(size_hint=(None, None), size=(self.params_width-20,self.params_height), bar_width=5, bar_color=[.3,.3,.9,.5], do_scroll_x=False) self.edge_params_root.add_widget(self.edge_params_layout) #adding params widgets self.params_boxlayout.add_widget(self.node_params_root) self.params_boxlayout.add_widget(self.edge_params_root)
class QuizResults(Screen): def __init__(self, questions, quizenteredanswers, userid): super(QuizResults, self).__init__() self.questions = questions self.quizenteredanswers = quizenteredanswers self.userid = userid self.box = BoxLayout(orientation = 'vertical') self.box.add_widget(Banner('Quiz', 1, self.userid)) # Building the results table self.resultsgrid = GridLayout(cols = 3, size_hint_y = None, height = dp(40) + len(self.questions) * dp(40)) self.resultsgrid.add_widget(Label(text = 'Question\nNumber', size_hint_y = None, height = dp(40))) self.resultsgrid.add_widget(Label(text = 'Your\nanswer', size_hint_y = None, height = dp(40))) self.resultsgrid.add_widget(Label(text = 'Correct\n answer', size_hint_y = None, height = dp(40))) for a in range(0, len(self.questions)): self.resultsgrid.add_widget(Button(text = str(a+1), size_hint_y = None, height = dp(40), on_press = self.questionpopup, id = str(a))) if self.questions[a][5] == self.quizenteredanswers[a]: self.resultsgrid.add_widget(Label(text = str(self.quizenteredanswers[a]), color = (0, 1, 0, 1), size_hint_y = None, height = dp(40))) else: self.resultsgrid.add_widget(Label(text = str(self.quizenteredanswers[a]), color = (1, 0, 0, 1), size_hint_y = None, height = dp(40))) self.resultsgrid.add_widget(Label(text = str(self.questions[a][5]), size_hint_y = None, height = dp(40))) # If there are enough questions then the results table won't fit, so scrollview is used to scroll through the results self.scroller = ScrollView() self.scroller.add_widget(self.resultsgrid) self.box.add_widget(self.scroller) # Adds the results table to the screen self.add_widget(self.box) def questionpopup(self, button): QuizQuestionResultPop(self.questions[int(button.id)], self.quizenteredanswers[int(button.id)], int(button.id)).open() def on_leave(self): self.parent.remove_widget(self)
class DialogMenu(Box): """Some buttons that make the game do things. Set ``options`` to a list of pairs of ``(text, function)`` and the menu will be populated with buttons that say ``text`` that call ``function`` when pressed. """ options = ListProperty() """List of pairs of (button_text, callable)""" def _set_sv_size(self, *args): self._sv.width = self.width - self.padding[0] - self.padding[2] self._sv.height = self.height - self.padding[1] - self.padding[3] def _set_sv_pos(self, *args): self._sv.x = self.x + self.padding[0] self._sv.y = self.y + self.padding[3] def on_options(self, *args): self.clear_widgets() if not hasattr(self, '_sv'): self._sv = ScrollView(size=self.size, pos=self.pos) self.bind(size=self._set_sv_size, pos=self._set_sv_pos) self._sv.add_widget(BoxLayout(orientation='vertical')) layout = self._sv.children[0] for txt, part in self.options: if not callable(part): raise TypeError("Menu options must be callable") layout.add_widget(Button(text=txt, on_release=part, font_name=self.font_name, font_size=self.font_size)) self.add_widget(self._sv)
def _create_popup(self, instance): # create the popup content = BoxLayout(orientation='vertical', spacing='5dp') box = GridLayout(cols=1, spacing="5dp") box.bind(minimum_height=box.setter('height')) self.popup = popup = Popup(content=content, title=self.title, size_hint=(None, 1), width='400dp') #popup.height = len(self.options) * dp(55) + dp(150) # add all the options content.add_widget(Widget(size_hint_y=None, height=1)) uid = str(self.uid) for option in self.options: state = 'down' if option == self.value else 'normal' btn = ToggleButton(text=option, state=state, group=uid) btn.bind(on_release=self._set_option) box.add_widget(btn) #box.height = metrics.dp(35) * len(self.options) scroll = ScrollView(pos_hint={'center_x': .5, 'center_y': .5}, do_scroll_x=False, size_hint=(1, 1)) scroll.add_widget(box) content.add_widget(scroll) # 2 buttons are created for accept or cancel the current value btnlayout = BoxLayout(size_hint_y=None, height='50dp', spacing='5dp') btn = Button(text='OK') btn.bind(on_release=self._validate) btnlayout.add_widget(btn) btn = Button(text='Cancel') btn.bind(on_release=self.popup.dismiss) btnlayout.add_widget(btn) content.add_widget(btnlayout) # and open the popup ! popup.open()
def build(self): bltAll = TotalLayout() svMain = ScrollView() bltCenter = BoxLayout(orientation='vertical') bltBottom = BoxLayout(size_hint_y=None, height=36) btnExpand = Button(text='Expand', size_hint_y=None, height=30, on_release=self.expand) btnOptimize = Button(text='Optimize', size_hint_y=None, height=30, on_release=self.minimize) self.btnSelect.bind(on_release=self.dbOptions.open) for name in self.idp.terms.keys(): btnTerm = Button(text=name, size_hint_y=None, height=30) btnTerm.bind(on_release=lambda btnTerm: self.dbOptions.select(btnTerm.text)) self.dbOptions.add_widget(btnTerm) self.dbOptions.bind(on_select=lambda instance, x: setattr(self.btnSelect, 'text', x)) btnDistri = Button(size_hint_y=None, height=30, text='ECTS Stats', on_release=self.show_distribution_popup) bltBottom.add_widget(btnExpand) bltBottom.add_widget(btnOptimize) bltBottom.add_widget(self.btnSelect) bltBottom.add_widget(btnDistri) svMain.add_widget(self.pnlProgramme) bltCenter.add_widget(svMain) bltCenter.add_widget(bltBottom) bltAll.add_widget(bltCenter) bltRight = BoxLayout(size_hint_x=None, width=200, orientation='vertical', spacing=2) bltRight.add_widget(HistoryLabel(text='History')) bltRight.add_widget(self.svHistory) bltAll.add_widget(bltRight) self.add_widget(bltAll)
def subscroll(self): """ opens scroll list of substitute characters in a popup """ for btn in SMApp.teamlist: if btn.state == 'down': SMApp.nameOff = btn btn.state = 'normal' curs.execute('SELECT * FROM Subs') layout2 = GridLayout(cols=2, spacing=10, size_hint_y=None) layout2.bind(minimum_height=layout2.setter('height')) for row in curs: btn = ToggleButton(text=str(row[0]), size_hint_y=None, height=40) if row[1] == 1: btn.background_color = (0.5, 1, 0.9, 1) layout2.add_widget(btn) btn.bind(on_press=subChar) SMApp.sublist.append(btn) lbl = Label(text=str(row[2]), size_hinty=None, height=40) layout2.add_widget(lbl) root = ScrollView(size_hint=(None, None), size=(400, 400)) root.add_widget(layout2) SMApp.popup2 = Popup(content=root, size=(7, 10), size_hint=(0.55, 0.8), title="list of subs") SMApp.popup2.open()
def load_custom_ker(self): Box = BoxLayout(orientation="vertical", spacing=10) panel = SettingsPanel(title="Custom HTC Kernels", settings=self) msg = GridLayout(cols=1, size_hint=(None, 0.8), width=700) btn_layout = GridLayout(cols=1) done = Button(text="Done") easy = Button(text='Show Stock Kernels',size_hint_y=(None), height=25) btn_layout.add_widget(done) msg.bind(minimum_height=msg.setter('height')) try: for name in kernels: item = SettingItem(panel = panel, title = "%s" % name, disabled=False, desc = "https://github.com/wes342/%s" % name) item_btn = CustomButton(text="Clone: %s" % name ,size_hint=(None, None),width=250, height=40) item.add_widget(item_btn) msg.add_widget(item) item_btn.bind(on_release=get_kernel) root = ScrollView(size_hint=(None, None), size=(675, 350), do_scroll_x=False) root.add_widget(msg) Box.add_widget(easy) Box.add_widget(root) Box.add_widget(btn_layout) easy.bind(on_release=load_ker) popup = Popup(background='atlas://images/eds/pop', title='Custom HTC Kernels',content=Box, auto_dismiss=True, size_hint=(None, None), size=(700, 500)) done.bind(on_release=popup.dismiss) easy.bind(on_release=popup.dismiss) popup.open() except: EdsNotify().run("'system/app Directory Not Found", 'Cant Find:\n' + SystemApp)
def timesheet_pop(self): """Popup to display the Timesheet""" popup = Popup(title='Timesheet') b=BoxLayout(orientation='vertical') s = ScrollView() global tslabel tslabel=Label(size_hint_y=None,line_height=1.5,valign="top", text="|_ID_|______DATE______|___TIME_SPENT____|_____TASK_________|") tslabel.bind(texture_size=tslabel.setter('size')) btn1=Button(text='CLOSE',size_hint=(1,.06)) s.add_widget(tslabel) b.add_widget(s) b.add_widget(btn1) popup.content=b popup.open() btn1.bind(on_press=popup.dismiss) con=lite.connect('TimeTracker.db') with con: cur=con.cursor() cur.execute("SELECT ID, TASK_DATE, TIME, TASK FROM Timesheet") rows = cur.fetchall() for row in rows: tslabel.text=tslabel.text+"\n " tslabel.text+=str(row[0]).center(4)+" "+str(row[1]) tslabel.text+=" "+str(row[2]).center(34)+" "+str(row[3]) if con: con.close()
def readme_pop(self): """ Readme """ popup = Popup(title='README') b=BoxLayout(orientation='vertical') s = ScrollView() global tslabel tslabel=Label(size_hint_y=None,line_height=1.5,valign="top", text= "Copyright (C) 2015 Revathy Narayanan\n" + "The TimeTracker is a Python application \n that will keep"+ " track of time spent\n in day-to-day activities.\n\n"+ "The Application will have features \n"+ "* Start/Stop watch \n * Log Task\n * Add Comments\n"+ "* Generate & View Timesheet\n * Mail Timesheet\n\n "+ "The code is licensed under MIT License(MIT).\n "+ "Please see the file license in this distribution\n for license terms in the link below :\n"+ "https://github.com/rev20/Time-Tracker/blob/master/LICENSE \n\n"+ "Following is the link for the repository: \n"+ "https://github.com/rev20/Time-Tracker/") tslabel.bind(texture_size=tslabel.setter('size')) btn1=Button(text='CLOSE',size_hint=(1,.06)) s.add_widget(tslabel) b.add_widget(s) b.add_widget(btn1) popup.content=b popup.open() btn1.bind(on_press=popup.dismiss)
def _create_subpopup(self, instance): ''' shows the sub popup ''' # create the popup content = GridLayout(cols=1, spacing='5dp') scrollview = ScrollView( do_scroll_x=False) scrollcontent = GridLayout(cols=1, spacing='5dp', size_hint=(None, None)) scrollcontent.bind(minimum_height=scrollcontent.setter('height')) self.subpopup = popup = Popup(content=content, title=self.uOption, size_hint=(0.5, 0.9), auto_dismiss=False) #we need to open the popup first to get the metrics popup.open() #Add some space on top content.add_widget(Widget(size_hint_y=None, height=dp(2))) # add all the options uid = str(self.uid) for option in self.aSubOption: state = 'down' if option == self.value else 'normal' oTbtn = ToggleButton(text=option, state=state, group=uid, size=(popup.width, dp(55)), size_hint=(None, None)) oTbtn.bind(on_release=self._set_suboption) scrollcontent.add_widget(oTbtn) # finally, add a cancel button to return on the previous panel scrollview.add_widget(scrollcontent) content.add_widget(scrollview) content.add_widget(SettingSpacer()) oMbtn = cMultiLineButton(text=ReplaceVars('$lvar(5009)'), size=(popup.width, dp(50)),size_hint=(0.9, None), halign='center', valign='middle') oMbtn.bind(on_release=popup.dismiss) content.add_widget(oMbtn)
def library(self,instance): print "Show library" k = instance.parent.parent.parent.children[0] k.clear_widgets() s = GridLayout(cols = 1, spacing = 3, size_hint_y = None) s.bind(minimum_height = s.setter('height')) os.chdir(self.music_path) for i in os.listdir(u'.'): if '.mp3' in i: i = i.encode('utf-8') print type(i), i s.add_widget(Button( text = i[:-4], color = (1,1,1,1), size_hint_y = None, height = 70, on_press = self.playSong, background_color = self.song_color, background_normal = '' )) g = ScrollView(size_hint = (1,0.5), pos_hint = {'x': 0, 'y': 0}) g.add_widget(s) d = StackLayout(size_hint = (1,0.3),pos_hint = {'center_x': 0.5, 'y': 0.5}, orientation = 'lr-tb') d.add_widget(Button(text = self.current_song,color = (0,0,0,1),size_hint = (1,0.5),pos_hint = {'x': 0,'y':0.5}, background_normal = '', background_color = (1,1,1,1))) d.add_widget(Button(text = "STOP",size_hint = (0.5,0.5), on_press = self.playSong, background_normal = '', background_color = (0.9,0.1,0.1,1))) d.add_widget(Button(text = "PAUSE",size_hint = (0.5,0.5), on_press = self.playSong, background_normal = '', background_color = (0.9,0.7,0.1,1))) k.add_widget(g) k.add_widget(d)
def __init__(self): ScrollView.__init__(self, size_hint=(None, None), size=(1000, 1000), pos=(0, 0)) layout = GridLayout(cols=1, spacing=0, size_hint_y=None) for i in range(30): btn = Button(text=str(i), size_hint_y=None, height=200) layout.add_widget(btn) self.add_widget(layout)
def draw_buses(self): """Adds the buses to the main screen.""" # Clear the screen of any buses. self.ids.bx_buses.clear_widgets() # Get a list of just those buses who are included in the filter. buses = [b for b in self.buses if b["route"] in self.filters] # Work out the height needed to display all the buses # (we need this for the StackLayout) h = (len(buses) * 30) # Create a StackLayout and ScrollView sl = StackLayout(orientation="tb-lr", height=h, size_hint=(1, None)) sv = ScrollView(size_hint=(1, 1)) sv.add_widget(sl) self.ids.bx_buses.add_widget(sv) # Loop over the buses, create a FinlandArrivals object and add it to the # StackLayout for bus in buses: bs = FinlandArrivals(bus=bus) if "alert" in(bus): self.alert = bus["alert"] sl.add_widget(bs)
class ScrollableLabel(ScrollView): ''' use it thisly -> scrollablelabel = ScrollableLabel().build("put your big bunch of text right here") or ScrollableLabel().build() <- thusly with no argument to just get a very big bunch of text as a demo scrolls x and y default ''' def build(self,textinput,size): self.summary_label = Label(text="",text_size=(size,None), size_hint_y=None,size_hint_x=None) self.summary_label.bind(texture_size=self._set_summary_height) # remove the above bind self.summary_label.text = str(textinput) #and try setting height in the following line self.sv = ScrollView(do_scroll_x=False) # it does not scroll the scroll view. self.sv.add_widget(self.summary_label) return self.sv def _set_summary_height(self, instance, size): instance.height = size[1] instance.width = size[0]
def __init__(self, **kwargs): super(mainmenu, self).__init__(**kwargs) # Define layout: self.layout = GridLayout(cols=1, spacing=0, size_hint_y=None, pos=self.pos) self.greeting = MultiLineLabel(background_normal="", background_color=(0, 102, 255, 0.3), text="\n\n---Hoofdmenu---\n\n") self.layout.add_widget(self.greeting) # Option to send message self.encrypt = MultiLineLabel( text="\n\n[Een versleuteld bericht versturen]\n\n") self.encrypt.bind(on_release=self.encrypts) self.layout.add_widget(self.encrypt) # Option to read message self.decrypt = MultiLineLabel( text="\n\n[Een ontvangen versleuteld bericht lezen]\n\n") self.decrypt.bind(on_release=self.decrypts) self.layout.add_widget(self.decrypt) # Option to reset self.reset = MultiLineLabel(text="\n\n[Mijn account resetten]\n\n") self.reset.bind(on_release=self.resets) self.layout.add_widget(self.reset) # Option to logout self.logout = MultiLineLabel(text="\n\n[uitloggen]\n\n", background_normal="", background_color=(0, 102, 255, 0.3)) self.logout.bind(on_release=self.logouts) self.layout.add_widget(self.logout) # Draw scrollview: self.layout.bind(minimum_height=self.layout.setter('height')) root = ScrollView(do_scroll_x=False) root.scroll_timeout = 52 root.add_widget(self.layout) self.add_widget(root)
def draw_screen(self, *args): self.clear_widgets() self.add_widget(self.titlebar()) self.add_widget(self.maineditor()) scrollbar = ScrollView(size_hint=(1, None)) #TODO: Make filebar scrollable for smaller screens and many files #scrollbar.add_widget(self.filebar()) #self.add_widget(scrollbar) self.add_widget(self.filebar()) self.add_widget(self.console())
def __init__(self, **kwargs): super(GalleryWindow, self).__init__(**kwargs) # img_back = 'img/57seWkK.jpg' self.float_layout = FloatLayout(size=(self.size)) self.img_view = GridLayout(cols=4, spacing=5, padding=20, size_hint_y=None) self.img_view.bind(minimum_height=self.img_view.setter('height')) self.floor = ScrollView(size_hint=(1, None), size=(Window.width - 20, Window.height - 120), bar_color=(1, 1, 1, 1), bar_inactive_color=(1, 1, 1, .4), bar_width=5, scroll_type=['bars']) self.add_widget(self.floor) self.floor.add_widget(self.img_view) self.images = self.img_grabber('img') self.show_imgs()
class OptScreen(Screen): def __init__(self, settings, **kwargs): super(OptScreen, self).__init__(**kwargs) Clock.schedule_once(self._finish_init) self._settings = settings def _finish_init(self, dt): self.layout = GridLayout(cols=1, size_hint_y=None) self.layout.bind(minimum_height=self.layout.setter('height')) alternate = 0.25 for setting in self._settings: s = Setting(setting['name'], setting, (.44, .27, .42, alternate)) s.height = 60 s.size_hint_y = None self.layout.add_widget(s) alternate = 0.25 if alternate == 0.2 else 0.2 self.view = ScrollView(size=self.size, scroll_type=['bars']) self.add_widget(self.view) self.view.add_widget(self.layout)
def Start(self, uTitle, aOptions, fktCallBack): """ starts selection """ self.fktCallBack = fktCallBack # create the popup content = GridLayout(cols=1, spacing='5dp') scrollview = ScrollView(do_scroll_x=False, bar_width='10dp', scroll_type=['bars', 'content']) scrollcontent = GridLayout(cols=1, spacing='5dp', size_hint=(None, None)) scrollcontent.bind(minimum_height=scrollcontent.setter('height')) self.oPopup = popup = Popup(content=content, title=ReplaceVars(uTitle), size_hint=(0.5, 0.9), auto_dismiss=False) #we need to open the popup first to get the metrics popup.open() #Add some space on top content.add_widget(Widget(size_hint_y=None, height=dp(2))) # add all the options for option in aOptions: if hasattr(option, "Name"): name = option.Name else: name = option.Type btn = Button(text=name, size=(popup.width, dp(30)), size_hint=(None, None)) btn.bind(on_release=self.On_Value) btn.oDBRef = option scrollcontent.add_widget(btn) # finally, add a cancel button scrollview.add_widget(scrollcontent) content.add_widget(scrollview) content.add_widget(SettingSpacer()) btn = Button(text=ReplaceVars('$lvar(5009)'), size=(popup.width, dp(50)), size_hint=(0.9, None)) btn.bind(on_release=popup.dismiss) content.add_widget(btn)
def show_results(self): results = self.proc.bests scheme_height = self.SCHEME_HEIGHT font_size = self.MAX_FONT_SIZE container = self.side_results.ids.results_container container.clear_widgets() if len(results) > self.RESULT_NO: results = results[:-self.RESULT_NO + 1] for index, result in enumerate(results): lbl_height = (self.HEIGHT_COEFNT * (str(result).count('\n') + 1) * int(font_size)) container.add_widget(Separator10()) container.add_widget( ResultsLbl( text=f'Chromosom #{index+1}', halign='left', height=font_size * self.HEIGHT_COEFNT, )) container.add_widget( ResultsLbl( text=str(result), size_hint_y=None, halign='left', height=lbl_height, font_size=font_size, )) scroll_view = ScrollView(do_scroll_x=True, effect_cls='ScrollEffect') signals = [f'sgn{number}' for number in range(self.proc.gene_size)] scroll_view.add_widget( Scheme( height=scheme_height, inputs=signals, outputs=signals, genotype=result.chromosome, )) container.add_widget(scroll_view) container.add_widget(Separator10()) container.height = (((font_size * self.HEIGHT_COEFNT) + scheme_height + lbl_height + 20) * self.RESULT_NO)
def build(self): Config.set('kivy', 'keyboard_mode', 'systemandmulti') self.button_grid = File_Explorer_Grid() # setup button grid self.scroll_grid = ScrollView(size_hint=(1, None), size=(self.button_grid.width, self.button_grid.height)) # setup scroll grid (not working) return self.button_grid
def __init__(self, **kwargs): super(ResultsWindow, self).__init__(**kwargs) self.scroller = ScrollView(effect_cls=scrolling) self.grid = GridLayout(cols=1, row_default_height='110dp', row_force_default=True, spacing=0, padding=0, size_hint_y=None) self.res_list1 = MainWindow().return_results() for i in self.res_list1: self.grid.add_widget( Label(text=' '.join(i), font_size=15, text_size=(1000, None), size_hint_y=None)) self.scroller.add_widget(self.grid) self.add_widget(self.scroller)
def build(self): # window size / position Window.size = (150, 1280) Window.left, Window.top = 30, 30 # members self.layout = BoxLayout() self.view = ScrollView(size_hint=(None, 1), width=98, bar_width=5, scroll_type=['bars']) self.view.add_widget(pno) self.layout.add_widget(self.view) PrClock.schedule_once(trigger, 0) # return return self.layout
class ModelEditor(GridLayout): def __init__(self, model, capacities_list, **kwargs): super(ModelEditor, self).__init__(**kwargs) self.cols = 1 self.spacing = 20 self.padding = [0, 10, 0, 0] self.model = model self.selected_capacities = [] self.ok_button = Button(text='OK', size_hint=[1, None], height='40dp') self.model_lay = gui_modelkv.EditModelLayout(model) self.scroll = ScrollView() self.capa_lay = gui_capacitieskv.CapacityGrid(capacities_list) self.scroll.add_widget(self.capa_lay) self.add_widget(self.ok_button) self.add_widget(self.model_lay) self.add_widget(self.scroll) # check boxes of capacities already in models self.capa_lay.check_capacity(self.model.capacities_list) # on capacity selection self.capa_lay.bind(on_capacity_clicked=self.update_capacity_list) # click button action self.register_event_type('on_ok_clicked') self.ok_button.bind(on_press=self.ok_button_clicked) def update_capacity_list(self, instance, clist): self.model.clean_capacity() for capa in clist: self.model.add_capacity(capa) self.model_lay.update_display() def load_model(self, model): self.model = model self.capa_lay.check_capacity(self.model.capacities_list) self.model_lay.load_model(self.model) def ok_button_clicked(self, *args): self.dispatch('on_ok_clicked') def on_ok_clicked(self, *args): pass
def tabler(self): result = BoxLayout(size_hint_y=0.9, orientation='vertical') title = GridLayout(cols=3, rows=1, size_hint_y=0.1) layout = GridLayout(cols=3, size_hint_y=None, spacing=5) # Make sure the height is such that there is something to scroll. layout.bind(minimum_height=layout.setter('height')) # instantiate table elements headings1 = Label(text='Index', halign='center', size_hint_x=None) headings2 = Label(text='Enter') headings3 = Label(text='Leave') title.add_widget(headings1) title.add_widget(headings2) title.add_widget(headings3) listings = self.firebase_retrieval() entry = listings[0][::-1] leave = listings[1][::-1] # append the new entries from database to new rows in table for i in range(len(leave)): index = Label(text=str(i + 1), height=40, halign='center', size_hint_x=None) btn_entry = Button(text=entry[i], size_hint_y=None, height=40, width=100) btn_leave = Button(text=leave[i], size_hint_y=None, height=40, width=100) layout.add_widget(index) layout.add_widget(btn_entry) layout.add_widget(btn_leave) # adding widget for the scroller result.add_widget(title) scroller = ScrollView(size_hint=(1, 0.9)) scroller.add_widget(layout) result.add_widget(scroller) return result
def __init__(self, title, labels_text, buttons=()): self.screen_names = ["workout", "meal", "water", "hunger", "home"] root_layout = BoxLayout(orientation="vertical") self.screen_manager = ScreenManager() """Home Popup Screen""" home_screen = Screen(name=self.screen_names[-1]) secondary_layout = BoxLayout(orientation="vertical") layout = BoxLayout(orientation="vertical", spacing=10, size_hint_y=None) layout.bind(minimum_height=layout.setter('height')) for item in labels_text: label = Label(text=item) label.size_hint = (1, None) label.height = 80 layout.add_widget(label) buttons = ("Wysiłek fizyczny", "Posiłek", "Woda", "Głód") button0 = Button(text=buttons[0], on_release=lambda *args: self.change_screen(self.screen_names[0])) button1 = Button(text=buttons[1], on_release=lambda *args: self.change_screen(self.screen_names[1])) button2 = Button(text=buttons[2], on_release=lambda *args: self.open_water_popup()) button3 = Button(text=buttons[3], on_release=lambda *args: self.hunger()) for button in [button0, button1, button2, button3]: button.size_hint_y = None button.height = "60dp" layout.add_widget(button) root = ScrollView(size_hint=(1, 1), size=(Window.width, Window.height)) root.add_widget(layout) secondary_layout.add_widget(root) home_screen.add_widget(secondary_layout) self.screen_manager.add_widget(home_screen) root_layout.add_widget(self.screen_manager) root_layout.add_widget(Button(text="Zamknij okno", size_hint_y=0.1, on_release=lambda *args: UserHub.close_info())) """Workout Screen""" workout_screen = Screen(name=self.screen_names[0]) workout_screen.add_widget(self.workout_screen_init()) self.screen_manager.add_widget(workout_screen) meal_screen = Screen(name=self.screen_names[1]) meal_screen.add_widget(MealScreen()) self.screen_manager.add_widget(meal_screen) self.popup = Popup(title=title, content=root_layout, size_hint=(0.9, 0.9))
def __init__(self, game, loby_data): super(LobyPopup, self).__init__() self.game = game self.background = 'assets/dark.png' self.loby_data = loby_data self.title = loby_data['name'] self.size_hint = (None, None) self.size = (1000 / density_ratio, 800 / density_ratio) self.auto_dismiss = False self.root = BoxLayout(orientation='vertical') self.top_box = BoxLayout(size_hint_y=None, height=60 / density_ratio, spacing=10) self.players_label = Label(text="{} Players(s) in loby.".format(len(self.loby_data['players']))) self.invite_input = TextInput(multiline=False, hint_text="Name", size_hint_x=None, width=160 / density_ratio) self.invite_btn = ThemedButton(text="Invite", size_hint_x=None, width=160 / density_ratio, on_press=self.on_invite) self.players_label.text_size = (self.width - self.invite_btn.width - self.invite_input.width - (70 / density_ratio), None) self.top_box.add_widget(self.players_label) self.top_box.add_widget(self.invite_input) self.top_box.add_widget(self.invite_btn) self.scroll = ScrollView() self.scroll.bar_width = 0 self.scroll_lay = GridLayout(cols=1, size_hint_y=None) self.scroll_lay.bind(minimum_height=self.scroll_lay.setter('height')) self.scroll.add_widget(self.scroll_lay) self.bottom_box = BoxLayout(size_hint_y=None, height=60 / density_ratio, spacing=10) self.leave_loby_btn = ThemedButton(text="Leave loby", on_press=self.on_leave_loby) self.start_game_btn = ThemedButton(text="Start Game", on_press=self.on_start_game) self.bottom_box.add_widget(self.leave_loby_btn) self.bottom_box.add_widget(self.start_game_btn) self.root.add_widget(self.top_box) self.root.add_widget(self.scroll) self.root.add_widget(self.bottom_box) self.add_widget(self.root) if self.game.player_id != self.loby_data['admin'][0]: self.start_game_btn.disabled = True for player_pair in self.loby_data['players']: self.scroll_lay.add_widget(Label(text="{} Player".format(player_pair[1]), size_hint_y=None, height=60 / density_ratio, text_size=[self.width-(60 / density_ratio), None]))
def build(self): self.screen = Builder.load_string(screenHelp) self.scrollSearch = ScrollView(pos_hint={"center_y": 0.3}, size_hint_y=0.4) self.textField = Builder.load_string(dialogBox1) self.listView = MDList() self.screen.ids.panel.current = ("Favorites") self.HasBeenSearched = False self.list1 = OneLineListItem(text="hello") self.list2 = OneLineListItem(text="hello") self.list3 = OneLineListItem(text="hello") self.list4 = OneLineListItem(text="hello") self.statLabel = MDLabel(text="General statistics", font_style="H5", pos_hint={ "center_x": 0.6, "center_y": 0.6 }) self.listView.add_widget(self.list1) self.listView.add_widget(self.list2) self.listView.add_widget(self.list3) self.listView.add_widget(self.list4) self.addedlist = [] self.scrollSearch.add_widget(self.listView) self.searchBar = MDTextField() self.theme_cls.primary_palette = "Orange" #self.testbtn=MDRectangleFlatButton(text="Test",pos_hint={"center_x":0.3,"center_y":0.5})#on_release=self.test ) self.CurricScroll = ScrollView(pos_hint={"center_y": 0.3}, size_hint_y=0.4) self.CurriclsView = MDList() self.screen.search.add_widget(self.textField) #Rida # self.screen.fav.add_widget(self.favbar) self.favscroll = ScrollView(pos_hint={"center_y": 0.3}, size_hint_y=0.7) self.favlistview = MDList() self.favscroll.add_widget(self.favlistview) self.screen.fav.add_widget(self.favscroll) return self.screen
def empldet(self): layout = GridLayout(cols=6, spacing=10, size_hint_y=None) layout.bind(minimum_height=layout.setter('height')) layout.add_widget(Label(text=' ',size_hint_y=None,height=20)) layout.add_widget(Label(text=' ',size_hint_y=None,height=20)) layout.add_widget(Label(text=' ',size_hint_y=None,height=20)) layout.add_widget(Label(text=' ',size_hint_y=None,height=20)) layout.add_widget(Label(text=' ',size_hint_y=None,height=20)) layout.add_widget(Label(text=' ',size_hint_y=None,height=20)) btn1 = Button(text="<-- Back",size_hint_x=(0.7)) layout.add_widget(btn1) layout.add_widget(Label(text=' ',size_hint_y=None,height=40)) btn2 = Button(text="Add",size_hint_x=(0.7)) layout.add_widget(btn2) layout.add_widget(Label(text=' ',size_hint_y=None,height=40)) btn3 = Button(text="Delete",size_hint_x=(0.7)) layout.add_widget(btn3) layout.add_widget(Label(text=' ',size_hint_y=None,height=40)) layout.add_widget(Label(text='ID',size_hint_y=None,height=40)) layout.add_widget(Label(text='Name',size_hint_y=None,height=40)) layout.add_widget(Label(text='Age',size_hint_y=None,height=40)) layout.add_widget(Label(text='Gender',size_hint_y=None,height=40)) layout.add_widget(Label(text='Address',size_hint_y=None,height=40)) layout.add_widget(Label(text='Dependents',size_hint_y=None,height=40)) layout.add_widget(Label(text='______________________________',size_hint_y=None,height=20)) layout.add_widget(Label(text='______________________________',size_hint_y=None,height=20)) layout.add_widget(Label(text='______________________________',size_hint_y=None,height=20)) layout.add_widget(Label(text='______________________________',size_hint_y=None,height=20)) layout.add_widget(Label(text='______________________________',size_hint_y=None,height=20)) layout.add_widget(Label(text='______________________________',size_hint_y=None,height=20)) cur.execute("select empid,empname,age,gender,address,dependentsno from employee") f=cur.fetchall() for i in f: for j in i: layout.add_widget(Label(text=str(j),size_hint_y=None,height=40)) root = ScrollView(size_hint=(1, None), size=(Window.width, Window.height)) root.add_widget(layout) popup =Popup(title='',content=root,size_hint=(1,1), size=(400,400),auto_dismiss=True,separator_height=0,title_align="justify") btn1.bind(on_press=popup.dismiss) btn2.bind(on_press=self.addemp,on_release=popup.dismiss) btn3.bind(on_press=self.delemp,on_release=popup.dismiss) popup.open()
class IssueView(Screen): def __init__(self, issue: Issue = None, **kwargs): super().__init__(**kwargs) self.issue = issue self.kc = KivyConfig() self.layout = BoxLayout( orientation='vertical', size_hint_y=None, ) self.layout.bind(minimum_height=self.layout.setter('height')) self.t = FCToolbar() self.t.back_label = '< Issues' self.layout.add_widget(self.t) hl = FCHeaderLabel(text=issue.name) hl.font_size = sp(30) self.layout.add_widget(hl) c_label = FCCategoryLabel() c_label.text = self.issue.categories[0]['name'].upper() self.layout.add_widget(c_label) # newline added to push 'calls' down a bit self.layout.add_widget(FCSectionLabelWithBorder(text="\nCalls")) for c in self.issue.contacts: c_button = FCContactButtonWithBorder(issue=self.issue, contact=c) c_button.bind(on_press=button_callback) self.layout.add_widget(c_button) self.layout.add_widget(FCSectionLabel(text="Background")) self.layout.add_widget(FCTextLabel(text=issue.reason)) self.scrollview = ScrollView( do_scroll_x=False, ) self.scrollview.add_widget(self.layout) self.add_widget(self.scrollview)
def open(self, selection): path = "".join(selection) self.path_file = path arq_dic = open(path, 'rb') dic_lang_load = pickle.load(arq_dic) arq_dic.close() list_keys = dic_lang_load.keys() box_keys = BoxLayout(orientation='vertical') box_keys.size_hint_y = None box_keys.bind(minimum_height=box_keys.setter('height')) box_keys.id = 'box_keys' self.ids['box_keys'] = box_keys scroll = ScrollView() global i for key in list_keys: box_keys_trad = BoxLayout(size_hint_y=None, height=30) trad = dic_lang_load[key] tex_in_key = TextInput(text=str(key)) tex_in_key.multiline = False tex_in_key.id = 'text_key_' + str(self.i) self.ids['text_key_' + str(self.i)] = tex_in_key tex_in_trad = TextInput(text=str(trad)) tex_in_trad.multiline = False tex_in_trad.id = 'text_trad_' + str(self.i) self.ids['text_trad_' + str(self.i)] = tex_in_trad box_keys_trad.add_widget(tex_in_key) box_keys_trad.add_widget(tex_in_trad) box_keys.add_widget(box_keys_trad) self.i += 1 scroll.add_widget(box_keys) self.ids.screen_dic.add_widget(scroll)
def _create_popup(self, instance): #global oORCA # create the popup content = GridLayout(cols=1, spacing='5dp') scrollview = ScrollView(do_scroll_x=False) scrollcontent = GridLayout(cols=1, spacing='5dp', size_hint=(None, None)) scrollcontent.bind(minimum_height=scrollcontent.setter('height')) self.popup = popup = Popup(content=content, title=self.title, size_hint=(0.5, 0.9), auto_dismiss=False) #we need to open the popup first to get the metrics popup.open() #Add some space on top content.add_widget(Widget(size_hint_y=None, height=dp(2))) # add all the options uid = str(self.uid) for option in self.options: state = 'down' if option == self.value else 'normal' btn = ToggleButton(text=option, state=state, group=uid, size=(popup.width, dp(55)), size_hint=(None, None)) btn.bind(on_release=self._set_option) scrollcontent.add_widget(btn) # finally, add a cancel button to return on the previous panel scrollview.add_widget(scrollcontent) content.add_widget(scrollview) content.add_widget(SettingSpacer()) #btn = Button(text='Cancel', size=((oORCA.iAppWidth/2)-sp(25), dp(50)),size_hint=(None, None)) btn = Button(text='Cancel', size=(popup.width, dp(50)), size_hint=(0.9, None)) btn.bind(on_release=popup.dismiss) content.add_widget(btn)
def more_info(self, x, t): k = GridLayout(rows=len(x) * 2 + 10, size_hint_y=None, spacing=60, padding=30) k.bind(minimum_height=k.setter('height')) r = ScrollView(do_scroll_x=False) j = 0 x1 = x[-1:][0] x.remove(x1) k.add_widget( Label(text=' [b]More Details[/b]', size_hint=[1, 0.5], markup=True, color=[1, 0, 0, 1])) for i in x: sp = MDSeparator(height=dp(1)) k.add_widget(sp) b = BoxLayout(padding=-50) l1 = Label(text=str(j * 6) + ' months', color=[1, 0, 0, 1]) l2 = TextInput(text=str(i), size_hint=[1, None], readonly=True) b.add_widget(l1) b.add_widget(l2) k.add_widget(b) j += 1 sp = MDSeparator(height=dp(1)) k.add_widget(sp) b = BoxLayout(padding=-50) l1 = Label(text=str(t) + ' months', color=[1, 0, 0, 1]) l2 = TextInput(text=str(x1), size_hint=[1, None], readonly=True) b.add_widget(l1) b.add_widget(l2) k.add_widget(b) x.append(x1) r.add_widget(k) g = BoxLayout(orientation='vertical') g.add_widget(r) g.add_widget(Label(text=' ', size_hint=[1, 0.5])) self.b = MDBottomSheet() self.b.gl_content.add_widget(g) Clock.schedule_once(self.resize_content_layout, 0) self.b.open()
def selected_files_popup(self): """ Popup containing all files presented in a selected files list where user is able to add files or removes to given list prior to confirmation :return: None """ layout = BoxLayout(orientation='vertical') popup = Popup(title='Current Selected Files -- Click Button of ' 'Files to Remove', content=layout, size_hint=(.75, .75)) scroll_view = ScrollView(size_hint=(1, 10)) file_layout = GridLayout(cols=1) scroll_view.add_widget(file_layout) for i in UploadScreen.files: obj = interface.Interface() cur_file = obj.file_path_name(i) if i is None: pass elif i is not None: a = Button(id=i, text=(cur_file['filename'] + cur_file['extension'])) a.bind(on_press=self.file_instance) file_layout.add_widget(a) button_layout = BoxLayout(orientation='horizontal') dismiss_button = Button(text='Add More Files') dismiss_button.bind(on_press=popup.dismiss) upload_button = Button(text='Upload') upload_button.bind( on_press=lambda x: self.confirm_files(UploadScreen.files, popup)) button_layout.add_widget(dismiss_button) button_layout.add_widget(upload_button) layout.add_widget(scroll_view) layout.add_widget(button_layout) popup.open()
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) app = MDApp.get_running_app() scroll = ScrollView() self.Mlist = MDList() self.build_list() layout = BoxLayout() layout.orientation = "vertical" toolbar = MDToolbar(title="Materials") toolbar.left_action_items = [ ["menu", lambda x: self.openNav()]] layout.add_widget(toolbar) scroll.add_widget(self.Mlist) layout.add_widget(scroll) self.action_popup = MaterialActionPopup(self.build_list) self.action = MDFloatingActionButton(icon="plus", pos_hint={"center_x":0.5}, on_release=self.action_popup.open) layout.add_widget(self.action) self.add_widget(layout)
class Run(Screen): def __init__(self, tarefas, **kwargs): super(Run, self).__init__(**kwargs) self.scroll_view = ScrollView() self.scroll_view.orientation = "vertical" self.box = BoxLayout() self.scroll_view.add_widget(self.box) self.box.orientation = "vertical" self.box.size_hint_y = None self.box.bind(minimum_height=self.box.setter("height")) for tarefa in tarefas: # self.box.add_widget(Button(text = tarefa, font_size = 30, size_hint_y = None, height = 200)) self.box.add_widget( ContactBox(tarefa, size_hint_y=None, width=402, height=80)) self.add_widget(self.scroll_view)
def __init__(self, **kwargs): super(SelecSitePath, self).__init__(**kwargs) self.box_lay_scroll = BoxLayout() self.box_lay_scroll.orientation = 'vertical' self.box_lay_scroll.size_hint_y = None self.box_lay_scroll.bind( minimum_height=self.box_lay_scroll.setter('height')) self.scroll_view = ScrollView() self.scroll_view.add_widget(self.box_lay_scroll) self.ids.lay_box_sites.add_widget(self.scroll_view) self.popup_new_site = Popup() self.popup_new_site.title = lang['New_Site'] self.popup_new_site.size_hint = None, None self.popup_new_site.size = 300, 160 self.popup_new_site.title_size = 16 self.popup_new_site.content = PopupNewSite(make_new_site=self.add_site)
def __init__(self, **kwargs): super(ListaAtiva, self).__init__(**kwargs) lista = GridLayout(cols=1, spacing=5, padding=5, orientation='vertical', size_hint=(1, None)) lista.bind(minimum_height=lista.setter('height')) for index, valor in enumerate(lista_ativa): item_lista = ItemLista(index, text=valor) if index % 2 == 0: item_lista.background_color = (0.5, 0.5, 0.5, 1) pass lista.add_widget(item_lista) pass root = ScrollView(size_hint=(1, 1)) root.add_widget(lista) self.add_widget(root)
def __init__(self, userId, openDialog, **kwargs): super(DialogActivity, self).__init__(**kwargs) list = ScrollView(on_scroll_stop=self.updateDialogs) self.openDialog = openDialog self.userId = userId self.layoutList = GridLayout(cols=1, size_hint_y=None, spacing=15) self.layoutList.bind(minimum_height=self.layoutList.setter('height')) # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU","sdsdsdsdsddds","транспоаа","12.12.12") # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU") # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU") # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU") # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU") # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU") # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU") # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU") # self.addDialog("http://timmcool.pythonanywhere.com/cricle.png","Lol","UUUUU") self.getDialogs(userId) list.add_widget(self.layoutList) self.add_widget(list)
def getdatapanel(self, main_panel): datadrawer = NavigationDrawer() drawerview = ScrollView() drawercontents = GridLayout(cols=2) drawercontents.add_widget(Label(text='Select')) drawercontents.add_widget(Label(text='Data')) drawercontents.add_widget(CheckBox(group='data', active=True)) drawercontents.add_widget(Label(text='Altitude')) drawercontents.add_widget(CheckBox(group='data')) drawercontents.add_widget(Label(text='GPS Count')) drawerview.add_widget(drawercontents) datadrawer.add_widget(drawerview) datadrawer.add_widget(main_panel) return datadrawer
def makeGlobalSettingsPage(self): screen = Screen(name='GlobalSettings') layout = BoxLayout(orientation='vertical', spacing=10) screen.add_widget(layout) layout.add_widget(self.makeBackButton()) self.localSettingsScroll = ScrollView(size_hint=(1, 1)) self.localSettingsBox = BoxLayout(orientation='vertical', size_hint=(1, None), spacing=10) self.localSettingsBox.bind( minimum_height=self.localSettingsBox.setter('height')) self.localSettingsScroll.add_widget(self.localSettingsBox) layout.add_widget(self.localSettingsScroll) return screen
def __init__(self,name,**kwargs): super(tutorialScreen,self).__init__(**kwargs) self.name = name self.background_image = Image(source='./data/images/background-tutorial.png') self.add_widget(self.background_image) #creates a scrollable widget self.box_scroll = ScrollView() self.box_scroll.do_scroll_y = False self.box_scroll.size_hint = (None,None) self.box_scroll.bar_color = (1,1,1,0) #creates a box to hold the buttons self.btn_box = BoxLayout(orientation = 'horizontal') self.btn_box.size_hint = (None,None) #And add those widgets to the screen self.box_scroll.add_widget(self.btn_box) self.add_widget(self.box_scroll)
def load_requests(self): content = ScrollView() mdlist = MDList() content.add_widget(mdlist) title = "Prayer Requests" pop = Popup(title=title, content=content) pop.open() try: for prayer in PrayerRequest.select(): mdlist.add_widget( PopList(text=str(prayer.name), secondary_text=str(prayer.prayer_request))) except peewee.OperationalError: mdlist.add_widget( PopList( text=str('Error'), secondary_text=str( 'Please Check The Internet Connection and Try Again'))) else: pass
class LobyView(BoxLayout): def __init__(self, game): super(LobyView, self).__init__() self.orientation = 'vertical' self.game = game self.top_bar = BoxLayout(size_hint_y=None, height=100) #self.make_loby_btn = ThemedButton(text="Make loby") #self.top_bar.add_widget(self.make_loby_btn) self.scroll = ScrollView() self.scroll.bar_width = 0 self.scroll_lay = GridLayout(cols=1, size_hint_y=None) self.scroll_lay.bind(minimum_height=self.scroll_lay.setter('height')) self.scroll_lay.spacing = [0, 10] self.scroll_lay.padding = [10, 10] self.scroll.add_widget(self.scroll_lay) self.add_widget(self.top_bar) self.add_widget(self.scroll)