/[navidoc]/navidoc/navidoc/mp/__init__.py
ViewVC logotype

Diff of /navidoc/navidoc/mp/__init__.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by humppake, Tue Apr 1 09:30:28 2003 UTC revision 1.9 by humppake, Tue Apr 1 13:54:09 2003 UTC
# Line 45  def link_draw_code(self): Line 45  def link_draw_code(self):
45              return 'showfocus("'+self.target+'", '+self.title+', ('+self.bbox+'));' \              return 'showfocus("'+self.target+'", '+self.title+', ('+self.bbox+'));' \
46                     +"\n"+'drawRoughEdge(('+bbox+'));'                     +"\n"+'drawRoughEdge(('+bbox+'));'
47          else: return 'showfocus("'+self.target+'", '+self.title+', ('+self.box+'));'          else: return 'showfocus("'+self.target+'", '+self.title+', ('+self.box+'));'
48  navidoc.link.Link.draw_code = link_draw_code  #navidoc.link.Link.draw_code = link_draw_code
49    
50  class MetapostElement(navidoc.NamedElement):  class MetapostElement(navidoc.NamedElement):
51      def repl(self, s):      def repl(self, s):
# Line 66  class SimpleElement(MetapostElement): Line 66  class SimpleElement(MetapostElement):
66          self.var = var or s          self.var = var or s
67          self.name = s          self.name = s
68          self.do_contents(list)          self.do_contents(list)
69            if self.link != None:
70                self.link.bbox = ('bboxmeasuredpic(%s)' % (self.var))
71    
72  def create_uml(diagram, extension='', scale=1.0):  def create_uml(diagram, extension='', scale=1.0):
73      """      """
# Line 82  def create_uml(diagram, extension='', sc Line 84  def create_uml(diagram, extension='', sc
84      if len(extension) > 0: extension = '_'+extension      if len(extension) > 0: extension = '_'+extension
85    
86      dir = slashify(config.mp_directory)      dir = slashify(config.mp_directory)
87        if config.mp_eps_only:
88            eps = open(dir+diagram+extension+'_gen.eps', 'w')
89            eps.write(m.setup_code()+'\n')
90            return
91    
92      gen1 = open(dir+diagram+extension+'.gen.mp.1', 'w')      gen1 = open(dir+diagram+extension+'.gen.mp.1', 'w')
93      gen1.write(m.setupCode()+'\n')      gen1.write(m.setup_code()+'\n')
94      gen1.close()      gen1.close()
95      gen2 = open(dir+diagram+extension+'.gen.mp.2', 'w')      gen2 = open(dir+diagram+extension+'.gen.mp.2', 'w')
96      gen2.write(m.drawCode()+"\n")      gen2.write(m.draw_code()+"\n")
97      gen2.write("showlinksize(\"bbox\", (bbox currentpicture));\n")      gen2.write('showlinksize("bbox", "'+diagram+'", (bbox currentpicture));'+"\n")
98      gen2.close()      gen2.close()
99      gen3 = open(dir+diagram+extension+".gen.mp.3", "w")      gen3 = open(dir+diagram+extension+".gen.mp.3", "w")
100      gen3.write("""      gen3.write("""
101          prologues := 1;          prologues := 1;
         input general.mp  
102          input uml.mp          input uml.mp
103    
104          beginfig(1)          beginfig(1)
105              input %(diagram+extension)s.gen.mp.1              input %(diagram)s%(extension)s.gen.mp.1
106              input %(diagram)s.gen.mp              input %(diagram)s.gen.mp
107              input %(diagram+extension)s.gen.mp.2              input %(diagram)s%(extension)s.gen.mp.2
108          endfig          endfig
109          end          end
110          """ % locals())          """ % locals())
# Line 118  def mp2png(diagram, scale=1.0): Line 124  def mp2png(diagram, scale=1.0):
124      dbg(syscmd)      dbg(syscmd)
125      os.system('cd '+config.mp_directory+';'+syscmd)      os.system('cd '+config.mp_directory+';'+syscmd)
126    
127      log = open(slashify(config.mp_directory)+diagram+'.gen.log').read()      log = open(slashify(config.mp_directory)+diagram+'.gen.mp.log').read()
128      if log.find("\n"+'!') != -1:      if log.find("\n"+'!') != -1:
129          dbg_fail('Error occurred while processing the diagram. The log is shown below.')          dbg_fail('Error occurred while processing the diagram. The log is shown below.')
130          dbg_fail(log)          dbg_fail(log)
# Line 132  def mp2png(diagram, scale=1.0): Line 138  def mp2png(diagram, scale=1.0):
138    
139      # grep all linked areas from log file      # grep all linked areas from log file
140      for link in re.findall('LINKRECT\((.*?)\)', log):      for link in re.findall('LINKRECT\((.*?)\)', log):
141            dbg(link)
142          els = link.split(',')          els = link.split(',')
143          if els[0] == '"bbox"':          if els[0] == '"bbox"':
144              bbox = els              bbox = els
145          else:          else:
146                dbg(els)
147              links.append(MPLink(els))              links.append(MPLink(els))
148      dbg(bbox)      dbg(bbox)
149    
# Line 147  def mp2png(diagram, scale=1.0): Line 155  def mp2png(diagram, scale=1.0):
155    
156      scaling = int(scaling / scale)      scaling = int(scaling / scale)
157    
158        dbg("List: "+str(list))
159      syscmd = ('pstopnm '+' '.join(list)+' <'+slashify(config.mp_directory)+diagram+'.gen' \      syscmd = ('pstopnm '+' '.join(list)+' <'+slashify(config.mp_directory)+diagram+'.gen' \
160                +'.mp.1 2>/dev/null | pnmscale -reduce '+scaling+' 2>/dev/null | ' \                +""".mp.1 2>/dev/null | pnmscale -reduce %s 2>/dev/null | """%scaling \
161                +'pnmtopng >'+slashify(config.mp_directory)+diagram+'.gen.png 2>/dev/null')                +'pnmtopng >'+slashify(config.mp_directory)+diagram+'.gen.png 2>/dev/null')#
162    
163      dbg(syscmd)      dbg(syscmd)
164      os.system(syscmd)      os.system(syscmd)

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26