home *** CD-ROM | disk | FTP | other *** search
/ Star Trek Starfleet Academy Mini Omnipedia / MINI_OMNI.ISO / pc / omni_v2.dxr / 00398_SliderManagerAncestor.ls < prev    next >
Encoding:
Text File  |  1996-04-15  |  2.4 KB  |  99 lines

  1. property iSliderbuttonWidth, iRange, iIncrements, iStartVal, iSliderMin, iSliderMax, iSliderScript, iSliderType, iSliderVal, iSliderChan, iHalfKnobSize, iScale, iScreenMin, iScreenMax, iBarChan, iRestoreToStart
  2. global oDb
  3.  
  4. on birth me, pSliderMin, pSliderMax, pScreenMin, pScreenMax, pSliderChan, pBarChan, pScale, pHalfKnobSize, pSlideAction, pStartVal, pRestoreToStart
  5.   set iSliderMin to pSliderMin
  6.   set iSliderMax to pSliderMax
  7.   set iSliderChan to pSliderChan
  8.   set iBarChan to pBarChan
  9.   set iScale to pScale
  10.   set iHalfKnobSize to pHalfKnobSize
  11.   set iSliderScript to pSlideAction
  12.   set iRange to iSliderMax - iSliderMin
  13.   set iIncrements to iScale / (iRange + 0.0)
  14.   set iScreenMin to pScreenMin
  15.   set iScreenMax to pScreenMax
  16.   set iSliderVal to pStartVal
  17.   set iStartVal to pStartVal
  18.   set iRestoreToStart to pRestoreToStart
  19.   return me
  20. end
  21.  
  22. on mReDefineSlider me, pSliderMin, pSliderMax, pStartVal
  23.   set iSliderMin to pSliderMin
  24.   set iSliderMax to pSliderMax
  25.   if iSliderMax < 1 then
  26.     set iSliderMax to 1
  27.   end if
  28.   set iScale to iScreenMax - iScreenMin + 0.0
  29.   set iRange to iSliderMax - iSliderMin
  30.   if iRange = 0 then
  31.     set iRange to 1
  32.   end if
  33.   set iIncrements to iScale / (iRange + 0.0)
  34.   set iSliderVal to pStartVal
  35. end
  36.  
  37. on mClearSlider me
  38.   puppetSprite(iSliderChan, 0)
  39. end
  40.  
  41. on mSlideSlider me
  42.   global oEvent, oTiming
  43.   if not (the puppet of sprite iSliderChan) then
  44.     puppetSprite(iSliderChan, 1)
  45.   end if
  46.   mShiftSlider(me)
  47.   updateStage()
  48.   set vOldSliderval to the iSliderVal of me
  49.   mCalcSliderVal(me)
  50.   if not (the iSliderVal of me = vOldSliderval) then
  51.     do(iSliderScript)
  52.   end if
  53. end
  54.  
  55. on mSliderBarClick me
  56.   global oControl
  57.   mShiftSlider(me)
  58.   mCalcSliderVal(me)
  59.   mNudgeSlider(me, 0)
  60.   do(iSliderScript)
  61.   updateStage()
  62. end
  63.  
  64. on mNudgeSlider me, pShift
  65.   set vNewVal to iSliderVal + pShift
  66.   if (vNewVal >= iSliderMin) and (vNewVal <= iSliderMax) then
  67.     mSetSlider(me, vNewVal)
  68.   else
  69.     if vNewVal < iSliderMin then
  70.       set vNewVal to iSliderMin
  71.     else
  72.       set vNewVal to iSliderMax
  73.     end if
  74.     mSetSlider(me, vNewVal)
  75.   end if
  76. end
  77.  
  78. on mSetSlider me, pValToForce, pDoScript
  79.   if voidp(pDoScript) then
  80.     set pDoScript to 1
  81.   end if
  82.   set iSliderVal to pValToForce
  83.   if iSliderVal > iRange then
  84.     set iSliderVal to iSliderMax
  85.   end if
  86.   mRestoreSlider(me, pDoScript)
  87.   updateStage()
  88. end
  89.  
  90. on mUnPuppetSlider me
  91.   if the puppet of sprite iSliderChan then
  92.     puppetSprite(iSliderChan, 0)
  93.   end if
  94. end
  95.  
  96. on mShowVal me
  97.   return the iSliderVal of me
  98. end
  99.