X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=blobdiff_plain;f=yarrg%2Fwhere-vessels;h=da6480174192bf8786cabe054c30dd94aa837f2c;hp=9005a7f9032c9dadd15e5d1da71d39e6ad140634;hb=70abc75f17b353bb3f3e112d949056e753b7ecb3;hpb=792a2a676fb8c320255990e3b7bbc22ea74c6ae6 diff --git a/yarrg/where-vessels b/yarrg/where-vessels index 9005a7f..da64801 100755 --- a/yarrg/where-vessels +++ b/yarrg/where-vessels @@ -124,7 +124,7 @@ proc parseargs {} { --vessel-info-source { glset info_source [nextarg] } --filter-separate-lock-owner { glset filter_lockown_separate 1 } --debug { incr debug } - default { badusage "unknown option $arg" } + default { badusage "bad option $arg; see README.where-vessels" } } } set argv [lrange $argv $ai end] @@ -135,6 +135,10 @@ proc have-notes {} { global notes_loc return [string length $notes_loc] } +proc have-ownership {} { + global pirate + return [expr {[have-notes] && [string length $pirate]}] +} proc argdefaults {} { global ocean notes_loc pirate scraper @@ -150,7 +154,6 @@ proc argdefaults {} { } if {![info exists pirate]} { set pirate {} - glset filter_lockown_separate 1 } if {![have-notes]} { glset filter_lockown_separate 1 @@ -654,6 +657,7 @@ proc make-radio-smasher {sma label variable descs rows inrow} { -command [list redraw-needed radio-smasher $sma] \ -text [lindex $descs $i] } + return $w } proc make-smashers {} { @@ -669,9 +673,13 @@ proc make-smashers {} { make-radio-smasher subclass Class smash_subclass \ {Show Normal/LE Hide} 1 0 - glset smash_owner [expr {[have-notes] ? 0 : 3}] - make-radio-smasher owner "Lock/\nowner" smash_owner \ - {Show Yours? {For you} Lock Hide} 2 3 + glset smash_owner [expr {[have-ownership] ? 0 : 3}] + set cw [make-radio-smasher owner "Lock/\nowner" smash_owner \ + {Show Yours? {For you} Lock Hide} 2 3] + if {![have-notes]} { $cw.0 configure -state disabled } + if {![have-ownership]} { + foreach ix {1 2} { $cw.$ix configure -state disabled } + } set cw [make-smasher xabbrev "Flags" frame] foreach ix {1 3} ab {a b} width {14 12} { @@ -1334,23 +1342,26 @@ proc widgets-setup {} { frame .smash -relief groove -bd 2 -padx 1 frame .filter -relief groove -bd 2 -padx 1 frame .islands -pady 2 - pack .cp .filter .islands .smash -side top + pack .cp .filter .islands .smash -side top -fill x label .smash.title -text {Display/combine details} grid .smash.title -row 0 -column 0 -columnspan 2 - set filterstyle 1 + set filterstyle [expr {[have-ownership] ? 1 : 3}] trace add variable filterstyle write filterstyle-changed frame .filter.title label .filter.title.title -text Show pack .filter.title.title -side left - for {set fing 0} {$fing < 4} {incr fing} { + foreach fing {0 1 2 3} { radiobutton .filter.title.f$fing \ -variable filterstyle -value $fing \ -text [lindex {All Useable Mine These:} $fing] pack .filter.title.f$fing -side left } + if {![have-ownership]} { + foreach fing {1 2} { .filter.title.f$fing configure -state disabled } + } grid configure .filter.title -row 0 -column 0 -columnspan 2 @@ -1401,7 +1412,7 @@ proc widgets-setup {} { #----- decoding etc. report ----- frame .cp.report - pack .cp.report -side left -anchor n + pack .cp.report -side left -anchor n -fill both -expand y label .cp.report.island -text { } @@ -1423,8 +1434,8 @@ proc widgets-setup {} { .cp.report.list .cp.report.abbrev1 -side top bind .cp.report.list <> show-report-abbrev1 - #pack .cp.report.code -side top pack configure .cp.report.details -fill x + pack configure .cp.report.list -fill x foreach sw {inport size subclass lock own xabbrev} { label .cp.report.details.$sw -text { }