Example #1
0
    def __init__(self, **kwargs):
        super(MainScreen, self).__init__(**kwargs)

        table_header = [
            ['ID', 'center', 'center', 'string', 0.1, 'hidden'],
            ['Field 01', 'center', 'left', 'option', 0.4, 'visible'],
            ['Field 02', 'center', 'right', 'number', 0.3, 'visible'],
            ['Field 03', 'center', 'right', 'coin', 0.2, 'visible']
        ]
        table_body = [['01', 'Item 01', '12', '1.8'],
                      ['02', 'Item 02', '43', '1.8'],
                      ['03', 'Item 03', '3', '1.8'],
                      ['04', 'Item 04', '23', '1.8'],
                      ['05', 'Item 05', '12', '1.8'],
                      ['06', 'Item 06', '23', '1.8']]
        table_footer = ['footer 01', 'footer 02', 'footer 03']

        grid = DataGrid(table_header, table_body, '', '')
        # _size=(400, 500000)
        scroll = ScrollView(size_hint=(1, 1),
                            scroll_y=0,
                            pos_hint={
                                'center_x': .5,
                                'center_y': .5
                            },
                            effect_y=None,
                            scroll_distance=0)
        scroll.add_widget(grid)
        scroll.do_scroll_y = True
        scroll.do_scroll_x = False

        self.children[0].add_widget(scroll)
        new_data = ['XX', 'Novo Produto', '1023', '2.12']

        def add_new_row(self):
            grid.add_row(new_data)

        def remove_sel_row(self):
            grid.remove_selected_row()

        def select_all_cells(self):
            grid.select_all()

        def deselect_all_cells(self):
            grid.deselect_all()

        self.children[0].add_widget(
            Button(text="add row", on_release=add_new_row, size_hint_y=.2))
        self.children[0].add_widget(
            Button(text="remove row",
                   on_release=remove_sel_row,
                   size_hint_y=.2))
        self.children[0].add_widget(
            Button(text="select all",
                   on_release=select_all_cells,
                   size_hint_y=.2))
        self.children[0].add_widget(
            Button(text="deselect all",
                   on_release=deselect_all_cells,
                   size_hint_y=.2))
Example #2
0
    def all_student(self):
        self.conn = sqlite3.connect('SCHOOL.db')
        self.c = self.conn.cursor()
        self.all_students = self.c.execute('SELECT * FROM STUDENTS')

        gris = GridLayout(
            rows=2,
            # row_default_height=(self.width - self.cols * self.spacing[0]) / self.cols,
            # row_force_default=True,
            # size_hint_y=None,
            # height=self.minimum_height,
            padding=(dp(1), dp(1)),
            spacing=dp(1))
        sv = ScrollView()
        ml = MDList()
        for row in self.all_students:
            ml.add_widget(
                ThreeLineListItem(text=str(row[1]),
                                  secondary_text=row[2] + '\n' + row[3]))
        sv.do_scroll_y = True
        sv.do_scroll_x = False
        sv.add_widget(ml)
        gris.add_widget(
            MDTextField(hint_text="Helper text on focus",
                        helper_text="This will disappear when you click off",
                        helper_text_mode="on_focus"))
        gris.add_widget(sv)
        self.root.ids.students.add_widget(gris)
        self.root.ids.screen_manager.current = str(self.root.ids.students.name)
def scrollgrid(Screen, components, pos, size):
    grid = GridLayout(cols=1, size_hint_y=None)
    grid.bind(minimum_height=grid.setter('height'))
    for i in components:
        grid.add_widget(i)

    scroll = ScrollView(size_hint=(1, None), pos=pos, size=size)
    scroll.do_scroll_y = True
    scroll.do_scroll_x = False
    scroll.add_widget(grid)
    return scroll
