lots
This commit is contained in:
1 parent
d7915401e7
commit
48f6166d48
23 files changed
+713
-926
No files matched your search
+16
-8
@@ -1,7 +1,7 @@
|
||||
import os
|
||||
import sys
|
||||
from numbers import Number
|
||||
from typing import List, Tuple, Callable
|
||||
from typing import List, Tuple, Callable, TypeVar
|
||||
from kivy.lang import Observable
|
||||
import gettext
|
||||
|
||||
@@ -12,8 +12,10 @@ try:
|
||||
except:
|
||||
import importlib_resources as pkg_resources
|
||||
|
||||
T = TypeVar("T")
|
||||
|
||||
def var_to_grid(array_var: List[Number], size: Tuple[int, int]) -> List[List[Number]]:
|
||||
|
||||
def var_to_grid(array_var: List[T], size: Tuple[int, int]) -> List[List[T]]:
|
||||
"""convert ownership/policy to grid format such that grid[y][x] is for move with coords x,y"""
|
||||
ix = 0
|
||||
grid = [[]] * size[1]
|
||||
@@ -55,11 +57,21 @@ class Lang(Observable):
|
||||
def _(self, text):
|
||||
return self.ugettext(text)
|
||||
|
||||
def set_widget_font(self, widget):
|
||||
widget.font_name = self.font_name
|
||||
for sub_widget in [getattr(widget, "_hint_lbl", None), getattr(widget, "_msg_lbl", None)]: # MDText
|
||||
if sub_widget:
|
||||
sub_widget.font_name = self.font_name
|
||||
|
||||
def fbind(self, name, func, *args):
|
||||
if name == "_":
|
||||
widget, property, *_ = args[0]
|
||||
self.observers.append((widget, func, args))
|
||||
widget.font_name = self.font_name
|
||||
try:
|
||||
self.set_widget_font(widget)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
# pass
|
||||
else:
|
||||
return super(Lang, self).fbind(name, func, *args)
|
||||
|
||||
@@ -88,11 +100,7 @@ class Lang(Observable):
|
||||
for widget, func, args in self.observers:
|
||||
try:
|
||||
func(args[0], None, None)
|
||||
print("setting", widget, widget.font_name, "->", self.font_name)
|
||||
widget.font_name = self.font_name
|
||||
for sub_widget in [getattr(widget, "_hint_lbl", None), getattr(widget, "_msg_lbl", None)]: # MDText
|
||||
if sub_widget:
|
||||
sub_widget.font_name = self.font_name
|
||||
self.set_widget_font(widget)
|
||||
except ReferenceError:
|
||||
pass # proxy no longer exists
|
||||
for cb in self.callbacks:
|
||||
|
||||
Reference in new issue
Block a user