[mapguide-commits] r7279 - in trunk/MgDev/Web/src: stdicons viewerfiles
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Tue Dec 18 02:25:47 PST 2012
Author: jng
Date: 2012-12-18 02:25:44 -0800 (Tue, 18 Dec 2012)
New Revision: 7279
Added:
trunk/MgDev/Web/src/stdicons/lc_checked_grayed.gif
trunk/MgDev/Web/src/stdicons/lc_checked_grayed_16.gif
trunk/MgDev/Web/src/stdicons/lc_unchecked_grayed.gif
trunk/MgDev/Web/src/stdicons/lc_unchecked_grayed_16.gif
Modified:
trunk/MgDev/Web/src/viewerfiles/legendui.templ
Log:
#2162: Prevent toggling of invisible layers if "show invisible layers" option is enabled. Patch by Bruno Scott. Code formatting fixes by me.
Added: trunk/MgDev/Web/src/stdicons/lc_checked_grayed.gif
===================================================================
(Binary files differ)
Property changes on: trunk/MgDev/Web/src/stdicons/lc_checked_grayed.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/MgDev/Web/src/stdicons/lc_checked_grayed_16.gif
===================================================================
(Binary files differ)
Property changes on: trunk/MgDev/Web/src/stdicons/lc_checked_grayed_16.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/MgDev/Web/src/stdicons/lc_unchecked_grayed.gif
===================================================================
(Binary files differ)
Property changes on: trunk/MgDev/Web/src/stdicons/lc_unchecked_grayed.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/MgDev/Web/src/stdicons/lc_unchecked_grayed_16.gif
===================================================================
(Binary files differ)
Property changes on: trunk/MgDev/Web/src/stdicons/lc_unchecked_grayed_16.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/MgDev/Web/src/viewerfiles/legendui.templ
===================================================================
--- trunk/MgDev/Web/src/viewerfiles/legendui.templ 2012-12-18 04:35:52 UTC (rev 7278)
+++ trunk/MgDev/Web/src/viewerfiles/legendui.templ 2012-12-18 10:25:44 UTC (rev 7279)
@@ -64,6 +64,8 @@
var iconNoExpand = "../stdicons/lc_noexpand.gif";
var iconChecked = "../stdicons/lc_checked.gif";
var iconUnchecked = "../stdicons/lc_unchecked.gif";
+var iconCheckedGrayed = "../stdicons/lc_checked_grayed.gif";
+var iconUncheckedGrayed = "../stdicons/lc_unchecked_grayed.gif";
var iconSelectable = "../stdicons/lc_select.gif";
var iconUnselectable = "../stdicons/lc_unselect.gif";
var ctxMenu;
@@ -83,11 +85,13 @@
var showInvisibleLayers = false;
if(legendTextNoWrap)
{
- iconExpand = "../stdicons/lc_expand_16.gif";
- iconCollapse = "../stdicons/lc_collapse_16.gif";
- iconNoExpand = "../stdicons/lc_noexpand.gif";
- iconChecked = "../stdicons/lc_checked_16.gif";
- iconUnchecked = "../stdicons/lc_unchecked_16.gif";
+ iconExpand = "../stdicons/lc_expand_16.gif";
+ iconCollapse = "../stdicons/lc_collapse_16.gif";
+ iconNoExpand = "../stdicons/lc_noexpand.gif";
+ iconChecked = "../stdicons/lc_checked_16.gif";
+ iconUnchecked = "../stdicons/lc_unchecked_16.gif";
+ iconCheckedGrayed = "../stdicons/lc_checked_grayed_16.gif";
+ iconUncheckedGrayed = "../stdicons/lc_unchecked_grayed_16.gif";
}
@@ -140,14 +144,14 @@
{
for(var i=0; i < node.length; i++)
{
- if(node[i].code == "L")
- {
- ChangeSelectability(node[i].objectId,(selectable)? 1: 2)
- }
- else
- {
- SetSelectability(node[i].children,selectable)
- }
+ if(node[i].code == "L")
+ {
+ ChangeSelectability(node[i].objectId,(selectable)? 1: 2)
+ }
+ else
+ {
+ SetSelectability(node[i].children,selectable)
+ }
}
}
@@ -170,11 +174,11 @@
//icon
if(legendTextNoWrap)
{
- item += '<td width=16 id="' + GetIconId(node) + '">';
+ item += '<td width=16 id="' + GetIconId(node) + '">';
}
else
{
- item += '<td width=23 id="' + GetIconId(node) + '">';
+ item += '<td width=23 id="' + GetIconId(node) + '">';
}
if(isGroup)
{
@@ -188,37 +192,36 @@
//legend text
if(legendTextNoWrap)
{
- item += '<td width=7><img width=7 height=16 src="../stdicons/transparentpixel.gif"></td>';
- item += '<td id="Lg_' + node.objectId + '" style="white-space:nowrap">' + node.legend + '</td>';
+ item += '<td width=7><img width=7 height=16 src="../stdicons/transparentpixel.gif"></td>';
+ item += '<td id="Lg_' + node.objectId + '" style="white-space:nowrap">' + node.legend + '</td>';
}
else
{
- item += '<td id="Lg_' + node.objectId + '">' + node.legend + '</td>';
+ item += '<td id="Lg_' + node.objectId + '">' + node.legend + '</td>';
}
item += '</tr></table>';
if(legendTextNoWrap)
{
- var strWidth = "";
- if(msie)
- {
- strWidth = "width:auto;";
- }
- else
- {
- strWidth = "width:10;";
- }
-
- item += '<div id="ChildrenOf_' + node.objectId + '" style="position:relative;' + strWidth + 'left: ' + (isGroup? 20: 32) + 'px; display:';
+ var strWidth = "";
+ if(msie)
+ {
+ strWidth = "width:auto;";
+ }
+ else
+ {
+ strWidth = "width:10;";
+ }
+ item += '<div id="ChildrenOf_' + node.objectId + '" style="position:relative;' + strWidth + 'left: ' + (isGroup? 20: 32) + 'px; display:';
}
else
{
- item += '<div id="ChildrenOf_' + node.objectId + '" style="margin-left: ' + (isGroup? 20: 32) + 'px; display:';
+ item += '<div id="ChildrenOf_' + node.objectId + '" style="margin-left: ' + (isGroup? 20: 32) + 'px; display:';
}
item += node.expanded? 'block">' : 'none">';
if(isGroup && node.children != null && node.children.length > 0)
{
- for(var i=0; i < node.children.length; i++)
+ for(var i=0; i < node.children.length; i++)
item += BuildLayersAndGroups(node.children[i]);
}
item += '</div>';
@@ -230,24 +233,24 @@
{
if(showInvisibleLayers && layer.willDisplayAtScale)
{
- return BuildDelayedLoadIconImg(layer.layerRes, layer.willDisplayAtScale, -1, -1, iconId);
+ return BuildDelayedLoadIconImg(layer.layerRes, layer.willDisplayAtScale, -1, -1, iconId);
}
else
{
- return BuildDelayedLoadIconImg(layer.layerRes, scale, -1, -1, iconId);
+ return BuildDelayedLoadIconImg(layer.layerRes, scale, -1, -1, iconId);
}
}
function RequestThemeStyleIconImg(layer, scale, themeIndex, geomtype, iconId)
{
- if(showInvisibleLayers && layer.willDisplayAtScale)
- {
- return BuildDelayedLoadIconImg(layer.layerRes, layer.willDisplayAtScale, themeIndex, geomtype, iconId);
- }
- else
- {
- return BuildDelayedLoadIconImg(layer.layerRes, scale, themeIndex, geomtype, iconId);
- }
+ if(showInvisibleLayers && layer.willDisplayAtScale)
+ {
+ return BuildDelayedLoadIconImg(layer.layerRes, layer.willDisplayAtScale, themeIndex, geomtype, iconId);
+ }
+ else
+ {
+ return BuildDelayedLoadIconImg(layer.layerRes, scale, themeIndex, geomtype, iconId);
+ }
}
function BuildIconRequest(layerDef, scale, themeIndex, geomtype)
@@ -382,7 +385,8 @@
SetLayerExpandBox(layer, hasThemes);
if(showInvisibleLayers)
{
- SetLayerTextStyle(layer);
+ UpdateGroupLayerCheck(layer)
+ SetLayerTextStyle(layer);
}
}
@@ -397,16 +401,16 @@
var textElt = document.getElementById("Lg_" + layer.objectId);
if(textElt != null)
{
- if(layer.willDisplayAtScale)
- {
- textElt.style.fontStyle = "italic";
- textElt.style.color = "#C0C0C0";
- }
- else
- {
- textElt.style.fontStyle = "normal";
- textElt.style.color = "#000000";
- }
+ if(layer.willDisplayAtScale)
+ {
+ textElt.style.fontStyle = "italic";
+ textElt.style.color = "#C0C0C0";
+ }
+ else
+ {
+ textElt.style.fontStyle = "normal";
+ textElt.style.color = "#000000";
+ }
}
}
function GetIconId(node)
@@ -428,50 +432,58 @@
function MakeBlankCode()
{
- if(legendTextNoWrap)
- {
- return '<img width=16 height=9 src="../stdicons/transparentpixel.gif">';
- }
- else
- {
- return '';
- }
+ if(legendTextNoWrap)
+ {
+ return '<img width=16 height=9 src="../stdicons/transparentpixel.gif">';
+ }
+ else
+ {
+ return '';
+ }
}
function MakeExpandCode(node)
{
- if(legendTextNoWrap)
- {
- return '<img width=16 height=9 src="' + (node.expanded? iconCollapse: iconExpand) + '" onclick="Toggle(\'' + node.objectId +'\')">';
- }
- else
- {
- return '<img width=9 height=9 src="' + (node.expanded? iconCollapse: iconExpand) + '" onclick="Toggle(\'' + node.objectId +'\')">';
- }
+ if(legendTextNoWrap)
+ {
+ return '<img width=16 height=9 src="' + (node.expanded? iconCollapse: iconExpand) + '" onclick="Toggle(\'' + node.objectId +'\')">';
+ }
+ else
+ {
+ return '<img width=9 height=9 src="' + (node.expanded? iconCollapse: iconExpand) + '" onclick="Toggle(\'' + node.objectId +'\')">';
+ }
}
function MakeCheckCode(node)
{
- if(legendTextNoWrap)
- {
- return '<img width=16 height=13 src="' + (node.visible? iconChecked: iconUnchecked) + '" onClick="ChangeVisibility(\'' + node.objectId +'\')">';
- }
- else
- {
- return '<img width=13 height=13 src="' + (node.visible? iconChecked: iconUnchecked) + '" onClick="ChangeVisibility(\'' + node.objectId +'\')">';
- }
+ var thisIcon = (node.visible? iconChecked: iconUnchecked);
+ var onClickCode = "onClick=\"ChangeVisibility('" + node.objectId + "')";
+ if(node.willDisplayAtScale)
+ {
+ thisIcon = (node.visible? iconCheckedGrayed: iconUncheckedGrayed);
+ onClickCode = "";
+ }
+
+ if(legendTextNoWrap)
+ {
+ return '<img width=16 height=13 src="' + thisIcon + '" ' + onClickCode + '">';
+ }
+ else
+ {
+ return '<img width=13 height=13 src="' + thisIcon + '" ' + onClickCode + '">';
+ }
}
function MakeSelectableCode(node)
{
- if(legendTextNoWrap)
- {
- return '<img width=16 height=13 src="' + (node.selectable? iconSelectable: iconUnselectable) + '" onClick="ChangeSelectability(\'' + node.objectId +'\',0)">';
- }
- else
- {
- return '<img width=13 height=13 src="' + (node.selectable? iconSelectable: iconUnselectable) + '" onClick="ChangeSelectability(\'' + node.objectId +'\',0)">';
- }
+ if(legendTextNoWrap)
+ {
+ return '<img width=16 height=13 src="' + (node.selectable? iconSelectable: iconUnselectable) + '" onClick="ChangeSelectability(\'' + node.objectId +'\',0)">';
+ }
+ else
+ {
+ return '<img width=13 height=13 src="' + (node.selectable? iconSelectable: iconUnselectable) + '" onClick="ChangeSelectability(\'' + node.objectId +'\',0)">';
+ }
}
function UpdateGroupLayerCheck(node)
@@ -970,63 +982,58 @@
}
if(showInvisibleLayers && node.curScale == -1)
{
- var minScale = 1000000000;
- var maxScale = 0;
- for(var j=0; j < scaleRanges.length; j++)
- {
- var scaleRange = scaleRanges[j];
- minScale = Math.min(minScale,scaleRange.min);
- maxScale = Math.max(maxScale,scaleRange.max);
- }
- if(scale > maxScale)
- {
- node.willDisplayAtScale = maxScale-1;
- }
- else if(scale < minScale)
- {
- node.willDisplayAtScale = minScale;
- }
+ var minScale = 1000000000;
+ var maxScale = 0;
+ for(var j=0; j < scaleRanges.length; j++)
+ {
+ var scaleRange = scaleRanges[j];
+ minScale = Math.min(minScale,scaleRange.min);
+ maxScale = Math.max(maxScale,scaleRange.max);
+ }
+ if(scale > maxScale)
+ {
+ node.willDisplayAtScale = maxScale-1;
+ }
+ else if(scale < minScale)
+ {
+ node.willDisplayAtScale = minScale;
+ }
}
var nodeCurScale= -1;
if(node.curScale != -1)
{
- nodeCurScale = node.curScale;
+ nodeCurScale = node.curScale;
}
else if(node.willDisplayAtScale)
{
- nodeCurScale = 0;
+ nodeCurScale = 0;
}
-
+ if(node.displayInLegend && nodeCurScale != -1)
{
- if(node.displayInLegend && nodeCurScale != -1)
- {
- // scale changed
- if(rangeIndex != nodeCurScale || node.willDisplayAtScale)
- {
- // the layer's theme will be changed on demand
- node.children[nodeCurScale].iconWasRequested = false;
-
- // the layer's legend image will be changed immediately
- if(!HasCollapsedParent(node))
- {
- SetLayerStyles(node);
- node.iconWasRequested = true;
- }
- // the layer's legend image will be changed on demand
- else
- {
- node.iconWasRequested = false;
- }
- }
- // parent group expanded
- else if(!node.iconWasRequested && !HasCollapsedParent(node))
- {
- SetLayerStyles(node);
- node.iconWasRequested = true;
- }
- }
+ // scale changed
+ if(rangeIndex != nodeCurScale || node.willDisplayAtScale)
+ {
+ // the layer's theme will be changed on demand
+ node.children[nodeCurScale].iconWasRequested = false;
+ // the layer's legend image will be changed immediately
+ if(!HasCollapsedParent(node))
+ {
+ SetLayerStyles(node);
+ node.iconWasRequested = true;
+ }
+ // the layer's legend image will be changed on demand
+ else
+ {
+ node.iconWasRequested = false;
+ }
+ }
+ // parent group expanded
+ else if(!node.iconWasRequested && !HasCollapsedParent(node))
+ {
+ SetLayerStyles(node);
+ node.iconWasRequested = true;
+ }
}
-
node.isDisplayed = node.displayInLegend && node.curScale != -1;
}
else if(node.type == 2)
@@ -1183,19 +1190,19 @@
function IsBaseGroupLayersVisible(baseGroup,scale)
{
- for(var i=0; i < baseGroup.children.length; i++)
- {
- var layerTree = baseGroup.children[i];
- for( var j=0; j < layerTree.children.length;j++ )
+ for(var i=0; i < baseGroup.children.length; i++)
{
- var style = layerTree.children[j];
- if(scale >= style.min && scale <= style.max)
- {
- return true;
- }
+ var layerTree = baseGroup.children[i];
+ for( var j=0; j < layerTree.children.length;j++ )
+ {
+ var style = layerTree.children[j];
+ if(scale >= style.min && scale <= style.max)
+ {
+ return true;
+ }
+ }
}
- }
- return false;
+ return false;
}
function GetBaseGroups(visOnly,scale)
@@ -1228,14 +1235,14 @@
function ExpandLayerInLegend(layerName, expandInLegend)
{
- if (tree == null) return;
+ if(tree == null) return;
var nodeLayer = FindLayerByName(tree,layerName);
if (nodeLayer != null)
{
- if (expandInLegend)
- Expand(nodeLayer);
- else
- Collapse(nodeLayer);
+ if (expandInLegend)
+ Expand(nodeLayer);
+ else
+ Collapse(nodeLayer);
}
}
More information about the mapguide-commits
mailing list