Example #4
0
def generate_GUI(menus):
    app_gui = TabbedPanel()
    app_gui.clear_tabs()
    app_gui.orientation = "vertical"
    app_gui.do_default_tab = False
    app_gui.tab_width = 150

    for menu_key, sub_menu in menus.items():
        main_menu = TabbedPanelHeader(text=menu_key)
        scroll_pane = ScrollView()
        scroll_pane.scroll_type = ['bars', 'content']
        scroll_pane.bar_pos_y = 'left'
        scroll_pane.bar_width = 6
        scroll_pane.do_scroll_y = True
        scroll_pane.do_scroll_x = False
        scroll_pane.scroll_y = 1

        menu_grid = GridLayout(cols=1, spacing=2, size_hint_y=None)
        menu_grid.orientation = "vertical"
        menu_grid.padding = 10
        menu_grid.row_default_height = 1
        menu_height = 0

        print(">>>" + menu_key)
        for sub_menu_key, items in sub_menu.items():
            menu_grid.add_widget(
                Label(text="     " + sub_menu_key, size_hint=(None, None), font_size=14, halign="left",
                      valign="middle"))
            print("\t" + sub_menu_key)
            for option in items:

                if "Name" in option:
                    print("\t\t" + option["Name"])
                    btn = Button(text=option["Name"], size_hint=(0.1, None), background_color=(0.2, 1, 1, 0.8))
                    btn.bind(on_press=lambda x: webbrowser.open(option["URL"]))
                else:
                    print("\t\t" + "<EMPTY>")
                    btn = Button(text="<EMPTY>", size_hint=(0.1, None), background_color=(0.2, 1, 1, 0.8))
                    btn.bind(on_press=lambda x: webbrowser.open(option["URL"]))
                btn.width = 250
                btn.height = 50
                menu_grid.add_widget(btn)
                menu_height += 80
            menu_height += 51
        menu_grid.height = menu_height
        scroll_pane.add_widget(menu_grid)
        main_menu.content = scroll_pane
        main_menu.orientation = "vertical"

        # Adding headers to main layout
        app_gui.add_widget(main_menu)
    return app_gui
Example #5
0
    def list_course(self):
        box = BoxLayout()
        sv = ScrollView()
        ml = MDList()
        self.get_courses = self.c.execute('SELECT * FROM COURSES')

        for row in sorted(self.get_courses):
            ml.add_widget(OneLineListItem(text=str(row[1])))
        sv.do_scroll_y = True
        sv.do_scroll_x = False
        sv.add_widget(ml)
        self.root.ids.courses.add_widget(sv)
        self.root.ids.screen_manager.current = str(self.root.ids.courses.name)
Example #6
0
    def __init__(self, **kwargs):
        super(ProductDetailScreen, self).__init__(**kwargs)
        # File name of the beer selected
        # NEEDS TO BE SET
        #bottle_name = ('Coors_Lightbottle.jpg')
        # Beer name from the given bottle name
        #beer_name = re.sub('[^a-zA-Z0-9\n]', ' ', bottle_name)
        #beer_name = beer_name[:-4]
        # Beer text description pulled cfrom the given beer_name
        # NEEDS TO BE SET
        self.descriptionAnchor.add_widget(self.descriptionLabel)
        # self.info_layout.add_widget(self.nameLabel_two)
        # self.info_layout.add_widget(self.locationLabel)
        # self.info_layout.add_widget(self.priceLabel)

        self.info_layout.add_widget(self.descriptionAnchor)
        self.bottleImage_layout.add_widget(self.bottleImage)
        # Get all the tags for the given beer
        # NEEDS TO BE SET
        beer_tags = 'sports football stadium party coors molson light beer mountains'
        tag_list = []
        for i in beer_tags.split():
            tag_list.append(i)
        # Horizontal Scrollable View
        grid_one_layout = GridLayout(cols=30, spacing=5, size_hint_x=None)
        # Make sure the height is such that there is something to scroll.
        grid_one_layout.bind(minimum_width=grid_one_layout.setter('width'))
        for tag_name in tag_list:
            relative_one_layout = AnchorLayout(size_hint_x=None, size_hint_y=None, height=30, width=100)
            btn = Button(size_hint_y=None, size_hint_x=None, height=30, width=100, background_color=[1,1,1,1])
            label = Label(text=tag_name, color=[0,0,0,1], size_hint=(None, None), height=30, width=relative_one_layout.width, halign='center', pos_hint={'x':0,'y':0})
            relative_one_layout.add_widget(btn)
            relative_one_layout.add_widget(label)
            grid_one_layout.add_widget(relative_one_layout)

        scroll_view_one = ScrollView(bar_color=[0,0,0,0], size_hint=(1.0, None), height=30, pos_hint={'x':0.0,'y':0.0})
        scroll_view_one.do_scroll_y=False
        scroll_view_one.do_scroll_x=True
        scroll_view_one.add_widget(grid_one_layout)
        #self.add_widget(scroll_view_one)


        # Add wigets to the product detail page
        self.add_widget(self.logoImage)
        self.add_widget(self.bottleImage_layout)
        self.add_widget(self.nameLabel)

        self.add_widget(self.nameLabel_two)
        self.add_widget(self.locationLabel)
        self.add_widget(self.priceLabel)
        self.add_widget(self.info_layout)
