summaryrefslogtreecommitdiffstats
path: root/ds9/library/fp.tcl
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2020-02-22 18:37:36 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2020-02-22 18:37:36 (GMT)
commitca280c9302274c10b2e33b613a48558e10f13022 (patch)
tree7066670efe87a03d01876f707993e9d95054f3d3 /ds9/library/fp.tcl
parent22e3462e092e2d44e11b1c1726f86e47240fdd74 (diff)
downloadblt-ca280c9302274c10b2e33b613a48558e10f13022.zip
blt-ca280c9302274c10b2e33b613a48558e10f13022.tar.gz
blt-ca280c9302274c10b2e33b613a48558e10f13022.tar.bz2
add footprint filter / sort support
Diffstat (limited to 'ds9/library/fp.tcl')
-rw-r--r--ds9/library/fp.tcl42
1 files changed, 30 insertions, 12 deletions
diff --git a/ds9/library/fp.tcl b/ds9/library/fp.tcl
index 675d05d..e750ae1 100644
--- a/ds9/library/fp.tcl
+++ b/ds9/library/fp.tcl
@@ -116,10 +116,10 @@ proc FPTable {varname} {
}
}
- # filter regions
+ # concat regions
set var(tbldb) ${varname}tbldb
global $var(tbldb)
- if {![eval $var(proc,flt) $varname]} {
+ if {![eval $var(proc,reg) $varname $var(catdb) $var(tbldb)]} {
Error [msgcat::mc {Internal Parse Error}]
if {[info exists $var(tbldb)]} {
unset $var(tbldb)
@@ -127,6 +127,20 @@ proc FPTable {varname} {
set var(tbldb) $var(catdb)
}
+ if {$var(filter) == {} && $var(sort) == {}} {
+ ;
+ } else {
+ set var(tbldb) ${varname}tbldb
+ global $var(tbldb)
+ if {![TBLFltSort $varname $var(catdb) $var(tbldb)]} {
+ Error "[msgcat::mc {Unable to evaluate filter}] $var(filter)"
+ if {[info exists $var(tbldb)]} {
+ unset $var(tbldb)
+ }
+ set var(tbldb) $var(catdb)
+ }
+ }
+
global $var(tbldb)
$var(tbl) configure -variable $var(tbldb)
$var(found) configure -textvariable ${var(tbldb)}(Nrows)
@@ -157,14 +171,15 @@ proc FPTable {varname} {
FPGenerate $varname
}
-proc FPFltCXC {varname} {
+proc FPRegCXC {varname src dest} {
upvar #0 $varname var
global $varname
- global $var(catdb)
- global $var(tbldb)
- upvar #0 $var(catdb) catsrc
- upvar #0 $var(tbldb) catdest
+ upvar #0 $src catsrc
+ global $src
+
+ upvar #0 $dest catdest
+ global $dest
# create header
set catdest(Header) $catsrc(Header)
@@ -245,14 +260,15 @@ proc FPFltCXC {varname} {
return 1
}
-proc FPFltHLA {varname} {
+proc FPRegHLA {varname src dest} {
upvar #0 $varname var
global $varname
- global $var(catdb)
- global $var(tbldb)
- upvar #0 $var(catdb) catsrc
- upvar #0 $var(tbldb) catdest
+ upvar #0 $src catsrc
+ global $src
+
+ upvar #0 $dest catdest
+ global $dest
# create header
set catdest(Header) $catsrc(Header)
@@ -426,6 +442,8 @@ proc FPOff {varname} {
}
}
+ set var(filter) {}
+ set var(sort) {}
set var(blink) 0
FPDialogUpdate $varname