home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 45 / cda45.iso / intro.dxr / scripts_3_AbrirPanel.ls < prev    next >
Encoding:
Text File  |  2000-04-18  |  3.3 KB  |  135 lines

  1. property acciones, m, sp, AltoLinea, nivel, ultimaLinea, padre
  2. global spLinea, spListaProgramas, gEsMusica
  3.  
  4. on getPropertyDescriptionList me
  5.   lista = [:]
  6.   addProp(lista, #nivel, [#format: #integer, #default: 0, #comment: "Nivel del panel"])
  7.   return lista
  8. end
  9.  
  10. on mouseUp me
  11.   numLinea = PointToLine(sprite(sp), the mouseLoc)
  12.   rectLinea = rect(sprite(sp).left, sprite(sp).top + ((numLinea - 1) * AltoLinea), sprite(sp).right, sprite(sp).top + (numLinea * AltoLinea))
  13.   gEsMusica = 0
  14.   case acciones[numLinea] of
  15.     1:
  16.       panel(me, numLinea, rectLinea)
  17.     2:
  18.       programas(me, numLinea)
  19.     3:
  20.       datosPrograma(me, numLinea, 1)
  21.     4:
  22.       datosPrograma(me, numLinea, 0)
  23.     5:
  24.       musica(me, numLinea)
  25.   end case
  26.   rMask = sprite(sp - 1).rect
  27.   rMask.top = sprite(sp).top + 5
  28.   rMask.bottom = rectLinea.top + 5
  29.   sprite(sp + 1).rect = rMask
  30.   rMask.bottom = sprite(sp).bottom + 5
  31.   rMask.top = rectLinea.bottom + 5
  32.   sprite(sp + 2).rect = rMask
  33. end
  34.  
  35. on musica me, num
  36.   programas(me, num)
  37.   gEsMusica = 1
  38.   actualizarDatos(1)
  39.   mostrarPrograma(1)
  40. end
  41.  
  42. on datosPrograma me, num, conFoto
  43.   ocultarPanel(nivel)
  44.   updateStage()
  45.   mtexto = "p" & padre & "." & num
  46.   numProgramas = initListado(member(mtexto, "paneles").text)
  47.   actualizarDatos(1)
  48.   mostrarPrograma(conFoto)
  49. end
  50.  
  51. on programas me, num
  52.   ocultarPanel(nivel)
  53.   updateStage()
  54.   member("programas").FixedLinespace = 18
  55.   mtexto = padre & "." & num
  56.   numProgramas = initListado(member(mtexto, "paneles").text)
  57.   member("programas").FixedLinespace = 18
  58.   mostrarListaProgramas()
  59. end
  60.  
  61. on panel me, num, rectLinea
  62.   ocultarListaProgramas()
  63.   AltoLinea = m.FixedLinespace
  64.   mPanel = "n" & string(nivel + 1)
  65.   member(mPanel).FixedLinespace = 22
  66.   ocultarPanel(nivel)
  67.   updateStage()
  68.   mtexto = padre & "." & num
  69.   sendSprite((nivel * 10) + 36, #setPadre, mtexto)
  70.   member(mPanel).text = member(mtexto, "paneles").text
  71.   member(mPanel).FixedLinespace = 22
  72.   r = member(mPanel).rect
  73.   r = offset(r, rectLinea.right - 20, rectLinea.top)
  74.   r.bottom = r.bottom + 15
  75.   if r.bottom > 230 then
  76.     r = offset(r, 0, 230 - r.bottom)
  77.   end if
  78.   dibujarLineas(r)
  79.   listaAcciones = []
  80.   repeat with i = 1 to member(mPanel).line.count
  81.     append(listaAcciones, member(mPanel).line[i].char[1])
  82.     member(mPanel).line[i].char[1] = " "
  83.     member(mPanel).line[i] = numToChar(172) & member(mPanel).line[i]
  84.   end repeat
  85.   dibujarPanel((nivel * 10) + 30, r)
  86.   sendSprite((nivel * 10) + 36, #setAcciones, listaAcciones)
  87. end
  88.  
  89. on beginSprite me
  90.   mPanel = "n0"
  91.   member(mPanel).FixedLinespace = 30
  92.   mtexto = "0"
  93.   member(mPanel).text = member(mtexto, "paneles").text
  94.   acciones = []
  95.   repeat with i = 1 to member(mPanel).line.count
  96.     append(acciones, member(mPanel).line[i].char[1])
  97.     member(mPanel).line[i].char[1] = " "
  98.     member(mPanel).line[i] = numToChar(172) & member(mPanel).line[i]
  99.   end repeat
  100.   padre = "0"
  101.   sp = me.spriteNum
  102.   m = sprite(sp).member
  103.   ultimaLinea = -1
  104. end
  105.  
  106. on mouseEnter me
  107.   sp = me.spriteNum
  108.   m = sprite(sp).member
  109.   AltoLinea = m.FixedLinespace
  110.   ultimaLinea = PointToLine(sprite(sp), the mouseLoc)
  111. end
  112.  
  113. on getNivel me
  114.   return nivel
  115. end
  116.  
  117. on setAcciones me, lista
  118.   acciones = []
  119.   acciones = duplicate(lista)
  120.   return me
  121. end
  122.  
  123. on getAcciones me
  124.   return acciones
  125. end
  126.  
  127. on setPadre me, num
  128.   padre = num
  129.   return me
  130. end
  131.  
  132. on getPadre me
  133.   return padre
  134. end
  135.