Example #1
0
    def __init__(self, lista, nombreABM, **kwargs):
        # make sure we aren't overriding any important functionality
        super(KivyPanelABM, self).__init__(**kwargs)
        self.cols = 2
        self.nombreABM = nombreABM
        self.lista = TreeView(hide_root=True, size_hint_x=0.9)
        self.add_widget(self.lista)
        self.panelbotoneraAcciones = GridLayout(cols=1,
                                                size_hint_x=0.1,
                                                size_hint_y=None,
                                                size=(0, 32))
        # self.panelbotoneraAcciones.padding=[100,10,10,10]
        self.btnAdd = Button(background_normal="Add.png",
                             size_hint=(None, None),
                             size=(32, 32))
        self.btnAdd.bind(on_press=self.btnEventAdd)
        self.btnEdit = Button(background_normal="Edit.png",
                              size_hint=(None, None),
                              size=(32, 32))
        self.btnEdit.bind(on_press=self.btnEventEdit)
        self.btnDel = Button(background_normal="Delete.png",
                             size_hint=(None, None),
                             size=(32, 32))
        self.btnDel.bind(on_press=self.btnEventDel)

        self.panelbotoneraAcciones.add_widget(self.btnAdd)
        self.panelbotoneraAcciones.add_widget(self.btnEdit)
        self.panelbotoneraAcciones.add_widget(self.btnDel)
        self.add_widget(self.panelbotoneraAcciones)

        for elemento in lista:
            self.lista.add_node(TreeViewLabel(text=elemento))
Example #2
0
    def build(self):
        root = BoxLayout(orientation='horizontal', padding=20, spacing=20)
        tree = TreeView(size_hint=(None, 1), width=200, hide_root=True,
                        indent_level=0)

        def create_tree(text):
            return tree.add_node(TreeViewLabel(
                text=text, is_open=True, no_selection=True))

        def attach_node(text, n):
            tree.add_node(TreeViewLabel(text=text), n)

        tree.bind(selected_node=self.on_select_node)
        n = create_tree('Buttons')
        attach_node('Standard buttons', n)
        attach_node('Options buttons', n)
        n = create_tree('Sliders')
        attach_node('Horizontal sliders', n)
        attach_node('Vertical sliders', n)
        n = create_tree('Scatter')
        attach_node('Scatter with image', n)
        attach_node('Scatter with buttons', n)
        n = create_tree('Textinput')
        attach_node('Monoline textinput', n)
        attach_node('Multiline textinput', n)
        n = create_tree('TreeView')
        attach_node('Standard treeview', n)
        attach_node('Treeview without root', n)
        root.add_widget(tree)
        self.content = content = BoxLayout()
        root.add_widget(content)
        sc = Showcase()
        sc.content.add_widget(root)
        return sc
Example #3
0
    def build(self):
        root = BoxLayout(orientation='horizontal', padding=20, spacing=20)
        tree = TreeView(size_hint=(None, 1),
                        width=200,
                        hide_root=True,
                        indent_level=0)

        def create_tree(text):
            return tree.add_node(
                TreeViewLabel(text=text, is_open=True, no_selection=True))

        def attach_node(text, n):
            tree.add_node(TreeViewLabel(text=text), n)

        tree.bind(selected_node=self.on_select_node)
        n = create_tree('Buttons')
        attach_node('Standard buttons', n)
        attach_node('Options buttons', n)
        n = create_tree('Sliders')
        attach_node('Horizontal sliders', n)
        attach_node('Vertical sliders', n)
        n = create_tree('Textinput')
        attach_node('Monoline textinput', n)
        attach_node('Multiline textinput', n)
        n = create_tree('TreeView')
        attach_node('Standard treeview', n)
        attach_node('Treeview without root', n)
        root.add_widget(tree)
        self.content = content = BoxLayout()
        root.add_widget(content)
        return root
Example #4
0
def create_scrollable_treeview(nested_dicts, onclick, root_label):
    tv = TreeView(root_options={'text': root_label})

    def populate_tree(parent, level, index, path):
        obj = level if index is None else level[index]
        if hasattr(obj, 'name'):
            label = TreeViewLabel(text=obj.name,
                                  onclick=onclick)
            label.path = copy(path)
            tv.add_node(label, parent)
        else:
            try:
                indices = obj.iterkeys()
            except AttributeError:
                indices = xrange(len(obj))
            # This `if` is a hack to deal with the root of the given tree
            if index is None:
                group_node = None
            else:
                group_node = TreeViewLabel(text=index)
                tv.add_node(group_node, parent)
            for index in indices:
                populate_tree(group_node, obj, index, path + [index])

    populate_tree(None, nested_dicts, None, [])

    # Make the tree scrollable inside the ScrollView
    tv.size_hint_y = None
    tv.bind(minimum_height=tv.setter('height'))
    scrollable = ScrollView()
    scrollable.add_widget(tv)
    return scrollable
Example #5
0
File: main.py Project: dekoza/kivy
    def build(self):
        root = BoxLayout(orientation='horizontal', padding=20, spacing=20)
        tree = TreeView(
            size_hint=(None, 1), width=200, hide_root=True, indent_level=0)

        def create_tree(text):
            return tree.add_node(TreeViewLabel(
                text=text, is_open=True, no_selection=True))

        def attach_node(text, n):
            tree.add_node(TreeViewLabel(text=text), n)

        tree.bind(selected_node=self.on_select_node)
        n = create_tree('Widgets')
        attach_node('Standard widgets', n)
        attach_node('Complex widgets', n)
        attach_node('Scatters', n)
        attach_node('Treeviews', n)
        attach_node('Popup', n)
        n = create_tree('Layouts')
        attach_node('Anchor Layout', n)
        attach_node('Box Layout', n)
        attach_node('Float Layout', n)
        attach_node('Grid Layout', n)
        attach_node('Stack Layout', n)
        root.add_widget(tree)
        self.content = content = BoxLayout()
        root.add_widget(content)
        sc = Showcase()
        sc.content.add_widget(root)
        self.content.add_widget(StandardWidgets())
        return sc