Example #7
0
 def teachers(self):
     sv = ScrollView()
     ml = MDList()
     rows = self.c.execute('SELECT * FROM TEACHERS')
     for row in sorted(rows):
         ml.add_widget(
             ThreeLineListItem(text=str(row[1]),
                               secondary_text="id: " + str(row[0]) + '\n'
                               'under : ' + row[2]))
     sv.do_scroll_y = True
     sv.do_scroll_x = False
     sv.add_widget(ml)
     self.root.ids.teachers.add_widget(sv)
     self.root.ids.screen_manager.current = str(self.root.ids.teachers.name)
Example #8
0
def scrollgridChat(Screen, components, pos, size):
    grid = GridLayout(cols=1, size_hint_y=None)
    grid.bind(minimum_height=grid.setter('height'))
    k = 0
    for i in components:
        grid.add_widget(CBadge2(votes=str(i['votes']), k=k))
        grid.add_widget(Mail(i['author'], i['comment']))
        k = k + 1

    scroll = ScrollView(size_hint=(1, None), pos=pos, size=size)
    scroll.do_scroll_y = True
    scroll.do_scroll_x = False
    scroll.add_widget(grid)
    return scroll
Example #9
0
    def __init__(self, **kwargs):
        self.donnees = kwargs.pop("donnees", None)

        super(Popup, self).__init__(**kwargs)
        ctrl_tableau = Tableau_totaux(donnees=self.donnees)
        ctrl_scroll = ScrollView()
        ctrl_scroll.add_widget(ctrl_tableau)
        ctrl_scroll.do_scroll_y = True
        ctrl_scroll.do_scroll_x = False

        ctrl_box = BoxLayout(orientation="vertical", padding=10)
        ctrl_box.add_widget(ctrl_scroll)

        self.add_widget(ctrl_box)
Example #10
0
    def __init__(self, *args, **kwargs):
        super(Popup, self).__init__(*args, **kwargs)
        self.donnees = kwargs.pop("donnees", None)

        ctrl_tableau = Tableau_totaux(donnees=self.donnees)
        ctrl_scroll = ScrollView()
        ctrl_scroll.add_widget(ctrl_tableau)
        ctrl_scroll.do_scroll_y = True
        ctrl_scroll.do_scroll_x = False

        ctrl_box = BoxLayout(orientation="vertical", padding=10)
        ctrl_box.add_widget(ctrl_scroll)

        self.add_widget(ctrl_box)
Example #11
0
 def subjects(self):
     self.conn = sqlite3.connect('SCHOOL.db')
     self.c = self.conn.cursor()
     self.all_subjects = self.c.execute('SELECT * FROM STUDENTS')
     sv = ScrollView()
     ml = MDList()
     for row in sorted(self.all_subjects):
         ml.add_widget(
             ThreeLineListItem(text=str(row[1]),
                               secondary_text="id: " + str(row[0]) + '\n'
                               'under : ' + row[2]))
     sv.do_scroll_y = True
     sv.do_scroll_x = False
     sv.add_widget(ml)
     self.root.ids.subjects.add_widget(sv)
     self.root.ids.screen_manager.current = str(self.root.ids.subjects.name)
