home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 56 / CDPowerplay56Disc2.iso / demos / blade / data1.cab / Program_Executable_Files / Lib / Widgets / TabWidget.py < prev    next >
Encoding:
Python Source  |  2000-10-27  |  2.5 KB  |  102 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. import BUIx
  7. import Raster
  8. import MenuWidget
  9.  
  10. #import Bldb
  11.  
  12.  
  13.  
  14.  
  15.  
  16. class B_TabButton(MenuWidget.B_MenuItemTextNoFX):
  17.   def __init__(self,Parent,MenuDescr,StackMenu):
  18.     MenuWidget.B_MenuItemTextNoFX.__init__(self,Parent,MenuDescr,StackMenu)
  19.  
  20.  
  21.   def __del__(self):
  22.     MenuWidget.B_MenuItemTextNoFX.__del__()
  23.  
  24.   def ActivateItem(self,activate):
  25.     #print "B_MenuItemOption.ActivateItem()"
  26.     if activate==1:
  27.       print "B_TabButton::ActivateItem(), Hola Caracola"
  28.     elif activate==0:
  29.       self.StackMenu.Pop()
  30.  
  31.  
  32.  
  33.  
  34.  
  35. class B_TabWidget(BUIx.B_FrameWidget):
  36.   def __init__(self,Parent,Menudesc,StackMenu):
  37.     print "B_TabWidget __init__()"
  38.     #Bldb.set_trace()
  39.     Width,Height=Raster.GetSize()
  40.     try:
  41.       Width,Height=Menudesc["Size"]
  42.     except:
  43.       pass
  44.  
  45.     BUIx.B_FrameWidget.__init__(self,Parent,"TabWidget"+Menudesc["Name"],Width,Height)
  46.     print "About to create self.TabButtons"
  47.     self.TabButtons=MenuWidget.B_MenuFrameWidget(self,"TabButtons"+Menudesc["Name"],150,Height)
  48.     self.AddWidget(self.TabButtons,
  49.                    0,0,
  50.                    BUIx.B_Widget.B_FR_AbsoluteRight,BUIx.B_Widget.B_FR_Right,
  51.                    BUIx.B_Widget.B_FR_AbsoluteTop,BUIx.B_Widget.B_FR_Top)
  52.  
  53.     print "About to create self.TabClient"
  54.     self.TabClient=BUIx.B_FrameWidget(self,"TabClient"+Menudesc["Name"],Width-150,Height)
  55.     self.AddWidget(self.TabClient,
  56.                    0,0,
  57.                    BUIx.B_Widget.B_FR_AbsoluteLeft,BUIx.B_Widget.B_FR_Left,
  58.                    BUIx.B_Widget.B_FR_AbsoluteTop,BUIx.B_Widget.B_FR_Top)
  59.  
  60.     print "About to create Tabs"
  61.     for i in Menudesc["ListDescr"]:
  62.       print i
  63.       wTab=B_TabButton(self,i,StackMenu)
  64.       self.AddTab(wTab)
  65.  
  66.     print "B_TabWidget End __init__()"
  67.  
  68.  
  69.  
  70.   def __AddButton(self,but_name):
  71.     Descr_tmp={"Name":but_name}
  72.     #Bldb.set_trace()
  73.     menu_element=B_TabButton(self,Descr_tmp,None)
  74.  
  75.     self.TabButtons.AddMenuElement(menu_element)
  76.  
  77.  
  78.  
  79.   def __AddClient(self,but):
  80.     menu_element=B_MenuItemText(self,Descr_tmp,None)
  81.     self.TabButtons.AddMenuElement(menu_element)
  82.  
  83.  
  84.   def AddTab(self,tab): #Tab es un B_FrameWidget
  85.     name=tab.Name()
  86.     print "B_TabWidget::AddTab()",name,type(name)
  87.     self.__AddButton(name[:10])
  88.     #self.__AddClient()
  89.  
  90.   def GetFocus(self):
  91.     return self.TabButtons.GetFocus()
  92.  
  93.   def NextFocus(self):
  94.      self.TabButtons.NextFocus()
  95.  
  96.   def PrevFocus(self):
  97.      self.TabButtons.PrevFocus()
  98.  
  99.  
  100.  
  101.  
  102.