default { report-set own "?? $notown" }
}
- if {[string length $xabbrev]} {
- report-set xabbrev "Notes flags: $xabbrev"
+ global smash_xabbrev_map
+ if {[llength $smash_xabbrev_map]} {
+ if {[string length $xabbrev]} {
+ report-set xabbrev "(Flags: $xabbrev)"
+ } else {
+ report-set xabbrev "(No flags)"
+ }
} else {
- report-set xabbrev "No flags in notes"
+ if {[string length $xabbrev]} {
+ report-set xabbrev "Notes flags: $xabbrev"
+ } else {
+ report-set xabbrev "No flags in notes"
+ }
}
}
4 { set lockown 33 }
}
+ global smash_xabbrev_map
+ set xabbrev [string map $smash_xabbrev_map $xabbrev]
+
return [join [list $inport $smsize $subclass $lockown $xabbrev] _]
}
}
set smash_sizemap($size) $mapto
}
+
+ global smash_xabbrev_a smash_xabbrev_b smash_xabbrev_map
+ set smash_xabbrev_map {}
+ foreach a [split $smash_xabbrev_a ""] b [split $smash_xabbrev_b ""] {
+ if {![string length $a]} continue
+ lappend smash_xabbrev_map $a $b
+ }
+ debug "SMASH-PREPAE xabbrev_map=[list $smash_xabbrev_map]"
}
proc make-smasher {sma label ekind} {
make-radio-smasher owner Owner smash_owner \
{Show Yours? {For you} Lock Hide} 2 3
+
+ set cw [make-smasher xabbrev "Flags" frame]
+ foreach ix {1 3} ab {a b} {
+ set vn smash_xabbrev_$ab
+ global $vn
+ set $vn {}
+ entry $cw.$ix -textvariable $vn -width 14
+ trace add variable $vn write [list redraw-needed $vn]
+ }
+ set ix 0
+ foreach str {y/ / /d} { label $cw.$ix -text $str; incr ix 2 }
+ eval pack [lsort [winfo children $cw]] -side left
}
#---------- filtering ----------