Example #6
0
    def build(self):
        root = BoxLayout(orientation='horizontal', padding=20, spacing=20)
        tree = TreeView(size_hint=(None, 1),
                        width=200,
                        hide_root=True,
                        indent_level=0)

        def create_tree(text):
            return tree.add_node(
                TreeViewLabel(text=text, is_open=True, no_selection=True))

        def attach_node(text, n):
            tree.add_node(TreeViewLabel(text=text), n)

        tree.bind(selected_node=self.on_select_node)
        n = create_tree('Widgets')
        attach_node('Standard widgets', n)
        attach_node('Complex widgets', n)
        attach_node('Scatters', n)
        attach_node('Treeviews', n)
        attach_node('Popup', n)
        n = create_tree('Layouts')
        attach_node('Anchor Layout', n)
        attach_node('Box Layout', n)
        attach_node('Float Layout', n)
        attach_node('Grid Layout', n)
        attach_node('Stack Layout', n)
        root.add_widget(tree)
        self.content = content = BoxLayout()
        root.add_widget(content)
        sc = Showcase()
        sc.content.add_widget(root)
        self.content.add_widget(StandardWidgets())
        return sc
Example #7
0
class FilesTreeWidget(BoxLayout):
    def __init__(self, tree, remove_node_callback, **kwargs):
        super(FilesTreeWidget, self).__init__(**kwargs)
        self.tree = tree
        self.remove_node_callback = remove_node_callback
        self.tv = TreeView(load_func=self.load_func,
                           root_options={'text': tree.root.get_name()})
        self.tv.size_hint = 1, None
        self.tv.bind(minimum_height=self.tv.setter('height'))
        scroll_view = ScrollView()
        scroll_view.add_widget(self.tv)
        self.add_widget(scroll_view)

    def load_func(self, tv, node):
        if node is None or not isinstance(node, FileTreeViewLabel):
            dir = self.tree.root
        else:
            dir = node.get_dir()
        for child in dir.get_children():
            label = FileTreeViewLabel(child,
                                      self.tree,
                                      self.tv,
                                      self.remove_node_callback,
                                      text=child.get_name())
            label.is_leaf = child.if_is_file()
            yield label
Example #8
0
 def __init__(self, **kwargs):
     super(JournalOverviewScreen, self).__init__(**kwargs)
     v_layout = BoxLayout(orientation='vertical', spacing=30)
     self.tree_view = TreeView(root_options=dict(text='Tree One'),
                               hide_root=True,
                               indent_level=4)
     self.tree_view.size_hint = (1, None)
     self.tree_view.bind(minimum_height=self.tree_view.setter('height'))
     scroll = ScrollView(pos=(0, 0))
     scroll.add_widget(self.tree_view)
     v_layout.add_widget(scroll)
     change_journal_layout = BoxLayout(orientation='horizontal',
                                       spacing=5,
                                       size_hint_y=0.1)
     change_journal_layout.add_widget(Label(text='Journal file:'))
     self.journal_file_input = TextInput(
         text=App.get_running_app().journal_file)
     change_journal_layout.add_widget(self.journal_file_input)
     change_journal_layout.add_widget(
         Button(text='Set another', on_press=self.set_another_journal))
     v_layout.add_widget(change_journal_layout)
     back_to_progress_button = Button(text='Back', size_hint_y=0.2)
     back_to_progress_button.on_press = self.goto_progress
     v_layout.add_widget(back_to_progress_button)
     self.add_widget(v_layout)
Example #9
0
    def build(self):
        root = BoxLayout(orientation="horizontal", padding=20, spacing=20)
        tree = TreeView(size_hint=(None, 1), width=200, hide_root=True, indent_level=0)

        def create_tree(text):
            return tree.add_node(TreeViewLabel(text=text, is_open=True, no_selection=True))

        def attach_node(text, n):
            tree.add_node(TreeViewLabel(text=text), n)

        tree.bind(selected_node=self.on_select_node)
        n = create_tree("Buttons")
        attach_node("Standard buttons", n)
        attach_node("Options buttons", n)
        attach_node("Horizontal sliders", n)
        attach_node("Vertical sliders", n)
        attach_node("Scatter with image", n)
        attach_node("Scatter with buttons", n)
        attach_node("Monoline textinput", n)
        attach_node("Multiline textinput", n)
        attach_node("Standard treeview", n)
        attach_node("Treeview without root", n)
        attach_node("Accordion", n)
        attach_node("Popup", n)
        attach_node("Switch", n)
        n = create_tree("Experimentals")
        attach_node("Filechooser icon", n)
        attach_node("Filechooser list", n)
        root.add_widget(tree)
        self.content = content = BoxLayout()
        root.add_widget(content)
        sc = Showcase()
        sc.content.add_widget(root)
        return sc
Example #10
0
def populate_tree_view(tree_view: TreeView,
                       parent: Union[TreeView, TreeViewLabel, None],
                       node: Tree) -> None:
    """
    Populates a TreeView recursively from node data.

    :param tree_view:
    :param parent:
    :param node:
    :return:
    """
    if parent is None:
        tree_node = tree_view.add_node(
            TreeViewLabel(
                text=node['node_id'],
                is_open=True
            ))
    else:
        tree_node = tree_view.add_node(
            TreeViewLabel(
                text=node['node_id'],
                is_open=False
            ),
            parent
        )

    for child_node in node['children']:
        populate_tree_view(
            tree_view, tree_node, child_node
        )