Example #12
0
    def __init__(self, **kwargs):
        super(MainScreen, self).__init__(**kwargs)

        table_header = [['ID', 'center', 'center', 'string', 0.1, 'hidden'],
                        ['Field 01', 'center', 'left', 'option', 0.4, 'visible'],
                        ['Field 02', 'center', 'right', 'number', 0.3, 'visible'],
                        ['Field 03', 'center', 'right', 'coin', 0.2, 'visible']]
        table_body = [
            ['01', 'Item 01', '12', '1.8'],
            ['02', 'Item 02', '43', '1.8'],
            ['03', 'Item 03', '3', '1.8'],
            ['04', 'Item 04', '23', '1.8'],
            ['05', 'Item 05', '12', '1.8'],
            ['06', 'Item 06', '23', '1.8']]
        table_footer = ['footer 01', 'footer 02', 'footer 03']

        grid = DataGrid(table_header, table_body, '', '')
        # _size=(400, 500000)
        scroll = ScrollView(size_hint=(1, 1), scroll_y=0,
                            pos_hint={'center_x': .5, 'center_y': .5}, effect_y=None, scroll_distance=0)
        scroll.add_widget(grid)
        scroll.do_scroll_y = True
        scroll.do_scroll_x = False

        self.children[0].add_widget(scroll)
        new_data = ['XX', 'Novo Produto', '1023', '2.12']


        def add_new_row(self):
            grid.add_row(new_data)

        def remove_sel_row(self):
            grid.remove_selected_row()

        def select_all_cells(self):
            grid.select_all()

        def deselect_all_cells(self):
            grid.deselect_all()

        self.children[0].add_widget(Button(text="add row", on_release=add_new_row, size_hint_y=.2))
        self.children[0].add_widget(Button(text="remove row", on_release=remove_sel_row, size_hint_y=.2))
        self.children[0].add_widget(Button(text="select all", on_release=select_all_cells, size_hint_y=.2))
        self.children[0].add_widget(Button(text="deselect all", on_release=deselect_all_cells, size_hint_y=.2))
Example #13
0
    def get_student(self, value):

        sv = ScrollView()
        ml = MDList()
        sv.add_widget(ml)
        get_student = self.c.execute(
            'SELECT * FROM STUDENTS WHERE STUDENT_CLASS_NAME = ?', (value, ))
        for row in get_student:
            ml.add_widget(OneLineListItem(text=str(row[1])))
        sv.do_scroll_y = True
        sv.do_scroll_x = False
        r = GridLayout(cols=1, rows=1)
        r.add_widget(sv)
        p = Popup(title='STUDENTS',
                  size_hint=(.7, 0.7),
                  background_color=(0, 0, .9, .5),
                  auto_dismiss=True)
        p.add_widget(r)
        p.open()
Example #14
0
    def build(self, name, listGameMonsters):
        self.name = name
        self.listMonsters = listMonsters

        s = ScrollView(size_hint=(1, None), size=(Window.width, Window.height))
        s.do_scroll_y = True
        s.do_scroll_x = False
        l = GridLayout(cols=4,
                       spacing=[10, 5],
                       size_hint_y=None,
                       padding=[175, 100, 0, 0])
        l.bind(minimum_height=l.setter('height'))

        i = 0.9
        for monster in listGameMonsters:
            self.Img = Image(source='MHW_picture_FirstWindow.jpg',
                             allow_stretch=True,
                             keep_ratio=False)
            self.text = Label(text=monster.name)
            self.buttonToMonster = Button(
                text="",
                font_size='30sp',
                width=150,
                height=150,
                size_hint_y=None,
                background_normal='MHW_picture_FirstWindow.jpg')
            self.buttonToMonster.bind(on_press=self.pageToMonster)
            # On ajoute le bouton dans l'affichage:
            l.add_widget(self.text)
            l.add_widget(self.buttonToMonster)
            i -= 0.1
        s.add_widget(l)
        self.add_widget(s)
        # On cree un bouton:
        self.buttonPreviousPage = Button(text='Go Back', font_size='30sp')
        self.buttonPreviousPage.pos_hint = {"x": 0.0, "y": 0.0}
        self.buttonPreviousPage.size_hint = (0.2, 0.1)
        self.buttonPreviousPage.bind(on_press=self.previousPage)
        # On ajoute le bouton dans l'affichage:
        self.add_widget(self.buttonPreviousPage)

        sm.add_widget(self)
