/** * * Class: SuperMap.Plotting.StylePanel * 属性面板类。 * */ SuperMap.Plotting.StylePanel = new SuperMap.Class({ /** * Property: editLayers * {} 标绘图层数组 */ editLayers: [], /** * Property: selectFeatures * {} 要修改的要素 */ selectFeatures:[], groupIndex:0, /** * Constructor: SuperMap.Plotting.StylePanel * 标号库管理类。 * * Parameters: * div - {String} 属性面板div * * Returns: * {} 结果类型对象。 */ initialize : function(div){ function afterModifySelectFeature(rowIndex, rowData, changes){ var updated = $('#pg').propertygrid('getChanges', "updated"); if(updated.length !== 0){ //var groups = $('#pg').propertygrid("groups"); //for(var i=0;i}标绘图层 * * Returns: */ addEditLayer: function(editLayer){ for(var i = 0 ; i < this.editLayers.length; i++) { if(editLayer === this.editLayers[i]){ return; } } if(editLayer instanceof SuperMap.Layer.PlottingGraphics){ if(editLayer.plottingGraphicsEdit !== null){ editLayer = editLayer.plottingGraphicsEdit.plottingLayer; } else { return; } } editLayer.events.register("featureselected", this, this.showFeatureProperty); editLayer.events.register("featuremodified", this, this.showFeatureProperty); editLayer.events.register("featureunselected", this, this.hideFeatureProperty); }, /** * APIMethod: removeEditLayer * 移除标绘图层 * * Parameters: * editLayer - {}标绘图层 * * Returns: */ removeEditLayer : function(editLayer) { for(var i = 0; i < this.editLayers.length; i++) { if(editLayer === this.editLayers[i]) { this.editLayers[i].events.unregister("featureselected", this, this.showFeatureProperty); this.editLayers[i].events.unregister("featuremodified", this, this.showFeatureProperty); this.editLayers[i].events.unregister("featureunselected", this, this.hideFeatureProperty); this.editLayers.slice(i,1); break; } } }, showFeatureProperty: function(selectFeatueEvt) { if(selectFeatueEvt.type === "featureselected"){ this.selectFeatures=this.selectFeatures.concat(selectFeatueEvt.features); } if(this.selectFeatures.length !==0){ var rows = collectionPropertyGridRows(this.selectFeatures); $('#pg').propertygrid('loadData', rows); //$('#pg').propertygrid('collapseGroup'); //$('#pg').propertygrid('expandGroup',0); //$('#pg').propertygrid('expandGroup',this.groupIndex); } SuperMap.Event.stop(selectFeatueEvt); }, hideFeatureProperty: function(selectFeatueEvt) { for(var i = 0; i < selectFeatueEvt.features.length; i++){ var index = SuperMap.Util.indexOf(this.selectFeatures, selectFeatueEvt.features[i]); if(index !== -1){ this.selectFeatures.splice(index, 1); } } if(this.selectFeatures.length !==0){ var rows = collectionPropertyGridRows(this.selectFeatures); $('#pg').propertygrid('loadData', rows); } else { var rows = []; $('#pg').propertygrid('loadData', rows); } SuperMap.Event.stop(selectFeatueEvt); }, addExtendPropertyfunction :function(rows,geometry) { var extendProperty = geometry.getExtendProperty(); var nIndex = 0; var property = extendProperty.getPropertyByIndex(nIndex); while(null != property) { var propertyName = property.getKey(); var undoValue = property.getValue(); var extendePropertyObj = new Object(); extendePropertyObj.name = propertyName; extendePropertyObj.value = undoValue; extendePropertyObj.group = "自定义属性"; extendePropertyObj.editor = "text"; rows.push(extendePropertyObj); nIndex++; property = extendProperty.getPropertyByIndex(nIndex); } }, updateSelectFeature: function(updated, selectfeatures) { var transaction = new SuperMap.Plot.Transaction(); SuperMap.Plotting.getInstance(this.map).getTransManager().add(transaction); for(var i=0;i 1 ? 1 : parseFloat(updated.value); transInfo.propertyName = "strokeOpacity"; transInfo.undoValue = selectfeatures[i].style.strokeOpacity; transInfo.redoValue = opacity; selectfeatures[i].style.strokeOpacity = opacity; if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT || selectfeatures[i].geometry instanceof SuperMap.Geometry.GroupObject){ selectfeatures[i].geometry.applyStyle("strokeOpacity"); } if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.LITERATESIGN){ selectfeatures[i].geometry.route.applyTextStyle(selectfeatures[i].style); } } break; case displaySurroundLineName[0]: transInfo.functionName = "setSurroundLineType"; transInfo.undoParams = [selectfeatures[i].geometry.getSurroundLineType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setSurroundLineType(parseInt(updated.value)); break; case displaySurroundLineName[1]: transInfo.propertyName = "surroundLineWidth"; transInfo.undoValue = selectfeatures[i].style.surroundLineWidth; transInfo.redoValue = parseInt(updated.value); selectfeatures[i].style.surroundLineWidth = parseInt(updated.value); break; case displaySurroundLineName[2]: transInfo.propertyName = "surroundLineColor"; transInfo.undoValue = selectfeatures[i].style.surroundLineColor; transInfo.redoValue = updated.value; selectfeatures[i].style.surroundLineColor = updated.value; break; case displaySurroundLineName[3]: { var opacity = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value); opacity = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value); transInfo.propertyName = "surroundLineColorOpacity"; transInfo.undoValue = selectfeatures[i].style.surroundLineColorOpacity; transInfo.redoValue = opacity; selectfeatures[i].style.surroundLineColorOpacity = opacity; } break; case displayFillStyleName[0]: transInfo.propertyName = "fillSymbolID"; transInfo.undoValue = selectfeatures[i].style.fillSymbolID; transInfo.redoValue = parseFloat(updated.value); selectfeatures[i].style.fillSymbolID = parseFloat(updated.value); if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT || selectfeatures[i].geometry instanceof SuperMap.Geometry.GroupObject){ selectfeatures[i].geometry.applyStyle("fillSymbolID"); } break; case displayFillStyleName[1]: transInfo.propertyName = "fillColor"; transInfo.undoValue = selectfeatures[i].style.fillColor; transInfo.redoValue = updated.value; selectfeatures[i].style.fillColor = updated.value; if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT){ selectfeatures[i].geometry.applyStyle("fillColor"); } break; case displayFillStyleName[2]: { var opacity = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value); opacity = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value); transInfo.propertyName = "fillOpacity"; transInfo.undoValue = selectfeatures[i].style.fillOpacity; transInfo.redoValue = opacity; selectfeatures[i].style.fillOpacity = opacity; if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT){ selectfeatures[i].geometry.applyStyle("fillOpacity"); } } break; case displayFillStyleName[3]: transInfo.propertyName = "fillGradientMode"; transInfo.undoValue = selectfeatures[i].style.fillGradientMode; transInfo.redoValue = updated.value; selectfeatures[i].style.fillGradientMode = updated.value; if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT){ selectfeatures[i].geometry.applyStyle("fillGradientMode"); } break; case displayFillStyleName[4]: transInfo.propertyName = "fillBackColor"; transInfo.undoValue = selectfeatures[i].style.fillBackColor; transInfo.redoValue = updated.value; selectfeatures[i].style.fillBackColor = updated.value; if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT){ selectfeatures[i].geometry.applyStyle("fillBackColor"); } break; case displayFillStyleName[5]: { var opacity = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value); opacity = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value); transInfo.propertyName = "fillBackOpacity"; transInfo.undoValue = selectfeatures[i].style.fillBackOpacity; transInfo.redoValue = opacity; selectfeatures[i].style.fillBackOpacity = opacity; if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT){ selectfeatures[i].geometry.applyStyle("fillBackOpacity"); } } break; case displayFillStyleName[6]: { var angle = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value); angle = parseFloat(updated.value) >= 360 ? 0 : parseFloat(updated.value); transInfo.propertyName = "fillAngle"; transInfo.undoValue = selectfeatures[i].style.fillAngle; transInfo.redoValue = angle; selectfeatures[i].style.fillAngle = angle; } break; case displayFillStyleName[7]: { var X = parseFloat(updated.value) < -1 ? -1 : parseFloat(updated.value); X = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value); transInfo.propertyName = "fillCenterOffsetX"; transInfo.undoValue = selectfeatures[i].style.fillCenterOffsetX; transInfo.redoValue = X; selectfeatures[i].style.fillCenterOffsetX = X; } break; case displayFillStyleName[8]: { var Y = parseFloat(updated.value) < -1 ? -1 : parseFloat(updated.value); Y = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value); transInfo.propertyName = "fillCenterOffsetY"; transInfo.undoValue = selectfeatures[i].style.fillCenterOffsetY; transInfo.redoValue = Y; selectfeatures[i].style.fillCenterOffsetY = Y; } break; case displayNameDot[0]: transInfo.functionName = "setRotate"; transInfo.undoParams = [selectfeatures[i].geometry.getRotate()]; transInfo.redoParams = [parseFloat(updated.value)]; selectfeatures[i].geometry.setRotate(parseFloat(updated.value)); break; case displayNameDot[1]: transInfo.functionName = "setScaleByMap"; transInfo.undoParams = [selectfeatures[i].geometry.getScaleByMap()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setScaleByMap(fromCheckboxValue(updated.value)); break; case displayNameDot[2]: transInfo.functionName = "setNegativeImage"; transInfo.undoParams = [selectfeatures[i].geometry.getNegativeImage()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setNegativeImage(fromCheckboxValue(updated.value)); break; case displayNameDot[3]: transInfo.functionName = "setSymbolRank"; transInfo.undoParams = [selectfeatures[i].geometry.getSymbolRank()]; transInfo.redoParams = [updated.value]; selectfeatures[i].geometry.setSymbolRank(updated.value); break; case displayNameDot[4]: transInfo.functionName = "setPositionOffset"; transInfo.undoParams = [selectfeatures[i].geometry.getPositionOffset()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setPositionOffset(fromCheckboxValue(updated.value)); break; case displayNameDot[5]: transInfo.functionName = "setPositionOffsetType"; transInfo.undoParams = [selectfeatures[i].geometry.getPositionOffsetType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setPositionOffsetType(parseInt(updated.value)); break; case displayNameDot[6]: transInfo.functionName = "setWidthHeightLimit"; transInfo.undoParams = [selectfeatures[i].geometry.getWidthHeightLimit()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setWidthHeightLimit(fromCheckboxValue(updated.value)); break; case displayNameDot[7]: transInfo.functionName = "setSymbolSize"; transInfo.undoParams = [selectfeatures[i].geometry.getSymbolSize().w]; transInfo.redoParams = [parseFloat(updated.value), selectfeatures[i].geometry.getSymbolSize().h]; selectfeatures[i].geometry.setSymbolSize(parseFloat(updated.value), selectfeatures[i].geometry.getSymbolSize().h); break; case displayNameDot[8]: transInfo.functionName = "setSymbolSize"; transInfo.undoParams = [selectfeatures[i].geometry.getSymbolSize().h]; transInfo.redoParams = [selectfeatures[i].geometry.getSymbolSize().w, parseFloat(updated.value)]; selectfeatures[i].geometry.setSymbolSize(selectfeatures[i].geometry.getSymbolSize().w, parseFloat(updated.value)); break; case displayTextContentName[0]: if (selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT) { // transInfo.propertyName = "textContent"; // transInfo.undoValue = selectfeatures[i].geometry.symbolTexts[0].textContent; // transInfo.redoValue = updated.value; transInfo.functionName = "updateSymbolText"; transInfo.undoParams = [selectfeatures[i].geometry.symbolTexts[0].clone(), 0]; selectfeatures[i].geometry.symbolTexts[0].textContent = updated.value; selectfeatures[i].geometry.updateSymbolText(selectfeatures[i].geometry.symbolTexts[0], 0); transInfo.redoParams = [selectfeatures[i].geometry.symbolTexts[0], 0]; //selectfeatures[i].geometry.calculateParts(); } else if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1 || selectfeatures[i].geometry.symbolType ===SuperMap.Plot.SymbolType.PATHTEXT) { transInfo.functionName = "setTextContent"; transInfo.undoParams = [selectfeatures[i].geometry.getTextContent()]; var updatedValueStr=updated.value; var textContent=updatedValueStr.split(","); transInfo.redoParams = [textContent]; selectfeatures[i].geometry.setTextContent(textContent); }else{ transInfo.functionName = "setTextContent"; transInfo.undoParams = [selectfeatures[i].geometry.getTextContent()]; transInfo.redoParams = [updated.value]; selectfeatures[i].geometry.setTextContent(updated.value); } break; case displayTextContentName[0] + "2": selectfeatures[i].geometry.symbolTexts[1].textContent = updated.value; selectfeatures[i].geometry.setTextContent(updated.value); break; case displayTextContentName[1]: if (selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.PATHTEXT) { transInfo.functionName = "setRelLineText"; transInfo.undoParams = [selectfeatures[i].geometry.getRelLineText()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setRelLineText(parseInt(updated.value)); } else { transInfo.functionName = "setTextPosition"; transInfo.undoParams = [selectfeatures[i].geometry.getTextPosition()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setTextPosition(parseInt(updated.value)); } break; case displayTextContentName[2]: transInfo.propertyName = "fontSize"; transInfo.undoValue = selectfeatures[i].style.fontSize; transInfo.redoValue = parseFloat(updated.value); selectfeatures[i].style.fontSize = parseFloat(updated.value); if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT|| selectfeatures[i].geometry instanceof SuperMap.Geometry.GroupObject){ selectfeatures[i].geometry.applyStyle("fontSize"); } else { selectfeatures[i].geometry.calculateParts(); } break; case displayTextContentName[3]: transInfo.propertyName = "fontColor"; transInfo.undoValue = selectfeatures[i].style.fontColor; transInfo.redoValue = updated.value; selectfeatures[i].style.fontColor = updated.value; if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT|| selectfeatures[i].geometry instanceof SuperMap.Geometry.GroupObject){ selectfeatures[i].geometry.applyStyle("fontColor"); } if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL && selectfeatures[i].geometry.textPosition === 8){//支持中间注记修改字体颜色 selectfeatures[i].geometry.calculateParts(); } break; case displayTextContentName[4]: transInfo.propertyName = "fontFamily"; transInfo.undoValue = selectfeatures[i].style.fontFamily; transInfo.redoValue = updated.value; selectfeatures[i].style.fontFamily = updated.value; if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT || selectfeatures[i].geometry instanceof SuperMap.Geometry.GroupObject){ selectfeatures[i].geometry.applyStyle("fontFamily"); } if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.DOTSYMBOL && selectfeatures[i].geometry.textPosition === 8){//支持中间注记修改字体颜色 selectfeatures[i].geometry.calculateParts(); } break; case displayTextContentName[5]: transInfo.functionName = "setSpace"; transInfo.undoParams = [selectfeatures[i].geometry.getSpace()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setSpace(parseInt(updated.value)); break; case displayTextContentName[6]: transInfo.propertyName = "fontSpace"; transInfo.undoValue = selectfeatures[i].style.fontSpace; transInfo.redoValue = parseInt(updated.value); selectfeatures[i].style.fontSpace = parseInt(updated.value); break; case displayTextContentName[7]: transInfo.propertyName = "fontPercent"; transInfo.undoValue = selectfeatures[i].style.fontPercent; transInfo.redoValue = parseInt(updated.value); selectfeatures[i].style.fontPercent = parseInt(updated.value); break; case displayTextContentName[8]: transInfo.propertyName = "fontStroke"; transInfo.undoValue = selectfeatures[i].style.fontStroke; transInfo.redoValue = fromCheckboxValue(updated.value); selectfeatures[i].style.fontStroke = fromCheckboxValue(updated.value); break; case displayTextContentName[9]: transInfo.propertyName = "fontStrokeColor"; transInfo.undoValue = selectfeatures[i].style.fontStrokeColor; transInfo.redoValue = updated.value; selectfeatures[i].style.fontStrokeColor = updated.value; break; case displayTextContentName[10]: transInfo.propertyName = "fontStrokeWidth"; transInfo.undoValue = selectfeatures[i].style.fontStrokeWidth; transInfo.redoValue = parseInt(updated.value); selectfeatures[i].style.fontStrokeWidth = parseInt(updated.value); break; case displayTextContentName[11]: transInfo.propertyName = "fontBackground"; transInfo.undoValue = selectfeatures[i].style.fontBackground; transInfo.redoValue = fromCheckboxValue(updated.value); selectfeatures[i].style.fontBackground = fromCheckboxValue(updated.value); break; case displayTextContentName[12]: transInfo.propertyName = "fontBackgroundColor"; transInfo.undoValue = selectfeatures[i].style.fontBackgroundColor; transInfo.redoValue = updated.value; selectfeatures[i].style.fontBackgroundColor = updated.value; break; case displayTextContentName[13]: transInfo.propertyName = "fontShadow"; transInfo.undoValue = selectfeatures[i].style.fontShadow; transInfo.redoValue = fromCheckboxValue(updated.value); selectfeatures[i].style.fontShadow = fromCheckboxValue(updated.value); break; case displayTextContentName[14]: transInfo.propertyName = "fontShadowColor"; transInfo.undoValue = selectfeatures[i].style.fontShadowColor; transInfo.redoValue = updated.value; selectfeatures[i].style.fontShadowColor = updated.value; break; case displayTextContentName[15]: transInfo.propertyName = "fontShadowOffsetX"; transInfo.undoValue = selectfeatures[i].style.fontShadowOffsetX; transInfo.redoValue = parseInt(updated.value); selectfeatures[i].style.fontShadowOffsetX = parseInt(updated.value); break; case displayTextContentName[16]: transInfo.propertyName = "fontShadowOffsetY"; transInfo.undoValue = selectfeatures[i].style.fontShadowOffsetY; transInfo.redoValue = parseInt(updated.value); selectfeatures[i].style.fontShadowOffsetY = parseInt(updated.value); break; case displayNameNew[0]: transInfo.functionName = "setArrowHeadType"; transInfo.undoParams = [selectfeatures[i].geometry.getArrowHeadType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setArrowHeadType(parseInt(updated.value)); break; case displayNameNew[1]: transInfo.functionName = "setArrowBodyType"; transInfo.undoParams = [selectfeatures[i].geometry.getArrowBodyType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setArrowBodyType(parseInt(updated.value)); break; case displayNameNew[2]: transInfo.functionName = "setArrowTailType"; transInfo.undoParams = [selectfeatures[i].geometry.getArrowTailType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setArrowTailType(parseInt(updated.value)); break; case displayNameNew[3]: transInfo.functionName = "setStartArrowType"; transInfo.undoParams = [selectfeatures[i].geometry.getStartArrowType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setStartArrowType(parseInt(updated.value)); break; case displayNameNew[4]: transInfo.functionName = "setEndArrowType"; transInfo.undoParams = [selectfeatures[i].geometry.getEndArrowType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setEndArrowType(parseInt(updated.value)); break; case displayNameNew[5]: transInfo.functionName = "setShowPathLine"; transInfo.undoParams = [selectfeatures[i].geometry.getShowPathLine()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setShowPathLine(fromCheckboxValue(updated.value)); break; case displayNameNew[6]: transInfo.functionName = "setCurveLine"; transInfo.undoParams = [selectfeatures[i].geometry.getIsCurveLine()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setCurveLine(fromCheckboxValue(updated.value)); break; case displayNameNew[7]: transInfo.functionName = "setShowPathLineArrow"; transInfo.undoParams = [selectfeatures[i].geometry.getShowPathLineArrow()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setShowPathLineArrow(fromCheckboxValue(updated.value)); break; case displayNameNew[8]: transInfo.functionName = "setAvoidLine"; transInfo.undoParams = [selectfeatures[i].geometry.getIsAvoidLine()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setAvoidLine(fromCheckboxValue(updated.value)); break; case displayNameNew[9]: transInfo.functionName = "setTextBoxType"; transInfo.undoParams = [selectfeatures[i].geometry.getTextBoxType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setTextBoxType(parseInt(updated.value)); break; case displayNameNew[10]: transInfo.functionName = "setRoundBox"; transInfo.undoParams = [selectfeatures[i].geometry.getRoundBox()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setRoundBox(fromCheckboxValue(updated.value)); break; case displayNameNew[11]: transInfo.functionName = "setFrame"; transInfo.undoParams = [selectfeatures[i].geometry.getFrame()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setFrame(fromCheckboxValue(updated.value)); break; case displayNameNew[12]: transInfo.functionName = "setRadiusLineType"; transInfo.undoParams = [selectfeatures[i].geometry.getRadiusLineType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setRadiusLineType(parseInt(updated.value)); break; case displayNameNew[13]: transInfo.functionName = "setRadiusTextPos"; transInfo.undoParams = [selectfeatures[i].geometry.getRadiusTextPos()]; transInfo.redoParams = [updated.value]; selectfeatures[i].geometry.setRadiusTextPos(updated.value); break; case displayNameNew[14]: transInfo.functionName = "setRadiusText"; transInfo.undoParams = [selectfeatures[i].geometry.radiusText[0],0]; transInfo.redoParams = [updated.value, 0]; selectfeatures[i].geometry.setRadiusText(updated.value, 0); break; case displayNameNew[15]: transInfo.functionName = "setRadiusText"; transInfo.undoParams = [selectfeatures[i].geometry.radiusText[1],1]; transInfo.redoParams = [updated.value, 1]; selectfeatures[i].geometry.setRadiusText(updated.value, 1); break; case displayNameNew[16]: transInfo.functionName = "setVisible"; transInfo.undoParams = [selectfeatures[i].geometry.getVisible()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setVisible(fromCheckboxValue(updated.value)); break; case displayNameNew[17]: transInfo.functionName = "setType"; transInfo.undoParams = [selectfeatures[i].geometry.routeNode.type]; transInfo.redoParams = [updated.value]; selectfeatures[i].geometry.setType(updated.value); break; case displayNameNew[18]: transInfo.functionName = "setRotate"; transInfo.undoParams = [selectfeatures[i].geometry.getRotate()]; transInfo.redoParams = [parseFloat(updated.value)]; selectfeatures[i].geometry.setRotate(parseFloat(updated.value)); break; case displayNameNew[19]: transInfo.functionName = "setLineRelationType"; transInfo.undoParams = [selectfeatures[i].geometry.getLineRelationType()]; transInfo.redoParams = [parseInt(updated.value)]; selectfeatures[i].geometry.setLineRelationType(parseInt(updated.value)); break; case displayNameNew[20]: transInfo.functionName = "setPolylineConnectLocationPoint"; transInfo.undoParams = [selectfeatures[i].geometry.getPolylineConnectLocationPoint()]; transInfo.redoParams = [fromCheckboxValue(updated.value)]; selectfeatures[i].geometry.setPolylineConnectLocationPoint(fromCheckboxValue(updated.value)); break; case displayNameNew[21]: transInfo.functionName = "setFontAlign"; transInfo.undoParams = [selectfeatures[i].style.labelAlign]; transInfo.redoParams = [fontAlignTypeValue(updated.value)]; selectfeatures[i].geometry.setFontAlign(fontAlignTypeValue(updated.value)); break; } if (updated.group == group[8]) { if (updated.name == displayName[2]) { if(updated.value !== null){ transInfo.propertyName = displayName[2]; transInfo.undoValue = selectfeatures[i].geometry.getSubSymbols()[updated.index].libID; transInfo.redoValue = parseInt(updated.value); selectfeatures[i].geometry.subSymbols[0].libID = parseInt(updated.value); } } if (updated.name == displayName[3]) { var code = parseInt(updated.value); if(selectfeatures[i].geometry.symbolType === SuperMap.Plot.SymbolType.NODECHAIN && code != null) { var symbolLibManager = plotting.getSymbolLibManager(); var subCode = symbolLibManager.findSymbolByCode(code); if(subCode.length !== 0 && subCode[0].symbolType === "SYMBOL_DOT"){ transInfo.functionName = "setSubSymbol"; if(selectfeatures[i].geometry.getSubSymbols()[updated.index]) { transInfo.undoParams = [selectfeatures[i].geometry.getSubSymbols()[updated.index].code, updated.index,subCode[0].libID]; } else { transInfo.undoParams = [-1, updated.index]; } transInfo.redoParams = [code, updated.index, subCode[0].libID]; selectfeatures[i].geometry.setSubSymbol(code, updated.index, subCode[0].libID); } } else if (code !== null) { transInfo.functionName = "setSubSymbol"; if(selectfeatures[i].geometry.getSubSymbols()[updated.index]) { transInfo.undoParams = [selectfeatures[i].geometry.getSubSymbols()[updated.index].code, updated.index,selectfeatures[i].geometry.getSubSymbols()[updated.index].libID]; } else { transInfo.undoParams = [-1, updated.index]; } transInfo.redoParams = [code, updated.index]; selectfeatures[i].geometry.setSubSymbol(code, updated.index); } } } transaction.transInfos.push(transInfo); } SuperMap.Plot.AnalysisSymbol.setStyle(selectfeatures[i].style, selectfeatures[i].geometry.symbolData); } }, CLASS_NAME: "SuperMap.Plotting.StylePanel" });