Example #11
0
 def __init__(self, *args, **kwargs):
     TreeView.__init__(self, *args, **kwargs)
     #Now, bind yourseilf on list of templates
     from scripts import scriptList
     scriptList.bind(scripts=self.Rebuild)
     self.Rebuild()
     #Now add on load
     self.load_func = self.node_loader
Example #12
0
    def _create_tree(instance: "SettingTree") -> TreeView:
        """

        :return:
        """
        tree: Tree = _get_data(instance)
        tv = TreeView(hide_root=True)
        tv.bind(minimum_height=tv.setter('height'))

        populate_tree_view(tv, None, tree)
        return tv
Example #13
0
 def __init__(self, tree, remove_node_callback, **kwargs):
     super(FilesTreeWidget, self).__init__(**kwargs)
     self.tree = tree
     self.remove_node_callback = remove_node_callback
     self.tv = TreeView(load_func=self.load_func,
                        root_options={'text': tree.root.get_name()})
     self.tv.size_hint = 1, None
     self.tv.bind(minimum_height=self.tv.setter('height'))
     scroll_view = ScrollView()
     scroll_view.add_widget(self.tv)
     self.add_widget(scroll_view)
Example #14
0
 def _populate(self, root_label: str, images: Iterable[ImageDescriptor]):
     tree = TreeView(root_options=dict(text=root_label))
     nodes = {Path('.'): None}
     for img in images:
         for parent in reversed(img.path.parents):
             if parent not in nodes:
                 node = SelectableTreeViewLabel(path=parent,
                                                text=parent.name)
                 node.bind(on_path_changed=self.on_nodes_path_changed)
                 nodes[parent] = tree.add_node(node, nodes[parent.parent])
     self.add_widget(tree)
Example #15
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
Example #16
0
 def build(self):
     boxLayout = BoxLayout()
     tv = TreeView()
     for i in range(5):
         node = TreeViewButton()
         for i2 in range(5):
             node.add_widget(Label())
         tv.add_node(node)
     # tv.root_options.set
     #tv.add_node(TreeViewLabel(text='My first item'))
     #tv.add_node(TreeViewLabel(text='My second item'))
     boxLayout.add_widget(tv)
     return boxLayout
Example #17
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
Example #18
0
    def define(self, tree1, callback, colors):
        self.callback = callback
        self.colors = colors

        self.tv = TreeView(root_options=dict(text='Playlists'),
                           hide_root=True,
                           on_touch_down=self.touch2,
                           indent_level=10)
        self.tv.size_hint = 1, None
        self.tv.bind(minimum_height=self.tv.setter('height'))
        self.populate_tree_view(self.tv, None, tree1)
        root = ScrollView(pos=(0, 0))
        root.add_widget(self.tv)
        self.add_widget(root)
Example #19
0
    def __init__(self, **kwargs):
        super(GroupScreen, self).__init__(**kwargs)

        clients = self.consultasector()

        bridge_view = TreeView()
        for s in clients:
            x = str(s[0]) + " - " + str(s[1])
            bridge_view.add_node(
                TreeViewLabel(text=str(x).capitalize(),
                              even_color=[0.5, 0.1, 0.1, 1],
                              odd_color=[0.1, 0.1, 0.5, 1]))

        self.add_widget(bridge_view)
 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
Example #21
0
    def on_pre_enter(self, *args):
        controller.setup_stash()
        # use thread for background task, use clock in a background task to access the ui
        threading.Thread(target=self.setup_cloud_task).start()
        file_names = controller.get_uploaded_file_names()
        self.file_view = TreeView(hide_root=True, indent_level=4)
        self.file_view.size_hint = 1, None
        self.file_view.bind(minimum_height=self.file_view.setter('height'))
        self.scroll_view.add_widget(self.file_view)
        for file_name in file_names:
            self.file_view.add_node(TreeViewLabel(text=file_name))

        self.max_storage_size = controller.get_max_storage_size()
        self.usage_bar.max = self.max_storage_size
        self.update_storage_view()
Example #22
0
    def createHapticsPanel(self):
        self.hapticsPanel = BoxLayout(orientation='vertical', size_hint_y=0.4)

        hapticIntro = BoxLayout(orientation='horizontal', size_hint_y=0.1)
        hapticLabel = Label(text="Haptics")
        self.hapticEffectName = TextInput(
            hint_text="Effect Name (e.g. viscousField)", multiline=False)
        hapticIntro.add_widget(hapticLabel)
        hapticIntro.add_widget(self.hapticEffectName)

        hapticType = BoxLayout(orientation='horizontal', size_hint_y=0.1)
        hapticTypeLabel = Label(text="Effect Type:")
        self.hapticTypeSpinner = Spinner(values=["HAPTICS_SET_STIFFNESS", "HAPTICS_CONSTANT_FORCE_FIELD",\
                                                 "HAPTICS_VISCOSITY_FIELD"])
        self.hapticTypeSpinner.bind(text=self.getHapticParameters)
        hapticType.add_widget(hapticTypeLabel)
        hapticType.add_widget(self.hapticTypeSpinner)

        hapticParams = BoxLayout(orientation='horizontal', size_hint_y=0.3)
        hapticParamLabel = Label(text="Haptic Parameters")
        self.hapticEffectParams = TreeView(hide_root=True)
        hapticParams.add_widget(hapticParamLabel)
        hapticParams.add_widget(self.hapticEffectParams)

        self.hapticsPanel.add_widget(hapticIntro)
        self.hapticsPanel.add_widget(hapticType)
        self.hapticsPanel.add_widget(hapticParams)
