;IRcap8 304f5acec63dada5631e07cbd2b03ad4

alias listador {
  guiwin @Listados $calc($mouse.mx - 60) $calc($mouse.my - 30) 384 330 $1

  %Listados.accion = $4
  %listados.fic = $3
  %listados.fin = $5

  cuagr @Listados 16 40 352 245 $1
  %Listados.tx = 58 260 284 Listados.item Item
  %Listados.tx = 58 260 304 Listados.item Item
  %Listados.bt = 16 294 8 listados.mas +|42 294 8 listados.menos -|68 294 64 listados.act $m(act) |156 294 194 Listados.accion $2
  %Listados.ls1 = 26 54 316 14 1 0 Listados.click @Listados1 | window -c @Listados1 | window -hls @Listados1
  guidib @Listados
  llenalista
  window -wa @listados
}

alias -l llenalista {
  window -c @Listados1 | window -hls @Listados1
  if $file(%listados.fic).size != $null { var %i = 1 | :L1 | var %a = $read -l $+ %i %listados.fic | if %a != $null { aline @Listados1 %a | inc %i | goto L1 } }
  guilista @Listados Listados.ls1 | unset %listados.item | guidibtx @Listados %Listados.tx | drawline @Listados
  ggguilista reset @listados listados.ls1
}

alias grabalista write -c %listados.fic | var %i = 1 | while ($line(@listados1,%i) != $null) { write %listados.fic $ifmatch | inc %i }

alias listados.mas {
  if (%listados.item isnum) return
  aline @listados1 $nexe(%listados.item)
  grabalista
  llenalista
}
alias listados.menos if ($sline(@listados1,1).ln) { dline @listados1 $ifmatch | grabalista | llenalista }

alias Listados.click {
  %Listados.item = $3- | guidibtx @Listados %Listados.tx | drawline @listados
  if $1 == 2 Listados.accion
}
alias Listados.accion $remp($replace(%Listados.accion,<item>,%listados.item)) | if %listados.fin == 1 .timer -m 1 50 guicierra $active

alias listados.act {
  if (!$sline(@listados1,1).ln) || (%listados.item == $null) return
  rline @listados1 $sline(@listados1,1).ln %listados.item
  grabalista
  llenalista
}

on 1:close:@listados: listados.cierra
alias listados.cierra unset %listados.* | window -c @listados | window -c @listados1 | .unload -rs listador.mrc

;EOF-dt
