/[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.12 by humppake, Thu Apr 17 07:38:01 2003 UTC revision 1.13 by humppake, Thu Apr 24 07:48:04 2003 UTC
# Line 38  dbg = config.dbg.shorthand('mp') Line 38  dbg = config.dbg.shorthand('mp')
38  dbg_fail = config.dbg.shorthand('mp.fail')  dbg_fail = config.dbg.shorthand('mp.fail')
39    
40  def link_draw_code(self):  def link_draw_code(self):
41        if config.mp_eps_only: return ''
42      if self.error: return 'showlinkerror("'+self.target+'", "'+self.title+'", ('+self.bbox+'));'      if self.error: return 'showlinkerror("'+self.target+'", "'+self.title+'", ('+self.bbox+'));'
43      if not self.focus: return 'showlink("'+self.target+'", "'+self.title+'", ('+self.bbox+'));'      if not self.focus: return 'showlink("'+self.target+'", "'+self.title+'", ('+self.bbox+'));'
44      else:      else:
# Line 69  class SimpleElement(MetapostElement): Line 70  class SimpleElement(MetapostElement):
70          if self.link != None:          if self.link != None:
71              self.link.bbox = ('bboxmeasuredpic(%s)' % (self.var))              self.link.bbox = ('bboxmeasuredpic(%s)' % (self.var))
72    
73  def create_uml(diagram, extension='', scale=1.0):  def create_uml(diagram, context='', scale=1.0):
74      """      """
75      """      """
76      if not os.path.isfile(slashify(config.mp_directory)+diagram+'.gen.uml'):      if not os.path.isfile(slashify(config.mp_directory)+diagram+'.gen.uml'):
# Line 81  def create_uml(diagram, extension='', sc Line 82  def create_uml(diagram, extension='', sc
82      l = navidoc.util.parser.parse_indented(s)      l = navidoc.util.parser.parse_indented(s)
83      m = navidoc.parser.ElementList(l)      m = navidoc.parser.ElementList(l)
84    
85      if len(extension) > 0: extension = '_'+extension      if len(context) > 0:
86            context = '_'+context
87    
88        draw_extra = ''
89    
90    #    """ Creates the "menu" above the diagram. """
91    #    """ Some variables are needed :/ """
92    #    if menu and settings.has_key('name') and settings.has_key('path'):
93    #        """Refers must exist"""
94    #        if (os.path.isfile(path+settings['name']+".gen.refers")):
95    #            refer_file = open(path+settings['name']\
96    #                          +".gen.refers", "r")
97    #            refers = refer_file.readlines()
98    #            refer_file.close()
99    #            """List through in descending order."""
100    #            refer_names = {}
101    #            for id_inv in range(len(refers)):
102    #                id = len(refers)-(id_inv+1)
103    #                refer_file = open(refers[id].replace(".rst", ".gen.html").replace("\n",""))                
104    #                refer_title = re.compile('<title>([^<]*)</title>')
105    #                refer_title = refer_title.findall(refer_file.read())
106    #                refer_file.close()
107    #                if len(refer_title) > 0: refer_title = refer_title[0]
108    #                else: refer_title = refers[id].split("/")[-1].split(".")[0]
109    #
110    #                slash = settings['path'].rfind("/")
111    #                if slash != -1:
112    #                    refer_path = settings['path'][0:slash+1].replace("//", "/")
113    #                    refer_jlink = mputils.transition_path(refer_path,
114    #                              refers[id].replace(".rst", ".gen.html").replace("\n",""))
115    #                else: refer_jlink = refers[id].replace(".rst", ".gen.html").replace("\n","")
116    ##                print "refer:", refers[id], "jlink:",refer_jlink, "path:", settings['path']
117    ##                refer_name = refers[id].split("/")[-1].split(".")[0]
118    #                refer_name = randomVar()
119    #                refer_names[id] = refer_name
120    #                refer_obj = mptitle(refer_name, refer_title)
121    #                refer_obj.jlink = refer_jlink+"#"+settings['name']
122    #                titles[refer_obj.jlink] = refer_title
123    #                if id == len(refers)-1:
124    #                    refer_draw += "\tdraw ulcorner(bbox(currentpicture))+(0,10) -- urcorner(bbox(currentpicture))+(0,10) withpen pencircle scaled 1.5pt;\n"
125    #                    refer_draw += refer_obj.setupCode()
126    #                    refer_draw += "\t"+refer_name+".sw = ulcorner(bbox(currentpicture))+(35,0);\n"
127    #                    refer_draw += refer_obj.drawCode()
128    #                else:
129    #                    refer_draw += refer_obj.setupCode()
130    #                    refer_draw += "\t"+refer_name+".sw = "\
131    #                                  +refer_names[id+1]\
132    #                                  +".nw;\n"
133    #                    refer_draw += refer_obj.drawCode()
134    #                if id == 0:
135    #                    refer_draw += "\tdraw (infontBB(\"from:\", \"Helvetica\") scaled 1.3) shifted (ulcorner(bbox(currentpicture))+(2,-13));\n"                    
136    
137      dir = slashify(config.mp_directory)      dir = slashify(config.mp_directory)
138    
139      gen1 = open(dir+diagram+extension+'.gen.mp.1', 'w')      gen1 = open(dir+diagram+context+'.gen.mp.1', 'w')
140      gen1.write(m.setup_code()+'\n')      gen1.write(m.setup_code()+'\n')
141      gen1.close()      gen1.close()
142      gen2 = open(dir+diagram+extension+'.gen.mp.2', 'w')      gen2 = open(dir+diagram+context+'.gen.mp.2', 'w')
143      gen2.write(m.draw_code()+"\n")      gen2.write(m.draw_code()+"\n")
144        gen2.write(draw_extra+"\n")
145      gen2.write('showlinksize("bbox", "'+diagram+'", (bbox currentpicture));'+"\n")      gen2.write('showlinksize("bbox", "'+diagram+'", (bbox currentpicture));'+"\n")
146      gen2.close()      gen2.close()
147      gen3 = open(dir+diagram+extension+".gen.mp.3", "w")      gen3 = open(dir+diagram+context+".gen.mp.3", "w")
148      gen3.write("""      gen3.write("""
149          prologues := 1;          prologues := 1;
150          input uml.mp          input uml.mp
151    
152          beginfig(1)          beginfig(1)
153              input %(diagram)s%(extension)s.gen.mp.1              input %(diagram)s%(context)s.gen.mp.1
154              input %(diagram)s.gen.mp              input %(diagram)s.gen.mp
155              input %(diagram)s%(extension)s.gen.mp.2              input %(diagram)s%(context)s.gen.mp.2
156          endfig          endfig
157          end          end
158          """ % locals())          """ % locals())
159      gen3.close()      gen3.close()
160    
161      mp2png(diagram+extension, scale)      mp2png(diagram+context, scale)
162    
163  def mp2png(diagram, scale=1.0):  def mp2png(diagram, scale=1.0):
164      """      """
# Line 200  class MPLink: Line 252  class MPLink:
252          Map exact coordinates from corner elements using          Map exact coordinates from corner elements using
253          provided mapper.          provided mapper.
254          """          """
255          dbg("Unmapped corners: "+self.corners)          dbg("Unmapped corners: "+str(self.corners))
256          self.corners = [int(element) for element in (          self.corners = [int(element) for element in (
257              mapper(self.corners[0], self.corners[1]) +              mapper(self.corners[0], self.corners[1]) +
258              mapper(self.corners[2], self.corners[3])              mapper(self.corners[2], self.corners[3])
259              )]              )]
260          dbg("Mapped corners: "+self.corners)          dbg("Mapped corners: "+str(self.corners))
261    
262      def imgmapanchor(self, scale=1.0):      def imgmapanchor(self, scale=1.0):
263          return """<area href="%s" shape="rect" coords="%s" target="_top" title="%s" alt="%s" />\n""" \          return """<area href="%s" shape="rect" coords="%s" target="_top" title="%s" alt="%s" />""" \
264                 % (self.target,                 % (self.target,
265                    ",".join(["%s"%(int(c*scale)) for c in self.corners]),                    ",".join(["%s"%(int(c*scale)) for c in self.corners]),
266                    self.title,                    self.title,

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

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