-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
68 lines (52 loc) · 2.03 KB
/
main.py
File metadata and controls
68 lines (52 loc) · 2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from kivy.uix.button import Button
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.boxlayout import BoxLayout
from kivy.app import App
from kivy.clock import Clock
from functools import partial
from tab_drawer import TabDrawer
import WebFileLoader
class TabViewerApp(App):
def init_resources(self):
#self.tab_name = 'nirvana-smells_like_teen_spirit.gp3'
self.tab_name = WebFileLoader.download_tab(self)
print(self.tab_name)
self.tab_drawer = TabDrawer()
self.tab_drawer.set_tab(self.tab_name)
self.page_number=0
self.update_labels()
def update_labels(self):
self.tab_name_label.text = self.tab_name
self.page_label.text = str(self.page_number)
def draw_frame(self, *largs):
self.canvas_widget.canvas.clear()
self.tab_drawer.draw_background(self.canvas_widget)
self.tab_drawer.draw_tab(self.canvas_widget, self.page_number)
def change_page(self, value, *largs):
new_value = self.page_number + value
if(new_value >= 0):
self.page_number=new_value
self.update_labels()
self.draw_frame()
def build(self):
self.canvas_widget = Widget()
self.page_label = Label(text='')
self.tab_name_label = Label(text='')
btn_prev_page = Button(text='<|',
on_press=partial(self.change_page, -1))
btn_next_page = Button(text='|>',
on_press=partial(self.change_page, 1))
layout = BoxLayout(size_hint=(1, None), height=50)
layout.add_widget(self.tab_name_label)
layout.add_widget(btn_prev_page)
layout.add_widget(btn_next_page)
layout.add_widget(self.page_label)
root = BoxLayout(orientation='vertical')
root.add_widget(self.canvas_widget)
root.add_widget(layout)
self.init_resources()
Clock.schedule_interval(self.draw_frame, 1.0 / 60.0)
return root
if __name__ == '__main__':
TabViewerApp().run()