info_page_list_item.py 1.8 KB

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