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 getMergedTreeView(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: merged_dict = self.config_files[key].get_merged_config() for key in merged_dict: if isinstance(merged_dict[key], dict): newnode = tv.add_node( TreeViewLabel(text=str(key), font_size=self.label_font_size, color=self.key_label_color)) self._addNodeToMergedTreeView(tv, newnode, merged_dict[key]) else: newnode = tv.add_node( TreeViewLabel(text=str(key) + ':' + str(merged_dict[key]), font_size=self.label_font_size, color=self.key_label_color)) 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 build(cls): #if exists(cls.pickle_fn()): # result = pickle.load(open(cls.pickle_fn(), "rb" ) ) tv = TreeView(hide_root=True) tv.size_hint = 1, None tv.bind(minimum_height=tv.setter('height')) data = Data() groups = data.get_groups() ingredients = data.get_ingredients() def already_created(node, text): if hasattr(node, 'text'): return node.text == text else: return False for group in groups: if len( list( filter( lambda seq: already_created(seq, group['group']), tv.iterate_all_nodes()))) == 0: node_group = tv.add_node(TreeViewLabel(text=group['group'])) node_group = list( filter(lambda seq: already_created(seq, group['group']), tv.iterate_all_nodes())) if len(node_group) > 0: if len( list( filter( lambda seq: already_created( seq, group['subgroup']), tv.iterate_all_nodes()))) == 0: node_subgroup = tv.add_node( TreeViewLabel(text=group['subgroup']), node_group[0]) for ingredient in ingredients: node_subgroup = list( filter( lambda seq: already_created(seq, ingredient['food_subgroup' ]), tv.iterate_all_nodes())) if len(node_subgroup) > 0: tv.add_node( IngredientListPopupItem( prop_id=ingredient['id'], name=ingredient['name'], name_scientific=ingredient['name_scientific'], description=ingredient['description']), node_subgroup[0]) else: print('error adding {0}', ingredient['name']) cls.tv = tv
def build(self): #for i in range(30): # btn = Button(text=str(i), size=(480, 40), # size_hint=(None, None)) # layout.add_widget(btn) tv = TreeView(root_options=dict(text='Tree One'), hide_root=True, indent_level=4) tv.size_hint = 1, None tv.bind(minimum_height = tv.setter('height')) populate_tree_view(tv) root = ScrollView(pos = (0, 0)) root.add_widget(tv) return root
def AddAsset(self): """show the add asset dialog""" try: popup = Popup(title="select asset") popup.size_hint = (0.8,0.8) tv = TreeView(root_options=dict(text='Tree One'), hide_root=True, indent_level=4) tv.size_hint = 1, None tv.bind(minimum_height = tv.setter('height')) tv.load_func = self.populateTreeNode tv.bind(selected_node=self.on_assetSelected) root = ScrollView(pos = (0, 0)) root.add_widget(tv) popup.add_widget(root) popup.open() except Exception as e: showError(e)
def showAssetSelector(self): """renders the root grounds in the treeview.""" try: popup = Popup(title="select asset") popup.size_hint = (0.8, 0.8) tv = TreeView(root_options=dict(text='Tree One'), hide_root=True, indent_level=4) tv.size_hint = 1, None tv.bind(minimum_height=tv.setter('height')) tv.load_func = self.populateTreeNode tv.bind(selected_node=self.on_assetChanged) root = ScrollView(pos=(0, 0)) root.add_widget(tv) popup.add_widget(root) popup.open() except Exception as e: showError(e)
def fill_accordion_item(self, store): storage_butt = AccordionItem() storage_butt.id = str(store.id) storage_butt.height = 22 storage_butt.title = str(store.name) scroll = ScrollView() scroll.do_scroll_x = False scroll.size_hint = (1, 1) scroll.bar_color = [.5, .10, .15, .8] scroll.bar_inactive_color = [.5, .20, .10, .5] scroll.scroll_type = ['bars'] # [‘bars’, ‘content’] tree_obj = TreeView() tree_obj.size_hint = (1, None) tree_obj.hide_root = True store.tree_view = WeakProxy(tree_obj) scroll.add_widget(tree_obj) storage_butt.add_widget(scroll) return storage_butt
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 getMergedTreeView(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: merged_dict = self.config_files[key].get_merged_config() for key in merged_dict: if isinstance(merged_dict[key], dict): newnode = tv.add_node(TreeViewLabel(text=str(key), font_size=self.label_font_size, color=self.key_label_color)) self._addNodeToMergedTreeView(tv, newnode, merged_dict[key]) else: newnode = tv.add_node(TreeViewLabel(text=str(key) + ':' + str(merged_dict[key]), font_size=self.label_font_size, color=self.key_label_color)) 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