Changeset 6082 for trunk/gui/scripts
- Timestamp:
- Feb 28, 2016, 11:44:21 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gui/scripts/mapviewer.tcl
r6081 r6082 139 139 140 140 private variable _dlist ""; # list of data objects 141 private variable _hidden ""; # list of hidden data objects 141 142 private variable _obj2ovride; # maps dataobj => style override 142 143 private variable _layers; # Contains the names of all the … … 682 683 lappend _dlist $dataobj 683 684 } 685 # Remove from hidden list 686 set pos [lsearch -exact $_hidden $dataobj] 687 if {$pos >= 0} { 688 set _hidden [lreplace $_hidden $pos $pos] 689 } 684 690 set _obj2ovride($dataobj-raise) $params(-raise) 685 691 $_dispatcher event -idle !rebuild … … 707 713 # Remove it from the dataobj list. 708 714 set _dlist [lreplace $_dlist $pos $pos] 715 # Add to hidden list 716 set pos [lsearch -exact $_hidden $dataobj] 717 if {$pos < 0} { 718 lappend _hidden $dataobj 719 } 709 720 array unset _obj2ovride $dataobj-* 710 721 set changed 1 … … 745 756 lappend dlist $dataobj 746 757 } 758 } 759 return $dlist 760 } 761 "-hidden" { 762 set dlist {} 763 foreach dataobj $_hidden { 764 if { [info commands $dataobj] != $dataobj } { 765 # dataobj was deleted, remove from list 766 set pos [lsearch -exact $_hidden $dataobj] 767 if {$pos >= 0} { 768 set _hidden [lreplace $_hidden $pos $pos] 769 } 770 continue 771 } 772 if { ![$dataobj isvalid] } { 773 continue 774 } 775 if { [info exists _obj2ovride($dataobj-raise)] } { 776 puts stderr "ERROR: object on hidden list is visible" 777 } 778 lappend dlist $dataobj 747 779 } 748 780 return $dlist … … 1285 1317 set _first "" 1286 1318 set haveTerrain 0 1319 foreach dataobj [get -hidden] { 1320 foreach layer [$dataobj layers] { 1321 if { ![$dataobj getLayerProperty $layer shared] } { 1322 set tag $dataobj-$layer 1323 SendCmd "map layer visible 0 $tag" 1324 } 1325 } 1326 } 1287 1327 foreach dataobj [get -objects] { 1288 1328 if { [info exists _obj2ovride($dataobj-raise)] && $_first == "" } { … … 1293 1333 array set info [$dataobj layer $layer] 1294 1334 set tag $layer 1335 if { !$info(shared) } { 1336 set tag $dataobj-$layer 1337 } 1295 1338 if { ![info exists _layers($tag)] } { 1296 1339 if { $_reportClientInfo } { … … 1308 1351 SetLayerStyle $dataobj $layer 1309 1352 } 1310 # FIXME: This is overriding all layers' initial visibility setting 1311 if { [info exists _obj2ovride($dataobj-raise)] && 1312 $_obj2ovride($dataobj-raise)} { 1313 SendCmd "map layer visible 1 $tag" 1314 set _visibility($tag) 1 1353 # Don't change visibility of shared/base layers 1354 if { !$info(shared) } { 1355 # FIXME: This is overriding data layers' initial visibility 1356 if { [info exists _obj2ovride($dataobj-raise)] } { 1357 SendCmd "map layer visible 1 $tag" 1358 set _visibility($tag) 1 1359 } else { 1360 SendCmd "map layer visible 0 $tag" 1361 set _visibility($tag) 0 1362 } 1315 1363 } 1316 1364 if {$info(type) == "elevation"} { 1317 1365 set haveTerrain 1 1366 } 1367 } 1368 # Search our layer list for data layers removed from map object 1369 foreach tag [array names _layers -glob $dataobj-*] { 1370 set layer [string range $tag [string length "$dataobj-"] end] 1371 if {![$dataobj hasLayer $layer]} { 1372 DebugTrace "Delete layer: tag: $tag layer: $layer" 1373 SendCmd "map layer delete $tag" 1374 array unset _layers $tag 1375 array unset _opacity $tag 1376 array unset _visibility $tag 1318 1377 } 1319 1378 } … … 2436 2495 array set info [$dataobj layer $layer] 2437 2496 set tag $layer 2497 if { !$info(shared) } { 2498 set tag $dataobj-$layer 2499 } 2438 2500 if { [info exists info(visible)] && 2439 2501 !$info(visible) } { … … 2469 2531 } 2470 2532 "colorramp" { 2471 set cmapName $tag2533 set cmapName "[regsub -all {::} ${tag} {}]" 2472 2534 SendFiles $info(colorramp.url) 2473 2535 SendCmd [list colormap define $cmapName $info(colorramp.colormap)] … … 2861 2923 itcl::body Rappture::MapViewer::SetLayerOpacity { dataobj layer {value 100}} { 2862 2924 set tag $layer 2925 if {![$dataobj getLayerProperty $layer shared]} { 2926 set tag $dataobj-$layer 2927 } 2863 2928 set val $_opacity($tag) 2864 2929 set sval [expr { 0.01 * double($val) }] … … 2868 2933 itcl::body Rappture::MapViewer::SetLayerVisibility { dataobj layer } { 2869 2934 set tag $layer 2935 if {![$dataobj getLayerProperty $layer shared]} { 2936 set tag $dataobj-$layer 2937 } 2870 2938 set bool $_visibility($tag) 2871 2939 SendCmd "map layer visible $bool $tag" … … 2890 2958 set tag $layer 2891 2959 set ctlname $layer 2960 if {!$info(shared)} { 2961 set tag $dataobj-$layer 2962 set ctlname "[regsub -all {::} ${tag} {}]" 2963 } 2892 2964 checkbutton $f.${ctlname}_visible \ 2893 2965 -text $info(label) \ … … 2906 2978 } 2907 2979 itk_component add legend-$colormap-min { 2908 label $f. ${layer}_legend-$colormap-min -text 02980 label $f.legend-$colormap-min -text 0 2909 2981 } 2910 2982 itk_component add legend-$colormap-max { 2911 label $f. ${layer}_legend-$colormap-max -text 12983 label $f.legend-$colormap-max -text 1 2912 2984 } 2913 2985 itk_component add legend-$colormap { 2914 label $f. ${layer}_legend-$colormap -image $_image(legend-$colormap)2915 } 2916 blt::table $f $row,0 $f. ${layer}_legend-$colormap-min -anchor w -pady 02917 blt::table $f $row,1 $f. ${layer}_legend-$colormap-max -anchor e -pady 02986 label $f.legend-$colormap -image $_image(legend-$colormap) 2987 } 2988 blt::table $f $row,0 $f.legend-$colormap-min -anchor w -pady 0 2989 blt::table $f $row,1 $f.legend-$colormap-max -anchor e -pady 0 2918 2990 incr row 2919 blt::table $f $row,0 $f. ${layer}_legend-$colormap -anchor w -pady 2 -cspan 22991 blt::table $f $row,0 $f.legend-$colormap -anchor w -pady 2 -cspan 2 2920 2992 incr row 2921 2993 RequestLegend $colormap 256 16
Note: See TracChangeset
for help on using the changeset viewer.