27 |
|
|
28 |
__docformat__ = 'reStructuredText' |
__docformat__ = 'reStructuredText' |
29 |
|
|
30 |
#from __future__ import nested_scopes |
import config |
|
import re, os, sys, random, string |
|
31 |
|
|
32 |
from navidoc.mp.core import * |
import re |
|
from navidoc.parser import * |
|
33 |
|
|
34 |
import config |
from navidoc.parser import * |
35 |
|
|
36 |
dbg = config.dbg.shorthand('uml') |
dbg = config.dbg.shorthand('uml') |
37 |
|
|
167 |
s = s.replace("%%", self.var) |
s = s.replace("%%", self.var) |
168 |
return s |
return s |
169 |
|
|
170 |
class mpclass(NamedMPElement): |
class mpclass(MetaPostElement): |
171 |
key = 'class' |
key = 'class' |
172 |
def __init__(self, var, s, list): |
def __init__(self, var, s, list): |
173 |
dbg("mpclass: %s %s" % (s,list)) |
dbg("mpclass: %s %s" % (s,list)) |
188 |
elif el[0] == "fields": |
elif el[0] == "fields": |
189 |
self.fields = el[1:] |
self.fields = el[1:] |
190 |
else: |
else: |
191 |
NamedMPElement.handle_contained(self, el) |
MetaPostElement.handle_contained(self, el) |
192 |
def defaultlink(self): |
def defaultlink(self): |
193 |
if self.linkpackage != None and "." not in self.name: |
if self.linkpackage != None and "." not in self.name: |
194 |
return self.linkpackage + "." + self.name |
return self.linkpackage + "." + self.name |
234 |
""" |
""" |
235 |
return self.repl(s) |
return self.repl(s) |
236 |
|
|
237 |
class mppackage(NamedMPElement): |
class mppackage(MetaPostElement): |
238 |
key = 'package' |
key = 'package' |
239 |
def __init__(self, var, s, list): |
def __init__(self, var, s, list): |
240 |
dbg("mppackage: %s %s" % (s,l)) |
dbg("mppackage: %s %s" % (s,l)) |
256 |
""" |
""" |
257 |
return self.repl(s) |
return self.repl(s) |
258 |
|
|
259 |
class mptitle(NamedMPElement): |
class mptitle(MetaPostElement): |
260 |
key = 'title' |
key = 'title' |
261 |
def __init__(self, var, s, l = []): |
def __init__(self, var, s, l = []): |
262 |
dbg("mp: %s %s" % (s,l)) |
dbg("mp: %s %s" % (s,l)) |
375 |
drawmeasuredpic(%%.titl);""" |
drawmeasuredpic(%%.titl);""" |
376 |
return self.repl(s) |
return self.repl(s) |
377 |
|
|
378 |
class mpqual(NamedMPElement): |
class mpqual(MetaPostElement): |
379 |
key = 'qual' |
key = 'qual' |
380 |
def __init__(self, var, s , list): |
def __init__(self, var, s , list): |
381 |
self.var = var |
self.var = var |
386 |
if el[0] == "fields": |
if el[0] == "fields": |
387 |
self.fields = el[1:] |
self.fields = el[1:] |
388 |
else: |
else: |
389 |
NamedMPElement.handle_contained(self, el) |
MetaPostElement.handle_contained(self, el) |
390 |
def setup_code(self): |
def setup_code(self): |
391 |
s = """ |
s = """ |
392 |
picture %%.pict; |
picture %%.pict; |
398 |
[ '"'+m[0]+'"' for m in self.fields ] )) |
[ '"'+m[0]+'"' for m in self.fields ] )) |
399 |
return self.repl(s) |
return self.repl(s) |
400 |
|
|
401 |
class mpassoc(NamedMPElement): |
class mpassoc(MetaPostElement): |
402 |
key = 'assoc' |
key = 'assoc' |
403 |
class end(NamedMPElement): |
class end(MetaPostElement): |
404 |
def __init__(self, var, list): |
def __init__(self, var, list): |
405 |
self.var = var |
self.var = var |
406 |
self.name = "" |
self.name = "" |
491 |
self.b.type = "vobinto" |
self.b.type = "vobinto" |
492 |
|
|
493 |
|
|
494 |
class SimpleRelation(NamedMPElement): |
class SimpleRelation(MetaPostElement): |
495 |
def __init__(self, var, s , list): |
def __init__(self, var, s , list): |
496 |
self.var = var or random_var() |
self.var = var or random_var() |
497 |
self.name = "" |
self.name = "" |
551 |
def draw_code(self): |
def draw_code(self): |
552 |
return self.pathCode() + self.repl(" vobsubmatch(%%.p); ") |
return self.pathCode() + self.repl(" vobsubmatch(%%.p); ") |
553 |
|
|
554 |
class placement(NamedMPElement): |
class placement(MetaPostElement): |
555 |
def __init__(self, var, s , list): |
def __init__(self, var, s , list): |
556 |
self.var = var or random_var() |
self.var = var or random_var() |
557 |
self.name = "" |
self.name = "" |