Example #23
0
 def on_touch_down(self, touch):
     if self.collide_point(*touch.pos) and touch.is_double_tap and getattr(
             touch, 'button', -1) == "left":
         node = self.get_node_at_pos(touch.pos)
         if node == self.root:
             self.load_folder(self.folder)
     return TreeView.on_touch_down(self, touch)
Example #24
0
    def build(self):
        duzen = BoxLayout(orientation='vertical')

        self.agac_koku = TreeView(hide_root=True)

        kuruyemisler = [('Sert Kabuklular', ('Ceviz', 'Fındık', 'Badem')),
                        ('Meyve Kuruları', ('Dut', 'Vişne', 'Kayısı', 'İncir'))
                        ]

        for ky in kuruyemisler:
            eb = self.agac_koku.add_node(TreeViewLabel(text=ky[0]))
            for k in ky[1]:
                self.agac_koku.add_node(TreeViewLabel(text=k), eb)

        duzen.add_widget(self.agac_koku)

        return duzen
Example #25
0
    def __init__(self, **kwargs):
        super(MainScreen, self).__init__(**kwargs)

        self.cols = 2
        self.tfa = TextInput(multiline=False)
        self.tfa.bind(text=self.on_text)
        self.tfa.bind(on_text_validate=self.on_enter)
        self.add_widget(self.tfa)
        button = Button(text='Search', font_size=14)
        button.bind(on_press=self.on_search)
        self.add_widget(button)
        self.values = TreeView(root_options={'text': 'Suggestions'})
        self.add_widget(self.values)
        self.lock = Lock()

        self.suggestions_list = SafeDataModel()
        self.recent_list = list()
Example #26
0
def initGUI(arbol, controlador):
    global tree, controller, tv
    tree = arbol
    tv = TreeView(root_options=dict(text='Tree One'),
                  hide_root=True,
                  indent_level=20)
    controller = controlador
    ia = InterfaceApp()
    ia.run()
Example #27
0
class agacGorunumu(App):

    def build(self):
        duzen=BoxLayout(orientation='vertical')
        
        self.agac_koku = TreeView(hide_root=True)
        
        kuruyemisler=[('Sert Kabuklular',('Ceviz', 'Fındık', 'Badem')), 
                      ('Meyve Kuruları',('Dut', 'Vişne', 'Kayısı', 'İncir'))]
        
        for ky in kuruyemisler:
            eb=self.agac_koku.add_node(TreeViewLabel(text=ky[0]))
            for k in ky[1]:
                self.agac_koku.add_node(TreeViewLabel(text=k),eb)
        
        duzen.add_widget(self.agac_koku)
        
        return duzen
Example #28
0
    def __init__(self, **kwargs):
        BoxLayout.__init__(self, **kwargs)

        self.nodes = []
        self.tree = TreeView(hide_root=True)

        #   Create UI
        self.add_node()
        self.add_widget(self.tree)
Example #29
0
    def build(self):
        duzen=BoxLayout(orientation='vertical')
        
        self.agac_koku = TreeView(hide_root=True, size_hint_y=0.8)
        
        kuruyemisler=[('Sert Kabuklular',('Ceviz', 'Fındık', 'Badem')), 
                      ('Meyve Kuruları',('Dut', 'Vişne', 'Kayısı', 'İncir'))]
        
        for ky in kuruyemisler:
            eb=self.agac_koku.add_node(TreeViewLabel(text=ky[0]))
            for k in ky[1]:
                self.agac_koku.add_node(TreeViewLabel(text=k),eb)

        duzen.add_widget(self.agac_koku)
        dgm=Button(text='Elemanları Yaz', size_hint_y=0.2)
        dgm.bind(on_press=self.elemanlari_yaz)
        duzen.add_widget(dgm)
        
        return duzen
Example #30
0
 def createBreakdownMsgPanel(self):
     self.breakdownMsgPanel = BoxLayout(orientation='vertical')
     endMsgLabel = Label(text="Session End Messages", size_hint_y=0.1)
     self.breakdownMsgScroll = ScrollView(do_scroll_y=True, scroll_y=0,\
                                        scroll_type=['bars','content'],\
                                        bar_width=15, pos=[0,0])
     self.endMsgs = TreeView(hide_root=True)
     self.breakdownMsgScroll.add_widget(self.endMsgs)
     self.breakdownMsgPanel.add_widget(endMsgLabel)
     self.breakdownMsgPanel.add_widget(self.breakdownMsgScroll)
Example #31
0
 def createStateTypePanel(self):
     self.stateTypePanel = BoxLayout(orientation="horizontal",
                                     size_hint_y=0.1)
     stateTypeLabel = Label(text="Select state type", padding=(20, 20))
     self.stateTypeSpinner = Spinner(values=STATE_TYPES)
     self.stateTypeSpinner.bind(text=self.getStateTypeParams)
     self.stateTypeParams = TreeView(hide_root=True)
     self.stateTypePanel.add_widget(stateTypeLabel)
     self.stateTypePanel.add_widget(self.stateTypeSpinner)
     self.stateTypePanel.add_widget(self.stateTypeParams)