def fill_menu_with_data():
	# Necesary to flush old data 
	airtable_content.clear_tabs()

	# Layout metadata to specify dimension and style
	airtable_content.orientation = "vertical"
	airtable_content.do_default_tab = False # Necesary to disable Default Tab that TabbedPanel generate automatically
	airtable_content.background_color = (0, 0, 1, .5) #50% translucent
	airtable_content.tab_width = 150

	# Trigger airtable connection and data retrieval
	# tab_headers and tab_menus have all data needed to fill airtable_content
	fetch_airtable_data()

	# Creation of each Tab and their respective items 
	for header in tab_headers:

		tab = TabbedPanelHeader(text=header)

		# Scrollview required to adequatly contain items without window or objec distortion
		# Effectively scroll through the menu effortlessly
		scroll = ScrollView()
		scroll.bar_margin = 10
		scroll.size_hint = (1, 1) # Needed to allow scrollview to fit the window regarless od size
		scroll.scroll_type = ['bars', 'content'] # allow scrolling via the bar or by draging content 
		scroll.bar_pos_y = 'left'
		scroll.bar_width = 20
		scroll.bar_color = (5, 10, 15, 0.8)
		scroll.bar_inactive_color = (5, 20, 15, 0.8)
		scroll.do_scroll_y = True # Needed for vertical scrolling
		scroll.do_scroll_x = False
		scroll.scroll_y = 1 # Scrolling speed
		
		# Adding item specifically fitted for the current tab
		scroll.add_widget(format_airtable_data(header))

		tab.content = scroll # adding scrollview with fitted items as content of the tab
		tab.content.orientation = "vertical"
		
		airtable_content.add_widget(tab) # adding the entirity of a tab page to the TabbedPanel
Example #16
0
    def new_back(self):
        # Popup for changing backgrounds
        val = '180dp'
        self.popup = Popup(title='Choose background',
                           auto_dismiss=True,
                           size_hint=(0.95, 0.62),
                           separator_color=(0, 0, 1, 1),
                           title_align='center',
                           title_color=(1, 1, 1, 1),
                           title_size='16sp',
                           title_font='fonts/Fcarbim.ttf')

        scroll = ScrollView()
        scroll.size_hint = (1, 1)
        scroll.do_scroll_x = False
        scroll.do_scroll_y = True

        grd = GridLayout(cols=3, spacing='3dp')
        grd.size_hint = (1, None)
        grd.bind(minimum_height=grd.setter('height'))

        but1 = ImageButton(
            source='boc/BackOfCards.png',
            on_release=lambda x: self.receive('boc/BackOfCards.png'),
            size_hint=(1, None),
            height=val)
        but2 = ImageButton(
            source='boc/BackOfCards1.png',
            on_release=lambda x: self.receive('boc/BackOfCards1.png'),
            size_hint=(1, None),
            height=val)
        but3 = ImageButton(
            source='boc/BackOfCards2.png',
            on_release=lambda x: self.receive('boc/BackOfCards2.png'),
            size_hint=(1, None),
            height=val)
        but4 = ImageButton(
            source='boc/BackOfCards3.png',
            on_release=lambda x: self.receive('boc/BackOfCards3.png'),
            size_hint=(1, None),
            height=val)
        but5 = ImageButton(
            source='boc/BackOfCards4.png',
            on_release=lambda x: self.receive('boc/BackOfCards4.png'),
            size_hint=(1, None),
            height=val)
        but6 = ImageButton(
            source='boc/BackOfCards5.png',
            on_release=lambda x: self.receive('boc/BackOfCards5.png'),
            size_hint=(1, None),
            height=val)

        grd.add_widget(but1)
        grd.add_widget(but2)
        grd.add_widget(but3)
        grd.add_widget(but4)
        grd.add_widget(but5)
        grd.add_widget(but6)

        scroll.add_widget(grd)
        self.popup.add_widget(scroll)
        self.popup.open()
