home *** CD-ROM | disk | FTP | other *** search
- property acciones, m, sp, AltoLinea, nivel, ultimaLinea, padre
- global spLinea, spListaProgramas, gEsMusica
-
- on getPropertyDescriptionList me
- lista = [:]
- addProp(lista, #nivel, [#format: #integer, #default: 0, #comment: "Nivel del panel"])
- return lista
- end
-
- on mouseUp me
- numLinea = PointToLine(sprite(sp), the mouseLoc)
- rectLinea = rect(sprite(sp).left, sprite(sp).top + ((numLinea - 1) * AltoLinea), sprite(sp).right, sprite(sp).top + (numLinea * AltoLinea))
- gEsMusica = 0
- case acciones[numLinea] of
- 1:
- panel(me, numLinea, rectLinea)
- 2:
- programas(me, numLinea)
- 3:
- datosPrograma(me, numLinea, 1)
- 4:
- datosPrograma(me, numLinea, 0)
- 5:
- musica(me, numLinea)
- end case
- rMask = sprite(sp - 1).rect
- rMask.top = sprite(sp).top + 5
- rMask.bottom = rectLinea.top + 5
- sprite(sp + 1).rect = rMask
- rMask.bottom = sprite(sp).bottom + 5
- rMask.top = rectLinea.bottom + 5
- sprite(sp + 2).rect = rMask
- end
-
- on musica me, num
- programas(me, num)
- gEsMusica = 1
- actualizarDatos(1)
- mostrarPrograma(1)
- end
-
- on datosPrograma me, num, conFoto
- ocultarPanel(nivel)
- updateStage()
- mtexto = "p" & padre & "." & num
- numProgramas = initListado(member(mtexto, "paneles").text)
- actualizarDatos(1)
- mostrarPrograma(conFoto)
- end
-
- on programas me, num
- ocultarPanel(nivel)
- updateStage()
- member("programas").FixedLinespace = 18
- mtexto = padre & "." & num
- numProgramas = initListado(member(mtexto, "paneles").text)
- member("programas").FixedLinespace = 18
- mostrarListaProgramas()
- end
-
- on panel me, num, rectLinea
- ocultarListaProgramas()
- AltoLinea = m.FixedLinespace
- mPanel = "n" & string(nivel + 1)
- member(mPanel).FixedLinespace = 22
- ocultarPanel(nivel)
- updateStage()
- mtexto = padre & "." & num
- sendSprite((nivel * 10) + 36, #setPadre, mtexto)
- member(mPanel).text = member(mtexto, "paneles").text
- member(mPanel).FixedLinespace = 22
- r = member(mPanel).rect
- r = offset(r, rectLinea.right - 20, rectLinea.top)
- r.bottom = r.bottom + 15
- if r.bottom > 230 then
- r = offset(r, 0, 230 - r.bottom)
- end if
- dibujarLineas(r)
- listaAcciones = []
- repeat with i = 1 to member(mPanel).line.count
- append(listaAcciones, member(mPanel).line[i].char[1])
- member(mPanel).line[i].char[1] = " "
- member(mPanel).line[i] = numToChar(172) & member(mPanel).line[i]
- end repeat
- dibujarPanel((nivel * 10) + 30, r)
- sendSprite((nivel * 10) + 36, #setAcciones, listaAcciones)
- end
-
- on beginSprite me
- mPanel = "n0"
- member(mPanel).FixedLinespace = 30
- mtexto = "0"
- member(mPanel).text = member(mtexto, "paneles").text
- acciones = []
- repeat with i = 1 to member(mPanel).line.count
- append(acciones, member(mPanel).line[i].char[1])
- member(mPanel).line[i].char[1] = " "
- member(mPanel).line[i] = numToChar(172) & member(mPanel).line[i]
- end repeat
- padre = "0"
- sp = me.spriteNum
- m = sprite(sp).member
- ultimaLinea = -1
- end
-
- on mouseEnter me
- sp = me.spriteNum
- m = sprite(sp).member
- AltoLinea = m.FixedLinespace
- ultimaLinea = PointToLine(sprite(sp), the mouseLoc)
- end
-
- on getNivel me
- return nivel
- end
-
- on setAcciones me, lista
- acciones = []
- acciones = duplicate(lista)
- return me
- end
-
- on getAcciones me
- return acciones
- end
-
- on setPadre me, num
- padre = num
- return me
- end
-
- on getPadre me
- return padre
- end
-