35 | 35 |
from shareable_activity import ShareableActivity
|
36 | 36 |
from layout import CalcLayout
|
37 | 37 |
from mathlib import MathLib
|
38 | |
from astparser import AstParser, ParserError, RuntimeError
|
|
38 |
from astparser import AstParser, ParserError, ParseError, RuntimeError
|
39 | 39 |
from svgimage import SVGImage
|
40 | 40 |
|
41 | 41 |
from decimal import Decimal
|
|
470 | 470 |
prepend=not prepend)
|
471 | 471 |
self.last_eqn_textview = None
|
472 | 472 |
|
|
473 |
if eq.label is not None and len(eq.label) > 0:
|
|
474 |
w = self.create_var_textview(eq.label, eq.result)
|
|
475 |
if w is not None:
|
|
476 |
self.layout.add_variable(eq.label, w)
|
|
477 |
|
|
478 |
if tree is None:
|
|
479 |
tree = self.parser.parse(eq.equation)
|
|
480 |
try: self.parser.set_var(eq.label, tree)
|
|
481 |
except Exception, e:
|
|
482 |
eq.result = ParseError(e.message, 0, "")
|
|
483 |
self.set_error_equation(eq)
|
|
484 |
return
|
|
485 |
|
473 | 486 |
own = (eq.owner == self.get_owner_id())
|
474 | 487 |
w = eq.create_history_object()
|
475 | 488 |
w.connect('button-press-event', lambda w,
|
|
484 | 497 |
self.last_eqn_textview = w
|
485 | 498 |
else:
|
486 | 499 |
self.layout.add_equation(w, own, prepend=not prepend)
|
487 | |
|
488 | |
if eq.label is not None and len(eq.label) > 0:
|
489 | |
w = self.create_var_textview(eq.label, eq.result)
|
490 | |
if w is not None:
|
491 | |
self.layout.add_variable(eq.label, w)
|
492 | |
|
493 | |
if tree is None:
|
494 | |
tree = self.parser.parse(eq.equation)
|
495 | |
self.parser.set_var(eq.label, tree)
|
496 | 500 |
|
497 | 501 |
# FIXME: to be implemented
|
498 | 502 |
def process_async(self, eqn):
|