Example #17
0
    def on_activated(self,*args):
        super(VirtualScreenManagerStack, self).on_activated(*args)
        print 'on activated', self.activated, self.current_screen
        SCALE = .6 if self.activated else 1
        if self.activated:
            self.clear_widgets()
            grid = Carousel(size_hint = (1,1), width=.8*Window.width, x=.1*Window.width, direction="bottom")
            FloatLayout.add_widget(self,grid)
        for wrapper in self.wrappers.values():
            print 'before', wrapper.size
            wrapper.scale=SCALE
            print 'after', wrapper.size
            if self.activated:
                wrapper.size_hint= None, None
                print 'adding wrapper of ', wrapper.height
                grid.add_widget(wrapper)
            else:
                self.children[0].remove_widget(wrapper)
        if not self.activated:
            self.clear_widgets()
            w= self.wrappers[self.current_screen]
            w.pos = 0,0
            w.size_hint= 1,1
            FloatLayout.add_widget(self, w)
        else:
            print "grid", grid.size, grid.pos, grid.size_hint
        return
        if 0:
            self.clear_widgets()
            sv = ScrollView()
            with sv.canvas.before:
                Color(.3,.3,.3)
                Rectangle(size=self.size, pos=self.pos)
            FloatLayout.add_widget(self,sv)
            grid= GridLayout()
            sv.do_scroll_x = self.activated
            sv.do_scroll_y = self.activated
            grid.rows = 1 if self.orientation=='horizontal' else None
            grid.cols = 1 if self.orientation=="vertical" else None
            grid.bind(minimum_height = grid.setter('height'))
            grid.bind(minimum_width = grid.setter('width'))
            grid.spacing = self.spacing
            sv.add_widget(grid)
            SCALE = .6
                        # if self.orientation == 'vertical':
                        #     attrName = "cols"
                        #     dh_name = "row_default_height"
                        #     default_value = SCALE*self.height #300
                        #     size_hint=(1,None)
                        # else:
                        #     attrName = "rows"
                        #     dh_name = "col_default_width"
                        #     default_value = 400
                        #     size_hint=(None,1)
                        # kwargs = {attrName:2, dh_name:default_value}
                        # kwargs = {attrName:2}
                        # kwargs = {attrName:1}
                        # kwargs = {attrName:1, dh_name:default_value}
                        # if self.orientation == 'vertical':
                        #     grid.height = len(self.content)*(SCALE*self.height+self.spacing)
                        # else:
                        #     grid.width = len(self.content)*(SCALE*self.width + self.spacing)
            for sindex, screen in enumerate(self.content):
                wrapper = self.wrappers[screen]
                wrapper.size_hint = None,None
                wrapper.size = self.size
                if 1 or screen != self.current_screen:
                    wrapper.scale = SCALE
                else:
                    reducer = Animation(scale=SCALE, opacity=.5, duration=.3)
                    reducer.start(wrapper)
                grid.add_widget(wrapper)
                #Clock.schedule_once(adder,.31)
                #if self.orientation=='vertical':
                #    name = wrapper.screen_name or str(screen)
                #    grid.add_widget(MagicLabel(target= wrapper, text=name, size = wrapper.size, texture_size = (800,600), size_hint_x=None, width=60))
            ##if self.orientation =="horizontal":
            ##    for screen in self.content:
            ##        name = wrapper.screen_name or str(screen)
            ##        grid.add_widget(MagicLabel(target= wrapper, text=name, size = wrapper.size, texture_size = (800,600), size_hint_y=None, height=30))
            #scrool sv to proper height
            ##if self.orientation=="vertical":
            ##    sv.scroll_y= 1- float(self.content.index(self.current_screen))/len(self.content)
            ##else:
            ##    sv.scroll_x= float(self.content.index(self.current_screen))/len(self.content)

        else:
            sv = self.children[0]
            grid = sv.children[0]
            for screen in self.content:
                wrapper = self.wrappers[screen]
                grid.remove_widget(wrapper)
            self.clear_widgets()
            w = self.wrappers[self.current_screen]
            w.size_hint = 1,1
            FloatLayout.add_widget(self,w)
            wrapper = self.wrappers[self.current_screen]
            expander = Animation(scale = 1, opacity=1, x=0, y=0, duration=.3)
            expander.start(wrapper)
