Exemplo n.º 1
0
 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
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
    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
Exemplo n.º 8
0
    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
Exemplo n.º 9
0
    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