1# -*- coding: utf-8 -*-
2
3from guietta import _, ___, Gui, Quit, Exceptions, CB
4
5
6
7opdict = {'+': '__add__',
8          '-': '__sub__',
9          '*': '__mul__',
10          '/': '__truediv__'}
11
12gui = Gui(
13
14  [  'Enter numbers:', '__num1__' , CB('op', opdict) , '__num2__',      _   ],
15  [  'Result:  -->'  , 'result'   ,       ___        ,  ___      ,  ['Change'] ],
16  [  _               ,    _       ,        _         ,  ['Get']  ,    Quit ],
17  exceptions = Exceptions.OFF)
18
19
20with gui.op:
21    name, op = gui.get_selections('op')
22    result = getattr(float(gui.num1), op).__call__(float(gui.num2))
23    gui.result = result
24
25with gui.Get:
26    print('get')
27    print(gui.op)
28
29with gui.Change:
30    if gui.is_running:
31        opdict = {'^' : '__pow__',
32                  '==': '__eq__',
33                  '>' : '__gt__',
34                  '//': '__floordiv__'}
35
36        gui.op = opdict
37
38
39gui.run()
40