Exemplo n.º 1
0
 def add_labels(self, trans):
     layer = ElementTree.SubElement(trans, 'g', attrib={'class':
         'label-layer'})
     if self.direction in ['left', 'right']:
         nodeHeight = max((n.w for n in self.nodes))
     else:
         nodeHeight = max((n.h for n in self.nodes))
     for i, node in enumerate(self.nodes):
         theg = ElementTree.SubElement(layer, 'g', attrib={
             'class': 'label-g',
             'transform': 'translate(%i, %i)' % self.nodePos(node,
                 nodeHeight)
             })
         ElementTree.SubElement(theg, 'rect', attrib={
             'class': 'label-bg',
             'rx': '2',
             'ry': '2',
             'width': str(node.w),
             'height': str(node.h),
             'style': 'fill: %s;' % hex2rgbstr(self.labelBgColor(
                 node.data.data, i))})
         if node.data.text:
             thetext = ElementTree.SubElement(theg, 'text', attrib={
                 'class': 'label-text',
                 'dy': self.options['textYOffset'],
                 'dx': self.options['textXOffset'],
                 'x': str(self.options['labelPadding']['left']),
                 'y': str(self.options['labelPadding']['top']),
                 'style': 'fill: %s;' % hex2rgbstr(self.labelTextColor(
                     node.data.data, i))
                 })
             thetext.text = node.data.text
Exemplo n.º 2
0
 def add_labels(self, trans):
     layer = ElementTree.SubElement(trans,
                                    "g",
                                    attrib={"class": "label-layer"})
     if self.direction in ["left", "right"]:
         nodeHeight = max((n.w for n in self.nodes))
     else:
         nodeHeight = max((n.h for n in self.nodes))
     for i, node in enumerate(self.nodes):
         theg = ElementTree.SubElement(
             layer,
             "g",
             attrib={
                 "class":
                 "label-g",
                 "transform":
                 "translate(%i, %i)" % self.nodePos(node, nodeHeight),
             },
         )
         thestyle = "fill:%s;" % hex2rgbstr(
             self.labelBgColor(node.data.data, i))
         if self.options["showBorder"]:
             thestyle += "stroke-width:1;stroke:%s" % hex2rgbstr(
                 self.borderColor(node.data.data, i))
         ElementTree.SubElement(
             theg,
             "rect",
             attrib={
                 "class": "label-bg",
                 "rx": "2",
                 "ry": "2",
                 "width": str(node.w),
                 "height": str(node.h),
                 "style": thestyle,
             },
         )
         if node.data.text:
             thetext = ElementTree.SubElement(
                 theg,
                 "text",
                 attrib={
                     "class":
                     "label-text",
                     "dy":
                     self.options["textYOffset"],
                     "dx":
                     self.options["textXOffset"],
                     "x":
                     str(self.options["labelPadding"]["left"]),
                     "y":
                     str(self.options["labelPadding"]["top"]),
                     "style":
                     "fill: %s;" %
                     hex2rgbstr(self.labelTextColor(node.data.data, i)),
                 },
             )
             thetext.text = node.data.text
Exemplo n.º 3
0
 def add_dots(self, trans):
     layer = ElementTree.SubElement(trans, 'g', attrib={'class':
         'dot-layer'})
     attrib = {'class': 'dot', 'r': str(self.options['dotRadius'])}
     field = 'cx' if self.direction in ['up', 'down'] else 'cy'
     for i, node in enumerate(self.nodes):
         rgbstr = hex2rgbstr(self.dotColor(node.data.data, i))
         attrib['style'] = 'fill: %s;' % rgbstr
         attrib[field] = str(node.getRoot().idealPos)
         ElementTree.SubElement(layer, 'circle', attrib=attrib)
Exemplo n.º 4
0
 def add_dots(self, trans):
     layer = ElementTree.SubElement(trans,
                                    "g",
                                    attrib={"class": "dot-layer"})
     attrib = {"class": "dot", "r": str(self.options["dotRadius"])}
     field = "cx" if self.direction in ["up", "down"] else "cy"
     for i, node in enumerate(self.nodes):
         rgbstr = hex2rgbstr(self.dotColor(node.data.data, i))
         attrib["style"] = "fill: %s;" % rgbstr
         attrib[field] = str(node.getRoot().idealPos)
         ElementTree.SubElement(layer, "circle", attrib=attrib)
Exemplo n.º 5
0
 def add_links(self, trans):
     layer = ElementTree.SubElement(trans, 'g', attrib={'class':
         'link-layer'})
     attrib = {'class': 'link'}
     for i, node in enumerate(self.nodes):
         thestyle = 'stroke: %s; ' % hex2rgbstr(self.linkColor(
             node.data.data, i))
         thestyle += 'stroke-width: 2; '
         thestyle += 'fill: none;'
         attrib['style'] = thestyle
         attrib['d'] = self.renderer.generatePath(node)
         ElementTree.SubElement(layer, 'path', attrib=attrib)
Exemplo n.º 6
0
 def add_links(self, trans):
     layer = ElementTree.SubElement(trans,
                                    "g",
                                    attrib={"class": "link-layer"})
     attrib = {"class": "link"}
     for i, node in enumerate(self.nodes):
         thestyle = "stroke: %s; " % hex2rgbstr(
             self.linkColor(node.data.data, i))
         thestyle += "stroke-width: 2; "
         thestyle += "fill: none;"
         attrib["style"] = thestyle
         attrib["d"] = self.renderer.generatePath(node)
         ElementTree.SubElement(layer, "path", attrib=attrib)
Exemplo n.º 7
0
 def add_labels(self, trans):
     layer = ElementTree.SubElement(trans, 'g', attrib={'class':
         'label-layer'})
     if self.direction in ['left', 'right']:
         nodeHeight = max((n.w for n in self.nodes))
     else:
         nodeHeight = max((n.h for n in self.nodes))
     for i, node in enumerate(self.nodes):
         theg = ElementTree.SubElement(layer, 'g', attrib={
             'class': 'label-g',
             'transform': 'translate(%i, %i)' % self.nodePos(node,
                 nodeHeight)
             })
         thestyle = ('fill:%s;' % 
                 hex2rgbstr(self.labelBgColor(node.data.data, i)))
         if self.options['showBorder']:
             thestyle += ('stroke-width:1;stroke:%s' % 
                     hex2rgbstr(self.borderColor(node.data.data, i)))
         ElementTree.SubElement(theg, 'rect', attrib={
             'class': 'label-bg',
             'rx': '2',
             'ry': '2',
             'width': str(node.w),
             'height': str(node.h),
             'style': thestyle
             })
         if node.data.text:
             thetext = ElementTree.SubElement(theg, 'text', attrib={
                 'class': 'label-text',
                 'dy': self.options['textYOffset'],
                 'dx': self.options['textXOffset'],
                 'x': str(self.options['labelPadding']['left']),
                 'y': str(self.options['labelPadding']['top']),
                 'style': 'fill: %s;' % hex2rgbstr(self.labelTextColor(
                     node.data.data, i))
                 })
             thetext.text = node.data.text