2016-07-17 21:15:18 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
from ..VDM import VDM
|
|
|
|
import os
|
|
|
|
|
|
|
|
import kivy
|
|
|
|
import i3
|
|
|
|
from kivy.app import App
|
|
|
|
from kivy.properties import *
|
|
|
|
from kivy.uix.gridlayout import GridLayout
|
|
|
|
|
|
|
|
|
|
|
|
class guiApp(GridLayout):
|
|
|
|
""" display all vdm into kivy interface """
|
|
|
|
|
|
|
|
# https://kivy.org/docs/api-kivy.properties.html#kivy.properties.ListProperty
|
|
|
|
# NumericProperty, StringProperty, ListProperty, ObjectProperty,
|
|
|
|
# BooleanProperty, BoundedNumericProperty, OptionProperty, ReferenceListProperty, AliasProperty, DictProperty
|
|
|
|
|
|
|
|
indice = NumericProperty(0)
|
|
|
|
vdm = ListProperty([])
|
|
|
|
|
|
|
|
def __init__(self, **kwargs):
|
|
|
|
super(guiApp, self).__init__(**kwargs)
|
2016-07-20 17:23:11 +00:00
|
|
|
from kivy.config import Config
|
|
|
|
Config.set('graphics', 'width', '600')
|
|
|
|
|
|
|
|
from kivy.core.window import Window
|
2016-07-17 21:15:18 +00:00
|
|
|
self._keyboard = Window.request_keyboard(self._keyboard_closed, self)
|
|
|
|
self._keyboard.bind(on_key_down = self._on_keyboard_down)
|
|
|
|
i3.msg("command", "floating enable")
|
|
|
|
|
|
|
|
self.v = VDM()
|
|
|
|
self.vdm = self.v.get()
|
|
|
|
self.render()
|
|
|
|
|
|
|
|
def _nextAction(self):
|
|
|
|
if self.indice == len(self.vdm)-1:
|
|
|
|
self.vdm = self.v.get()
|
|
|
|
self.indice = 0
|
|
|
|
else:
|
|
|
|
self.indice += 1
|
|
|
|
self.render()
|
|
|
|
|
|
|
|
def _prevAction(self):
|
|
|
|
if self.indice > 0:
|
|
|
|
self.indice -= 1
|
|
|
|
self.render()
|
|
|
|
|
|
|
|
def _keyboard_closed(self):
|
|
|
|
self._keyboard.unbind(on_key_down = self._on_keyboard_down)
|
|
|
|
self._keyboard = None
|
|
|
|
|
|
|
|
def _on_keyboard_down(self, *args):
|
|
|
|
if args[1][1] == 'right':
|
|
|
|
self._nextAction()
|
|
|
|
|
|
|
|
elif args[1][1] == 'left':
|
|
|
|
self._prevAction()
|
|
|
|
|
|
|
|
def render(self):
|
|
|
|
print(self.indice)
|
|
|
|
self.ids["Message"].text = self.vdm[self.indice]
|
|
|
|
|
|
|
|
|
|
|
|
class kivyApp(App):
|
|
|
|
def build(self):
|
|
|
|
return guiApp(cols=3)
|