Example #18
0
                            size_hint_x=cols_size[n]))
            n += 1


grid = DataGrid(header, data, body_alignment, col_size)
grid.rows = 10

scroll = ScrollView(size_hint=(1, 1),
                    size=(400, 500000),
                    scroll_y=0,
                    pos_hint={
                        'center_x': .5,
                        'center_y': .5
                    })
scroll.add_widget(grid)
scroll.do_scroll_y = True
scroll.do_scroll_x = False

pp = partial(grid.add_row, ['001', 'Teste', '4.00', '4.00'], body_alignment,
             col_size)
add_row_btn = Button(text="Add Row", on_press=pp)
del_row_btn = Button(text="Delete Row",
                     on_press=partial(grid.remove_row, len(header)))
upt_row_btn = Button(text="Update Row")
slct_all_btn = Button(text="Select All", on_press=partial(grid.select_all))
unslct_all_btn = Button(text="Unselect All",
                        on_press=partial(grid.unselect_all))

show_grid_log = Button(text="Show log", on_press=partial(grid.show_log))

Example #19
0
			self.add_widget(HeaderLabel(text=header_str, 
																	markup=True, 
																	size_hint_y=None,
																	height=40,
																	id="Header_Label",
																	size_hint_x=cols_size[n]))
			n+=1



grid = DataGrid(header, data, body_alignment, col_size)
grid.rows = 10

scroll = ScrollView(size_hint=(1, 1), size=(400, 500000), scroll_y=0, pos_hint={'center_x':.5, 'center_y':.5})
scroll.add_widget(grid)
scroll.do_scroll_y = True
scroll.do_scroll_x = False

pp = partial(grid.add_row, ['001', 'Teste', '4.00', '4.00'], body_alignment, col_size)
add_row_btn = Button(text="Add Row", on_press=pp)
del_row_btn = Button(text="Delete Row", on_press=partial(grid.remove_row, len(header)))
upt_row_btn = Button(text="Update Row")
slct_all_btn = Button(text="Select All", on_press=partial(grid.select_all))
unslct_all_btn = Button(text="Unselect All", on_press=partial(grid.unselect_all))

show_grid_log = Button(text="Show log", on_press=partial(grid.show_log))

###
def modal_insert(self):
	lbl1 = Label(text='ID', id="lbl")
	lbl2 = Label(text='Nome', id="lbl")
