self.__clickPosition = event.get_root_coords()
self.__generate_draw_event()
- self.__popupTimeDelay = gobject.timeout_add(200, self._on_delayed_popup)
+ self.__popupTimeDelay = gobject.timeout_add(150, self._on_delayed_popup)
def _on_delayed_popup(self):
self.__popup(self.__clickPosition)
class Operation(object):
def __init__(self):
- self.base = 10
+ self._base = 10
def __str__(self):
raise NotImplementedError
+ @property
+ def base(self):
+ base = self._base
+ return base
+
def get_children(self):
return []
def __init__(self, value, base):
super(Value, self).__init__()
self.value = value
- self.base = base
+ self._base = base
def serialize(self, renderer):
for item in super(Value, self).serialize(renderer):
def __init__(self, *args, **kwd):
super(Function, self).__init__()
- self.base = None
+ self._base = None
self._args = args
self._kwd = kwd
- self.__simple = self.__simplify()
- self.__str = self.pretty_print(args, kwd)
+ self._simple = self._simplify()
+ self._str = self.pretty_print(args, kwd)
def serialize(self, renderer):
for item in super(Function, self).serialize(renderer):
for arg in self._args
)
+ @property
+ def base(self):
+ base = self._base
+ if base is None:
+ bases = [arg.base for arg in self._args]
+ base = bases[0]
+ assert base is not None
+ return base
+
def __str__(self):
- return self.__str
+ return self._str
def simplify(self):
- return self.__simple
+ return self._simple
def evaluate(self):
selfArgs = [arg.evaluate() for arg in self._args]
return Value(self._op(*selfArgs))
- def __simplify(self):
+ def _simplify(self):
selfArgs = [arg.simplify() for arg in self._args]
selfKwd = dict(
(name, arg.simplify())
try:
args = [arg.evaluate() for arg in selfArgs]
base = self.base
- if base is None:
- bases = [arg.base for arg in selfArgs]
- base = bases[0]
result = self._op(*args)
node = Value(result, base)
except KeyError:
- node = type(self)(*selfArgs, **selfKwd)
+ node = self
return node
def __init__(self, *args, **kwd):
super(GenFunc, self).__init__(*args, **kwd)
- self.base = base
+ self._base = base
+ self._simple = self._simplify()
+ self._str = self.pretty_print(args, kwd)
_op = lambda self, n: n
_rep = Function.REP_FUNCTION