Example #32
0
 def createTaskVarsPanel(self):
     self.taskVarsPanel = BoxLayout(orientation='vertical')
     self.taskVarsScroll = ScrollView(do_scroll_y=True, scroll_y=0,\
                                        scroll_type=['bars','content'],\
                                        bar_width=15, pos=[0,0])
     self.taskVarsTreeView = TreeView(hide_root=True)
     self.taskVarsScroll.add_widget(self.taskVarsTreeView)
     addTaskVarButton = Button(text="Add Task Variable",
                               on_release=self.getTaskVarInfo)
     self.taskVarsPanel.add_widget(self.taskVarsScroll)
     self.taskVarsPanel.add_widget(addTaskVarButton)
Example #33
0
    def __init__(self, **kwargs):
        super(Tela, self).__init__(**kwargs)
        tv = TreeView(hide_root=False, indent_level=4)

        n1 = tv.add_node(TreeViewLabel(text='Item 1'))
        tv.add_node(TreeViewLabel(text='SubItem 1'), n1)
        tv.add_node(TreeViewLabel(text='SubItem 2'), n1)

        n2 = tv.add_node(TreeViewLabel(text='Item 2'))
        tv.add_node(TreeViewLabel(text='SubItem 1'), n2)
        tv.add_node(TreeViewLabel(text='SubItem 2'), n2)

        self.add_widget(tv)
Example #34
0
    def build(self):
        root = BoxLayout(orientation='horizontal', padding=20, spacing=20)
        tree = TreeView(size_hint=(None, 1), width=200, hide_root=True, indent_level=0)
        tree.bind(selected_node=self.on_select_node)
        n = tree.add_node(TreeViewLabel(text=u'Меню', is_open=True, no_selection=True)) 

        n = tree.add_node(TreeViewLabel(text=u'Управление', is_open=True, no_selection=True)) 
        tree.add_node(TreeViewLabel(text=u'Открыть'), n, ) 
        tree.add_node(TreeViewLabel(text=u'Закрыть'), n) 

        n = tree.add_node(TreeViewLabel(text=u'Настройки', is_open=True, no_selection=True)) 
        #tree.add_node(TreeViewLabel(text='Что то еще'), n) 



        root.add_widget(tree)
        self.content = content = BoxLayout()
        root.add_widget(content)
        sc = Showcase()
        sc.content.add_widget(root)
        return sc
Example #35
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
Example #36
0
    def update_content(self, *args):
        widget = self.console.widget
        if not widget:
            return

        from kivy.uix.scrollview import ScrollView
        self.root = root = BoxLayout()
        self.sv = sv = ScrollView(scroll_type=["bars", "content"])
        treeview = TreeView(hide_root=True, size_hint_y=None)
        treeview.bind(minimum_height=treeview.setter("height"))
        keys = list(widget.properties().keys())
        keys.sort()
        node = None
        wk_widget = weakref.ref(widget)
        for key in keys:
            text = '%s' % key
            node = TreeViewProperty(text=text, key=key, widget_ref=wk_widget)
            node.bind(is_selected=self.show_property)
            try:
                widget.bind(**{
                    key: partial(self.update_node_content, weakref.ref(node))
                })
            except:
                pass
            treeview.add_node(node)

        root.add_widget(sv)
        sv.add_widget(treeview)
        self.console.set_content(root)
Example #37
0
class agacGorunumu(App):

    def build(self):
        duzen=BoxLayout(orientation='vertical')
        
        self.agac_koku = TreeView(hide_root=True, size_hint_y=0.8)
        
        kuruyemisler=[('Sert Kabuklular',('Ceviz', 'Fındık', 'Badem')), 
                      ('Meyve Kuruları',('Dut', 'Vişne', 'Kayısı', 'İncir'))]
        
        for ky in kuruyemisler:
            eb=self.agac_koku.add_node(TreeViewLabel(text=ky[0]))
            for k in ky[1]:
                self.agac_koku.add_node(TreeViewLabel(text=k),eb)

        duzen.add_widget(self.agac_koku)
        dgm=Button(text='Elemanları Yaz', size_hint_y=0.2)
        dgm.bind(on_press=self.elemanlari_yaz)
        duzen.add_widget(dgm)
        
        return duzen
        
        
    def elemanlari_yaz(self, *args):
        for eb in self.agac_koku.iterate_all_nodes():
            print eb.level, eb.text
            
        if self.agac_koku.selected_node:
            print "Seçili Eleman", self.agac_koku.selected_node.text
            
         
        print self.agac_koku.get_node_at_pos((1,1))
Example #38
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)
Example #39
0
 def build(self):
     l = BoxLayout(orientation='vertical')
     b = Button(text='Run')
     b.bind(on_press=self.btn_run)
     b.size_hint = 1, 1
     sv = ScrollView()
     sv.size_hint = 1, 10
     self.tv = TreeView(root_options=dict(text='Results'))
     self.tv.size_hint = 1, None 
     self.tv.bind(minimum_height = self.tv.setter('height')) 
     sv.add_widget(self.tv)
     l.add_widget(b)
     l.add_widget(sv)
     return l