Example #20
0
    def grrid(self):
        grid = DataGrid(header, data, body_alignment, col_size)
        grid.rows = 10

        scroll = ScrollView(size_hint=(1, 1),
                            size=(400, 500000),
                            scroll_y=0,
                            pos_hint={
                                'center_x': .5,
                                'center_y': .5
                            })
        scroll.add_widget(grid)
        scroll.do_scroll_y = True
        scroll.do_scroll_x = False

        pp = partial(grid.add_row, ['001', 'Teste', '4.00', '4.00'],
                     body_alignment, col_size)
        add_row_btn = Button(text="Add Row", on_press=pp)
        del_row_btn = Button(text="Delete Row",
                             on_press=partial(grid.remove_row, len(header)))
        upt_row_btn = Button(text="Update Row")
        slct_all_btn = Button(text="Select All",
                              on_press=partial(grid.select_all))
        unslct_all_btn = Button(text="Unselect All",
                                on_press=partial(grid.unselect_all))

        show_grid_log = Button(text="Show log",
                               on_press=partial(grid.show_log))

        def modal_insert(self):
            lbl1 = Label(text='ID', id="lbl")
            lbl2 = Label(text='Nome', id="lbl")
            lbl3 = Label(text='Preco', id="lbl")
            lbl4 = Label(text='IVA', id="lbl")
            txt1 = TextInput(text='000', id="txtinp", input_filter='int')
            txt2 = TextInput(text='Product Name', id="txtinp")
            txt3 = TextInput(text='123.45', id="txtinp", input_filter='float')
            txt4 = TextInput(text='23', id="txtinp", input_filter='int')

            insertion_grid = GridLayout(cols=2)
            insertion_grid.add_widget(lbl1)
            insertion_grid.add_widget(txt1)
            insertion_grid.add_widget(lbl2)
            insertion_grid.add_widget(txt2)
            insertion_grid.add_widget(lbl3)
            insertion_grid.add_widget(txt3)
            insertion_grid.add_widget(lbl4)
            insertion_grid.add_widget(txt4)
            # create content and assign to the view

            content = Button(text='Close me!')

            modal_layout = BoxLayout(orientation="vertical")
            modal_layout.add_widget(insertion_grid)

            def insert_def(self):
                input_list = []
                for text_inputs in reversed(self.parent.children[2].children):
                    if text_inputs.id == "txtinp":
                        input_list.append(text_inputs.text)
                print(input_list)
                grid.add_row(input_list, body_alignment, col_size, self)

            # print view
            # view.dismiss

            insert_btn = Button(text="Insert", on_press=insert_def)
            modal_layout.add_widget(insert_btn)
            modal_layout.add_widget(content)

            view = ModalView(auto_dismiss=False)

            view.add_widget(modal_layout)
            # bind the on_press event of the button to the dismiss function
            content.bind(on_press=view.dismiss)
            insert_btn.bind(on_release=view.dismiss)

            view.open()

        add_custom_row = Button(text="Add Custom Row", on_press=modal_insert)

        ###
        def json_fill(self):
            for d in data:
                print(d)
                self.grid.add_row(d, body_alignment, col_size, self)

        json_fill_btn = Button(text="JSON fill", on_press=partial(json_fill))

        btn_grid = BoxLayout(orientation="vertical")
        rnk = Button(text=' Rank', size_hint_y=None, height='48dp')
        rnk1 = Button(text=' Fraction', size_hint_y=None, height='48dp')
        rnk2 = Button(text=' Predicted', size_hint_y=None, height='48dp')
        rnk3 = Button(text=' Analog', size_hint_y=None, height='48dp')
        rnk4 = Button(text=' PopLog', size_hint_y=None, height='48dp')
        rnk5 = Button(text=' Residual', size_hint_y=None, height='48dp')
        rnk6 = Button(text=' Settlement Index',
                      size_hint_y=None,
                      height='48dp')
        rnk7 = Button(text=' Sphere of Influence',
                      size_hint_y=None,
                      height='48dp')
        backhome = Button(text='back home')

        btn_grid.add_widget(add_custom_row)
        btn_grid.add_widget(del_row_btn)
        btn_grid.add_widget(upt_row_btn)
        btn_grid.add_widget(slct_all_btn)
        btn_grid.add_widget(unslct_all_btn)
        btn_grid.add_widget(rnk)
        btn_grid.add_widget(rnk1)
        btn_grid.add_widget(rnk2)
        btn_grid.add_widget(rnk3)
        btn_grid.add_widget(rnk4)
        btn_grid.add_widget(rnk5)
        btn_grid.add_widget(rnk6)
        btn_grid.add_widget(rnk7)
        btn_grid.add_widget(backhome)

        root = BoxLayout(orientation="horizontal")
        root.add_widget(scroll)
        root.add_widget(btn_grid)

        f = Popup(content=root, title='SETTLEMENT STUDIES')
        backhome.bind(on_press=f.dismiss)
        f.open()