diff options
Diffstat (limited to 'jfr_playoff/gui/variables.py')
-rw-r--r-- | jfr_playoff/gui/variables.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/jfr_playoff/gui/variables.py b/jfr_playoff/gui/variables.py new file mode 100644 index 0000000..abb3cc1 --- /dev/null +++ b/jfr_playoff/gui/variables.py @@ -0,0 +1,24 @@ +#coding=utf-8 + +import tkinter as tk + +class NotifyVar(tk.Variable): + def __init__(self, *args, **kwargs): + tk.Variable.__init__(self, *args, **kwargs) + self.trace('w', self._onChange) + + def _onChange(self, *args): + self._root.event_generate('<<ValueChanged>>', when='tail') + +class NotifyStringVar(NotifyVar, tk.StringVar): + pass + +class NotifyIntVar(NotifyVar, tk.IntVar): + pass + +class NotifyNumericVar(NotifyStringVar): + def get(self, default=None): + try: + return int(str(NotifyStringVar.get(self)).strip()) + except ValueError: + return default |