summaryrefslogtreecommitdiffstats
path: root/demos/outlook-newgroup.tcl
diff options
context:
space:
mode:
authortreectrl <treectrl>2004-08-09 02:32:05 (GMT)
committertreectrl <treectrl>2004-08-09 02:32:05 (GMT)
commit61222dbbb24f97c1c65244eeb2bbfd7e9f29a669 (patch)
treee1407b5f6c2e1fe0de174d1185f578e03822861c /demos/outlook-newgroup.tcl
parent5138a8c1c52cc6f8a35bb8434b120df52f820966 (diff)
downloadtktreectrl-61222dbbb24f97c1c65244eeb2bbfd7e9f29a669.zip
tktreectrl-61222dbbb24f97c1c65244eeb2bbfd7e9f29a669.tar.gz
tktreectrl-61222dbbb24f97c1c65244eeb2bbfd7e9f29a669.tar.bz2
Removed assumptions about item identifiers; use the result of "item create".
Diffstat (limited to 'demos/outlook-newgroup.tcl')
-rw-r--r--demos/outlook-newgroup.tcl50
1 files changed, 27 insertions, 23 deletions
diff --git a/demos/outlook-newgroup.tcl b/demos/outlook-newgroup.tcl
index 54c0b39..b76b0ac 100644
--- a/demos/outlook-newgroup.tcl
+++ b/demos/outlook-newgroup.tcl
@@ -73,59 +73,63 @@ proc DemoOutlookNewsgroup {} {
set thread 0
set Message(count,0) 0
+ set items [$T index root]
for {set i 1} {$i < $msgCnt} {incr i} {
- $T item create
+ set itemi [$T item create]
while 1 {
set j [expr {int(rand() * $i)}]
+ set itemj [lindex $items $j]
if {$j == 0} break
- if {[$T depth $j] == 5} continue
- if {$Message(count,$Message(thread,$j)) == 15} continue
+ if {[$T depth $itemj] == 5} continue
+ if {$Message(count,$Message(thread,$itemj)) == 15} continue
break
}
- $T item lastchild $j $i
+ $T item lastchild $itemj $itemi
- set Message(read,$i) [expr rand() * 2 > 1]
+ set Message(read,$itemi) [expr rand() * 2 > 1]
if {$j == 0} {
- set Message(thread,$i) [incr thread]
- set Message(seconds,$i) [expr {[clock seconds] - int(rand() * 500000)}]
- set Message(seconds2,$i) $Message(seconds,$i)
+ set Message(thread,$itemi) [incr thread]
+ set Message(seconds,$itemi) [expr {[clock seconds] - int(rand() * 500000)}]
+ set Message(seconds2,$itemi) $Message(seconds,$itemi)
set Message(count,$thread) 1
} else {
- set Message(thread,$i) $Message(thread,$j)
- set Message(seconds,$i) [expr {$Message(seconds2,$j) + int(rand() * 10000)}]
- set Message(seconds2,$i) $Message(seconds,$i)
- set Message(seconds2,$j) $Message(seconds,$i)
- incr Message(count,$Message(thread,$j))
+ set Message(thread,$itemi) $Message(thread,$itemj)
+ set Message(seconds,$itemi) [expr {$Message(seconds2,$itemj) + int(rand() * 10000)}]
+ set Message(seconds2,$itemi) $Message(seconds,$itemi)
+ set Message(seconds2,$itemj) $Message(seconds,$itemi)
+ incr Message(count,$Message(thread,$itemj))
}
+ lappend items $itemi
}
for {set i 1} {$i < $msgCnt} {incr i} {
- set subject "This is thread number $Message(thread,$i)"
+ set itemi [lindex $items $i]
+ set subject "This is thread number $Message(thread,$itemi)"
set from somebody@somewhere.net
- set sent [clock format $Message(seconds,$i) -format "%d/%m/%y %I:%M %p"]
+ set sent [clock format $Message(seconds,$itemi) -format "%d/%m/%y %I:%M %p"]
set size [expr {1 + int(rand() * 10)}]KB
# This message has been read
- if {$Message(read,$i)} {
- $T item state set $i read
+ if {$Message(read,$itemi)} {
+ $T item state set $itemi read
}
# This message has unread descendants
- if {[AnyUnreadDescendants $T $i]} {
- $T item state set $i unread
+ if {[AnyUnreadDescendants $T $itemi]} {
+ $T item state set $itemi unread
}
- if {[$T item numchildren $i]} {
- $T item configure $i -button yes
+ if {[$T item numchildren $itemi]} {
+ $T item configure $itemi -button yes
# Collapse some messages
if {rand() * 2 > 1} {
- $T collapse $i
+ $T collapse $itemi
}
}
# $T item style set $i 3 s1 4 s2.we 5 s2.we 6 s2.w
- $T item text $i 3 $subject 4 $from 5 $sent 6 $size
+ $T item text $itemi 3 $subject 4 $from 5 $sent 6 $size
}
# Do something when the selection changes