| 704 | "-".join([pt.coordStr() for pt in self.points]) |
| 705 | |
| 706 | class Text(GraphicsObject): |
| 707 | |
| 708 | def __init__(self, centerPt, text): |
| 709 | GraphicsObject.__init__(self, ["justify","fill","text","font"]) |
| 710 | self.setText(text) |
| 711 | self.anchor = centerPt.clone() |
| 712 | self.setFill(DEFAULT_CONFIG['outline']) |
| 713 | self.setOutline = self.setFill |
| 714 | |
| 715 | def _draw(self, canvas, options): |
| 716 | p = self.anchor |
| 717 | x,y = canvas.toScreen(p.x,p.y) |
| 718 | return canvas.create_text(x,y,options) |
| 719 | |
| 720 | def _move(self, dx, dy): |
| 721 | self.anchor.move(dx,dy) |
| 722 | |
| 723 | def clone(self): |
| 724 | other = Text(self.anchor, self.config['text']) |
| 725 | other.config = self.config.copy() |
| 726 | return other |
| 727 | |
| 728 | def setText(self,text): |
| 729 | self._reconfig("text", text) |
| 730 | |
| 731 | def getText(self): |
| 732 | return self.config["text"] |
| 733 | |
| 734 | def getAnchor(self): |
| 735 | return self.anchor.clone() |
| 736 | |
| 737 | def setFace(self, face): |
| 738 | if face in ['helvetica','arial','courier','times roman']: |
| 739 | f,s,b = self.config['font'] |
| 740 | self._reconfig("font",(face,s,b)) |
| 741 | else: |
| 742 | raise GraphicsError, BAD_OPTION |
| 743 | |
| 744 | def setSize(self, size): |
| 745 | if 5 <= size <= 36: |
| 746 | f,s,b = self.config['font'] |
| 747 | self._reconfig("font", (f,size,b)) |
| 748 | else: |
| 749 | raise GraphicsError, BAD_OPTION |
| 750 | |
| 751 | def setStyle(self, style): |
| 752 | if style in ['bold','normal','italic', 'bold italic']: |
| 753 | f,s,b = self.config['font'] |
| 754 | self._reconfig("font", (f,s,style)) |
| 755 | else: |
| 756 | raise GraphicsError, BAD_OPTION |
| 757 | |
| 758 | def setTextColor(self, color): |
| 759 | self.setFill(color) |
| 760 | |
| 761 | def __str__(self): |
| 762 | return '"%s" at %s' % (self.getText(), self.anchor.coordStr()) |
| 763 |
no outgoing calls
no test coverage detected