home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 56 / CDPowerplay56Disc2.iso / demos / blade / data1.cab / Program_Executable_Files / Lib / Widgets / SpinWidget.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2000-10-27  |  8.1 KB  |  178 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 1.5)
  3.  
  4. import BUIx
  5. import DistortFX
  6. import types
  7.  
  8. class B_SpinWidgetAux(BUIx.B_FrameWidget):
  9.     
  10.     def __init__(self, Parent, Name, Width, Height, font_server, font):
  11.         BUIx.B_FrameWidget.__init__(self, Parent, Name, Width, Height)
  12.         self.LeftArrow = BUIx.B_TextWidget(self, 'SpinLArrow ' + Name, '<', font_server, font)
  13.         self.AddWidget(self.LeftArrow, 1, 0.5, BUIx.B_FrameWidget.B_FR_AbsoluteLeft, BUIx.B_FrameWidget.B_FR_Left, BUIx.B_FrameWidget.B_FR_VRelative, BUIx.B_FrameWidget.B_FR_VCenter)
  14.         self.LeftArrow.SetColor(250, 0, 0)
  15.         self.LeftArrow.SetAlpha(1)
  16.         self.RightArrow = BUIx.B_TextWidget(self, 'SpinRArrow ' + Name, '>', font_server, font)
  17.         self.AddWidget(self.RightArrow, 1, 0.5, BUIx.B_FrameWidget.B_FR_AbsoluteRight, BUIx.B_FrameWidget.B_FR_Right, BUIx.B_FrameWidget.B_FR_VRelative, BUIx.B_FrameWidget.B_FR_VCenter)
  18.         self.RightArrow.SetColor(250, 0, 0)
  19.         self.RightArrow.SetAlpha(1)
  20.         self.Text = BUIx.B_TextWidget(self, 'SpinTextAux ' + Name, '0', font_server, font)
  21.         self.AddWidget(self.Text, 0.5, 0.5, BUIx.B_FrameWidget.B_FR_HRelative, BUIx.B_FrameWidget.B_FR_HCenter, BUIx.B_FrameWidget.B_FR_VRelative, BUIx.B_FrameWidget.B_FR_VCenter)
  22.         self.Text.SetColor(250, 0, 0)
  23.         self.Text.SetAlpha(1)
  24.         self.LowLimit = 0
  25.         self.UpLimit = 10
  26.         self.Steps = 10
  27.         self.Value = 0
  28.         self._B_SpinWidgetAux__SetIncrement()
  29.         self.AdjustArrows()
  30.  
  31.     
  32.     def SetLimits(self, low, up):
  33.         if low > up:
  34.             return None
  35.         
  36.         self.LowLimit = low
  37.         self.UpLimit = up
  38.         self._B_SpinWidgetAux__SetIncrement()
  39.         if self.Value < low:
  40.             self.Value = low
  41.         elif self.Value > up:
  42.             self.Value = up
  43.         
  44.  
  45.     
  46.     def SetSteps(self, steps):
  47.         if steps < 0:
  48.             return None
  49.         
  50.         self.Steps = steps
  51.         self._B_SpinWidgetAux__SetIncrement()
  52.  
  53.     
  54.     def __SetIncrement(self):
  55.         self.Increment = (self.UpLimit - self.LowLimit) / self.Steps
  56.  
  57.     
  58.     def AdjustArrows(self):
  59.         if self.Value <= self.LowLimit:
  60.             self.LeftArrow.SetVisible(0)
  61.         else:
  62.             self.LeftArrow.SetVisible(1)
  63.         if self.Value >= self.UpLimit:
  64.             self.RightArrow.SetVisible(0)
  65.         else:
  66.             self.RightArrow.SetVisible(1)
  67.  
  68.     
  69.     def IncrementValue(self):
  70.         self.Value = self.Value + self.Increment
  71.         if self.Value > self.UpLimit:
  72.             self.Value = self.UpLimit
  73.         
  74.         self.UpdateDisplayValue()
  75.  
  76.     
  77.     def DecrementValue(self):
  78.         self.Value = self.Value - self.Increment
  79.         if self.Value < self.LowLimit:
  80.             self.Value = self.LowLimit
  81.         
  82.         self.UpdateDisplayValue()
  83.  
  84.     
  85.     def UpdateDisplayValue(self):
  86.         if type(self.Value) == types.FloatType:
  87.             str_tmp = '%.2f' % self.Value
  88.             self.Text.SetText(str_tmp)
  89.         else:
  90.             self.Text.SetText(str(self.Value))
  91.         self.RecalcLayout()
  92.         self.AdjustArrows()
  93.  
  94.     
  95.     def SetValue(self, value):
  96.         if value >= self.LowLimit and value <= self.UpLimit and value != self.Value:
  97.             self.Value = value
  98.             self.UpdateDisplayValue()
  99.         
  100.  
  101.  
  102.  
  103. class B_SpinWidget(BUIx.B_FrameWidget):
  104.     
  105.     def __init__(self, Parent, Name, Width, Height, font_server, font):
  106.         BUIx.B_FrameWidget.__init__(self, Parent, Name, Width, Height)
  107.         self.Text = BUIx.B_TextWidget(self, 'SpinLArrow ' + Name, Name, font_server, font)
  108.         self.AddWidget(self.Text, 1, 0.5, BUIx.B_FrameWidget.B_FR_AbsoluteLeft, BUIx.B_FrameWidget.B_FR_Left, BUIx.B_FrameWidget.B_FR_VRelative, BUIx.B_FrameWidget.B_FR_VCenter)
  109.         self.Spin = B_SpinWidgetAux(self, 'SpinText ' + Name, 80, Width, font_server, font)
  110.         self.AddWidget(self.Spin, 1, 0.5, BUIx.B_FrameWidget.B_FR_AbsoluteRight, BUIx.B_FrameWidget.B_FR_Right, BUIx.B_FrameWidget.B_FR_VRelative, BUIx.B_FrameWidget.B_FR_VCenter)
  111.         self.SetDrawFunc(self.Draw)
  112.  
  113.     
  114.     def SetLimits(self, low, up):
  115.         self.Spin.SetLimits(low, up)
  116.  
  117.     
  118.     def SetSteps(self, steps):
  119.         self.Spin.SetSteps(steps)
  120.  
  121.     
  122.     def IncrementValue(self):
  123.         self.Spin.IncrementValue()
  124.  
  125.     
  126.     def DecrementValue(self):
  127.         self.Spin.DecrementValue()
  128.  
  129.     
  130.     def SetValue(self, value):
  131.         self.Spin.SetValue(value)
  132.  
  133.     
  134.     def GetValue(self):
  135.         return self.Spin.Value
  136.  
  137.     
  138.     def Draw(self, x, y, time):
  139.         foc = self.GetHasFocus()
  140.         self.Text.SetAlpha(1.0)
  141.         if foc:
  142.             self.Text.SetColor(254, 148, 1)
  143.         else:
  144.             self.Text.SetColor(220, 10, 10)
  145.         self.DefDraw(x, y, time)
  146.  
  147.  
  148.  
  149. class B_SpinFXWidget(B_SpinWidget):
  150.     
  151.     def __init__(self, Parent, Name, Width, Height, font_server, font, dist_size = 45, color = (255, 10, 10)):
  152.         B_SpinWidget.__init__(self, Parent, Name, Width, Height, font_server, font)
  153.         self.SetDrawFunc(self.Draw)
  154.  
  155.     
  156.     def IncrementValue(self):
  157.         v1 = self.GetValue()
  158.         B_SpinWidget.IncrementValue(self)
  159.         if v1 != self.GetValue():
  160.             self.FilterUpdated = 0
  161.             self.SelectionFilterUpdated = 0
  162.             self.Filter = None
  163.             self.SelectionFilter = None
  164.         
  165.  
  166.     
  167.     def DecrementValue(self):
  168.         v1 = self.GetValue()
  169.         B_SpinWidget.DecrementValue(self)
  170.         if v1 != self.GetValue():
  171.             self.FilterUpdated = 0
  172.             self.SelectionFilterUpdated = 0
  173.             self.Filter = None
  174.             self.SelectionFilter = None
  175.         
  176.  
  177.  
  178.