mIRC Home    About    Download    Register    News    Help

Print Thread
#145951 29/03/06 06:02 PM
Joined: Feb 2005
Posts: 344
B
Fjord artisan
OP Offline
Fjord artisan
B
Joined: Feb 2005
Posts: 344
I'm trying to add a treeview to a popup manager.
I got it working on showing me in the list what the popups are in the text file.
What I can't figure out is how to send the right line to the channel.
Now it uses:
Code:
$gettok($read($mircdirdata\popup\slaps.txt,pt, $did(1).sel),2-,124)
  

But this is for 1 text file now with the treeview I have more text files and I don't know how to get it to read the text file that is shown in the list.
Any help will be welcome smile
Also any command on howto improve the script in total or just some code are welcome. smile
Here's the code so far:
Code:
 dialog slap {
  title "flupScript Slap Manager - uitgebreid door Bullseye"
  size -1 -1 340 158
  option dbu
  list 1, 56 16 217 128, size hsbar
  button "Random Slap", 2, 57 145 37 12
  button "Selected Slap", 3, 115 145 37 12
  button "Delete Slap", 4, 236 145 37 12
  button "Add Slap", 5, 176 145 37 12
  combo 8, 277 16 60 140, size vsbar drop
  list 7, 277 27 60 117, size
  text "flupScript Slap Manager - uitgebreid door Bullseye", 6, 7 3 140 8
  edit "", 9, 277 3 60 10, read
  list 10, 2 16 50 128, size
}

on *:dialog:slap:*:*:{
  if (!$istok(mouse edit,$devent,32) && $did != 3 && $active != @slap.preview && $window(@slap.preview)) { window -c $ifmatch }
  if ($devent == init) {
    mdx.load
    mdx SetControlMDX $dname 10 TreeView haslines linesatroot hasbuttons showsel > $views
    did -i $dname 10 1 setcolor text $color(1)
    did -i $dname 10 1 setcolor bkg $color(0)
    did -i $dname 10 1 setcolor line $color(6)
    did -a $dname 10 1 Nederlands
    did -i $dname 10 1 cb last
    did -a $dname 10 Knuffelen
    did -a $dname 10 Zoenen
    did -a $dname 10 Bedankt
    did -a $dname 10 Sorry
    did -a $dname 10 Plaatjes
    did -a $dname 10 Smiley's
    did -a $dname 10 Vlaggen
    did -a $dname 10 Gezichten
    did -i $dname 10 1 cb root
    did -a $dname 10 Engels
    did -i $dname 10 1 cb last
    did -a $dname 10 Knuffelen
    did -a $dname 10 Zoenen
    did -a $dname 10 Bedankt
    did -a $dname 10 Sorry
    did -a $dname 10 Plaatjes
    did -a $dname 10 Smiley's
    did -a $dname 10 Vlaggen
    did -a $dname 10 Gezichten
    did -i $dname 10 1 cd root
    did -r slap 1 
    loadbuf -o slap 1 $mircdirdata\popup\slap.txt
    did -r slap 9 
    did -a slap 9 Total Slaps: $lines($mircdirdata\popup\slaps.txt) 
    set %schan $chan(0)
    while (%schan > 0) { 
      did -a slap 8 $chan( $+ %schan $+ ) 
      dec %schan 
    }
  }
  if ($devent == sclick) {
    if ($did == 1) {
      if ($did(1).seltext) {
        preview
      }
    }
    if ($did == 8) {
      var %schans $did(8) 
      did -r slap 7 
      var %snicks $nick($did(8),0)
      while (%snicks > 0) {
        did -a slap 7 $nick($did(8), %snicks)
        dec %snicks
      }
    }
    if ($did == 5) {
      write $mircdirdata\popup\eigen.txt$?="Slap to add" 
      did -r slap 1 
      loadbuf -o slap 1 $mircdirdata\popup\eigen.txt
      did -r slap 9
      did -a slap 9 Total Quotes: $lines($mircdirdata\popup\slaps.txt) 
    }
    if ($did == 4) {
      write -dl $+ $did(1).sel $mircdirdata\popup\eigen.txt
      did -r slap 1 
      loadbuf -o slap 1 $mircdirdata\popup\eigen.txt
      did -r slap 9 
      did -a slap 9 Total Quotes: $lines($mircdirdata\popup\slaps.txt) 
    }
    if ($did == 3) {
      var %ik = $did(8).text
      var %nick = $did(7).seltext
      var %msg = msg $did(8)
      var %act = describe $did(8)
      var %sound = sound $did(8)
      $gettok($read($mircdirdata\popup\slaps.txt,pt, $did(1).sel),2-,124)
    }
    if ($did == 2) {
      var %ik = $did(8).text
      var %nick = $did(7).seltext
      var %msg = msg $did(8)
      var %act = describe $did(8)
      var %sound = sound $did(8)
      $gettok($read($mircdirdata\popup\slaps.txt,pt),2-,124) 
    }
    if ($did == 10) {
      tokenize 32 $did($did,1) 
      if ($1 == slclick) {
        if ($4 == 2) && ($5 == 2) { show.knuffelen }
        if ($4 == 2) && ($5 == 3) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\zoenen.txt }
        if ($4 == 2) && ($5 == 4) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\bedankt.txt }
        if ($4 == 2) && ($5 == 5) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\sorry.txt }
        if ($4 == 2) && ($5 == 6) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\plaatjes.txt }
        if ($4 == 2) && ($5 == 7) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\smiley.txt }
        if ($4 == 2) && ($5 == 8) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\vlaggen.txt }
        if ($4 == 2) && ($5 == 9) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\gezichten.txt }
        if ($4 == 3) && ($5 == 2) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\E-knuffel.txt }
        if ($4 == 3) && ($5 == 3) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\E-zoenen.txt }
        if ($4 == 3) && ($5 == 4) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\E-bedankt.txt }
        if ($4 == 3) && ($5 == 5) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\E-sorry.txt }
        if ($4 == 3) && ($5 == 6) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\E-plaatjes.txt }
        if ($4 == 3) && ($5 == 7) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\E-smiley.txt }
        if ($4 == 3) && ($5 == 8) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\E-vlaggen.txt }
        if ($4 == 3) && ($5 == 9) { did -r slap 1 | loadbuf -o slap 1 $mircdirdata\popup\E-gezichten.txt }
      }     
     }
    }
   }

