|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
CHANNELBAR REFAITE EN TREEVIEW
Information sur la source
Description
ce code permet de remplacer la channelbar normale de mirc:
/sb
pour charger ma channelbar
/ub
pour revenir a la normale
Source
- dialog wbs.channelbar {
- title "Wbs Channel bar"
- size -1 -1 80 314
- option dbu
- list 1, 0 0 80 333, size
- }
- alias -l wget { return $hget(wbscfg,$1-) }
- alias sb {
- var %dname = wbs.channelbar
- if (!$dialog(%dname).title) { wbsopen %dname }
- else { load.switchbar }
- var %dll = $wdll(dmu.dll)
- if (%dll) {
- var %height = $dll(%dll,SbSize,height) , %width = $dll(%dll,SbSize,width)
- if (%height) && (%width) { ;dialog -s %dname %height %width }
- }
- }
- alias ub { if ($dialog(wbs.channelbar).title) { dll $wdll(UltraDock.dll) UnDock 0 | dll $wdll(UltraDock.dll) ShowSwitchbar 1 | wbsclose wbs.channelbar } }
- alias wbs.gettree { ;usage: $wbs.gettree(Dialog,Id,string)
- var %tmp = $wildtok($didtok($1,$2,1),* $+ $3- $+ *,1,1)
- if ($isid) && (%tmp) { return %Tmp }
- }
-
- alias -l pop.add { mpdll MPAddItem $1- }
- on *:dialog:wbs.channelbar:*:*:{
- if ($devent == init) {
- mdxinit
- dll $wdll(mdx.dll) SetControlMDX $dname 1 treeview fullrowselect haslines hasbuttons showsel rowselect > $wdll(views.mdx)
- idid 1 1 iconsize normal small
- var %ico.dir = $shortfn($wbsdir $+ img\ico\) , %icos = otherads.ico;mirc.ico;serv.ico;burn.ico;notify.ico;sitespring.ico;ftp.ico;skull.ico;send.ico;Sitespring.ico;mem.ico , %i = 1 , %n = $numtok(%icos,59)
- while (%i <= %n) {
- idid 1 1 seticon normal %ico.dir $+ $gettok(%icos,%i,59)
- inc %i
- }
- load.switchbar
- ;idid 1 1 branch collapseall
- idid 1 1 setcolor bkg 0
- idid 1 1 setcolor text 16777215
- tokenize 32 $did(1,1,1)
- if ($window(0)) { idid 1 1 branch collapse $calc($scon(0) +2) }
- dll $wdll(UltraDock.dll) ShowSwitchbar 0
- dll $wdll(UltraDock.dll) Dock -1 $dialog($dname).hwnd left $dname
- }
- elseif ($devent == sclick) {
- tokenize 32 $did(1,1,1)
- if ($1 == slclick) {
- var %seltext = $gettok($mdxgb($dname,1,$4),7,32) , %mode = $2 , %auto_dialog = 0 , %text = $mdxgb($dname,1,$4-5) , %stext = $mgettok(%text,7-,32,1,9)
- var %rtext = $mgettok($mdxgb($dname,1,$4-),7-,32,1,9)
- if ($left(%Rtext,1) == $chr(35)) { %rtext = $mgettok($mdxgb($dname,1,$4-),7-,32,2,9) }
- if (%mode == select) && ($1 == slclick) {
- var %scon = $wbs.findscon(%seltext)
- if (%scon) { scid %scon }
- if ($left(%rtext,1) != @) {
- if (%seltext != !Dcc) && (!$5) {
- window -a "Status Window"
- if (%auto_dialog) {
- wbsopen $dname
- did -f $dname 1
- }
- }
- }
- if ($calc($4 -1) <= $scon(0)) {
- if ($left(%rtext,1) == $chr(35)) {
- if ($window(%rtext)) { window -a " $+ %rtext $+ " }
- if (%auto_dialog) { did -f $dname 1 }
- }
- elseif (%Stext = Query) && ($query(%rtext)) { .timer 1 0.1 query %rtext }
- }
- elseif ($window(%rtext)) && (%seltext == @Windows) && ($v1) {
- window -wx %rtext
- if (%auto_dialog) { did -f $dname 1 }
- }
- elseif (%seltext == !Dcc) {
- var %i = $calc($6 -1)
- if (%stext == Get) && ($get(%rtext).file) { window -a "Get $get(%rtext) $get(%rtext).file $+ " }
- elseif (%stext == Send) && ($send(%rtext).file) { window -a "Send $send(%rtext) $send(%rtext).file $+ " }
- elseif (%stext == Chat) { window -a "Chat $chat(%i) $+ " }
- if (%auto_dialog) { did -f $dname 1 }
- }
- }
- }
- elseif ($1 == rclick) {
- did -f $dname 1
- var %seltext = $gettok($mdxgb($dname,1,$4),7,32) , %mode = $gettok($did(1,1),2,32) , %dll = $wdll(mpopup.dll)
- var %chan = $gettok($gettok($mdxgb($dname,1,$3-),7-,32),1,9) , %scon = $wbs.findscon(%seltext)
- var %hmenu = $gettok($mpdll(MPCreateMenu,Channelbar),2,32)
- if (%scon) { scid %scon }
- pop.add %hmenu > 1 0 0 Actualiser > sb
- pop.add %hmenu > 2 0 0 - > -
- pop.add %hmenu > 3 0 0 Rejoindre > hop %chan
- pop.add %hmenu > 4 0 0 Fermer > part %Chan
- pop.add %hmenu > 5 0 0 Deconecter > quit
- mpdll MPMenuColor Channelbar > RGB_BACK > 16777180
- mpdll MPopup Channelbar > $mouse.dx $mouse.dy left left left
- }
- }
- }
-
- alias -l fmaj {
- if ($2) { return $upper($left($1,$2)) $+ $mid($1,[ [ $calc($2 +1) ] $+ - ]) }
- elseif ($1) { return $upper($left($1-,1)) $+ $mid($1-,2-) }
- }
-
- alias -l load.switchbar {
- var %n = $scon(0) , %i 1 , %dname = wbs.channelbar , %win = $window(0) , %table = wbs.channelbar.data
- if ($dialog(%dname).title) {
- wbs.figebar
- did -r %dname 1
- while (%i <= %n) {
- scid $scon(%i)
- var %chans = $chan(0) , %i2 1 , %query = $query(0) , %data = $hget(%table,$network)
- if (%chans > 0) {
- did -i %dname 1 1 cb root up
- did -a %dname 1 $iif($gettok(%data,1-6,32),$ifmatch,+be 1 1 0 0 0) $network $chr(9) $network $chr(91) $+ %chans $+ $chr(93)
- did -i %dname 1 1 cb root last
- while (%i2 <= %chans) {
- var %tmp = $fmaj($chan(%i2),2)
- if ($len(%tmp) <= 17) { did -a %dname 1 2 10 0 0 0 %tmp $chr(9) %tmp }
- else { did -a %dname 1 2 10 0 0 0 $+($mid(%tmp,1,16),..) $chr(9) %tmp }
- inc %i2
- }
- }
- if (%query > 0) {
- var %i3 1 , %qdata = $hget(%table,$+($network,.,$query(%i)))
- did -a %dname 1 $iif(%qdata,$ifmatch) 6 6 0 0 0 Query $chr(9) Query $chr(91) $+ %query $+ $chr(93)
- did -i %dname 1 1 cb last
- while (%i3 <= %query) {
- did -a %dname 1 5 5 0 0 0 $query(%i3) $chr(9) $query(%i3)
- inc %i3
- }
- did -i %dname 1 1 cb root up
- }
- inc %i
- }
- if (%win > 0) {
- var %i3 1
- did -i %dname 1 1 cb root up
- did -a %dname 1 $iif($gettok($hget(%table,@windows),1-6,32),$ifmatch,+be 3 3 0 0 0) @Windows $chr(9) @Windows $chr(91) $+ %win $+ $chr(93)
- did -i %dname 1 1 cb root last
- while (%i3 <= %win) {
- did -a %dname 1 4 4 0 0 $window(%i3) $chr(9) $window(%i3)
- inc %i3
- }
- did -i %dname 1 1 branch collapse $calc($scon(0) +2)
- did -i %dname 1 1 cb root up
- }
- }
- wbs.dcclist
- if ($hget(%table)) { hfree %table }
- }
- alias -l wbs.dcclist {
- var %get = $get(0) , %send = $send(0) , %i 1 , %dname = wbs.channelbar , %table = wbs.channelbar.data
- if ($dialog(%dname).title) {
- if ($calc(%get + %send + $chat(0)) > 0) {
- ;did -i %dname 1 1 cb root up
- did -a %dname 1 $iif($gettok($hget(%table,!DCC),1-6,32),$ifmatch,+be 7 7 0 0 0) !DCC $chr(9) Dcc transfers
- did -i %dname 1 1 cb root last
- if (%get) {
- did -a %dname 1 9 9 0 0 0 Get $chr(9) Get $chr(91) $+ %get $+ $chr(93)
- did -i %dname 1 1 cb last
- while (%i <= %get) {
- did -a %dname 1 8 8 0 0 0 $get(%i) $chr(9) $get(%i).file $chr(40) $+ $get(%i).ip $+ $chr(41)
- inc %i
- }
- did -i %dname 1 1 cb up
- }
- if (%send) {
- var %i 1
- did -a %dname 1 10 10 0 0 0 Send $chr(9) Send $chr(91) $+ %send $+ $chr(93)
- did -i %dname 1 1 cb last
- while (%i <= %send) {
- did -a %dname 1 8 8 0 0 0 $send(%i) $chr(9) $send(%i).file $chr(40) $+ $send(%i).ip $+ $chr(41)
- inc %i
- }
- did -i %dname 1 1 cb up
- }
- if ($chat(0)) {
- var %i 1
- did -a %dname 1 12 12 0 0 0 Chat $chr(9) Chat $chr(91) $+ $chat(0) $+ $chr(93)
- did -i %dname 1 1 cb last
- while (%i <= $chat(0)) {
- did -a %dname 1 13 13 0 0 0 $chat(%i).ip $chr(9) $chat(%i) $chr(91) $+ $chat(%i).ip $+ $chr(93)
- inc %i
- }
- did -i %dname 1 1 cb root up
- }
- }
- }
- }
- alias -l wbs.figebar {
- var %table = wbs.channelbar.data , %n = $wbs.mdx.tree.num(wbs.channelbar,1) , %i 2
- if (%n > 0) {
- if ($hget(%table)) { hfree %table }
- while (%i <= %n) {
- var %data = $did(wbs.channelbar,1,%i)
- if (%data) { hadd -m %table $gettok(%data,7,32) %data }
- inc %i
- }
- }
- }
-
- on me:*:join:#: { .timer -m 1 1 load.switchbar }
- on me:*:part:#: { .timer -m 1 1 load.switchbar }
- on *:connect:{ .timer -m 1 1 load.switchbar }
- on *:open:@:{ .timer -m 1 1 load.switchbar }
- on *:close:@:{ .timer -m 1 1 load.switchbar }
- on *:open:?:{ .timer -m 1 1 load.switchbar }
- on *:close:?:{ .timer -m 1 1 load.switchbar }
- on *:close:*:{ if ($target == "status window") { .timer -m 1 1 load.switchbar } }
- on *:GETFAIL:*.*:{ .timer -m 1 1 load.switchbar }
- on *:FILERCVD:*:{ .timer -m 1 1 load.switchbar }
- on *:FILESENT:*:{ .timer -m 1 1 load.switchbar }
-
- alias wbs.mdx.tree.num {
- ;retourne le nombre total d'items dans une treeview
- if ($dialog($1)) && ($2) && ($isid) {
- var %i 0
- while ($true) {
- inc %i
- if (!$mdxgb($1,$2,%i)) { return %i }
- }
- }
- }
- Alias mdxGB {
- if ($dialog($1)) {
- did -i $1 $2 1 cb root $deltok($3,-1,32)
- return $did($1,$2,1,$gettok($3,-1,32))
- }
- }
- alias wbs.mdx.tree.id {
- ;syntaxe: Dname,ID,mot,N
- ;N = occurence, 0 pour le nombre total d"occurences
- if ($dialog($1)) && ($len($4)) && ($isid) {
- var %n = $wbs.mdx.tree.num($1,$2) , %i 1 , %k = 0
- while (%i <= %n) {
- var %data = $strip($mdxgb($1,$2,%i))
- if (%data) {
- var %tmp = $gettok($gettok(%data,7-,32),1,9)
- if ($3 iswm %tmp || $3 == %tmp) {
- inc %k
- if ($4 == %k) { return %i }
- }
- }
- elseif (!$len($4)) { break }
- else { return %k }
- inc %i
- }
- }
- }
-
- alias wbs.findscon {
- if ($isid) && ($1) {
- var %n = $scon(0) , %id = $scon($network)
- while (%n > 0) {
- scid $scon(%n)
- if ($1 == $network) { return $scon(%n) }
- dec %n
- }
- if (%id) { scid $scid(%id) }
- }
- }
- alias wbsopen {
- var %dialog = $1 , %mod = $2
- if (%dialog) {
- if ($dialog(%dialog).title) { dialog -v %dialog }
- else {
- if ($left(%mod,1) == -) { dialog %mod %dialog %dialog }
- else { dialog -m %dialog %dialog }
- }
- }
- }
-
- alias mdx {
- if ($wdll(mdx.dll)) { dll $ifmatch $1- }
- elseif (%mdx) { dll $shortfn(%mdx) $1- }
- }
- alias mdxinit {
- if ($1) { var %dname = $1- }
- else { var %dname = $dname }
- if (!%dname) { wecho erreur: Mdxinit: nom du dialog manquant ! | halt }
- else {
- mdx SetMircVersion $version
- mdx MarkDialog %dname
- return OK
- }
- }
- alias dellasttok { return $deltok($1,$numtok($1,$2),$2) }
- alias wbsdir {
- if ($wbs.relat($shortfn($scriptdir))) { return $ifmatch $+ $chr(92) }
- }
- alias idid { if ($1) { did -i $dname $1- } }
- alias wbs.relat {
- if ($gettok($$1,$calc($numtok($mircdir,92) +1),92)) { return $gettok($$1,$calc($numtok($mircdir,92) +1) $+ -,92) }
- }
- alias wdll {
- if ($1) {
- if ($hget(wbs.dlls,$1)) { return $wbs.relat($shortfn($ifmatch)) }
- var %wdll = $wbsdir $+ dlls\ $+ $1
- if (!$exists(%wdll)) {
- var %wdll = $findfile($mircdir,$ifmatch,1)
- if (%wdll) { hadd -m wbs.dlls $nopath(%wdll) %wdll }
- }
- if (%wdll) { return $wbs.relat($shortfn($ifmatch)) }
- }
- }
-
- alias mgettok {
- if ($0) && ($isid) {
- var %n = $calc(($0 -1) / 2)
- if ($chr(46) !isin %n) {
- var %i 1 , %tok = 3 , %id = 2
- while (%i <= %n) {
- var %tmp = $eval($+($,%tok),2)
- if (%tmp !isnum) { var %tmp = $asc(%tmp) }
- if (!%data) { var %data = $gettok($1,$eval($+($,%id),2),%tmp) }
- else { var %data = $gettok(%data,$eval($+($,%id),2),%tmp) }
- inc %id 2
- inc %tok 2
- inc %i
- }
- return %data
- }
- else { wecho Error: mgettok syntaxe/parametres invalides }
- }
- }
- alias wbsclose {
- var %dname = $iif($1-,$ifmatch,$dname)
- if ($dialog(%dname).title) { dialog -x %dname }
- }
- alias -l mpdll {
- if ($isid) { return $dll($wdll(mpopup.dll),$1,$2-) }
- else { dll $wdll(mpopup.dll) $1 $2- }
- }
dialog wbs.channelbar {
title "Wbs Channel bar"
size -1 -1 80 314
option dbu
list 1, 0 0 80 333, size
}
alias -l wget { return $hget(wbscfg,$1-) }
alias sb {
var %dname = wbs.channelbar
if (!$dialog(%dname).title) { wbsopen %dname }
else { load.switchbar }
var %dll = $wdll(dmu.dll)
if (%dll) {
var %height = $dll(%dll,SbSize,height) , %width = $dll(%dll,SbSize,width)
if (%height) && (%width) { ;dialog -s %dname %height %width }
}
}
alias ub { if ($dialog(wbs.channelbar).title) { dll $wdll(UltraDock.dll) UnDock 0 | dll $wdll(UltraDock.dll) ShowSwitchbar 1 | wbsclose wbs.channelbar } }
alias wbs.gettree { ;usage: $wbs.gettree(Dialog,Id,string)
var %tmp = $wildtok($didtok($1,$2,1),* $+ $3- $+ *,1,1)
if ($isid) && (%tmp) { return %Tmp }
}
alias -l pop.add { mpdll MPAddItem $1- }
on *:dialog:wbs.channelbar:*:*:{
if ($devent == init) {
mdxinit
dll $wdll(mdx.dll) SetControlMDX $dname 1 treeview fullrowselect haslines hasbuttons showsel rowselect > $wdll(views.mdx)
idid 1 1 iconsize normal small
var %ico.dir = $shortfn($wbsdir $+ img\ico\) , %icos = otherads.ico;mirc.ico;serv.ico;burn.ico;notify.ico;sitespring.ico;ftp.ico;skull.ico;send.ico;Sitespring.ico;mem.ico , %i = 1 , %n = $numtok(%icos,59)
while (%i <= %n) {
idid 1 1 seticon normal %ico.dir $+ $gettok(%icos,%i,59)
inc %i
}
load.switchbar
;idid 1 1 branch collapseall
idid 1 1 setcolor bkg 0
idid 1 1 setcolor text 16777215
tokenize 32 $did(1,1,1)
if ($window(0)) { idid 1 1 branch collapse $calc($scon(0) +2) }
dll $wdll(UltraDock.dll) ShowSwitchbar 0
dll $wdll(UltraDock.dll) Dock -1 $dialog($dname).hwnd left $dname
}
elseif ($devent == sclick) {
tokenize 32 $did(1,1,1)
if ($1 == slclick) {
var %seltext = $gettok($mdxgb($dname,1,$4),7,32) , %mode = $2 , %auto_dialog = 0 , %text = $mdxgb($dname,1,$4-5) , %stext = $mgettok(%text,7-,32,1,9)
var %rtext = $mgettok($mdxgb($dname,1,$4-),7-,32,1,9)
if ($left(%Rtext,1) == $chr(35)) { %rtext = $mgettok($mdxgb($dname,1,$4-),7-,32,2,9) }
if (%mode == select) && ($1 == slclick) {
var %scon = $wbs.findscon(%seltext)
if (%scon) { scid %scon }
if ($left(%rtext,1) != @) {
if (%seltext != !Dcc) && (!$5) {
window -a "Status Window"
if (%auto_dialog) {
wbsopen $dname
did -f $dname 1
}
}
}
if ($calc($4 -1) <= $scon(0)) {
if ($left(%rtext,1) == $chr(35)) {
if ($window(%rtext)) { window -a " $+ %rtext $+ " }
if (%auto_dialog) { did -f $dname 1 }
}
elseif (%Stext = Query) && ($query(%rtext)) { .timer 1 0.1 query %rtext }
}
elseif ($window(%rtext)) && (%seltext == @Windows) && ($v1) {
window -wx %rtext
if (%auto_dialog) { did -f $dname 1 }
}
elseif (%seltext == !Dcc) {
var %i = $calc($6 -1)
if (%stext == Get) && ($get(%rtext).file) { window -a "Get $get(%rtext) $get(%rtext).file $+ " }
elseif (%stext == Send) && ($send(%rtext).file) { window -a "Send $send(%rtext) $send(%rtext).file $+ " }
elseif (%stext == Chat) { window -a "Chat $chat(%i) $+ " }
if (%auto_dialog) { did -f $dname 1 }
}
}
}
elseif ($1 == rclick) {
did -f $dname 1
var %seltext = $gettok($mdxgb($dname,1,$4),7,32) , %mode = $gettok($did(1,1),2,32) , %dll = $wdll(mpopup.dll)
var %chan = $gettok($gettok($mdxgb($dname,1,$3-),7-,32),1,9) , %scon = $wbs.findscon(%seltext)
var %hmenu = $gettok($mpdll(MPCreateMenu,Channelbar),2,32)
if (%scon) { scid %scon }
pop.add %hmenu > 1 0 0 Actualiser > sb
pop.add %hmenu > 2 0 0 - > -
pop.add %hmenu > 3 0 0 Rejoindre > hop %chan
pop.add %hmenu > 4 0 0 Fermer > part %Chan
pop.add %hmenu > 5 0 0 Deconecter > quit
mpdll MPMenuColor Channelbar > RGB_BACK > 16777180
mpdll MPopup Channelbar > $mouse.dx $mouse.dy left left left
}
}
}
alias -l fmaj {
if ($2) { return $upper($left($1,$2)) $+ $mid($1,[ [ $calc($2 +1) ] $+ - ]) }
elseif ($1) { return $upper($left($1-,1)) $+ $mid($1-,2-) }
}
alias -l load.switchbar {
var %n = $scon(0) , %i 1 , %dname = wbs.channelbar , %win = $window(0) , %table = wbs.channelbar.data
if ($dialog(%dname).title) {
wbs.figebar
did -r %dname 1
while (%i <= %n) {
scid $scon(%i)
var %chans = $chan(0) , %i2 1 , %query = $query(0) , %data = $hget(%table,$network)
if (%chans > 0) {
did -i %dname 1 1 cb root up
did -a %dname 1 $iif($gettok(%data,1-6,32),$ifmatch,+be 1 1 0 0 0) $network $chr(9) $network $chr(91) $+ %chans $+ $chr(93)
did -i %dname 1 1 cb root last
while (%i2 <= %chans) {
var %tmp = $fmaj($chan(%i2),2)
if ($len(%tmp) <= 17) { did -a %dname 1 2 10 0 0 0 %tmp $chr(9) %tmp }
else { did -a %dname 1 2 10 0 0 0 $+($mid(%tmp,1,16),..) $chr(9) %tmp }
inc %i2
}
}
if (%query > 0) {
var %i3 1 , %qdata = $hget(%table,$+($network,.,$query(%i)))
did -a %dname 1 $iif(%qdata,$ifmatch) 6 6 0 0 0 Query $chr(9) Query $chr(91) $+ %query $+ $chr(93)
did -i %dname 1 1 cb last
while (%i3 <= %query) {
did -a %dname 1 5 5 0 0 0 $query(%i3) $chr(9) $query(%i3)
inc %i3
}
did -i %dname 1 1 cb root up
}
inc %i
}
if (%win > 0) {
var %i3 1
did -i %dname 1 1 cb root up
did -a %dname 1 $iif($gettok($hget(%table,@windows),1-6,32),$ifmatch,+be 3 3 0 0 0) @Windows $chr(9) @Windows $chr(91) $+ %win $+ $chr(93)
did -i %dname 1 1 cb root last
while (%i3 <= %win) {
did -a %dname 1 4 4 0 0 $window(%i3) $chr(9) $window(%i3)
inc %i3
}
did -i %dname 1 1 branch collapse $calc($scon(0) +2)
did -i %dname 1 1 cb root up
}
}
wbs.dcclist
if ($hget(%table)) { hfree %table }
}
alias -l wbs.dcclist {
var %get = $get(0) , %send = $send(0) , %i 1 , %dname = wbs.channelbar , %table = wbs.channelbar.data
if ($dialog(%dname).title) {
if ($calc(%get + %send + $chat(0)) > 0) {
;did -i %dname 1 1 cb root up
did -a %dname 1 $iif($gettok($hget(%table,!DCC),1-6,32),$ifmatch,+be 7 7 0 0 0) !DCC $chr(9) Dcc transfers
did -i %dname 1 1 cb root last
if (%get) {
did -a %dname 1 9 9 0 0 0 Get $chr(9) Get $chr(91) $+ %get $+ $chr(93)
did -i %dname 1 1 cb last
while (%i <= %get) {
did -a %dname 1 8 8 0 0 0 $get(%i) $chr(9) $get(%i).file $chr(40) $+ $get(%i).ip $+ $chr(41)
inc %i
}
did -i %dname 1 1 cb up
}
if (%send) {
var %i 1
did -a %dname 1 10 10 0 0 0 Send $chr(9) Send $chr(91) $+ %send $+ $chr(93)
did -i %dname 1 1 cb last
while (%i <= %send) {
did -a %dname 1 8 8 0 0 0 $send(%i) $chr(9) $send(%i).file $chr(40) $+ $send(%i).ip $+ $chr(41)
inc %i
}
did -i %dname 1 1 cb up
}
if ($chat(0)) {
var %i 1
did -a %dname 1 12 12 0 0 0 Chat $chr(9) Chat $chr(91) $+ $chat(0) $+ $chr(93)
did -i %dname 1 1 cb last
while (%i <= $chat(0)) {
did -a %dname 1 13 13 0 0 0 $chat(%i).ip $chr(9) $chat(%i) $chr(91) $+ $chat(%i).ip $+ $chr(93)
inc %i
}
did -i %dname 1 1 cb root up
}
}
}
}
alias -l wbs.figebar {
var %table = wbs.channelbar.data , %n = $wbs.mdx.tree.num(wbs.channelbar,1) , %i 2
if (%n > 0) {
if ($hget(%table)) { hfree %table }
while (%i <= %n) {
var %data = $did(wbs.channelbar,1,%i)
if (%data) { hadd -m %table $gettok(%data,7,32) %data }
inc %i
}
}
}
on me:*:join:#: { .timer -m 1 1 load.switchbar }
on me:*:part:#: { .timer -m 1 1 load.switchbar }
on *:connect:{ .timer -m 1 1 load.switchbar }
on *:open:@:{ .timer -m 1 1 load.switchbar }
on *:close:@:{ .timer -m 1 1 load.switchbar }
on *:open:?:{ .timer -m 1 1 load.switchbar }
on *:close:?:{ .timer -m 1 1 load.switchbar }
on *:close:*:{ if ($target == "status window") { .timer -m 1 1 load.switchbar } }
on *:GETFAIL:*.*:{ .timer -m 1 1 load.switchbar }
on *:FILERCVD:*:{ .timer -m 1 1 load.switchbar }
on *:FILESENT:*:{ .timer -m 1 1 load.switchbar }
alias wbs.mdx.tree.num {
;retourne le nombre total d'items dans une treeview
if ($dialog($1)) && ($2) && ($isid) {
var %i 0
while ($true) {
inc %i
if (!$mdxgb($1,$2,%i)) { return %i }
}
}
}
Alias mdxGB {
if ($dialog($1)) {
did -i $1 $2 1 cb root $deltok($3,-1,32)
return $did($1,$2,1,$gettok($3,-1,32))
}
}
alias wbs.mdx.tree.id {
;syntaxe: Dname,ID,mot,N
;N = occurence, 0 pour le nombre total d"occurences
if ($dialog($1)) && ($len($4)) && ($isid) {
var %n = $wbs.mdx.tree.num($1,$2) , %i 1 , %k = 0
while (%i <= %n) {
var %data = $strip($mdxgb($1,$2,%i))
if (%data) {
var %tmp = $gettok($gettok(%data,7-,32),1,9)
if ($3 iswm %tmp || $3 == %tmp) {
inc %k
if ($4 == %k) { return %i }
}
}
elseif (!$len($4)) { break }
else { return %k }
inc %i
}
}
}
alias wbs.findscon {
if ($isid) && ($1) {
var %n = $scon(0) , %id = $scon($network)
while (%n > 0) {
scid $scon(%n)
if ($1 == $network) { return $scon(%n) }
dec %n
}
if (%id) { scid $scid(%id) }
}
}
alias wbsopen {
var %dialog = $1 , %mod = $2
if (%dialog) {
if ($dialog(%dialog).title) { dialog -v %dialog }
else {
if ($left(%mod,1) == -) { dialog %mod %dialog %dialog }
else { dialog -m %dialog %dialog }
}
}
}
alias mdx {
if ($wdll(mdx.dll)) { dll $ifmatch $1- }
elseif (%mdx) { dll $shortfn(%mdx) $1- }
}
alias mdxinit {
if ($1) { var %dname = $1- }
else { var %dname = $dname }
if (!%dname) { wecho erreur: Mdxinit: nom du dialog manquant ! | halt }
else {
mdx SetMircVersion $version
mdx MarkDialog %dname
return OK
}
}
alias dellasttok { return $deltok($1,$numtok($1,$2),$2) }
alias wbsdir {
if ($wbs.relat($shortfn($scriptdir))) { return $ifmatch $+ $chr(92) }
}
alias idid { if ($1) { did -i $dname $1- } }
alias wbs.relat {
if ($gettok($$1,$calc($numtok($mircdir,92) +1),92)) { return $gettok($$1,$calc($numtok($mircdir,92) +1) $+ -,92) }
}
alias wdll {
if ($1) {
if ($hget(wbs.dlls,$1)) { return $wbs.relat($shortfn($ifmatch)) }
var %wdll = $wbsdir $+ dlls\ $+ $1
if (!$exists(%wdll)) {
var %wdll = $findfile($mircdir,$ifmatch,1)
if (%wdll) { hadd -m wbs.dlls $nopath(%wdll) %wdll }
}
if (%wdll) { return $wbs.relat($shortfn($ifmatch)) }
}
}
alias mgettok {
if ($0) && ($isid) {
var %n = $calc(($0 -1) / 2)
if ($chr(46) !isin %n) {
var %i 1 , %tok = 3 , %id = 2
while (%i <= %n) {
var %tmp = $eval($+($,%tok),2)
if (%tmp !isnum) { var %tmp = $asc(%tmp) }
if (!%data) { var %data = $gettok($1,$eval($+($,%id),2),%tmp) }
else { var %data = $gettok(%data,$eval($+($,%id),2),%tmp) }
inc %id 2
inc %tok 2
inc %i
}
return %data
}
else { wecho Error: mgettok syntaxe/parametres invalides }
}
}
alias wbsclose {
var %dname = $iif($1-,$ifmatch,$dname)
if ($dialog(%dname).title) { dialog -x %dname }
}
alias -l mpdll {
if ($isid) { return $dll($wdll(mpopup.dll),$1,$2-) }
else { dll $wdll(mpopup.dll) $1 $2- }
}
Conclusion
placez les dlls:
UltraDock.dll
mdx.dll
views.mdx
mpopup.dll
dans le dossier /dlls/ situé a coté de votre fichier channelbar.mrc
(example:
/Addons/
/channelbar.mrc
/dlls/ les dlls
)
ps: il est pas encor tout a fait terminé car il y a des choses que je n"arrive pas a faire (par example connaitre le .seltext dans mon dialog)
bug connu: ne finctione qu'en 1024*768 avec mirc en plein écran
Historique
- 04 septembre 2005 13:44:30 :
- correction du bug de $wdll
- 04 septembre 2005 13:50:24 :
- javais oublié mdxinit et mpdll (qui était en fait dans un autre fichier d'aliases)
- 04 septembre 2005 14:24:07 :
- ajout de la dll manquante: dmu.dll
- 05 septembre 2005 18:50:45 :
- optimisation des lignion idid
- 07 septembre 2005 18:27:23 :
- ajout de dmu.dll
- 17 septembre 2005 19:33:41 :
- correction du bug lors des selection de send/get quand la meme persone avais un envoi é une reception
optimisation du code
ajout de poppups suplémentaires
gestion du cas ou un send se coupais suite a une erreur
deux éponges et une bouteille d"huile...
- 23 septembre 2005 14:00:36 :
- correction de quelques bugs
ajouts d"aliases manquantes :$
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Switchbar... [ par Mip ]
Je viens de créer une switchbar mais malheuresement lorsque l'on parle sur un autre chan, je ne peux pas le voir :-/ Je n'ai pas trouvé de fonction av
Help Treeview [ par PiZZaMaN ]
Bonsoir (c pr faire poli),je voudrais faire un script, avec un menu de configuration, mais pas avec des simples onglets mais une treeview. Le pb c que
Help TreeView [ par jujuquatre ]
~~~~~~~~~~~QuQuQuatrEuH~~~~~~~~~~~Salut,J'ai fait une treeview avec mdx, et je c'est pas comment faire pour que quand je clique sur un texte de la tre
MP3 - switchbar probleme avec le mp3 [ par NaNo45 ]
en faite je suis en train de finir ma switchbar MP3 - noitfy listmais kan je charge le répertoire du MP3 sa affiche sur un list mais kan je clike sur
SwitchBar Mirc [ par sat91 ]
Salut Scripteur et scripteuse !!J'auré aimé savoir si kelkun pouvé maidé pour metre une switchbar dan mon script, me dire komen lintegré et kel .dll e
Treeview mdx [ par Ixi ]
bonjour tout le monde, ( je suis poli hin !)voilà mon problème :jenarrive pas a retourner le nom d'une branche ou je vient de cliquer dans ma treeview
Utilisation Treeview [ par DiGhan ]
Bonjour,Voilà peu de temps que j'ai découvert un nouveau style de navigation : la treeview.La création de la treeview, en elle meme ne pose pas de pro
Icones ds la switchbar [ par Enops ]
Salut scripteurs et scripteuses, Voilà, je cherche pour savoir comment on fait pour mettre des îcones dans la switchbar à côté des salons et des pv
Icones ds la switchbar [ par Enops ]
Salut, j'avais déjà écris pour qu'on m'aide à l'application de mettre des icones à côté des onglets salons/pvs ds la switchbar comme par exemple de
Re : Comment on fait pour changer les icônes dans la switchbar à coté des salons, des pvs et de la fenêtre status ??!! [ par Enops ]
Expliquez moi svp :)On me dit de reshack machin mais j'voudrai savoir cmt on fait ! :DMerci, Enops++
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version

HTC Touch HD
Entre 25€ et 605€
|