Example #40
0
class FileCheckUi(App):
    tv = None


    def build(self):
        l = BoxLayout(orientation='vertical')
        b = Button(text='Run')
        b.bind(on_press=self.btn_run)
        b.size_hint = 1, 1
        sv = ScrollView()
        sv.size_hint = 1, 10
        self.tv = TreeView(root_options=dict(text='Results'))
        self.tv.size_hint = 1, None 
        self.tv.bind(minimum_height = self.tv.setter('height')) 
        sv.add_widget(self.tv)
        l.add_widget(b)
        l.add_widget(sv)
        return l

    def list2tree(self, lbl, lst):
        tvn = self.tv.add_node(TreeViewLabel(text=lbl))
        for t in lst:
           self.tv.add_node(TreeViewLabel(text=t), tvn)
 
    def report(self, added, error, missing):
        self.report_clear ()
        self.list2tree ('Added', added)
        self.list2tree('Error', error)
        self.list2tree('Missing', missing)     

    def report_clear(self):
        while len (self.tv.root.nodes) > 0:
                self.tv.remove_node (self.tv.root.nodes[0])
 
    def btn_run(self, value):
        fdb = '/sdcard/Download/filedb.csv'
        self.dw = None
        self.dw = CsvTest.DirWalker ()
        self.dw.filedb.load( fdb)
        self.dw.walk ( '/sdcard/Download')
        self.dw.filedb.save (fdb)
        self.report( self.dw.filedb.added,
            self.dw.filedb.errors, 
            self.dw.filedb.not_visited())
Example #41
0
class POSFMApp(App):

    def build(self):
	layout = FloatLayout()
        self.tv = TreeView(root_options=dict(text='Tree One'), hide_root=True, indent_level=0, indent_start=0)
        self.tv.size_hint = 1, None
        self.tv.bind(minimum_height = self.tv.setter('height'))
        self.populate_tree_view(self.tv)

	self.camera = Button(text = 'Camera', size_hint =(1/3.,.23),
				background_color=[1,0,0,.6], pos_hint={'x':0,'y':0})
	self.add = Button(text = 'Add', size_hint =(1/3.,.23),
			background_color=[1,0,0,.6], pos_hint={'x':1/3.,'y':0})
	self.sort = Button(text = 'Sort', size_hint =(1/3.,.23), 
			   background_color=[1,0,0,.6], pos_hint={'x':2/3.,'y':0})
        root = ScrollView(pos = (0, 0))
        root.add_widget(self.tv)
	layout.add_widget(root)
	layout.add_widget(self.camera)
	layout.add_widget(self.add)
	layout.add_widget(self.sort)
        return layout

    def populate_tree_view(self, tv):

        for i, item in enumerate(foodlist):
	    if item.categ not in usedcat.keys():
	        catbutton = TreeViewButton(text='%s' % item.categ, font_size = '50sp',
				size = (100, 450), background_color=[1,1,0,1])
	        catbutton.bind(on_press=self.cat_clicked)
                g = self.tv.add_node(catbutton)
		usedcat[item.categ] = g
	    else:
		g = usedcat[item.categ]
	    itembutton = TreeViewButton(text='%s' % item.name, font_size = '30sp',
				size = (100,150), background_color=[0,1,1,1])
	    itembutton.outline_height = 10
	    self.tv.add_node(itembutton, g)

    def cat_clicked(self, button):
        self.tv.toggle_node(button)
Example #42
0
	def show_key(self, gloup):
		tree = TreeView(size_hint=(1, 1), hide_root=True,
				indent_level=20)

		def getReadableSize(size):
			units = ['o', 'Ko', 'Mo', 'Go']
			unit = 0
			while size > 1024 and unit < 3:
				size = size / 1024.0
				unit = unit + 1
			return "%.2f %s" % (size, units[unit])


		tree.bind(selected_node=self.show_file)

		self.content.clear_widgets()
		self.content.add_widget(tree)
		dirNodes = dict()

		# la racine
		dirNodes[path_to_watch] = tree.add_node(TreeViewLabel(
			text="Ordinateur", is_open=True, no_selection=True))

		for root, dirs, files in os.walk(path_to_watch):
			for diritem in dirs:
				fulldiritem = os.path.join(root, diritem)
				dirNodes[fulldiritem] = tree.add_node(TreeViewLabel(
					text=diritem, is_open=False, no_selection=True), dirNodes[root])
			for fileitem in files:
				(a, ext) = os.path.splitext(fileitem)
				if fileitem[0] !='.':
					label = "%s (%s)" % (fileitem, getReadableSize(os.path.getsize(os.path.join(root, fileitem)))) #FIXME Aligner à droite
					if ext == '.pdf':
						tree.add_node(TreeViewLabelPath(os.path.join(root, fileitem), text=label), dirNodes[root])
					else:
						tree.add_node(TreeViewLabel(text=label, no_selection=True), dirNodes[root]) # FIXME Faire du gris
Example #43
0
    def build(self):
	layout = FloatLayout()
        self.tv = TreeView(root_options=dict(text='Tree One'), hide_root=True, indent_level=0, indent_start=0)
        self.tv.size_hint = 1, None
        self.tv.bind(minimum_height = self.tv.setter('height'))
        self.populate_tree_view(self.tv)

	self.camera = Button(text = 'Camera', size_hint =(1/3.,.23),
				background_color=[1,0,0,.6], pos_hint={'x':0,'y':0})
	self.add = Button(text = 'Add', size_hint =(1/3.,.23),
			background_color=[1,0,0,.6], pos_hint={'x':1/3.,'y':0})
	self.sort = Button(text = 'Sort', size_hint =(1/3.,.23), 
			   background_color=[1,0,0,.6], pos_hint={'x':2/3.,'y':0})
        root = ScrollView(pos = (0, 0))
        root.add_widget(self.tv)
	layout.add_widget(root)
	layout.add_widget(self.camera)
	layout.add_widget(self.add)
	layout.add_widget(self.sort)
        return layout