alias show.knuffelen { msg #unochat lekker knuffelen }

menu channel {
  .Slap Manager:dialog -m slap slap
}

alias -l preview {
  var %nick = $did(7).seltext
  var %font = $window(Status Window).font,%size = $window(Status Window).fontsize,%x = $calc($dialog(slap).x +1),%y = $calc($dialog(slap).y + 346),%text = $gettok($read($mircdirdata\popup\slaps.txt,t, $did(1).sel),2,124),%w = $iif($calc($window(-1).w - %x) < 602,$calc($v1 - 4),$v2),%text.w = $width($burcwrap(%text,%font,%size,$calc(%w -4),1,1),%font,%size,0,1),%w = $calc(%text.w + 6),%lines = $burcwrap(%text,%font,%size,%w,1,0),%line.h = $height(%text,%font,%size),%text.h = $calc(%lines * %line.h),%h = $iif($calc($window(-1).h - %y) < $calc(%text.h + 6),$calc($v1 -2),$v2)
  if ($window(@slap.preview)) {
    var %wnd = $ifmatch
    window -f %wnd %x %y %w %h
  }
  else {
    window -pdk0fhB +dL @slap.preview %x %y %w %h
  }
  window -o @slap.preview
  drawrect -rf @slap.preview 15794175 1 0 0 %w %h
  ;15794175
  drawrect -r @slap.preview 0 1 0 0 %w %h
  var %q = 1
  while (%q <= %lines) {
    var %drawtext = $burcwrap(%text,%font,%size,$calc(%w -4),1,%q)
    drawtext -bpr @slap.preview $color($color(action)) 15794175 %font %size 4 $calc((%q -1) * %line.h +2) %drawtext
    inc %q
  }
}
menu @slap.preview {
  fix position:preview
}
on *:appactive:{
  if (!$appactive && $window(@slap.preview)) { window -c @slap.preview }
}
alias -l burcwrap {
  var %text = $1, %c $chr(44)
  tokenize 44 $+($2,%c,$3,%c,$4,%c,$iif($0 == 5,1 $+ %c),$$5,%c,$6)
  if ($istok(1.0,$5,46) == $true) {
    return $wrap(%text,$1,$2,$3,$4,$5)
  }
  var %regex = /(\d{0,2})/g, %regex2 /\d{0,2},(\d{1,2})/g, %b = 1,
  var %str, %cc1, %cc2
  while (%b < $($ $+ $0,2)) {
    %str = %str $+ $wrap(%text,$1,$2,$3,$4,%b)
    inc %b
  }
  if ($regex(%str,%regex)) %cc1 = $regml($regml(0))
  if ($regex(%str,%regex2) > 0) %cc2 = $regml($regml(0))
  if (%cc1 $+ %cc2) var %cc = $+(,%cc1,$iif(%cc2,$chr(44) $+ %cc2))
  return $iif(2 \\ $count(%str,) ,) $+ $iif(2 \\ $count(%str,),) $+ $&
    $iif(2 \\ $count(%str,),) $+ $iif(%cc,%cc) $+ $wrap(%text,$1,$2,$3,$4,$5)
}
 


GreetzZ,

Bullseye

#145952 30/03/06 05:41 AM
Joined: Feb 2005
Posts: 344
B
Fjord artisan
OP Offline
Fjord artisan
B
Joined: Feb 2005
Posts: 344
Is it possible to do loadbuf with a ini ?

#145953 30/03/06 06:32 AM
Joined: Mar 2005
Posts: 420
X
Fjord artisan
Offline
Fjord artisan
X
Joined: Mar 2005
Posts: 420
Yes, with the -t switch.

/help /loadbuf


If you have a plastic floor runner over your tiles, then you're one Hella Pinoy!
#145954 30/03/06 07:14 AM
Joined: Feb 2005
Posts: 344
B
Fjord artisan
OP Offline
Fjord artisan
B
Joined: Feb 2005
Posts: 344
oke missed that when reading the helpfile crazy
But I still dont get the right line in the preview or displayed in the room.
When selecting a line it reads the whole file from line 1 and not just the part loaded with loadbuf.
So if I load topic part 5 from the file in the list and choose line 7 it will read the 7th line from the beginning of the file and not the 7th line from topic 5.
This is what reads the line:
Code:
 $gettok($read($mircdirdata\popup\slaps.txt,pt, $did(1).sel),2-,124) 

What needs to be changed to let it read the line i choose ?


Link Copied to Clipboard