| 649 | |
| 650 | |
| 651 | class _AddRenderer: |
| 652 | def __init__(self): |
| 653 | """Renders the add tab button""" |
| 654 | self.add_img = BitmapLoader.getImage("ctabadd", "gui") |
| 655 | self.width = self.add_img.GetWidth() |
| 656 | self.height = self.add_img.GetHeight() |
| 657 | |
| 658 | self.region = None |
| 659 | self.tbmp = wx.Bitmap(self.add_img) |
| 660 | self.add_bitmap = None |
| 661 | |
| 662 | self.position = (0, 0) |
| 663 | self.highlighted = False |
| 664 | |
| 665 | self.InitRenderer() |
| 666 | |
| 667 | def GetPosition(self): |
| 668 | return self.position |
| 669 | |
| 670 | def SetPosition(self, pos): |
| 671 | self.position = pos |
| 672 | |
| 673 | def GetSize(self): |
| 674 | return self.width, self.height |
| 675 | |
| 676 | def GetHeight(self): |
| 677 | return self.height |
| 678 | |
| 679 | def GetWidth(self): |
| 680 | return self.width |
| 681 | |
| 682 | def InitRenderer(self): |
| 683 | self.region = self.CreateRegion() |
| 684 | self._Render() |
| 685 | |
| 686 | def CreateRegion(self): |
| 687 | region = wx.Region(self.tbmp) |
| 688 | return region |
| 689 | |
| 690 | def CopyRegion(self, region): |
| 691 | rect = region.GetBox() |
| 692 | |
| 693 | new_region = wx.Region(rect.X, rect.Y, rect.Width, rect.Height) |
| 694 | new_region.Intersect(region) |
| 695 | |
| 696 | return new_region |
| 697 | |
| 698 | def GetRegion(self): |
| 699 | return self.CopyRegion(self.region) |
| 700 | |
| 701 | def Highlight(self, highlight=False): |
| 702 | self.highlighted = highlight |
| 703 | self._Render() |
| 704 | |
| 705 | def IsHighlighted(self): |
| 706 | return self.highlighted |
| 707 | |
| 708 | def Render(self): |