Example #44
0
    def build(self):
        agac_koku = TreeView()
        ebeveyn1=agac_koku.add_node(TreeViewLabel(text='Ebeveyn 1'))
        
        cocuk11=agac_koku.add_node(TreeViewLabel(text='Çocuk 1 1'), ebeveyn1)
        cocuk12=agac_koku.add_node(TreeViewLabel(text='Çocuk 1 2'), ebeveyn1)
        
        cocuk121=agac_koku.add_node(TreeViewLabel(text='Çocuk 1 2 1'), cocuk12)
        cocuk122=agac_koku.add_node(TreeViewLabel(text='Çocuk 1 2 2'), cocuk12)
        
        ebeveyn2=agac_koku.add_node(TreeViewLabel(text='Ebeveyn 2'))
        cocuk21=agac_koku.add_node(TreeViewLabel(text='Çocuk 2 1'), ebeveyn2)
        cocuk22=agac_koku.add_node(TreeViewLabel(text='Çocuk 2 2'), ebeveyn2)

        
        return agac_koku
Example #45
0
    def fill_tree(self, filtre):
        self.scroll.clear_widgets()

        tree = TreeView(hide_root=True, size_hint_y=None, size_hint_x = 0.6)
        tree.bind(minimum_height=tree.setter('height'),
                  selected_node=self.show_details)
        self.scroll.add_widget(tree)

        for uv in self.uvs:
            if uv[0].startswith(filtre.upper()) and uv[1] != 0:
                node = TreeViewLabel(text=u"%s   (%s €)" % (uv[0],
                                                                   uv[1]*0.06),
                                            font_size=30, size_hint_y=None,
                                            padding=(20,20))
                tree.add_node(node)

        self.tree = tree
    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
Example #47
0
class MainWindow(BoxLayout):
    def __init__(self, **kwargs):
        BoxLayout.__init__(self, **kwargs)

        self.nodes = []
        self.tree = TreeView(hide_root=True)

        #   Create UI
        self.add_node()
        self.add_widget(self.tree)

    def add_node(self):
        parent_nodes = []
        remove_list = []
        parent_texts = []
        add_list = []
        add_nodes = []

        # Add root node
        for g in game_data:
            if not g[1]:
                node = self.get_node(g[0])
                node.is_open = True
                self.tree.add_node(node)
                parent_nodes.append(node)
                remove_list.append(g)
                parent_texts.append(g[0])

        # Remove parents level 1
        for rm in remove_list:
            print('remove ', rm[0])
            game_data.remove(rm)
        remove_list = []

        c = 0
        while game_data and c < 5:
            print('data is ', game_data)
            for index, g in enumerate(game_data):
                if g[1] in parent_texts:
                    print(g[0], ' is child of ', parent_texts)
                    add_list.append(g)

            parent_texts = []

            for p in parent_nodes:
                for g in add_list:
                    if g[1] == p.text:
                        node = self.get_node(g[0])
                        self.tree.add_node(node, parent=p)
                        add_nodes.append(node)
                        parent_texts.append(g[0])
                        remove_list.append(g)

            # Clear list
            parent_nodes = add_nodes
            add_nodes = []
            print(parent_nodes)

            # Remove
            for rm in remove_list:
                game_data.remove(rm)
                remove_list = []

            c += 1

    @staticmethod
    def get_node(text):
        img = Image(source='C:\\Users\\PredatorPy\\Pictures\\Wallpaper\\eun-jin-dia.jpg', size_hint_x=0.1)
        node = None
        if text:
            node = MyNode(img, text)
        return node

    def cb(self, e, e2, e3):
        print('cb', e, e2, e3)

    def state(self, e):
        print(e)

    def on_touch_up(self, t):
        pass
 def __init__(self, *args, **kwargs):
     TreeView.__init__(self, *args, **kwargs)
     #Now, bind yourseilf on list of templates
     self.observer = Observer()
     self.event_handler = MyFileEventHandler(self)
Example #49
0
 def on_touch_down(self, touch):
     if self.collide_point(*touch.pos) and touch.is_double_tap and getattr(touch, 'button', -1) == "left":
         node = self.get_node_at_pos(touch.pos)
         if node == self.root:
             self.load_folder(self.folder)
     return TreeView.on_touch_down(self, touch)
