info_page_list_item.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # -*- coding: utf-8 -*-
  2. import pygame
  3. from label import Label
  4. from skin_manager import SkinManager
  5. class InfoPageListItem(object):
  6. _PosX = 0
  7. _PosY = 0
  8. _Width = 0
  9. _Height = 30
  10. _Labels = {}
  11. _Icons = {}
  12. _Fonts = {}
  13. _LinkObj = None
  14. def __init__(self):
  15. self._Labels = {}
  16. self._Icons = {}
  17. self._Fonts = {}
  18. def SetSmallText(self,text):
  19. l = Label()
  20. l._PosX = 40
  21. l.SetCanvasHWND(self._Parent._CanvasHWND)
  22. l.Init(text,self._Fonts["small"])
  23. self._Labels["Small"] = l
  24. def Init(self,text):
  25. #self._Fonts["normal"] = fonts["veramono12"]
  26. l = Label()
  27. l._PosX = 10
  28. l.SetCanvasHWND(self._Parent._CanvasHWND)
  29. l.Init(text,self._Fonts["normal"])
  30. self._Labels["Text"] = l
  31. def Draw(self):
  32. self._Labels["Text"]._PosX = self._Labels["Text"]._PosX + self._PosX
  33. self._Labels["Text"]._PosY = self._PosY + (self._Height - self._Labels["Text"]._Height)/2
  34. self._Labels["Text"].Draw()
  35. self._Labels["Text"]._PosX = self._Labels["Text"]._PosX - self._PosX
  36. if "Small" in self._Labels:
  37. self._Labels["Small"]._PosX = self._Width - self._Labels["Small"]._Width-5
  38. self._Labels["Small"]._PosY = self._PosY + (self._Height - self._Labels["Small"]._Height)/2
  39. self._Labels["Small"].Draw()
  40. pygame.draw.line(self._Parent._CanvasHWND,SkinManager().GiveColor('Line'),(self._PosX,self._PosY+self._Height-1),(self._PosX+self._Width,self._PosY+self._Height-1),1)