Example #50
0
class MainScreen(Screen):
    file_view = ObjectProperty(None)
    Builder.load_file('gui/mainscreen.kv')
    stop = threading.Event()

    def setup_cloud_task(self):
        try:
            controller.setup_cloud(AES_CRYPTO)
        except CloudTokenError as err:
            open_popup_error('Cloud Token', err)
        self.stop.set()

    def on_pre_enter(self, *args):
        controller.setup_stash()
        # use thread for background task, use clock in a background task to access the ui
        threading.Thread(target=self.setup_cloud_task).start()
        file_names = controller.get_uploaded_file_names()
        self.file_view = TreeView(hide_root=True, indent_level=4)
        self.file_view.size_hint = 1, None
        self.file_view.bind(minimum_height=self.file_view.setter('height'))
        self.scroll_view.add_widget(self.file_view)
        for file_name in file_names:
            self.file_view.add_node(TreeViewLabel(text=file_name))

        self.max_storage_size = controller.get_max_storage_size()
        self.usage_bar.max = self.max_storage_size
        self.update_storage_view()

    def dismiss_popup(self):
        self._popup.dismiss()

    def select_file(self):
        content = LoadDialog(load=self.upload_file, cancel=self.dismiss_popup)
        self._popup = Popup(title="Upload file", content=content, size_hint=(0.9, 0.9))
        self._popup.open()

    def update_storage_view(self):
        self.used_storage_size = controller.get_used_storage_size()
        self.usage_label.text = controller.get_data_type_format(self.used_storage_size, self.max_storage_size)
        self.usage_bar.value = self.used_storage_size

    def get_free_storage_size(self):
        return self.max_storage_size - self.used_storage_size

    def split_input_file_task(self):
        controller.save_file_input(self.filename, self.file_input, AES_CRYPTO)
        self.file_view.add_node(TreeViewLabel(text=self.filename))
        self.update_storage_view()
        try:
            controller.update_data(self.filename, AES_CRYPTO)
        except CloudTokenError as err:
            open_popup_error('Cloud Token', err)
        self.stop.set()

    def upload_file_task(self):
        with open(os.path.join(self.path, self.filename[0]), utils.READ_BINARY_MODE) as file:
            self.file_input = file.read()

        if controller.is_storage_available(len(self.file_input), self.get_free_storage_size()):
            self.filename = os.path.basename(self.filename[0])
            self.split_input_file_task()
        else:
            open_popup('Upload Error', 'Not enough storage available.')

        self.stop.set()

    def upload_file(self, path, filename):
        self.path = path
        self.filename = filename
        threading.Thread(target=self.upload_file_task).start()
        self.dismiss_popup()

    def get_selected_node(self):
        selected_node = self.file_view.selected_node
        if selected_node is None:
            raise NoSelectedNode('No file has been selected.')
        return selected_node

    def select_location(self):
        try:
            self.selected_node_text = self.get_selected_node().text
        except NoSelectedNode as err:
            open_popup_error('Download error', err)
            return
        content = SaveDialog(save=self.save, cancel=self.dismiss_popup)
        content.file_name_label.text = self.selected_node_text
        self._popup = Popup(title="Download file", content=content,
                            size_hint=(0.9, 0.9))
        self._popup.open()

    def download_file_task(self):
        try:
            controller.download_selected_file(self.selected_node_text, self.path, self.filename, AES_CRYPTO)
            open_popup('Download file', 'Download was successful')
        except (DownloadFileError, FileSizeError, CloudTokenError) as err:
            open_popup_error('Download error', err)
            return
        self.stop.set()

    def save(self, path, filename):
        self.path = path
        self.filename = filename
        threading.Thread(target=self.download_file_task).start()
        self.dismiss_popup()

    def delete_file_task(self):
        controller.delete_selected_node(self.selected_node_text)
        self.update_storage_view()
        self.stop.set()

    def delete_selected_file(self):
        try:
            self.selected_node = self.get_selected_node()
            self.selected_node_text = self.selected_node.text
        except NoSelectedNode as err:
            open_popup_error('Delete error', err)
            return
        self.file_view.remove_node(self.selected_node)
        threading.Thread(target=self.delete_file_task).start()
Example #51
0
		def _on_view_manager( self ) :
			"""

			:return:
			"""

			if not self._view_manager :
				self._view_manager = screen.ViewManagerScreen()
				self._view_manager.name = 'screen_view_manager'
				self._view_manager.id = 'view_manager_screen'
				tv = TreeView( root_options=dict( text = 'king console' , font_size = 18 ) )
				self._rube_widget = tv

				layout = GridLayout( orientation='horizontal' , size_hint_y = None  , cols=1 , size = (480 , 900 ))
				# action bar
				ab = Builder.load_string( self._retr_resource( 'action_bar_plus' ) )


				layout.add_widget( ab )

				# scroll
				sv = ScrollView()

				# tree view
				n1 = tv.add_node(screen.TreeManagerLabel(text='main context') )
				n2 = tv.add_node(screen.TreeManagerLabel(text='transport'), n1)
				tv.add_node(screen.TreeManagerLabel(text='syn ack'), n2)
				n3 = tv.add_node(screen.TreeManagerLabel(text='mini mport scan'), n2)
				tv.add_node(screen.TreeManagerLabel(text='discovery & port manip'), n3)
				tv.add_node(screen.TreeManagerLabel(text='nmap firewalk'), n3)
				tv.add_node(screen.TreeManagerLabel(text='atomic firewalk'), n3)


				n4 = tv.add_node(screen.TreeManagerLabel(text='network'), n1)
				tv.add_node(screen.TreeManagerLabel(text='ping'), n4)
				n5 = tv.add_node(screen.TreeManagerLabel(text='ping subnet'), n4)
				tv.add_node(screen.TreeManagerLabel(text='beaucoup ping' ) , n5),
				n6 = tv.add_node(screen.TreeManagerLabel(text='application & discovery'), n1)
				n7 = tv.add_node(screen.TreeManagerLabel(text='quick fingerprint'), n6)
				tv.add_node(screen.TreeManagerLabel(text='fat ingerprint'), n6)
				tv.add_node(screen.TreeManagerLabel(text='baby snmp'), n7)
				tv.add_node(screen.TreeManagerLabel(text='upnp'), n7)
				tv.add_node(screen.TreeManagerLabel(text='ip geography'), n7)
				n8 = tv.add_node(screen.TreeManagerLabel(text='datalink'), n1)
				tv.add_node(screen.TreeManagerLabel(text='arp'), n8)
				n9 = tv.add_node(screen.TreeManagerLabel(text='arp scan'), n8)
				tv.add_node(screen.TreeManagerLabel(text='arp monitor'), n9)
				n10 = tv.add_node(screen.TreeManagerLabel(text='streams'), n1)
				tv.add_node(screen.TreeManagerLabel(text='payload policy'), n10)
				tv.add_node(screen.TreeManagerLabel(text='traceroute context' ) )
				tv.add_node(screen.TreeManagerLabel(text='packet stream context' ) )

				layout.add_widget( tv )
				sv.add_widget( layout )


				self._view_manager.add_widget( sv )
				self.root.add_widget( self._view_manager )

			self.root.current = self._view_manager.name