pioneer
2 years ago
commit
22cb435960
35 changed files with 9359 additions and 0 deletions
@ -0,0 +1,7 @@ |
|||||||
|
|
||||||
|
# open-JSD-8935 |
||||||
|
|
||||||
|
JSD-8935 新增一种图表,支持在点地图上面显示热力块\ |
||||||
|
免责说明:该源码为第三方爱好者提供,不保证源码和方案的可靠性,也不提供任何形式的源码教学指导和协助!\ |
||||||
|
仅作为开发者学习参考使用!禁止用于任何商业用途!\ |
||||||
|
为保护开发者隐私,开发者信息已隐去!若原开发者希望公开自己的信息,可联系【pioneer】处理。 |
@ -0,0 +1,28 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||||||
|
<plugin> |
||||||
|
<main-package>com.fr.plugin.lzljgdmap</main-package> |
||||||
|
<id>com.fr.plugin.lzljgdmap.v10</id> |
||||||
|
<name><![CDATA[热力点组合图_EK]]></name> |
||||||
|
<active>yes</active> |
||||||
|
<version>1.0.2</version> |
||||||
|
<env-version>10.0~11.0</env-version> |
||||||
|
<jartime>2021-04-24</jartime> |
||||||
|
<vendor >fr.open</vendor> |
||||||
|
<description><![CDATA[<p>热力点组合图_</p>]]></description> |
||||||
|
<change-notes><![CDATA[<p>[2022-08-25]开发1.0版本</p>]]></change-notes> |
||||||
|
<extra-report/> |
||||||
|
<extra-designer/> |
||||||
|
<extra-platform/> |
||||||
|
<extra-core> |
||||||
|
<LocaleFinder class="com.fr.plugin.lzljgdmap.LzljMapChartLocaleFinder"/> |
||||||
|
</extra-core> |
||||||
|
<extra-chart> |
||||||
|
<IndependentChartProvider class="com.fr.plugin.lzljgdmap.LzljMapChartProvider" |
||||||
|
plotID="LzljMapChart"/> |
||||||
|
</extra-chart> |
||||||
|
<extra-chart-designer> |
||||||
|
<IndependentChartUIProvider class="com.fr.plugin.lzljgdmap.LzljMapChartUI" |
||||||
|
plotID="LzljMapChart"/> |
||||||
|
</extra-chart-designer> |
||||||
|
<function-recorder class="com.fr.plugin.lzljgdmap.LzljMapChart"/> |
||||||
|
</plugin> |
@ -0,0 +1,614 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap; |
||||||
|
|
||||||
|
import com.fr.base.Base64; |
||||||
|
import com.fr.extended.chart.AbstractChart; |
||||||
|
import com.fr.extended.chart.HyperLinkPara; |
||||||
|
import com.fr.extended.chart.StringFormula; |
||||||
|
import com.fr.extended.chart.ToHyperlinkJSONHelper; |
||||||
|
import com.fr.general.ComparatorUtils; |
||||||
|
import com.fr.js.NameJavaScript; |
||||||
|
import com.fr.js.NameJavaScriptGroup; |
||||||
|
import com.fr.json.*; |
||||||
|
import com.fr.log.FineLoggerFactory; |
||||||
|
import com.fr.plugin.lzljgdmap.data.LzljMapDataConfig; |
||||||
|
import com.fr.plugin.transform.ExecuteFunctionRecord; |
||||||
|
import com.fr.plugin.transform.FunctionRecorder; |
||||||
|
import com.fr.stable.AssistUtils; |
||||||
|
import com.fr.stable.StringUtils; |
||||||
|
import com.fr.stable.web.Repository; |
||||||
|
import com.fr.stable.xml.XMLPrintWriter; |
||||||
|
import com.fr.stable.xml.XMLableReader; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
* @date 2022/8/19 |
||||||
|
*/ |
||||||
|
@FunctionRecorder |
||||||
|
public class LzljMapChart extends AbstractChart<LzljMapDataConfig> { |
||||||
|
|
||||||
|
private static final String ID = "LzljMapChart"; |
||||||
|
private static final String NAME = "热力点组合图__EK"; |
||||||
|
|
||||||
|
private JSONObject titleConf; |
||||||
|
private JSONObject mapConf; |
||||||
|
private JSONObject pointConf; |
||||||
|
private JSONObject heatConf; |
||||||
|
private JSONObject toolConf; |
||||||
|
private JSONObject labelConf; |
||||||
|
private JSONObject tipsConf; |
||||||
|
|
||||||
|
private JSONArray pointStyleCond; |
||||||
|
private NameJavaScriptGroup linkNameGroup; |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String getChartID() { |
||||||
|
return ID; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getChartName() { |
||||||
|
return NAME; |
||||||
|
} |
||||||
|
|
||||||
|
@ExecuteFunctionRecord |
||||||
|
@Override |
||||||
|
protected void addJSON(LzljMapDataConfig dataConfig, JSONObject jsonObject, Repository repository, JSONPara jsonPara) throws JSONException { |
||||||
|
|
||||||
|
jsonObject.put("titleConf", getTitleConf()); |
||||||
|
jsonObject.put("mapConf", getMapConf()); |
||||||
|
jsonObject.put("pointConf", getPointConf()); |
||||||
|
jsonObject.put("heatConf", getHeatConf()); |
||||||
|
jsonObject.put("toolConf", getToolConf()); |
||||||
|
jsonObject.put("labelConf", getLabelConf()); |
||||||
|
jsonObject.put("tipsConf", getTipsConf()); |
||||||
|
jsonObject.put("pointStyleCond", getPointStyleCond()); |
||||||
|
|
||||||
|
addAutoLinkJSON(jsonObject, jsonPara); |
||||||
|
|
||||||
|
jsonObject.put("data", makeChartData(dataConfig, repository)); |
||||||
|
} |
||||||
|
|
||||||
|
private JSONArray makeChartData(LzljMapDataConfig dataConfig, Repository repository) { |
||||||
|
|
||||||
|
JSONArray dataArr = JSONFactory.createJSON(JSON.ARRAY); |
||||||
|
if (null == dataConfig || null == dataConfig.getDatatype()) { |
||||||
|
return dataArr; |
||||||
|
} |
||||||
|
|
||||||
|
List<Object> region = dataConfig.getRegion().getValues(); |
||||||
|
List<Object> area = dataConfig.getArea().getValues(); |
||||||
|
List<Object> county = dataConfig.getCounty().getValues(); |
||||||
|
List<Object> layertype = dataConfig.getLayertype().getValues(); |
||||||
|
List<Object> datatype = dataConfig.getDatatype().getValues(); |
||||||
|
List<Object> lng = dataConfig.getLng().getValues(); |
||||||
|
List<Object> lat = dataConfig.getLat().getValues(); |
||||||
|
List<Object> name = dataConfig.getName().getValues(); |
||||||
|
List<Object> val = dataConfig.getVal().getValues(); |
||||||
|
List<Object> desc = dataConfig.getDesc().getValues(); |
||||||
|
|
||||||
|
for (int i = 0; i < datatype.size(); i++) { |
||||||
|
try { |
||||||
|
JSONObject dataObj = JSONFactory.createJSON(JSON.OBJECT); |
||||||
|
|
||||||
|
if(null == layertype || layertype.isEmpty()) { |
||||||
|
continue; |
||||||
|
} |
||||||
|
if(null == datatype || datatype.isEmpty()) { |
||||||
|
continue; |
||||||
|
} |
||||||
|
if(null == lng || lng.isEmpty() || null == lat || lat.isEmpty()) { |
||||||
|
continue; |
||||||
|
} |
||||||
|
|
||||||
|
if(null != region && !region.isEmpty()) { |
||||||
|
dataObj.put("region", region.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("region", ""); |
||||||
|
} |
||||||
|
if(null != area && !area.isEmpty()) { |
||||||
|
dataObj.put("area", area.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("area", ""); |
||||||
|
} |
||||||
|
if(null != county && !county.isEmpty()) { |
||||||
|
dataObj.put("county", county.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("county", ""); |
||||||
|
} |
||||||
|
if(null != layertype && !layertype.isEmpty()) { |
||||||
|
dataObj.put("layertype", layertype.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("layertype", ""); |
||||||
|
} |
||||||
|
if(null != datatype && !datatype.isEmpty()) { |
||||||
|
dataObj.put("datatype", datatype.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("datatype", ""); |
||||||
|
} |
||||||
|
if(null != lng && !lng.isEmpty()) { |
||||||
|
dataObj.put("lng", lng.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("lng", ""); |
||||||
|
} |
||||||
|
if(null != lat && !lat.isEmpty()) { |
||||||
|
dataObj.put("lat", lat.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("lat", ""); |
||||||
|
} |
||||||
|
if(null != name && !name.isEmpty()) { |
||||||
|
dataObj.put("name", name.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("name", ""); |
||||||
|
} |
||||||
|
if(null != val && !val.isEmpty()) { |
||||||
|
dataObj.put("val", val.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("val", ""); |
||||||
|
} |
||||||
|
if(null != desc && !desc.isEmpty()) { |
||||||
|
dataObj.put("desc", desc.get(i)); |
||||||
|
} else { |
||||||
|
dataObj.put("desc", ""); |
||||||
|
} |
||||||
|
|
||||||
|
dataArr.put(dataObj); |
||||||
|
} catch (Exception e) { |
||||||
|
FineLoggerFactory.getLogger().error("热力点组合图__EK,数据处理有错误," + e.getMessage(), e); |
||||||
|
} |
||||||
|
} |
||||||
|
return dataArr; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String[] requiredJS() { |
||||||
|
return new String[]{ |
||||||
|
"com/fr/plugin/lzljgdmap/web/jstree.js", |
||||||
|
"com/fr/plugin/lzljgdmap/web/LzljMapChartWrapper.js" |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String[] requiredCSS() { |
||||||
|
return new String[]{ |
||||||
|
"com/fr/plugin/lzljgdmap/web/LzljMapChart.css" |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String wrapperName() { |
||||||
|
return "LzljMapChartWrapper"; |
||||||
|
} |
||||||
|
|
||||||
|
private void addAutoLinkJSON(JSONObject paramJSONObject, JSONPara paramAbstractChart) |
||||||
|
throws JSONException { |
||||||
|
ToHyperlinkJSONHelper.addECNameToLinkGroup(paramAbstractChart.ecName, paramAbstractChart.sheetIndex, this.getLinkNameGroup()); |
||||||
|
paramJSONObject.put("pointLink", ToHyperlinkJSONHelper.addAutoLinkJSON(this.getLinkNameGroup(), hyperLinkParas())); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public NameJavaScriptGroup getHotHyperlink(String s) { |
||||||
|
NameJavaScriptGroup retLinkGroup = new NameJavaScriptGroup(); |
||||||
|
for (int i = 0; i < linkNameGroup.size(); i++) { |
||||||
|
NameJavaScript hyperlink = linkNameGroup.getNameHyperlink(i); |
||||||
|
if ("pointLink".equals(s)) { |
||||||
|
try { |
||||||
|
retLinkGroup.addNameHyperlink((NameJavaScript)hyperlink.clone()); |
||||||
|
} catch (CloneNotSupportedException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
return retLinkGroup; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected HyperLinkPara[] hyperLinkParas() { |
||||||
|
return new HyperLinkPara[]{ |
||||||
|
new HyperLinkPara() { |
||||||
|
@Override |
||||||
|
public String getName() { |
||||||
|
return "分类"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getFormulaContent() { |
||||||
|
return "LAYERTYPE"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String[] getProps() { |
||||||
|
return new String[]{"layertype"}; |
||||||
|
} |
||||||
|
}, |
||||||
|
new HyperLinkPara() { |
||||||
|
@Override |
||||||
|
public String getName() { |
||||||
|
return "类型"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getFormulaContent() { |
||||||
|
return "DATATYPE"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String[] getProps() { |
||||||
|
return new String[]{"datatype"}; |
||||||
|
} |
||||||
|
}, |
||||||
|
new HyperLinkPara() { |
||||||
|
@Override |
||||||
|
public String getName() { |
||||||
|
return "名称"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getFormulaContent() { |
||||||
|
return "POINTNAME"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String[] getProps() { |
||||||
|
return new String[]{"name"}; |
||||||
|
} |
||||||
|
}, |
||||||
|
new HyperLinkPara() { |
||||||
|
@Override |
||||||
|
public String getName() { |
||||||
|
return "经度"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getFormulaContent() { |
||||||
|
return "POINTLNG"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String[] getProps() { |
||||||
|
return new String[]{"lng"}; |
||||||
|
} |
||||||
|
}, |
||||||
|
new HyperLinkPara() { |
||||||
|
@Override |
||||||
|
public String getName() { |
||||||
|
return "纬度"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getFormulaContent() { |
||||||
|
return "POINTLAT"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String[] getProps() { |
||||||
|
return new String[]{"lat"}; |
||||||
|
} |
||||||
|
}, |
||||||
|
new HyperLinkPara() { |
||||||
|
@Override |
||||||
|
public String getName() { |
||||||
|
return "描述"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getFormulaContent() { |
||||||
|
return "POINTDESC"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String[] getProps() { |
||||||
|
return new String[]{"desc"}; |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void readAttr(XMLableReader xmLableReader) { |
||||||
|
super.readAttr(xmLableReader); |
||||||
|
String jsonStr = xmLableReader.getAttrAsString("titleConf", ""); |
||||||
|
if (StringUtils.isNotEmpty(jsonStr)) { |
||||||
|
this.setTitleConf(new JSONObject(jsonStr)); |
||||||
|
} |
||||||
|
jsonStr = xmLableReader.getAttrAsString("mapConf", ""); |
||||||
|
if (StringUtils.isNotEmpty(jsonStr)) { |
||||||
|
this.setMapConf(new JSONObject(jsonStr)); |
||||||
|
} |
||||||
|
jsonStr = xmLableReader.getAttrAsString("pointConf", ""); |
||||||
|
if (StringUtils.isNotEmpty(jsonStr)) { |
||||||
|
this.setPointConf(new JSONObject(jsonStr)); |
||||||
|
} |
||||||
|
jsonStr = xmLableReader.getAttrAsString("heatConf", ""); |
||||||
|
if (StringUtils.isNotEmpty(jsonStr)) { |
||||||
|
this.setHeatConf(new JSONObject(jsonStr)); |
||||||
|
} |
||||||
|
jsonStr = xmLableReader.getAttrAsString("toolConf", ""); |
||||||
|
if (StringUtils.isNotEmpty(jsonStr)) { |
||||||
|
this.setToolConf(new JSONObject(jsonStr)); |
||||||
|
} |
||||||
|
jsonStr = xmLableReader.getAttrAsString("labelConf", ""); |
||||||
|
if (StringUtils.isNotEmpty(jsonStr)) { |
||||||
|
this.setLabelConf(new JSONObject(jsonStr)); |
||||||
|
} |
||||||
|
jsonStr = xmLableReader.getAttrAsString("tipsConf", ""); |
||||||
|
if (StringUtils.isNotEmpty(jsonStr)) { |
||||||
|
this.setTipsConf(new JSONObject(jsonStr)); |
||||||
|
} |
||||||
|
|
||||||
|
jsonStr = xmLableReader.getAttrAsString("pointStyleCond", ""); |
||||||
|
if (StringUtils.isNotEmpty(jsonStr)) { |
||||||
|
this.setPointStyleCond(new JSONArray(new String(Base64.decode(jsonStr)))); |
||||||
|
} |
||||||
|
|
||||||
|
if (null == linkNameGroup) { |
||||||
|
linkNameGroup = (NameJavaScriptGroup)xmLableReader.readXMLObject(new NameJavaScriptGroup()); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void writeAttr(XMLPrintWriter xmlPrintWriter) { |
||||||
|
super.writeAttr(xmlPrintWriter); |
||||||
|
if (null != titleConf) { |
||||||
|
xmlPrintWriter.attr("titleConf", titleConf.toString()); |
||||||
|
} |
||||||
|
if (null != mapConf) { |
||||||
|
xmlPrintWriter.attr("mapConf", mapConf.toString()); |
||||||
|
} |
||||||
|
if (null != pointConf) { |
||||||
|
xmlPrintWriter.attr("pointConf", pointConf.toString()); |
||||||
|
} |
||||||
|
if (null != heatConf) { |
||||||
|
xmlPrintWriter.attr("heatConf", heatConf.toString()); |
||||||
|
} |
||||||
|
if (null != toolConf) { |
||||||
|
xmlPrintWriter.attr("toolConf", toolConf.toString()); |
||||||
|
} |
||||||
|
if (null != labelConf) { |
||||||
|
xmlPrintWriter.attr("labelConf", labelConf.toString()); |
||||||
|
} |
||||||
|
if (null != tipsConf) { |
||||||
|
xmlPrintWriter.attr("tipsConf", tipsConf.toString()); |
||||||
|
} |
||||||
|
if (null != pointStyleCond) { |
||||||
|
xmlPrintWriter.attr("pointStyleCond", Base64.encode(pointStyleCond.toString().getBytes())); |
||||||
|
} |
||||||
|
|
||||||
|
if (null != linkNameGroup) { |
||||||
|
linkNameGroup.writeXML(xmlPrintWriter); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object o) { |
||||||
|
boolean isEq = super.equals(o) |
||||||
|
&& o instanceof LzljMapChart |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getTitleConf(), this.titleConf) |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getMapConf(), this.mapConf) |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getPointConf(), this.pointConf) |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getHeatConf(), this.heatConf) |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getToolConf(), this.toolConf) |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getLabelConf(), this.labelConf) |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getTipsConf(), this.tipsConf) |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getPointStyleCond(), this.pointStyleCond) |
||||||
|
&& ComparatorUtils.equals(((LzljMapChart) o).getLinkNameGroup(), this.linkNameGroup) |
||||||
|
; |
||||||
|
return isEq; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return super.hashCode() + AssistUtils.hashCode(new Object[]{this.titleConf, this.mapConf,this.pointConf,this.heatConf,this.toolConf,this.labelConf, this.tipsConf, this.pointStyleCond}); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public LzljMapChart clone() throws CloneNotSupportedException { |
||||||
|
LzljMapChart chart = (LzljMapChart)super.clone(); |
||||||
|
if (this.linkNameGroup != null) { |
||||||
|
chart.setLinkNameGroup((NameJavaScriptGroup) this.getLinkNameGroup().clone()); |
||||||
|
} |
||||||
|
return chart; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected List<StringFormula> formulas() { |
||||||
|
List<StringFormula> formulaList = new ArrayList<StringFormula>(); |
||||||
|
return formulaList; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String demoImagePath() { |
||||||
|
return "com/fr/plugin/lzljgdmap/images/demo.png"; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public JSONObject getTitleConf() { |
||||||
|
if (null == titleConf) { |
||||||
|
titleConf = new JSONObject(); |
||||||
|
titleConf.put("titlevisiable", false); |
||||||
|
titleConf.put("titlename", "热力点组合图"); |
||||||
|
titleConf.put("titleposition", 0); |
||||||
|
titleConf.put("titlesize", 13); |
||||||
|
titleConf.put("titlestyle", 1); |
||||||
|
titleConf.put("titlefamily", "微软雅黑"); |
||||||
|
titleConf.put("titlecolor", "#ffffff"); |
||||||
|
titleConf.put("titlebgcolor", "#000000"); |
||||||
|
titleConf.put("titleBgOpacity", 55); |
||||||
|
} |
||||||
|
return titleConf; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTitleConf(JSONObject titleConf) { |
||||||
|
this.titleConf = titleConf; |
||||||
|
} |
||||||
|
|
||||||
|
public JSONObject getTipsConf() { |
||||||
|
if (null == tipsConf) { |
||||||
|
tipsConf = new JSONObject(); |
||||||
|
tipsConf.put("showPointTips", true); |
||||||
|
tipsConf.put("tipBgColor", "#c0c0c0"); |
||||||
|
tipsConf.put("tipBgOpacity", 70.0); |
||||||
|
tipsConf.put("showLayerType", true); |
||||||
|
tipsConf.put("showDataType", true); |
||||||
|
tipsConf.put("showDesc", true); |
||||||
|
tipsConf.put("showLat", true); |
||||||
|
tipsConf.put("showLng", true); |
||||||
|
tipsConf.put("showName", true); |
||||||
|
tipsConf.put("tipfamily", "微软雅黑"); |
||||||
|
tipsConf.put("tipstyle", 0); |
||||||
|
tipsConf.put("tipsize", 12); |
||||||
|
tipsConf.put("tipcolor", "#ffcc00"); |
||||||
|
} |
||||||
|
return tipsConf; |
||||||
|
} |
||||||
|
|
||||||
|
public void setTipsConf(JSONObject tipsConf) { |
||||||
|
this.tipsConf = tipsConf; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public JSONArray getPointStyleCond() { |
||||||
|
if (null == pointStyleCond || pointStyleCond.size() == 0) { |
||||||
|
pointStyleCond = JSONArray.create(); |
||||||
|
} |
||||||
|
return pointStyleCond; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPointStyleCond(JSONArray pointStyleCond) { |
||||||
|
this.pointStyleCond = pointStyleCond; |
||||||
|
} |
||||||
|
|
||||||
|
public JSONObject getMapConf() { |
||||||
|
if (null == mapConf) { |
||||||
|
mapConf = new JSONObject(); |
||||||
|
mapConf.put("areaBorderColor", "#808080"); |
||||||
|
mapConf.put("centerx", "118.796452"); |
||||||
|
mapConf.put("centery", "32.058908"); |
||||||
|
mapConf.put("circleBorderColor", "#ff0000"); |
||||||
|
mapConf.put("circleBorderWidth", 2); |
||||||
|
mapConf.put("circleFillColor", "#ff0000"); |
||||||
|
mapConf.put("circleOpacity", "#575656"); |
||||||
|
mapConf.put("countryBorderColor", 64); |
||||||
|
mapConf.put("mapKey", "grey"); |
||||||
|
mapConf.put("mapzoom", 10); |
||||||
|
mapConf.put("regionBorderColor", "#c0c0c0"); |
||||||
|
mapConf.put("regionBorderWidth", 3); |
||||||
|
mapConf.put("showCircleDetail", true); |
||||||
|
} |
||||||
|
return mapConf; |
||||||
|
} |
||||||
|
|
||||||
|
public void setMapConf(JSONObject mapConf) { |
||||||
|
this.mapConf = mapConf; |
||||||
|
} |
||||||
|
|
||||||
|
public JSONObject getPointConf() { |
||||||
|
if (null == pointConf) { |
||||||
|
pointConf = new JSONObject(); |
||||||
|
pointConf.put("clusterBgOpacity", 100); |
||||||
|
pointConf.put("clusterBorderColor", "#3366ff"); |
||||||
|
pointConf.put("clusterFillColor", "#1fade5"); |
||||||
|
pointConf.put("clusterMaxZoom", 12); |
||||||
|
pointConf.put("clusterPointSize", 32); |
||||||
|
pointConf.put("clusterTextColor", "#ffffff"); |
||||||
|
pointConf.put("pointSize", 32); |
||||||
|
pointConf.put("pointimg", "iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAD60lEQVR4nO1YMWgUQRTd4mb2orYiJpnZw84gaGEhImIhCJJC0gixEQVJmiAowcJCECSdSRrRoGIhGAVNYWEhpEiCAdOI3u1tjhAbG1OoIMTu/D+5O3f3Ljszyc3MBefBh2V3/p/3/v75M7ue5+Dg4ODg4GAKqwUvX+G0b5n7/WAjNevHe/jMNj8tiHjuVMTprTL358ucVrPNn8ex6GOb946xHNABELUgFr2lLWAM2zqUEfWQoyGjz3cgPGEYC2Pa1iWFckAvlRn53i7xDcOYENu2vkxEgX+j7cJThnPY1tkSEaMXdYtvJAHmsq03AezYpsQ3ktApu0SJ0SOwba2YTwBdwblt6/e22e3XoYw/wJ7/AG3zmq6rxsG5rYqv7fMKpMn7MMidbHXiw3v4DMeoxLR6TigrHXLIhHxcMqGQhAWdGrfEMs+flSW5cijPVeOjj3QVABcdGjMBE4/JkCux3Om0b8jJNXi2BPYLmtmXkNO3rbY29JVMwpgZ1THUBIjKfjzuA+v1MNx/l+HzEb8Kk/OQcYkELBkVjw1LgtTvz91drO4DJ7jzcO+nyA8rIp4EjIGxRH5GP6WRoFBIQBfjPiDsqUJje5HwhVgin3TlaAX+wBCKYPRxfXxYyBcUxKP9KfZ5tO6PsUQ+yMlkAkbECSDDjQT05s4oJqCKPv8SQIYlEjBiLAFAaEgoIPZGdpqAUKriyJCxBGye2ASEAnq7Pl6mZ2RWAMQSjgdOxhJQ3O/tkxDxKu6D3V0hAd/ivhhL5IOcjCVggxQjs1mEQHAlKYLcl377nN6J+2IsQfnPGhWPKHH/ungZkCtxH7j3UmLpPEn4QAyRD3Ixqx5QLJBjqqWMiLj/cIuxP+DN30uPxxjC8gcuZlQ3k5sRkcMDUNrva7DnIJZ53UqMXvh0wNubHid5eJoxo7YFQuafk1nTpYBcVY2NPlL9Ajjo0CYNIDEt1dygUclsVRtbrKDBxmzahMZswqqHnIC+gaPt3TCgA1FvVw8aXuO9jWcKseJnBauAtfpMKQltMJzTtu4GKgVywnQCcE7buhOA8/ojU+JxLtt6m1D75F01kIBVnMu23pYIGbms/e3DHLZ1ZkLxz49q42s6VHUcNC6Fzi39NHQshY4v/TTauRR2RemngeUq/I6XE1/ZNaWfhtS/PFHpm/zbqwNh4N/ctnjwtc2/LYi4P6Ve+v6Ubd5tw+ZPVH9OPgH+nPGfnLoB3/jHQdiahPg1HGubrxbAd/+geN3TQds8tQJEjmYkYNQ2PyOIOJlsbnpk0jYvo4gYfd0QD9e2+RhH1fNyIaOLaHhtm48VFLvzHM02DwcHBwcHh/8UfwE/2Xk+00CsAAAAAABJRU5ErkJggg=="); |
||||||
|
pointConf.put("pointimgh", 64); |
||||||
|
pointConf.put("pointimgw", 64); |
||||||
|
pointConf.put("pointimgtype", "png"); |
||||||
|
} |
||||||
|
return pointConf; |
||||||
|
} |
||||||
|
|
||||||
|
public void setPointConf(JSONObject pointConf) { |
||||||
|
this.pointConf = pointConf; |
||||||
|
} |
||||||
|
|
||||||
|
public JSONObject getHeatConf() { |
||||||
|
if (null == heatConf) { |
||||||
|
heatConf = new JSONObject(); |
||||||
|
heatConf.put("bgOpacity", 100); |
||||||
|
heatConf.put("interval", 4); |
||||||
|
heatConf.put("intervalColors", "#0000ff|#0000ff|#00ff00|#ffea00|#ff0000"); |
||||||
|
heatConf.put("intervalPos", "0.0|0.1849315|0.47945204|0.760274|1.0"); |
||||||
|
heatConf.put("maxValue", 1); |
||||||
|
heatConf.put("radius", 100); |
||||||
|
} |
||||||
|
return heatConf; |
||||||
|
} |
||||||
|
|
||||||
|
public void setHeatConf(JSONObject heatConf) { |
||||||
|
this.heatConf = heatConf; |
||||||
|
} |
||||||
|
|
||||||
|
public JSONObject getToolConf() { |
||||||
|
if (null == toolConf) { |
||||||
|
toolConf = new JSONObject(); |
||||||
|
toolConf.put("toolBgColor", "#808080"); |
||||||
|
toolConf.put("toolBgOpacity", 80); |
||||||
|
toolConf.put("toolBtnColor", "#fc8d51"); |
||||||
|
toolConf.put("toolcolor", "#ffffff"); |
||||||
|
toolConf.put("toolfamily", "微软雅黑"); |
||||||
|
toolConf.put("toolsize", 13); |
||||||
|
toolConf.put("toolstyle", 0); |
||||||
|
|
||||||
|
toolConf.put("detailBgColor", "#ffffff"); |
||||||
|
toolConf.put("detailTitleBgColor", "#ecb562"); |
||||||
|
toolConf.put("detailBgOpacity", 100); |
||||||
|
toolConf.put("showRegion", true); |
||||||
|
toolConf.put("showArea", true); |
||||||
|
toolConf.put("showName", true); |
||||||
|
toolConf.put("showLayerType", true); |
||||||
|
toolConf.put("showDataType", true); |
||||||
|
toolConf.put("showLng", true); |
||||||
|
toolConf.put("showLat", true); |
||||||
|
toolConf.put("showVal", true); |
||||||
|
toolConf.put("showDesc", true); |
||||||
|
toolConf.put("detailsize", 14); |
||||||
|
toolConf.put("detailstyle", 0); |
||||||
|
toolConf.put("detailfamily", "微软雅黑"); |
||||||
|
toolConf.put("detailcolor", "#333333"); |
||||||
|
} |
||||||
|
return toolConf; |
||||||
|
} |
||||||
|
|
||||||
|
public void setToolConf(JSONObject toolConf) { |
||||||
|
this.toolConf = toolConf; |
||||||
|
} |
||||||
|
|
||||||
|
public JSONObject getLabelConf() { |
||||||
|
if (null == labelConf) { |
||||||
|
labelConf = new JSONObject(); |
||||||
|
labelConf.put("labelBgColor", "transparent"); |
||||||
|
labelConf.put("labelJsPane", ""); |
||||||
|
labelConf.put("labelType", 1); |
||||||
|
labelConf.put("labelcolor", "#ff0000"); |
||||||
|
labelConf.put("labelfamily", "微软雅黑"); |
||||||
|
labelConf.put("labelsize", 10); |
||||||
|
labelConf.put("labelstyle", 0); |
||||||
|
labelConf.put("showDataType", true); |
||||||
|
labelConf.put("showDesc", true); |
||||||
|
labelConf.put("showLat", true); |
||||||
|
labelConf.put("showLng", true); |
||||||
|
labelConf.put("showLayerType", true); |
||||||
|
labelConf.put("showName", true); |
||||||
|
labelConf.put("showPointLabel", true); |
||||||
|
} |
||||||
|
return labelConf; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLabelConf(JSONObject labelConf) { |
||||||
|
this.labelConf = labelConf; |
||||||
|
} |
||||||
|
|
||||||
|
public NameJavaScriptGroup getLinkNameGroup() { |
||||||
|
return linkNameGroup; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLinkNameGroup(NameJavaScriptGroup linkNameGroup) { |
||||||
|
this.linkNameGroup = linkNameGroup; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,10 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap; |
||||||
|
|
||||||
|
import com.fr.stable.fun.impl.AbstractLocaleFinder; |
||||||
|
|
||||||
|
public class LzljMapChartLocaleFinder extends AbstractLocaleFinder { |
||||||
|
@Override |
||||||
|
public String find() { |
||||||
|
return "com/fr/plugin/lzljgdmap/locale/lzljgdmap"; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,11 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap; |
||||||
|
|
||||||
|
import com.fr.extended.chart.AbstractChart; |
||||||
|
import com.fr.extended.chart.AbstractExtentChartProvider; |
||||||
|
|
||||||
|
public class LzljMapChartProvider extends AbstractExtentChartProvider { |
||||||
|
@Override |
||||||
|
protected AbstractChart createChart() { |
||||||
|
return new LzljMapChart(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,44 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap; |
||||||
|
|
||||||
|
import com.fr.design.gui.frpane.AttributeChangeListener; |
||||||
|
import com.fr.design.mainframe.chart.AbstractChartAttrPane; |
||||||
|
import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPane; |
||||||
|
import com.fr.extended.chart.AbstractExtendedChartTableDataPane; |
||||||
|
import com.fr.extended.chart.AbstractExtendedChartUIProvider; |
||||||
|
import com.fr.plugin.lzljgdmap.data.LzljMapDataPane; |
||||||
|
import com.fr.plugin.lzljgdmap.data.LzljMapReportDataPane; |
||||||
|
import com.fr.plugin.lzljgdmap.ui.LzljMapStylePane; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
* @date 2022/8/19 |
||||||
|
*/ |
||||||
|
public class LzljMapChartUI extends AbstractExtendedChartUIProvider { |
||||||
|
|
||||||
|
@Override |
||||||
|
protected AbstractExtendedChartTableDataPane getTableDataSourcePane() { |
||||||
|
return new LzljMapDataPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected AbstractReportDataContentPane getReportDataSourcePane() { |
||||||
|
return new LzljMapReportDataPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String getIconPath() { |
||||||
|
return "com/fr/plugin/lzljgdmap/images/icon.png"; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public AbstractChartAttrPane[] getAttrPaneArray(AttributeChangeListener attributeChangeListener) { |
||||||
|
return new AbstractChartAttrPane[]{ |
||||||
|
new LzljMapStylePane(attributeChangeListener) |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public String[] getDemoImagePath() { |
||||||
|
return new String[]{"com/fr/plugin/lzljgdmap/images/demo.png"}; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,187 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.data; |
||||||
|
|
||||||
|
import com.fr.extended.chart.AbstractDataConfig; |
||||||
|
import com.fr.extended.chart.ExtendedField; |
||||||
|
import com.fr.stable.AssistUtils; |
||||||
|
import com.fr.stable.xml.XMLPrintWriter; |
||||||
|
import com.fr.stable.xml.XMLableReader; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
* @date 2022/8/25 |
||||||
|
*/ |
||||||
|
public class LzljMapDataConfig extends AbstractDataConfig { |
||||||
|
|
||||||
|
private ExtendedField region = new ExtendedField(); |
||||||
|
private ExtendedField area = new ExtendedField(); |
||||||
|
private ExtendedField county = new ExtendedField(); |
||||||
|
private ExtendedField layertype = new ExtendedField(); |
||||||
|
private ExtendedField datatype = new ExtendedField(); |
||||||
|
private ExtendedField lng = new ExtendedField(); |
||||||
|
private ExtendedField lat = new ExtendedField(); |
||||||
|
private ExtendedField name = new ExtendedField(); |
||||||
|
private ExtendedField val = new ExtendedField(); |
||||||
|
private ExtendedField desc = new ExtendedField(); |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void readAttr(XMLableReader xmLableReader) { |
||||||
|
readExtendedField(region, "region", xmLableReader); |
||||||
|
readExtendedField(area, "area", xmLableReader); |
||||||
|
readExtendedField(county, "county", xmLableReader); |
||||||
|
readExtendedField(layertype, "layertype", xmLableReader); |
||||||
|
readExtendedField(datatype, "datatype", xmLableReader); |
||||||
|
readExtendedField(lng, "lng", xmLableReader); |
||||||
|
readExtendedField(lat, "lat", xmLableReader); |
||||||
|
readExtendedField(name, "name", xmLableReader); |
||||||
|
readExtendedField(val, "val", xmLableReader); |
||||||
|
readExtendedField(desc, "desc", xmLableReader); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void writeAttr(XMLPrintWriter xmlPrintWriter) { |
||||||
|
writeExtendedField(region, "region", xmlPrintWriter); |
||||||
|
writeExtendedField(area, "area", xmlPrintWriter); |
||||||
|
writeExtendedField(county, "county", xmlPrintWriter); |
||||||
|
writeExtendedField(layertype, "layertype", xmlPrintWriter); |
||||||
|
writeExtendedField(datatype, "datatype", xmlPrintWriter); |
||||||
|
writeExtendedField(lng, "lng", xmlPrintWriter); |
||||||
|
writeExtendedField(lat, "lat", xmlPrintWriter); |
||||||
|
writeExtendedField(name, "name", xmlPrintWriter); |
||||||
|
writeExtendedField(val, "val", xmlPrintWriter); |
||||||
|
writeExtendedField(desc, "desc", xmlPrintWriter); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public ExtendedField[] dataSetFields() { |
||||||
|
return new ExtendedField[]{ |
||||||
|
region, |
||||||
|
area, |
||||||
|
county, |
||||||
|
layertype, |
||||||
|
datatype, |
||||||
|
lng, |
||||||
|
lat, |
||||||
|
name, |
||||||
|
val, |
||||||
|
desc |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public LzljMapDataConfig clone() throws CloneNotSupportedException { |
||||||
|
LzljMapDataConfig result = new LzljMapDataConfig(); |
||||||
|
result.setRegion(this.getRegion().clone()); |
||||||
|
result.setArea(this.getArea().clone()); |
||||||
|
result.setCounty(this.getCounty().clone()); |
||||||
|
result.setLayertype(this.getLayertype().clone()); |
||||||
|
result.setDatatype(this.getDatatype().clone()); |
||||||
|
result.setLng(this.getLng().clone()); |
||||||
|
result.setLat(this.getLat().clone()); |
||||||
|
result.setName(this.getName().clone()); |
||||||
|
result.setVal(this.getVal().clone()); |
||||||
|
result.setDesc(this.getDesc().clone()); |
||||||
|
return result; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public int hashCode() { |
||||||
|
return super.hashCode() + AssistUtils.hashCode(this.getRegion(), this.getArea(), this.getCounty(), this.getLayertype(), this.getDatatype(), this.getLng(), this.getLat(), this.getName(),this.getVal(),this.getDesc()); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean equals(Object obj) { |
||||||
|
return super.equals(obj) |
||||||
|
&& obj instanceof LzljMapDataConfig |
||||||
|
&& AssistUtils.equals(this.getRegion(), ((LzljMapDataConfig) obj).getRegion()) |
||||||
|
&& AssistUtils.equals(this.getArea(), ((LzljMapDataConfig) obj).getArea()) |
||||||
|
&& AssistUtils.equals(this.getCounty(), ((LzljMapDataConfig) obj).getCounty()) |
||||||
|
&& AssistUtils.equals(this.getLayertype(), ((LzljMapDataConfig) obj).getLayertype()) |
||||||
|
&& AssistUtils.equals(this.getDatatype(), ((LzljMapDataConfig) obj).getDatatype()) |
||||||
|
&& AssistUtils.equals(this.getLng(), ((LzljMapDataConfig) obj).getLng()) |
||||||
|
&& AssistUtils.equals(this.getLat(), ((LzljMapDataConfig) obj).getLat()) |
||||||
|
&& AssistUtils.equals(this.getName(), ((LzljMapDataConfig) obj).getName()) |
||||||
|
&& AssistUtils.equals(this.getVal(), ((LzljMapDataConfig) obj).getVal()) |
||||||
|
&& AssistUtils.equals(this.getDesc(), ((LzljMapDataConfig) obj).getDesc()) |
||||||
|
; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getDatatype() { |
||||||
|
return datatype; |
||||||
|
} |
||||||
|
|
||||||
|
public void setDatatype(ExtendedField datatype) { |
||||||
|
this.datatype = datatype; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getLayertype() { |
||||||
|
return layertype; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLayertype(ExtendedField layertype) { |
||||||
|
this.layertype = layertype; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getLng() { |
||||||
|
return lng; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLng(ExtendedField lng) { |
||||||
|
this.lng = lng; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getLat() { |
||||||
|
return lat; |
||||||
|
} |
||||||
|
|
||||||
|
public void setLat(ExtendedField lat) { |
||||||
|
this.lat = lat; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getName() { |
||||||
|
return name; |
||||||
|
} |
||||||
|
|
||||||
|
public void setName(ExtendedField name) { |
||||||
|
this.name = name; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getVal() { |
||||||
|
return val; |
||||||
|
} |
||||||
|
|
||||||
|
public void setVal(ExtendedField val) { |
||||||
|
this.val = val; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getDesc() { |
||||||
|
return desc; |
||||||
|
} |
||||||
|
|
||||||
|
public void setDesc(ExtendedField desc) { |
||||||
|
this.desc = desc; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getRegion() { |
||||||
|
return region; |
||||||
|
} |
||||||
|
|
||||||
|
public void setRegion(ExtendedField region) { |
||||||
|
this.region = region; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getArea() { |
||||||
|
return area; |
||||||
|
} |
||||||
|
|
||||||
|
public void setArea(ExtendedField area) { |
||||||
|
this.area = area; |
||||||
|
} |
||||||
|
|
||||||
|
public ExtendedField getCounty() { |
||||||
|
return county; |
||||||
|
} |
||||||
|
|
||||||
|
public void setCounty(ExtendedField county) { |
||||||
|
this.county = county; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,89 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.data; |
||||||
|
|
||||||
|
import com.fr.design.gui.icombobox.UIComboBox; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.extended.chart.AbstractExtendedChartTableDataPane; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
* @date 2022/8/25 |
||||||
|
*/ |
||||||
|
public class LzljMapDataPane extends AbstractExtendedChartTableDataPane<LzljMapDataConfig> { |
||||||
|
|
||||||
|
private UIComboBox layertype; |
||||||
|
private UIComboBox datatype; |
||||||
|
private UIComboBox lng; |
||||||
|
private UIComboBox lat; |
||||||
|
private UIComboBox name; |
||||||
|
private UIComboBox val; |
||||||
|
private UIComboBox desc; |
||||||
|
private UIComboBox region; |
||||||
|
private UIComboBox area; |
||||||
|
private UIComboBox county; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected String[] fieldLabels() { |
||||||
|
return new String[]{ |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_region"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_area"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_county"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_layertype"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_datatype"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_lng"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_lat"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_name"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_val"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_desc") |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected UIComboBox[] filedComboBoxes() { |
||||||
|
if (null == datatype) { |
||||||
|
region = new UIComboBox(); |
||||||
|
area = new UIComboBox(); |
||||||
|
county = new UIComboBox(); |
||||||
|
layertype = new UIComboBox(); |
||||||
|
datatype = new UIComboBox(); |
||||||
|
lng = new UIComboBox(); |
||||||
|
lat = new UIComboBox(); |
||||||
|
name = new UIComboBox(); |
||||||
|
val = new UIComboBox(); |
||||||
|
desc = new UIComboBox(); |
||||||
|
} |
||||||
|
return new UIComboBox[]{ |
||||||
|
region, area, county, layertype, datatype, lng, lat, name, val, desc |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void populate(LzljMapDataConfig dataConfig) { |
||||||
|
populateField(region, dataConfig.getRegion()); |
||||||
|
populateField(area, dataConfig.getArea()); |
||||||
|
populateField(county, dataConfig.getCounty()); |
||||||
|
populateField(layertype, dataConfig.getLayertype()); |
||||||
|
populateField(datatype, dataConfig.getDatatype()); |
||||||
|
populateField(lng, dataConfig.getLng()); |
||||||
|
populateField(lat, dataConfig.getLat()); |
||||||
|
populateField(name, dataConfig.getName()); |
||||||
|
populateField(val, dataConfig.getVal()); |
||||||
|
populateField(desc, dataConfig.getDesc()); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected LzljMapDataConfig update() { |
||||||
|
LzljMapDataConfig dataConfig = new LzljMapDataConfig(); |
||||||
|
updateField(region, dataConfig.getRegion()); |
||||||
|
updateField(area, dataConfig.getArea()); |
||||||
|
updateField(county, dataConfig.getCounty()); |
||||||
|
updateField(layertype, dataConfig.getLayertype()); |
||||||
|
updateField(datatype, dataConfig.getDatatype()); |
||||||
|
updateField(lng, dataConfig.getLng()); |
||||||
|
updateField(lat, dataConfig.getLat()); |
||||||
|
updateField(name, dataConfig.getName()); |
||||||
|
updateField(val, dataConfig.getVal()); |
||||||
|
updateField(desc, dataConfig.getDesc()); |
||||||
|
return dataConfig; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,89 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.data; |
||||||
|
|
||||||
|
import com.fr.design.formula.TinyFormulaPane; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.extended.chart.AbstractExtendedChartReportDataPane; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
* @date 2022/8/25 |
||||||
|
*/ |
||||||
|
public class LzljMapReportDataPane extends AbstractExtendedChartReportDataPane<LzljMapDataConfig> { |
||||||
|
|
||||||
|
private TinyFormulaPane layertype; |
||||||
|
private TinyFormulaPane datatype; |
||||||
|
private TinyFormulaPane lng; |
||||||
|
private TinyFormulaPane lat; |
||||||
|
private TinyFormulaPane name; |
||||||
|
private TinyFormulaPane val; |
||||||
|
private TinyFormulaPane desc; |
||||||
|
private TinyFormulaPane region; |
||||||
|
private TinyFormulaPane area; |
||||||
|
private TinyFormulaPane county; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected String[] fieldLabel() { |
||||||
|
return new String[]{ |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_region"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_area"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_county"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_layertype"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_datatype"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_lng"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_lat"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_name"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_val"), |
||||||
|
Toolkit.i18nText("Plugin_LzljMap_desc") |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected TinyFormulaPane[] formulaPanes() { |
||||||
|
if (null == datatype) { |
||||||
|
region = new TinyFormulaPane(); |
||||||
|
area = new TinyFormulaPane(); |
||||||
|
county = new TinyFormulaPane(); |
||||||
|
layertype = new TinyFormulaPane(); |
||||||
|
datatype = new TinyFormulaPane(); |
||||||
|
lng = new TinyFormulaPane(); |
||||||
|
lat = new TinyFormulaPane(); |
||||||
|
name = new TinyFormulaPane(); |
||||||
|
val = new TinyFormulaPane(); |
||||||
|
desc = new TinyFormulaPane(); |
||||||
|
} |
||||||
|
return new TinyFormulaPane[]{ |
||||||
|
region, area, county, layertype, datatype, lng, lat, name, val, desc |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void populate(LzljMapDataConfig dataConfig) { |
||||||
|
populateField(region, dataConfig.getRegion()); |
||||||
|
populateField(area, dataConfig.getArea()); |
||||||
|
populateField(county, dataConfig.getCounty()); |
||||||
|
populateField(layertype, dataConfig.getLayertype()); |
||||||
|
populateField(datatype, dataConfig.getDatatype()); |
||||||
|
populateField(lng, dataConfig.getLng()); |
||||||
|
populateField(lat, dataConfig.getLat()); |
||||||
|
populateField(name, dataConfig.getName()); |
||||||
|
populateField(val, dataConfig.getVal()); |
||||||
|
populateField(desc, dataConfig.getDesc()); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected LzljMapDataConfig update() { |
||||||
|
LzljMapDataConfig dataConfig = new LzljMapDataConfig(); |
||||||
|
updateField(region, dataConfig.getRegion()); |
||||||
|
updateField(area, dataConfig.getArea()); |
||||||
|
updateField(county, dataConfig.getCounty()); |
||||||
|
updateField(layertype, dataConfig.getLayertype()); |
||||||
|
updateField(datatype, dataConfig.getDatatype()); |
||||||
|
updateField(lng, dataConfig.getLng()); |
||||||
|
updateField(lat, dataConfig.getLat()); |
||||||
|
updateField(name, dataConfig.getName()); |
||||||
|
updateField(val, dataConfig.getVal()); |
||||||
|
updateField(desc, dataConfig.getDesc()); |
||||||
|
return dataConfig; |
||||||
|
} |
||||||
|
} |
After Width: | Height: | Size: 118 KiB |
After Width: | Height: | Size: 3.4 KiB |
@ -0,0 +1,106 @@ |
|||||||
|
Plugin_LzljMap_region=\u7701\u4EFD |
||||||
|
Plugin_LzljMap_area=\u5730\u5E02 |
||||||
|
Plugin_LzljMap_county=\u533A\u53BF |
||||||
|
Plugin_LzljMap_layertype=\u6570\u636E\u5206\u7C7B |
||||||
|
Plugin_LzljMap_datatype=\u6570\u636E\u7C7B\u578B |
||||||
|
Plugin_LzljMap_lng=\u7ECF\u5EA6 |
||||||
|
Plugin_LzljMap_lat=\u7EAC\u5EA6 |
||||||
|
Plugin_LzljMap_name=\u540D\u79F0 |
||||||
|
Plugin_LzljMap_val=\u6570\u503C |
||||||
|
Plugin_LzljMap_desc=\u63CF\u8FF0 |
||||||
|
|
||||||
|
Plugin-LzljMap-isVisiableTitle=\u663E\u793A\u6807\u9898 |
||||||
|
Plugin-LzljMap-titleBgColor=\u80CC\u666F\u989C\u8272 |
||||||
|
Plugin-LzljMap-titleBgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-TitleText=\u540D\u79F0 |
||||||
|
Plugin-LzljMap-TitlePosition=\u4F4D\u7F6E |
||||||
|
Plugin-LzljMap-TitleExpand=\u6807\u9898\u8BBE\u7F6E |
||||||
|
Plugin-LzljMap-TitleStyle=\u6807\u9898\u6837\u5F0F |
||||||
|
|
||||||
|
Plugin-LzljMap-maptitle=\u5730\u56FE |
||||||
|
Plugin-LzljMap-mapzoom=\u5730\u56FE\u7EA7\u522B |
||||||
|
Plugin-LzljMap-centerx=\u4E2D\u5FC3\u70B9\u7ECF\u5EA6 |
||||||
|
Plugin-LzljMap-centery=\u4E2D\u5FC3\u70B9\u7EAC\u5EA6 |
||||||
|
Plugin-LzljMap-mapStyle=\u5730\u56FE\u6837\u5F0F |
||||||
|
Plugin-LzljMap-mapKey=\u5730\u56FELicense |
||||||
|
Plugin-LzljMap-regionBorderWidth=\u533A\u57DF\u8FB9\u754C\u5BBD |
||||||
|
Plugin-LzljMap-regionBorderColor=\u7701\u4EFD\u8FB9\u754C\u989C\u8272 |
||||||
|
Plugin-LzljMap-areaBorderColor=\u5730\u5E02\u8FB9\u754C\u989C\u8272 |
||||||
|
Plugin-LzljMap-countryBorderColor=\u533A\u53BF\u8FB9\u754C\u989C\u8272 |
||||||
|
Plugin-LzljMap-RegionExpand=\u884C\u653F\u533A\u57DF\u6837\u5F0F |
||||||
|
Plugin-LzljMap-BaseMapExpand=\u5730\u56FE\u53C2\u6570\u8BBE\u7F6E |
||||||
|
Plugin-LzljMap-CircleExpand=\u5708\u9009\u533A\u57DF\u6837\u5F0F |
||||||
|
Plugin-LzljMap-circleBorderWidth=\u8FB9\u6846\u5BBD\u5EA6 |
||||||
|
Plugin-LzljMap-circleBorderColor=\u8FB9\u6846\u989C\u8272 |
||||||
|
Plugin-LzljMap-circleFillColor=\u586B\u5145\u989C\u8272 |
||||||
|
Plugin-LzljMap-circleOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-showCircleDetail=\u663E\u793A\u5708\u9009\u6570\u636E\u8BE6\u60C5 |
||||||
|
|
||||||
|
Plugin-LzljMap-pointtitle=\u70B9\u5730\u56FE |
||||||
|
Plugin-LzljMap-showCluster=\u663E\u793A\u805A\u5408\u6548\u679C |
||||||
|
Plugin-LzljMap-clusterMaxZoom=\u6700\u5927\u805A\u5408\u7EA7\u522B |
||||||
|
Plugin-LzljMap-pointSize=\u70B9\u5927\u5C0F |
||||||
|
Plugin-LzljMap-clusterBorderColor=\u8FB9\u6846\u989C\u8272 |
||||||
|
Plugin-LzljMap-clusterFillColor=\u586B\u5145\u989C\u8272 |
||||||
|
Plugin-LzljMap-clusterTextColor=\u5B57\u4F53\u989C\u8272 |
||||||
|
Plugin-LzljMap-clusterBgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-pointMapExpand=\u70B9\u6837\u5F0F\u914D\u7F6E |
||||||
|
Plugin-LzljMap-clusterPointMapExpand=\u805A\u5408\u70B9\u6837\u5F0F\u914D\u7F6E |
||||||
|
|
||||||
|
Plugin-LzljMap-heattitle=\u70ED\u529B\u56FE |
||||||
|
Plugin-LzljMap-heatradius=\u534A\u5F84 |
||||||
|
Plugin-LzljMap-heatmaxValue=\u6700\u5927\u503C |
||||||
|
Plugin-LzljMap-heatbgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-heatinterval=\u5212\u5206\u9636\u6BB5 |
||||||
|
Plugin-LzljMap-heatMapExpand=\u70ED\u529B\u6837\u5F0F\u914D\u7F6E |
||||||
|
|
||||||
|
Plugin-LzljMap-toolstitle=\u5DE5\u5177 |
||||||
|
Plugin-LzljMap-toolAlignment=\u4F4D\u7F6E |
||||||
|
Plugin-LzljMap-toolBgColor=\u80CC\u666F\u989C\u8272 |
||||||
|
Plugin-LzljMap-toolBtnColor=\u6309\u94AE\u989C\u8272 |
||||||
|
Plugin-LzljMap-toolBgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-toolAlignExpand=\u7B5B\u9009\u6837\u5F0F\u914D\u7F6E |
||||||
|
Plugin-LzljMap-ToolsTextStyle=\u7B5B\u9009\u6587\u672C\u6837\u5F0F |
||||||
|
Plugin-LzljMap-detailTitleBgColor=\u6807\u9898\u80CC\u666F\u8272 |
||||||
|
Plugin-LzljMap-detailAlignExpand=\u8BE6\u60C5\u6837\u5F0F\u914D\u7F6E |
||||||
|
Plugin-LzljMap-detailColumnsExpand=\u8BE6\u60C5\u8868\u5B57\u6BB5\u914D\u7F6E |
||||||
|
|
||||||
|
Plugin-LzljMap-showPointLabel=\u663E\u793A\u70B9\u6807\u7B7E |
||||||
|
Plugin-LzljMap-labelBgColor=\u80CC\u666F\u989C\u8272 |
||||||
|
Plugin-LzljMap-labelstitle=\u6807\u7B7E |
||||||
|
Plugin-LzljMap-labelTypeCheck=\u9009\u9879 |
||||||
|
Plugin-LzljMap-labelTypeJS=JS\u811A\u672C |
||||||
|
Plugin-LzljMap-showName=\u540D\u79F0 |
||||||
|
Plugin-LzljMap-showLng=\u7ECF\u5EA6 |
||||||
|
Plugin-LzljMap-showLat=\u7EAC\u5EA6 |
||||||
|
Plugin-LzljMap-showDesc=\u63CF\u8FF0 |
||||||
|
Plugin-LzljMap-labelType=\u53D6\u503C\u65B9\u5F0F |
||||||
|
Plugin-LzljMap-labelAlignExpand=\u6807\u7B7E\u65B9\u5F0F |
||||||
|
Plugin-LzljMap-LabelsTextStyle=\u6587\u672C\u6837\u5F0F |
||||||
|
|
||||||
|
Plugin-LzljMap-showPointTips=\u663E\u793A\u60AC\u6D6E\u63D0\u793A\u6846 |
||||||
|
Plugin-LzljMap-tipstitle=\u63D0\u793A |
||||||
|
Plugin-LzljMap-showLayerType=\u6570\u636E\u5206\u7C7B |
||||||
|
Plugin-LzljMap-showDataType=\u6570\u636E\u7C7B\u578B |
||||||
|
Plugin-LzljMap-tipBgColor=\u80CC\u666F\u989C\u8272 |
||||||
|
Plugin-LzljMap-tipBgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-tipsAlignExpand=\u63D0\u793A\u80CC\u666F |
||||||
|
Plugin-LzljMap-tipsTextStyle=\u63D0\u793A\u6587\u672C |
||||||
|
|
||||||
|
Plugin-LzljMap-otherstitle=\u7279\u6548 |
||||||
|
Plugin-LzljMap-LinkExpand=\u8D85\u7EA7\u94FE\u63A5\u914D\u7F6E |
||||||
|
Plugin-LzljMap-pointStyleCondExpand=\u6761\u4EF6\u5C5E\u6027\u914D\u7F6E |
||||||
|
Plugin-LzljMap-Cond-pointStyle=\u70B9\u6837\u5F0F |
||||||
|
Plugin-LzljMap-Cond-clusterPointStyle=\u805A\u5408\u70B9\u6837\u5F0F |
||||||
|
Plugin-LzljMap-Cond-AddCondtion=\u6DFB\u52A0 |
||||||
|
Plugin-LzljMap-Cond-pointMapTitle=\u5730\u56FE\u70B9\u6761\u4EF6\u5C5E\u6027 |
||||||
|
Plugin-LzljMap-Cond-pointSize=\u70B9\u5927\u5C0F |
||||||
|
Plugin-LzljMap-Cond-PointMapStyleExpand=\u6837\u5F0F\u914D\u7F6E |
||||||
|
Plugin-LzljMap-Cond-typeNameLabel=\u6570\u636E\u5206\u7C7B |
||||||
|
Plugin-LzljMap-Cond-dataTypeLabel=\u6570\u636E\u7C7B\u578B |
||||||
|
Plugin-LzljMap-Cond-valueNameLabel=\u6570\u503C |
||||||
|
Plugin-LzljMap-Cond-clusterCountNameLabel=\u805A\u5408\u70B9\u6570\u91CF |
||||||
|
Plugin-LzljMap-Cond-addButton=\u6DFB\u52A0 |
||||||
|
Plugin-LzljMap-Cond-clearButton=\u6E05\u7A7A\u6761\u4EF6 |
||||||
|
Plugin-LzljMap-Cond-condTaskStyleTitle=\u6761\u4EF6\u914D\u7F6E |
||||||
|
Plugin-LzljMap-Cond-legendName=\u56FE\u4F8B\u540D\u79F0 |
@ -0,0 +1,106 @@ |
|||||||
|
Plugin_LzljMap_region=\u7701\u4EFD |
||||||
|
Plugin_LzljMap_area=\u5730\u5E02 |
||||||
|
Plugin_LzljMap_county=\u533A\u53BF |
||||||
|
Plugin_LzljMap_layertype=\u6570\u636E\u5206\u7C7B |
||||||
|
Plugin_LzljMap_datatype=\u6570\u636E\u7C7B\u578B |
||||||
|
Plugin_LzljMap_lng=\u7ECF\u5EA6 |
||||||
|
Plugin_LzljMap_lat=\u7EAC\u5EA6 |
||||||
|
Plugin_LzljMap_name=\u540D\u79F0 |
||||||
|
Plugin_LzljMap_val=\u6570\u503C |
||||||
|
Plugin_LzljMap_desc=\u63CF\u8FF0 |
||||||
|
|
||||||
|
Plugin-LzljMap-isVisiableTitle=\u663E\u793A\u6807\u9898 |
||||||
|
Plugin-LzljMap-titleBgColor=\u80CC\u666F\u989C\u8272 |
||||||
|
Plugin-LzljMap-titleBgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-TitleText=\u540D\u79F0 |
||||||
|
Plugin-LzljMap-TitlePosition=\u4F4D\u7F6E |
||||||
|
Plugin-LzljMap-TitleExpand=\u6807\u9898\u8BBE\u7F6E |
||||||
|
Plugin-LzljMap-TitleStyle=\u6807\u9898\u6837\u5F0F |
||||||
|
|
||||||
|
Plugin-LzljMap-maptitle=\u5730\u56FE |
||||||
|
Plugin-LzljMap-mapzoom=\u5730\u56FE\u7EA7\u522B |
||||||
|
Plugin-LzljMap-centerx=\u4E2D\u5FC3\u70B9\u7ECF\u5EA6 |
||||||
|
Plugin-LzljMap-centery=\u4E2D\u5FC3\u70B9\u7EAC\u5EA6 |
||||||
|
Plugin-LzljMap-mapStyle=\u5730\u56FE\u6837\u5F0F |
||||||
|
Plugin-LzljMap-mapKey=\u5730\u56FELicense |
||||||
|
Plugin-LzljMap-regionBorderWidth=\u533A\u57DF\u8FB9\u754C\u5BBD |
||||||
|
Plugin-LzljMap-regionBorderColor=\u7701\u4EFD\u8FB9\u754C\u989C\u8272 |
||||||
|
Plugin-LzljMap-areaBorderColor=\u5730\u5E02\u8FB9\u754C\u989C\u8272 |
||||||
|
Plugin-LzljMap-countryBorderColor=\u533A\u53BF\u8FB9\u754C\u989C\u8272 |
||||||
|
Plugin-LzljMap-RegionExpand=\u884C\u653F\u533A\u57DF\u6837\u5F0F |
||||||
|
Plugin-LzljMap-BaseMapExpand=\u5730\u56FE\u53C2\u6570\u8BBE\u7F6E |
||||||
|
Plugin-LzljMap-CircleExpand=\u5708\u9009\u533A\u57DF\u6837\u5F0F |
||||||
|
Plugin-LzljMap-circleBorderWidth=\u8FB9\u6846\u5BBD\u5EA6 |
||||||
|
Plugin-LzljMap-circleBorderColor=\u8FB9\u6846\u989C\u8272 |
||||||
|
Plugin-LzljMap-circleFillColor=\u586B\u5145\u989C\u8272 |
||||||
|
Plugin-LzljMap-circleOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-showCircleDetail=\u663E\u793A\u5708\u9009\u6570\u636E\u8BE6\u60C5 |
||||||
|
|
||||||
|
Plugin-LzljMap-pointtitle=\u70B9\u5730\u56FE |
||||||
|
Plugin-LzljMap-showCluster=\u663E\u793A\u805A\u5408\u6548\u679C |
||||||
|
Plugin-LzljMap-clusterMaxZoom=\u6700\u5927\u805A\u5408\u7EA7\u522B |
||||||
|
Plugin-LzljMap-pointSize=\u70B9\u5927\u5C0F |
||||||
|
Plugin-LzljMap-clusterBorderColor=\u8FB9\u6846\u989C\u8272 |
||||||
|
Plugin-LzljMap-clusterFillColor=\u586B\u5145\u989C\u8272 |
||||||
|
Plugin-LzljMap-clusterTextColor=\u5B57\u4F53\u989C\u8272 |
||||||
|
Plugin-LzljMap-clusterBgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-pointMapExpand=\u70B9\u6837\u5F0F\u914D\u7F6E |
||||||
|
Plugin-LzljMap-clusterPointMapExpand=\u805A\u5408\u70B9\u6837\u5F0F\u914D\u7F6E |
||||||
|
|
||||||
|
Plugin-LzljMap-heattitle=\u70ED\u529B\u56FE |
||||||
|
Plugin-LzljMap-heatradius=\u534A\u5F84 |
||||||
|
Plugin-LzljMap-heatmaxValue=\u6700\u5927\u503C |
||||||
|
Plugin-LzljMap-heatbgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-heatinterval=\u5212\u5206\u9636\u6BB5 |
||||||
|
Plugin-LzljMap-heatMapExpand=\u70ED\u529B\u6837\u5F0F\u914D\u7F6E |
||||||
|
|
||||||
|
Plugin-LzljMap-toolstitle=\u5DE5\u5177 |
||||||
|
Plugin-LzljMap-toolAlignment=\u4F4D\u7F6E |
||||||
|
Plugin-LzljMap-toolBgColor=\u80CC\u666F\u989C\u8272 |
||||||
|
Plugin-LzljMap-toolBtnColor=\u6309\u94AE\u989C\u8272 |
||||||
|
Plugin-LzljMap-toolBgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-toolAlignExpand=\u7B5B\u9009\u6837\u5F0F\u914D\u7F6E |
||||||
|
Plugin-LzljMap-ToolsTextStyle=\u7B5B\u9009\u6587\u672C\u6837\u5F0F |
||||||
|
Plugin-LzljMap-detailTitleBgColor=\u6807\u9898\u80CC\u666F\u8272 |
||||||
|
Plugin-LzljMap-detailAlignExpand=\u8BE6\u60C5\u6837\u5F0F\u914D\u7F6E |
||||||
|
Plugin-LzljMap-detailColumnsExpand=\u8BE6\u60C5\u8868\u5B57\u6BB5\u914D\u7F6E |
||||||
|
|
||||||
|
Plugin-LzljMap-showPointLabel=\u663E\u793A\u70B9\u6807\u7B7E |
||||||
|
Plugin-LzljMap-labelBgColor=\u80CC\u666F\u989C\u8272 |
||||||
|
Plugin-LzljMap-labelstitle=\u6807\u7B7E |
||||||
|
Plugin-LzljMap-labelTypeCheck=\u9009\u9879 |
||||||
|
Plugin-LzljMap-labelTypeJS=JS\u811A\u672C |
||||||
|
Plugin-LzljMap-showName=\u540D\u79F0 |
||||||
|
Plugin-LzljMap-showLng=\u7ECF\u5EA6 |
||||||
|
Plugin-LzljMap-showLat=\u7EAC\u5EA6 |
||||||
|
Plugin-LzljMap-showDesc=\u63CF\u8FF0 |
||||||
|
Plugin-LzljMap-labelType=\u53D6\u503C\u65B9\u5F0F |
||||||
|
Plugin-LzljMap-labelAlignExpand=\u6807\u7B7E\u65B9\u5F0F |
||||||
|
Plugin-LzljMap-LabelsTextStyle=\u6587\u672C\u6837\u5F0F |
||||||
|
|
||||||
|
Plugin-LzljMap-showPointTips=\u663E\u793A\u60AC\u6D6E\u63D0\u793A\u6846 |
||||||
|
Plugin-LzljMap-tipstitle=\u63D0\u793A |
||||||
|
Plugin-LzljMap-showLayerType=\u6570\u636E\u5206\u7C7B |
||||||
|
Plugin-LzljMap-showDataType=\u6570\u636E\u7C7B\u578B |
||||||
|
Plugin-LzljMap-tipBgColor=\u80CC\u666F\u989C\u8272 |
||||||
|
Plugin-LzljMap-tipBgOpacity=\u4E0D\u900F\u660E\u5EA6 |
||||||
|
Plugin-LzljMap-tipsAlignExpand=\u63D0\u793A\u80CC\u666F |
||||||
|
Plugin-LzljMap-tipsTextStyle=\u63D0\u793A\u6587\u672C |
||||||
|
|
||||||
|
Plugin-LzljMap-otherstitle=\u7279\u6548 |
||||||
|
Plugin-LzljMap-LinkExpand=\u8D85\u7EA7\u94FE\u63A5\u914D\u7F6E |
||||||
|
Plugin-LzljMap-pointStyleCondExpand=\u6761\u4EF6\u5C5E\u6027\u914D\u7F6E |
||||||
|
Plugin-LzljMap-Cond-pointStyle=\u70B9\u6837\u5F0F |
||||||
|
Plugin-LzljMap-Cond-clusterPointStyle=\u805A\u5408\u70B9\u6837\u5F0F |
||||||
|
Plugin-LzljMap-Cond-AddCondtion=\u6DFB\u52A0 |
||||||
|
Plugin-LzljMap-Cond-pointMapTitle=\u5730\u56FE\u70B9\u6761\u4EF6\u5C5E\u6027 |
||||||
|
Plugin-LzljMap-Cond-pointSize=\u70B9\u5927\u5C0F |
||||||
|
Plugin-LzljMap-Cond-PointMapStyleExpand=\u6837\u5F0F\u914D\u7F6E |
||||||
|
Plugin-LzljMap-Cond-typeNameLabel=\u6570\u636E\u5206\u7C7B |
||||||
|
Plugin-LzljMap-Cond-dataTypeLabel=\u6570\u636E\u7C7B\u578B |
||||||
|
Plugin-LzljMap-Cond-valueNameLabel=\u6570\u503C |
||||||
|
Plugin-LzljMap-Cond-clusterCountNameLabel=\u805A\u5408\u70B9\u6570\u91CF |
||||||
|
Plugin-LzljMap-Cond-addButton=\u6DFB\u52A0 |
||||||
|
Plugin-LzljMap-Cond-clearButton=\u6E05\u7A7A\u6761\u4EF6 |
||||||
|
Plugin-LzljMap-Cond-condTaskStyleTitle=\u6761\u4EF6\u914D\u7F6E |
||||||
|
Plugin-LzljMap-Cond-legendName=\u56FE\u4F8B\u540D\u79F0 |
@ -0,0 +1,136 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.bulenkov.iconloader.util.Base64Converter; |
||||||
|
import com.fr.base.BaseUtils; |
||||||
|
import com.fr.base.Style; |
||||||
|
import com.fr.design.beans.BasicBeanPane; |
||||||
|
import com.fr.design.gui.ibutton.UIButton; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.style.background.image.ImageFileChooser; |
||||||
|
import com.fr.design.style.background.image.ImagePreviewPane; |
||||||
|
import com.fr.design.utils.ImageUtils; |
||||||
|
import com.fr.general.ImageWithSuffix; |
||||||
|
import com.fr.general.xml.GeneralXMLTools; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
import java.awt.event.ActionEvent; |
||||||
|
import java.awt.event.ActionListener; |
||||||
|
import java.awt.image.BufferedImage; |
||||||
|
import java.io.File; |
||||||
|
|
||||||
|
public class ImageChooserPane extends BasicBeanPane<ImageEntity> { |
||||||
|
private ImageFileChooser imageChooser; |
||||||
|
private ImagePreviewPane imagePreview; |
||||||
|
|
||||||
|
private UIButton imagebtn; |
||||||
|
|
||||||
|
private ImageEntity imageEntity; |
||||||
|
|
||||||
|
public ImageChooserPane() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
imagePreview = new ImagePreviewPane(); |
||||||
|
imageEntity = new ImageEntity(); |
||||||
|
imagebtn = new UIButton("选择图标"); |
||||||
|
UILabel imageLab = new UILabel("点图标"); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {p, f}; |
||||||
|
double[] rowSize = {p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{imageLab, imagebtn}, |
||||||
|
new Component[]{null, imagePreview} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents, rowSize, columnSize); |
||||||
|
|
||||||
|
this.add(panel, BorderLayout.CENTER); |
||||||
|
|
||||||
|
this.setVisible(true); |
||||||
|
|
||||||
|
imageChooser = new ImageFileChooser(); |
||||||
|
imageChooser.setMultiSelectionEnabled(false); |
||||||
|
initLiseners(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initLiseners() { |
||||||
|
this.imagebtn.addActionListener(new ActionListener() { |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
int returnVal = imageChooser.showOpenDialog(ImageChooserPane.this); |
||||||
|
if (returnVal != JFileChooser.CANCEL_OPTION) { |
||||||
|
dealWithImageFile(); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
private void dealWithImageFile() { |
||||||
|
final File selectedFile = imageChooser.getSelectedFile(); |
||||||
|
if (selectedFile != null && selectedFile.isFile()) { |
||||||
|
BufferedImage image = BaseUtils.readImage(selectedFile.getPath()); |
||||||
|
if (null == image) { |
||||||
|
return; |
||||||
|
} |
||||||
|
if (image.getWidth() > 300 || image.getHeight() > 300) { |
||||||
|
JOptionPane.showMessageDialog(null, |
||||||
|
"图片太大,请重新选择!大小不超过300*300,当前尺寸:" + image.getWidth() + "*" + image.getHeight(), |
||||||
|
"信息提示", |
||||||
|
JOptionPane.ERROR_MESSAGE); |
||||||
|
return; |
||||||
|
} |
||||||
|
|
||||||
|
String type = ImageUtils.getImageType(selectedFile); |
||||||
|
String iconBase64 = Base64Converter.encode(GeneralXMLTools.imageEncode(image, type)); |
||||||
|
|
||||||
|
if (null == this.imageEntity) { |
||||||
|
this.imageEntity = new ImageEntity(); |
||||||
|
} |
||||||
|
this.imageEntity.setImagestr(iconBase64); |
||||||
|
this.imageEntity.setImagetype(type); |
||||||
|
this.imageEntity.setWidth(image.getWidth()); |
||||||
|
this.imageEntity.setHeight(image.getHeight()); |
||||||
|
|
||||||
|
if (imagePreview != null) { |
||||||
|
ImageWithSuffix imageWithSuffix = new ImageWithSuffix(image, type); |
||||||
|
imagePreview.setImageStyle(Style.getInstance()); |
||||||
|
imagePreview.setImageWithSuffix(imageWithSuffix); |
||||||
|
imagePreview.repaint(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(ImageEntity ob) { |
||||||
|
if (null == ob || null == ob.getImagestr() || "".equals(ob.getImagestr())) { |
||||||
|
this.imageEntity = new ImageEntity(); |
||||||
|
this.imagePreview.setImage(null); |
||||||
|
this.imagePreview.repaint(); |
||||||
|
new ImagePreviewPane(); |
||||||
|
return; |
||||||
|
} |
||||||
|
this.imageEntity = ob; |
||||||
|
BufferedImage image = (BufferedImage) GeneralXMLTools.imageDecode(Base64Converter.decode(ob.getImagestr().getBytes())); |
||||||
|
if (imagePreview != null && null != image) { |
||||||
|
ImageWithSuffix imageWithSuffix = new ImageWithSuffix(image, ob.getImagetype()); |
||||||
|
imagePreview.setImageStyle(Style.getInstance()); |
||||||
|
imagePreview.setImageWithSuffix(imageWithSuffix); |
||||||
|
imagePreview.repaint(); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public ImageEntity updateBean() { |
||||||
|
return this.imageEntity; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return "点图标设置"; |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,42 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import java.io.Serializable; |
||||||
|
|
||||||
|
public class ImageEntity implements Serializable { |
||||||
|
private String imagestr; |
||||||
|
private String imagetype; |
||||||
|
private int width; |
||||||
|
private int height; |
||||||
|
|
||||||
|
public String getImagestr() { |
||||||
|
return imagestr; |
||||||
|
} |
||||||
|
|
||||||
|
public void setImagestr(String imagestr) { |
||||||
|
this.imagestr = imagestr; |
||||||
|
} |
||||||
|
|
||||||
|
public String getImagetype() { |
||||||
|
return imagetype; |
||||||
|
} |
||||||
|
|
||||||
|
public void setImagetype(String imagetype) { |
||||||
|
this.imagetype = imagetype; |
||||||
|
} |
||||||
|
|
||||||
|
public int getWidth() { |
||||||
|
return width; |
||||||
|
} |
||||||
|
|
||||||
|
public void setWidth(int width) { |
||||||
|
this.width = width; |
||||||
|
} |
||||||
|
|
||||||
|
public int getHeight() { |
||||||
|
return height; |
||||||
|
} |
||||||
|
|
||||||
|
public void setHeight(int height) { |
||||||
|
this.height = height; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,188 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.design.gui.frpane.UINumberDragPane; |
||||||
|
import com.fr.design.gui.ibutton.UIButton; |
||||||
|
import com.fr.design.gui.icombobox.UIComboBox; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.gui.ispinner.UISpinner; |
||||||
|
import com.fr.design.gui.itextarea.UITextArea; |
||||||
|
import com.fr.design.gui.itextfield.UITextField; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.style.color.ColorSelectBox; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.lzljgdmap.vo.ClusterPointMapStyleJson; |
||||||
|
import com.fr.plugin.lzljgdmap.vo.CustomJsonObject; |
||||||
|
import com.fr.van.chart.designer.AbstractVanChartScrollPane; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
import java.awt.event.ActionEvent; |
||||||
|
import java.awt.event.ActionListener; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapClusterPointStyleCreator extends AbstractVanChartScrollPane<CustomJsonObject> { |
||||||
|
|
||||||
|
private UITextArea condition; |
||||||
|
|
||||||
|
private UISpinner clusterPointSize; |
||||||
|
private ColorSelectBox clusterBorderColor; |
||||||
|
private ColorSelectBox clusterFillColor; |
||||||
|
private ColorSelectBox clusterTextColor; |
||||||
|
private UINumberDragPane clusterBgOpacity; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(CustomJsonObject json) { |
||||||
|
JSONObject chartConf = null; |
||||||
|
if (null != json) { |
||||||
|
chartConf = json.get(); |
||||||
|
} |
||||||
|
if (null != chartConf) { |
||||||
|
this.clusterPointSize.setValue(chartConf.getDouble("clusterPointSize")); |
||||||
|
this.clusterBorderColor.setSelectObject(MapUtil.toColor(chartConf.getString("clusterBorderColor"))); |
||||||
|
this.clusterFillColor.setSelectObject(MapUtil.toColor(chartConf.getString("clusterFillColor"))); |
||||||
|
this.clusterTextColor.setSelectObject(MapUtil.toColor(chartConf.getString("clusterTextColor"))); |
||||||
|
this.clusterBgOpacity.populateBean(chartConf.getDouble("clusterBgOpacity")); |
||||||
|
this.condition.setText(chartConf.getString("condition")); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public CustomJsonObject updateBean() { |
||||||
|
JSONObject chartConf = JSONObject.create(); |
||||||
|
|
||||||
|
chartConf.put("clusterPointSize", this.clusterPointSize.getValue()); |
||||||
|
chartConf.put("clusterBorderColor", MapUtil.toHex(this.clusterBorderColor.getSelectObject())); |
||||||
|
chartConf.put("clusterFillColor", MapUtil.toHex(this.clusterFillColor.getSelectObject())); |
||||||
|
chartConf.put("clusterTextColor", MapUtil.toHex(this.clusterTextColor.getSelectObject())); |
||||||
|
chartConf.put("clusterBgOpacity", this.clusterBgOpacity.updateBean()); |
||||||
|
chartConf.put("condition", this.condition.getText()); |
||||||
|
|
||||||
|
ClusterPointMapStyleJson json = new ClusterPointMapStyleJson(); |
||||||
|
chartConf.put("title", json.getTilte()); |
||||||
|
json.put(chartConf); |
||||||
|
return json; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-Cond-pointMapTitle"); |
||||||
|
} |
||||||
|
|
||||||
|
protected class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel condPane = createConditionPane(); |
||||||
|
JPanel stylePane = createStylePane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{condPane}, |
||||||
|
new Component[]{stylePane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents, rowSize, columnSize); |
||||||
|
this.add(panel, BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createStylePane() { |
||||||
|
|
||||||
|
this.clusterPointSize = new UISpinner(0, 1000, 1, 32); |
||||||
|
this.clusterBorderColor = new ColorSelectBox(100); |
||||||
|
this.clusterFillColor = new ColorSelectBox(100); |
||||||
|
this.clusterTextColor = new ColorSelectBox(100); |
||||||
|
this.clusterBgOpacity = new UINumberDragPane(0, 100); |
||||||
|
|
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-pointSize")), this.clusterPointSize}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterBorderColor")), this.clusterBorderColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterFillColor")), this.clusterFillColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterTextColor")), this.clusterTextColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterBgOpacity")), this.clusterBgOpacity} |
||||||
|
}; |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double[] columnSize = {TableLayout.PREFERRED, TableLayout.FILL}; |
||||||
|
double[] rowSize = {p, p, p, p, p, p, p}; |
||||||
|
JPanel sizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); |
||||||
|
|
||||||
|
Component[][] comp1 = new Component[][]{ |
||||||
|
new Component[]{sizePane} |
||||||
|
}; |
||||||
|
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(comp1, new double[]{p, p, p}, new double[]{TableLayout.FILL}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-Cond-PointMapStyleExpand"), panel); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createConditionPane() { |
||||||
|
condition = new UITextArea(3, 6); |
||||||
|
|
||||||
|
final UITextField value = new UITextField(); |
||||||
|
final UIComboBox cond = new UIComboBox(new String[]{"==", ">", "<"}); |
||||||
|
UILabel name = new UILabel(Toolkit.i18nText("Plugin-LzljMap-Cond-clusterCountNameLabel")); |
||||||
|
UIButton add = new UIButton(Toolkit.i18nText("Plugin-LzljMap-Cond-addButton")); |
||||||
|
|
||||||
|
UIButton clear = new UIButton(Toolkit.i18nText("Plugin-LzljMap-Cond-clearButton")); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
new Component[]{name, cond, value, add, clear} |
||||||
|
}; |
||||||
|
JPanel condPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p, p, p}, new double[]{p, p, f, p, p}); |
||||||
|
|
||||||
|
Component[][] comp1 = new Component[][]{ |
||||||
|
new Component[]{condition} |
||||||
|
}; |
||||||
|
JPanel areaPane = TableLayout4VanChartHelper.createGapTableLayoutPane(comp1, new double[]{p}, new double[]{f}); |
||||||
|
|
||||||
|
Component[][] comp = new Component[][]{ |
||||||
|
new Component[]{condPane}, |
||||||
|
new Component[]{areaPane} |
||||||
|
}; |
||||||
|
JPanel sumPane = TableLayout4VanChartHelper.createGapTableLayoutPane(comp, new double[]{p, p}, new double[]{f}); |
||||||
|
|
||||||
|
condition.setEnabled(false); |
||||||
|
add.addActionListener(new ActionListener() { |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
String srcStr = condition.getText(); |
||||||
|
if (null != srcStr && !"".equals(srcStr)) { |
||||||
|
srcStr += " && "; |
||||||
|
} |
||||||
|
String condstr = "{聚合数量} " + cond.getSelectedItem() + " " + value.getText(); |
||||||
|
condition.setText(srcStr + condstr); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
clear.addActionListener(new ActionListener() { |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
condition.setText(""); |
||||||
|
} |
||||||
|
}); |
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-Cond-condTaskStyleTitle"), sumPane); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,55 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.base.BaseFormula; |
||||||
|
import com.fr.chart.chartattr.Plot; |
||||||
|
import com.fr.design.beans.BasicBeanPane; |
||||||
|
import com.fr.design.gui.controlpane.NameableCreator; |
||||||
|
import com.fr.js.NameJavaScriptGroup; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.van.chart.custom.component.VanChartHyperLinkPane; |
||||||
|
|
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
public class LzljMapHyperLink extends VanChartHyperLinkPane { |
||||||
|
|
||||||
|
private LzljMapChart chart; |
||||||
|
|
||||||
|
public void populateBean(LzljMapChart paramAbstractECharts) { |
||||||
|
this.chart = paramAbstractECharts; |
||||||
|
populate(paramAbstractECharts.getPlot()); |
||||||
|
} |
||||||
|
|
||||||
|
public void updateBean(LzljMapChart paramAbstractECharts) { |
||||||
|
update(paramAbstractECharts.getPlot()); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public NameableCreator[] createNameableCreators() { |
||||||
|
return super.createNameableCreators(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public BasicBeanPane createPaneByCreators(NameableCreator nameableCreator) { |
||||||
|
return super.createPaneByCreators(nameableCreator); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected Map<String, BaseFormula> getHyperLinkEditorMap() { |
||||||
|
return this.chart.getHyperLinkEditorMap(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void refreshNameableCreator(NameableCreator[] nameableCreators) { |
||||||
|
super.refreshNameableCreator(nameableCreators); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected NameJavaScriptGroup populateHotHyperLink(Plot paramPlot) { |
||||||
|
return this.chart.getLinkNameGroup(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void updateHotHyperLink(Plot paramPlot, NameJavaScriptGroup paramNameJavaScriptGroup) { |
||||||
|
this.chart.setLinkNameGroup(paramNameJavaScriptGroup); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,146 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.chart.chartattr.Plot; |
||||||
|
import com.fr.design.beans.BasicBeanPane; |
||||||
|
import com.fr.design.gui.controlpane.NameObjectCreator; |
||||||
|
import com.fr.design.gui.controlpane.NameableCreator; |
||||||
|
import com.fr.design.gui.imenutable.UIMenuNameableCreator; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.general.NameObject; |
||||||
|
import com.fr.json.JSONArray; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.log.FineLoggerFactory; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.plugin.lzljgdmap.vo.ClusterPointMapStyleJson; |
||||||
|
import com.fr.plugin.lzljgdmap.vo.CustomJsonObject; |
||||||
|
import com.fr.plugin.lzljgdmap.vo.PointMapStyleJson; |
||||||
|
import com.fr.stable.ListMap; |
||||||
|
import com.fr.stable.Nameable; |
||||||
|
import com.fr.van.chart.designer.component.VanChartUIListControlPane; |
||||||
|
|
||||||
|
import java.lang.reflect.Constructor; |
||||||
|
import java.lang.reflect.InvocationTargetException; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.HashMap; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapPointCondListPane extends VanChartUIListControlPane { |
||||||
|
|
||||||
|
private LzljMapChart chart; |
||||||
|
|
||||||
|
private HashMap paneMap; |
||||||
|
private HashMap jsonMap; |
||||||
|
|
||||||
|
public LzljMapPointCondListPane() { |
||||||
|
paneMap = new HashMap(6); |
||||||
|
paneMap.put(CustomJsonObject.POINT_MAP_TITLE, LzljMapPointStyleCreator.class); |
||||||
|
paneMap.put(CustomJsonObject.CLUSTER_POINT_MAP_TITLE, LzljMapClusterPointStyleCreator.class); |
||||||
|
|
||||||
|
jsonMap = new HashMap(6); |
||||||
|
jsonMap.put(CustomJsonObject.POINT_MAP_TITLE, PointMapStyleJson.class); |
||||||
|
jsonMap.put(CustomJsonObject.CLUSTER_POINT_MAP_TITLE, ClusterPointMapStyleJson.class); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void update(Plot plot) { |
||||||
|
} |
||||||
|
|
||||||
|
public void populateStyle(LzljMapChart chart) { |
||||||
|
this.chart = chart; |
||||||
|
|
||||||
|
JSONArray pointStyleCond = chart.getPointStyleCond(); |
||||||
|
ArrayList noList = new ArrayList(); |
||||||
|
for (int i = 0; null != pointStyleCond && i < pointStyleCond.size(); i++) { |
||||||
|
JSONObject line = pointStyleCond.getJSONObject(i); |
||||||
|
if (null != line) { |
||||||
|
try { |
||||||
|
CustomJsonObject json = (CustomJsonObject)this.getJsonByTitle(line.getString("title")).newInstance(); |
||||||
|
json.put(line); |
||||||
|
UIMenuNameableCreator var11 = new UIMenuNameableCreator(line.getString("titleName"), json, this.getEditPaneByTitle(line.getString("title"))); |
||||||
|
noList.add(new NameObject(var11.getName(), var11.getObj())); |
||||||
|
} catch (InstantiationException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} catch (IllegalAccessException e) { |
||||||
|
e.printStackTrace(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
this.populate((Nameable[])noList.toArray(new NameObject[noList.size()])); |
||||||
|
this.doLayout(); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
public void updateStyle(LzljMapChart chart) { |
||||||
|
Nameable[] nameables = this.update(); |
||||||
|
|
||||||
|
JSONArray objConf = JSONArray.create(); |
||||||
|
for (int i = 0; i < nameables.length; i++) { |
||||||
|
CustomJsonObject noObj = (CustomJsonObject)((NameObject)nameables[i]).getObject(); |
||||||
|
if (null == noObj) { |
||||||
|
noObj = new CustomJsonObject(); |
||||||
|
noObj.put(JSONObject.create()); |
||||||
|
} |
||||||
|
if (null == noObj.get()) { |
||||||
|
noObj.put(JSONObject.create()); |
||||||
|
} |
||||||
|
|
||||||
|
noObj.get().put("titleName", ((NameObject)nameables[i]).getName()); |
||||||
|
objConf.add(noObj.get()); |
||||||
|
} |
||||||
|
|
||||||
|
chart.setPointStyleCond(objConf); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public NameableCreator[] createNameableCreators() { |
||||||
|
ListMap creatorMap = new ListMap(); |
||||||
|
|
||||||
|
NameableCreator mon = new NameObjectCreator(Toolkit.i18nText("Plugin-LzljMap-Cond-pointStyle"), PointMapStyleJson.class, LzljMapPointStyleCreator.class); |
||||||
|
creatorMap.put(mon.menuName(), mon); |
||||||
|
NameableCreator cluster = new NameObjectCreator(Toolkit.i18nText("Plugin-LzljMap-Cond-clusterPointStyle"), ClusterPointMapStyleJson.class, LzljMapClusterPointStyleCreator.class); |
||||||
|
creatorMap.put(cluster.menuName(), cluster); |
||||||
|
|
||||||
|
return (NameableCreator[])creatorMap.values().toArray(new NameableCreator[creatorMap.size()]); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-Cond-AddCondtion"); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String getAddItemText() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-Cond-AddCondtion"); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public BasicBeanPane createPaneByCreators(NameableCreator nameableCreator) { |
||||||
|
Constructor var2 = null; |
||||||
|
try { |
||||||
|
var2 = nameableCreator.getUpdatePane().getConstructor(); |
||||||
|
return (BasicBeanPane)var2.newInstance(); |
||||||
|
} catch (InstantiationException var4) { |
||||||
|
FineLoggerFactory.getLogger().error(var4.getMessage(), var4); |
||||||
|
} catch (IllegalAccessException var5) { |
||||||
|
FineLoggerFactory.getLogger().error(var5.getMessage(), var5); |
||||||
|
} catch (NoSuchMethodException var6) { |
||||||
|
return super.createPaneByCreators(nameableCreator); |
||||||
|
} catch (InvocationTargetException var7) { |
||||||
|
FineLoggerFactory.getLogger().error(var7.getMessage(), var7); |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
|
||||||
|
private Class<? extends BasicBeanPane> getEditPaneByTitle(String title) { |
||||||
|
return (Class)paneMap.get(title); |
||||||
|
} |
||||||
|
|
||||||
|
private Class getJsonByTitle(String title) { |
||||||
|
return (Class)jsonMap.get(title); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,223 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.design.gui.ibutton.UIButton; |
||||||
|
import com.fr.design.gui.icombobox.UIComboBox; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.gui.ispinner.UISpinner; |
||||||
|
import com.fr.design.gui.itextarea.UITextArea; |
||||||
|
import com.fr.design.gui.itextfield.UITextField; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.lzljgdmap.vo.CustomJsonObject; |
||||||
|
import com.fr.plugin.lzljgdmap.vo.PointMapStyleJson; |
||||||
|
import com.fr.van.chart.designer.AbstractVanChartScrollPane; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
import java.awt.event.ActionEvent; |
||||||
|
import java.awt.event.ActionListener; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapPointStyleCreator extends AbstractVanChartScrollPane<CustomJsonObject> { |
||||||
|
|
||||||
|
private UITextArea condition; |
||||||
|
|
||||||
|
private UITextField legendName; |
||||||
|
private UISpinner pointSize; |
||||||
|
private ImageChooserPane pointPane; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(CustomJsonObject json) { |
||||||
|
JSONObject chartConf = null; |
||||||
|
if (null != json) { |
||||||
|
chartConf = json.get(); |
||||||
|
} |
||||||
|
if (null != chartConf) { |
||||||
|
this.legendName.setText(chartConf.getString("legendName")); |
||||||
|
this.pointSize.setValue(chartConf.getDouble("pointSize")); |
||||||
|
this.condition.setText(chartConf.getString("condition")); |
||||||
|
|
||||||
|
ImageEntity imgEnt = new ImageEntity(); |
||||||
|
imgEnt.setImagestr(chartConf.getString("pointimg")); |
||||||
|
imgEnt.setImagetype(chartConf.getString("pointimgtype")); |
||||||
|
imgEnt.setWidth(chartConf.getInt("pointimgw")); |
||||||
|
imgEnt.setHeight(chartConf.getInt("pointimgh")); |
||||||
|
this.pointPane.populateBean(imgEnt); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public CustomJsonObject updateBean() { |
||||||
|
JSONObject chartConf = JSONObject.create(); |
||||||
|
|
||||||
|
chartConf.put("legendName", this.legendName.getText()); |
||||||
|
chartConf.put("pointSize", this.pointSize.getValue()); |
||||||
|
chartConf.put("condition", this.condition.getText()); |
||||||
|
|
||||||
|
ImageEntity imgEnt = this.pointPane.updateBean(); |
||||||
|
if (null != imgEnt) { |
||||||
|
chartConf.put("pointimg", imgEnt.getImagestr()); |
||||||
|
chartConf.put("pointimgtype", imgEnt.getImagetype()); |
||||||
|
chartConf.put("pointimgw", imgEnt.getWidth()); |
||||||
|
chartConf.put("pointimgh", imgEnt.getHeight()); |
||||||
|
} |
||||||
|
|
||||||
|
PointMapStyleJson json = new PointMapStyleJson(); |
||||||
|
chartConf.put("title", json.getTilte()); |
||||||
|
json.put(chartConf); |
||||||
|
return json; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-Cond-pointMapTitle"); |
||||||
|
} |
||||||
|
|
||||||
|
protected class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel condPane = createConditionPane(); |
||||||
|
JPanel stylePane = createStylePane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{condPane}, |
||||||
|
new Component[]{stylePane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents, rowSize, columnSize); |
||||||
|
this.add(panel, BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createStylePane() { |
||||||
|
|
||||||
|
this.legendName = new UITextField(); |
||||||
|
this.pointSize = new UISpinner(0, 1000, 1, 32); |
||||||
|
this.pointPane = new ImageChooserPane(); |
||||||
|
|
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
//new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-Cond-legendName")), this.legendName},
|
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-Cond-pointSize")), this.pointSize} |
||||||
|
}; |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double[] columnSize = {TableLayout.PREFERRED, TableLayout.FILL}; |
||||||
|
double[] rowSize = {p, p, p}; |
||||||
|
JPanel sizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); |
||||||
|
|
||||||
|
Component[][] comp1 = new Component[][]{ |
||||||
|
new Component[]{sizePane}, |
||||||
|
new Component[]{pointPane} |
||||||
|
}; |
||||||
|
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(comp1, new double[]{p, p, p}, new double[]{TableLayout.FILL}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-Cond-PointMapStyleExpand"), panel); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createConditionPane() { |
||||||
|
condition = new UITextArea(3, 6); |
||||||
|
|
||||||
|
final UITextField typevalue = new UITextField(); |
||||||
|
final UIComboBox typecond = new UIComboBox(new String[]{"=="}); |
||||||
|
UILabel type = new UILabel(Toolkit.i18nText("Plugin-LzljMap-Cond-typeNameLabel")); |
||||||
|
UIButton addType = new UIButton(Toolkit.i18nText("Plugin-LzljMap-Cond-addButton")); |
||||||
|
|
||||||
|
final UITextField datavalue = new UITextField(); |
||||||
|
final UIComboBox datacond = new UIComboBox(new String[]{"=="}); |
||||||
|
UILabel data = new UILabel(Toolkit.i18nText("Plugin-LzljMap-Cond-dataTypeLabel")); |
||||||
|
UIButton addData = new UIButton(Toolkit.i18nText("Plugin-LzljMap-Cond-addButton")); |
||||||
|
|
||||||
|
final UITextField value = new UITextField(); |
||||||
|
final UIComboBox cond = new UIComboBox(new String[]{"==", ">", "<"}); |
||||||
|
UILabel name = new UILabel(Toolkit.i18nText("Plugin-LzljMap-Cond-valueNameLabel")); |
||||||
|
UIButton add = new UIButton(Toolkit.i18nText("Plugin-LzljMap-Cond-addButton")); |
||||||
|
|
||||||
|
UIButton clear = new UIButton(Toolkit.i18nText("Plugin-LzljMap-Cond-clearButton")); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
new Component[]{type, typecond, typevalue, addType, null}, |
||||||
|
new Component[]{data, datacond, datavalue, addData, null}, |
||||||
|
new Component[]{name, cond, value, add, clear} |
||||||
|
}; |
||||||
|
JPanel condPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p, p, p}, new double[]{p, p, f, p, p}); |
||||||
|
|
||||||
|
Component[][] comp1 = new Component[][]{ |
||||||
|
new Component[]{condition} |
||||||
|
}; |
||||||
|
JPanel areaPane = TableLayout4VanChartHelper.createGapTableLayoutPane(comp1, new double[]{p}, new double[]{f}); |
||||||
|
|
||||||
|
Component[][] comp = new Component[][]{ |
||||||
|
new Component[]{condPane}, |
||||||
|
new Component[]{areaPane} |
||||||
|
}; |
||||||
|
JPanel sumPane = TableLayout4VanChartHelper.createGapTableLayoutPane(comp, new double[]{p, p}, new double[]{f}); |
||||||
|
|
||||||
|
condition.setEnabled(false); |
||||||
|
add.addActionListener(new ActionListener() { |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
String srcStr = condition.getText(); |
||||||
|
if (null != srcStr && !"".equals(srcStr)) { |
||||||
|
srcStr += " && "; |
||||||
|
} |
||||||
|
String condstr = "{数值} " + cond.getSelectedItem() + " " + value.getText(); |
||||||
|
condition.setText(srcStr + condstr); |
||||||
|
} |
||||||
|
}); |
||||||
|
addData.addActionListener(new ActionListener() { |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
String srcStr = condition.getText(); |
||||||
|
if (null != srcStr && !"".equals(srcStr)) { |
||||||
|
srcStr += " && "; |
||||||
|
} |
||||||
|
String condstr = "'{数据类型}' " + datacond.getSelectedItem() + " '" + datavalue.getText() + "'"; |
||||||
|
condition.setText(srcStr + condstr); |
||||||
|
} |
||||||
|
}); |
||||||
|
addType.addActionListener(new ActionListener() { |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
String srcStr = condition.getText(); |
||||||
|
if (null != srcStr && !"".equals(srcStr)) { |
||||||
|
srcStr += " && "; |
||||||
|
} |
||||||
|
String condstr = "'{数据分类}' " + typecond.getSelectedItem() + " '" + typevalue.getText() + "'"; |
||||||
|
condition.setText(srcStr + condstr); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
clear.addActionListener(new ActionListener() { |
||||||
|
@Override |
||||||
|
public void actionPerformed(ActionEvent e) { |
||||||
|
condition.setText(""); |
||||||
|
} |
||||||
|
}); |
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-Cond-condTaskStyleTitle"), sumPane); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,192 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.design.gui.frpane.UINumberDragPane; |
||||||
|
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent; |
||||||
|
import com.fr.design.gui.icheckbox.UICheckBox; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.gui.ispinner.UISpinner; |
||||||
|
import com.fr.design.gui.itextfield.UITextField; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.style.color.ColorSelectBox; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapStyleBaseMapPane extends ExtendedScrollPane<LzljMapChart> { |
||||||
|
|
||||||
|
private UISpinner mapzoom; |
||||||
|
private UITextField centerx; |
||||||
|
private UITextField centery; |
||||||
|
|
||||||
|
private UITextField mapStyle; |
||||||
|
private UITextField mapKey; |
||||||
|
|
||||||
|
private UISpinner regionBorderWidth; |
||||||
|
private ColorSelectBox regionBorderColor; |
||||||
|
private ColorSelectBox areaBorderColor; |
||||||
|
private ColorSelectBox countryBorderColor; |
||||||
|
|
||||||
|
private UISpinner circleBorderWidth; |
||||||
|
private ColorSelectBox circleBorderColor; |
||||||
|
private ColorSelectBox circleFillColor; |
||||||
|
private UINumberDragPane circleOpacity; |
||||||
|
private UICheckBox showCircleDetail; |
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(LzljMapChart chart) { |
||||||
|
JSONObject regionConf = chart.getMapConf(); |
||||||
|
this.mapzoom.setValue(regionConf.getDouble("mapzoom")); |
||||||
|
this.centerx.setText(regionConf.getString("centerx")); |
||||||
|
this.centery.setText(regionConf.getString("centery")); |
||||||
|
|
||||||
|
this.mapStyle.setText(regionConf.getString("mapStyle")); |
||||||
|
this.mapKey.setText(regionConf.getString("mapKey")); |
||||||
|
|
||||||
|
this.regionBorderWidth.setValue(regionConf.getDouble("regionBorderWidth")); |
||||||
|
this.regionBorderColor.setSelectObject(MapUtil.toColor(regionConf.getString("regionBorderColor"))); |
||||||
|
this.areaBorderColor.setSelectObject(MapUtil.toColor(regionConf.getString("areaBorderColor"))); |
||||||
|
this.countryBorderColor.setSelectObject(MapUtil.toColor(regionConf.getString("countryBorderColor"))); |
||||||
|
|
||||||
|
this.circleBorderWidth.setValue(regionConf.getDouble("circleBorderWidth")); |
||||||
|
this.circleBorderColor.setSelectObject(MapUtil.toColor(regionConf.getString("circleBorderColor"))); |
||||||
|
this.circleFillColor.setSelectObject(MapUtil.toColor(regionConf.getString("circleFillColor"))); |
||||||
|
this.circleOpacity.populateBean(regionConf.getDouble("circleOpacity")); |
||||||
|
this.showCircleDetail.setSelected(regionConf.getBoolean("showCircleDetail")); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(LzljMapChart chart) { |
||||||
|
JSONObject regionConf = JSONObject.create(); |
||||||
|
regionConf.put("mapzoom", this.mapzoom.getValue()); |
||||||
|
regionConf.put("centerx", this.centerx.getText()); |
||||||
|
regionConf.put("centery", this.centery.getText()); |
||||||
|
|
||||||
|
regionConf.put("mapStyle", this.mapStyle.getText()); |
||||||
|
regionConf.put("mapKey", this.mapKey.getText()); |
||||||
|
|
||||||
|
regionConf.put("regionBorderWidth", this.regionBorderWidth.getValue()); |
||||||
|
regionConf.put("regionBorderColor", MapUtil.toHex(this.regionBorderColor.getSelectObject())); |
||||||
|
regionConf.put("areaBorderColor", MapUtil.toHex(this.areaBorderColor.getSelectObject())); |
||||||
|
regionConf.put("countryBorderColor", MapUtil.toHex(this.countryBorderColor.getSelectObject())); |
||||||
|
|
||||||
|
regionConf.put("circleBorderWidth", this.circleBorderWidth.getValue()); |
||||||
|
regionConf.put("circleBorderColor", MapUtil.toHex(this.circleBorderColor.getSelectObject())); |
||||||
|
regionConf.put("circleFillColor", MapUtil.toHex(this.circleFillColor.getSelectObject())); |
||||||
|
regionConf.put("circleOpacity", this.circleOpacity.updateBean()); |
||||||
|
regionConf.put("showCircleDetail", this.showCircleDetail.isSelected()); |
||||||
|
|
||||||
|
chart.setMapConf(regionConf); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-maptitle"); |
||||||
|
} |
||||||
|
|
||||||
|
private class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel mapContentPane = createMapContentPane(); |
||||||
|
JPanel regionContentPane = createRegionContentPane(); |
||||||
|
JPanel circleContentPane = createCircleContentPane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{mapContentPane}, |
||||||
|
new Component[]{regionContentPane}, |
||||||
|
new Component[]{circleContentPane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents,rowSize,columnSize); |
||||||
|
this.add(panel,BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createMapContentPane(){ |
||||||
|
|
||||||
|
mapzoom = new UISpinner(1, 18, 1, 1); |
||||||
|
centerx = new UITextField(); |
||||||
|
centery = new UITextField(); |
||||||
|
|
||||||
|
mapStyle = new UITextField(); |
||||||
|
mapKey = new UITextField(); |
||||||
|
|
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-mapzoom")), this.mapzoom}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-centerx")), this.centerx}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-centery")), this.centery}, |
||||||
|
|
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-mapStyle")), this.mapStyle}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-mapKey")), this.mapKey} |
||||||
|
} ; |
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
JPanel pane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p, p, p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-BaseMapExpand"), pane); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createRegionContentPane(){ |
||||||
|
regionBorderWidth = new UISpinner(0, 100, 1, 1); |
||||||
|
regionBorderColor = new ColorSelectBox(100); |
||||||
|
areaBorderColor = new ColorSelectBox(100); |
||||||
|
countryBorderColor = new ColorSelectBox(100); |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-regionBorderWidth")), this.regionBorderWidth}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-regionBorderColor")), this.regionBorderColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-areaBorderColor")), this.areaBorderColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-countryBorderColor")), this.countryBorderColor}, |
||||||
|
} ; |
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
JPanel pane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p, p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-RegionExpand"), pane); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createCircleContentPane(){ |
||||||
|
circleBorderWidth = new UISpinner(0, 100, 1, 1); |
||||||
|
circleBorderColor = new ColorSelectBox(100); |
||||||
|
circleFillColor = new ColorSelectBox(100); |
||||||
|
circleOpacity = new UINumberDragPane(0, 100); |
||||||
|
showCircleDetail = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showCircleDetail")); |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-circleBorderWidth")), this.circleBorderWidth}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-circleBorderColor")), this.circleBorderColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-circleFillColor")), this.circleFillColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-circleOpacity")), this.circleOpacity}, |
||||||
|
new Component[]{null, this.showCircleDetail} |
||||||
|
} ; |
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
JPanel pane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p, p, p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-CircleExpand"), pane); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,159 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.design.gui.frpane.UINumberDragPane; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.gui.ispinner.UISpinner; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.chart.range.GradualIntervalConfig; |
||||||
|
import com.fr.plugin.chart.range.glyph.GradualColorDist; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.stable.StringUtils; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
import com.fr.van.chart.range.component.LegendGradientBar; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import javax.swing.event.ChangeEvent; |
||||||
|
import javax.swing.event.ChangeListener; |
||||||
|
import java.awt.*; |
||||||
|
import java.util.ArrayList; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapStyleHeatMapPane extends ExtendedScrollPane<LzljMapChart> { |
||||||
|
|
||||||
|
private UISpinner radius; |
||||||
|
private UISpinner maxValue; |
||||||
|
private UINumberDragPane bgOpacity; |
||||||
|
|
||||||
|
private UINumberDragPane interval; |
||||||
|
|
||||||
|
private LegendGradientBar intervalLegend; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(LzljMapChart chart) { |
||||||
|
JSONObject heatConf = chart.getHeatConf(); |
||||||
|
this.radius.setValue(heatConf.getDouble("radius")); |
||||||
|
this.maxValue.setValue(heatConf.getDouble("maxValue")); |
||||||
|
this.bgOpacity.populateBean(heatConf.getDouble("bgOpacity")); |
||||||
|
this.interval.populateBean(heatConf.getDouble("interval")); |
||||||
|
|
||||||
|
GradualIntervalConfig intervalConfig = new GradualIntervalConfig(); |
||||||
|
String intervalColors = heatConf.getString("intervalColors"); |
||||||
|
String intervalPos = heatConf.getString("intervalPos"); |
||||||
|
if (StringUtils.isNotEmpty(intervalColors) |
||||||
|
&& StringUtils.isNotEmpty(intervalPos)) { |
||||||
|
String[] intervalArr = intervalColors.split("\\|"); |
||||||
|
String[] intervalPosArr = intervalPos.split("\\|"); |
||||||
|
ArrayList<GradualColorDist> colorsList = new ArrayList(); |
||||||
|
for (int i = 0; i < intervalArr.length; i++) { |
||||||
|
colorsList.add(new GradualColorDist(Float.parseFloat(intervalPosArr[i]), MapUtil.toColor(intervalArr[i]))); |
||||||
|
} |
||||||
|
intervalConfig.setDivStage(intervalArr.length - 1); |
||||||
|
intervalConfig.setGradualColorDistList(colorsList); |
||||||
|
} |
||||||
|
intervalLegend.populate(intervalConfig); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(LzljMapChart chart) { |
||||||
|
JSONObject heatConf = JSONObject.create(); |
||||||
|
heatConf.put("radius", this.radius.getValue()); |
||||||
|
heatConf.put("maxValue", this.maxValue.getValue()); |
||||||
|
heatConf.put("bgOpacity", this.bgOpacity.updateBean()); |
||||||
|
heatConf.put("interval", this.interval.updateBean()); |
||||||
|
|
||||||
|
GradualIntervalConfig intervalConfig = new GradualIntervalConfig(); |
||||||
|
intervalLegend.update(intervalConfig); |
||||||
|
ArrayList<GradualColorDist> colorsList = intervalConfig.getGradualColorDistList(); |
||||||
|
String intervalColors = ""; |
||||||
|
String intervalPos = ""; |
||||||
|
if (null != colorsList && colorsList.size() > 0) { |
||||||
|
for (int i = 0; i < colorsList.size(); i++) { |
||||||
|
if (i > 0) { |
||||||
|
intervalColors += "|"; |
||||||
|
intervalPos += "|"; |
||||||
|
} |
||||||
|
intervalColors += MapUtil.toHex(colorsList.get(i).getColor()); |
||||||
|
intervalPos += colorsList.get(i).getPosition(); |
||||||
|
} |
||||||
|
} |
||||||
|
heatConf.put("intervalColors", intervalColors); |
||||||
|
heatConf.put("intervalPos", intervalPos); |
||||||
|
|
||||||
|
chart.setHeatConf(heatConf); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-heattitle"); |
||||||
|
} |
||||||
|
|
||||||
|
private class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel regionContentPane = createHeatContentPane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{regionContentPane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents, rowSize, columnSize); |
||||||
|
this.add(panel, BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createHeatContentPane() { |
||||||
|
|
||||||
|
radius = new UISpinner(1, 10000, 1, 30); |
||||||
|
maxValue = new UISpinner(1, 10000000, 1, 1); |
||||||
|
bgOpacity = new UINumberDragPane(0, 100); |
||||||
|
interval = new UINumberDragPane(1, 6); |
||||||
|
intervalLegend = new LegendGradientBar(); |
||||||
|
|
||||||
|
interval.addChangeListener(new ChangeListener() { |
||||||
|
@Override |
||||||
|
public void stateChanged(ChangeEvent e) { |
||||||
|
Double num = interval.updateBean(); |
||||||
|
intervalLegend.refreshColorSelectionBtnNum(num.intValue()); |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-heatradius")), this.radius}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-heatmaxValue")), this.maxValue}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-heatbgOpacity")), this.bgOpacity}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-heatinterval")), this.interval}, |
||||||
|
new Component[]{null, this.intervalLegend} |
||||||
|
}; |
||||||
|
JPanel sizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p, p, p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-heatMapExpand"), sizePane); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,198 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.chart.base.TextAttr; |
||||||
|
import com.fr.design.gui.ibutton.UIButtonGroup; |
||||||
|
import com.fr.design.gui.icheckbox.UICheckBox; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.gui.itextarea.UITextArea; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane; |
||||||
|
import com.fr.design.style.color.ColorSelectBox; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.general.FRFont; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import javax.swing.event.ChangeEvent; |
||||||
|
import javax.swing.event.ChangeListener; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapStyleLabelsPane extends ExtendedScrollPane<LzljMapChart> { |
||||||
|
|
||||||
|
private UICheckBox showPointLabel; |
||||||
|
private ColorSelectBox labelBgColor; |
||||||
|
private UIButtonGroup<Integer> labelType; |
||||||
|
private UICheckBox showLayerType; |
||||||
|
private UICheckBox showDataType; |
||||||
|
private UICheckBox showName; |
||||||
|
private UICheckBox showLng; |
||||||
|
private UICheckBox showLat; |
||||||
|
private UICheckBox showDesc; |
||||||
|
private UITextArea labelJsPane; |
||||||
|
private CardLayout cardLayout; |
||||||
|
|
||||||
|
private ChartTextAttrPane textAttrPane; |
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(LzljMapChart chart) { |
||||||
|
JSONObject labelConf = chart.getLabelConf(); |
||||||
|
this.showPointLabel.setSelected(labelConf.getBoolean("showPointLabel")); |
||||||
|
this.labelBgColor.setSelectObject(MapUtil.toColor(labelConf.getString("labelBgColor"))); |
||||||
|
this.labelType.setSelectedItem(labelConf.getInt("labelType")); |
||||||
|
this.showLayerType.setSelected(labelConf.getBoolean("showLayerType")); |
||||||
|
this.showDataType.setSelected(labelConf.getBoolean("showDataType")); |
||||||
|
this.showName.setSelected(labelConf.getBoolean("showName")); |
||||||
|
this.showLng.setSelected(labelConf.getBoolean("showLng")); |
||||||
|
this.showLat.setSelected(labelConf.getBoolean("showLat")); |
||||||
|
this.showDesc.setSelected(labelConf.getBoolean("showDesc")); |
||||||
|
labelJsPane.setText(labelConf.getString("labelJsPane")); |
||||||
|
FRFont labelFont = FRFont.getInstance(labelConf.getString("labelfamily"), |
||||||
|
labelConf.getInt("labelstyle"), |
||||||
|
labelConf.getInt("labelsize"), |
||||||
|
MapUtil.toColor(labelConf.getString("labelcolor"))); |
||||||
|
this.textAttrPane.populate(labelFont); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(LzljMapChart chart) { |
||||||
|
JSONObject labelConf = JSONObject.create(); |
||||||
|
labelConf.put("showPointLabel", this.showPointLabel.isSelected()); |
||||||
|
labelConf.put("labelBgColor", MapUtil.toHex(this.labelBgColor.getSelectObject())); |
||||||
|
labelConf.put("labelType", this.labelType.getSelectedItem()); |
||||||
|
labelConf.put("showLayerType", this.showLayerType.isSelected()); |
||||||
|
labelConf.put("showDataType", this.showDataType.isSelected()); |
||||||
|
labelConf.put("showName", this.showName.isSelected()); |
||||||
|
labelConf.put("showLng", this.showLng.isSelected()); |
||||||
|
labelConf.put("showLat", this.showLat.isSelected()); |
||||||
|
labelConf.put("showDesc", this.showDesc.isSelected()); |
||||||
|
labelConf.put("labelJsPane", this.labelJsPane.getText()); |
||||||
|
|
||||||
|
TextAttr labelAttr = this.textAttrPane.update(); |
||||||
|
labelConf.put("labelsize", labelAttr.getFRFont().getSize()); |
||||||
|
labelConf.put("labelstyle", labelAttr.getFRFont().getStyle()); |
||||||
|
labelConf.put("labelfamily", labelAttr.getFRFont().getFamily()); |
||||||
|
labelConf.put("labelcolor", MapUtil.toHex(labelAttr.getFRFont().getForeground())); |
||||||
|
|
||||||
|
chart.setLabelConf(labelConf); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-labelstitle"); |
||||||
|
} |
||||||
|
|
||||||
|
private class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel toolContentPane = createLabelContentPane(); |
||||||
|
JPanel textStylePane = createLabelTextStylePane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{showPointLabel}, |
||||||
|
new Component[]{toolContentPane}, |
||||||
|
new Component[]{textStylePane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents, rowSize, columnSize); |
||||||
|
this.add(panel, BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createLabelContentPane() { |
||||||
|
|
||||||
|
showPointLabel = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showPointLabel")); |
||||||
|
labelBgColor = new ColorSelectBox(100); |
||||||
|
labelType = new UIButtonGroup<Integer>(new String[]{ |
||||||
|
Toolkit.i18nText("Plugin-LzljMap-labelTypeCheck"), |
||||||
|
Toolkit.i18nText("Plugin-LzljMap-labelTypeJS") |
||||||
|
}, |
||||||
|
new Integer[]{1, 2} |
||||||
|
); |
||||||
|
labelType.setSelectedItem(1); |
||||||
|
|
||||||
|
showLayerType = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showLayerType")); |
||||||
|
showDataType = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showDataType")); |
||||||
|
showName = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showName")); |
||||||
|
showLng = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showLng")); |
||||||
|
showLat = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showLat")); |
||||||
|
showDesc = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showDesc")); |
||||||
|
|
||||||
|
labelJsPane = new UITextArea(6, 6); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
Component[][] compLabel = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-labelBgColor")), this.labelBgColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-labelType")), this.labelType} |
||||||
|
}; |
||||||
|
JPanel labelTypePane = TableLayout4VanChartHelper.createGapTableLayoutPane(compLabel, new double[]{p, p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
Component[][] compCheck = new Component[][]{ |
||||||
|
new Component[]{showLayerType, showDataType}, |
||||||
|
new Component[]{showName, showLng}, |
||||||
|
new Component[]{showLat, showDesc} |
||||||
|
}; |
||||||
|
final JPanel checkPane = TableLayout4VanChartHelper.createGapTableLayoutPane(compCheck, new double[]{p, p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
final JPanel cardPane = new JPanel(this.cardLayout = new CardLayout()){ |
||||||
|
@Override |
||||||
|
public Dimension getPreferredSize() { |
||||||
|
if (null != labelType.getSelectedItem() && labelType.getSelectedItem() == 2) { |
||||||
|
return labelJsPane.getPreferredSize(); |
||||||
|
} else { |
||||||
|
return checkPane.getPreferredSize(); |
||||||
|
} |
||||||
|
} |
||||||
|
}; |
||||||
|
cardPane.add(checkPane, "check"); |
||||||
|
cardPane.add(labelJsPane, "js"); |
||||||
|
this.cardLayout.show(cardPane, "check"); |
||||||
|
labelType.addChangeListener(new ChangeListener() { |
||||||
|
@Override |
||||||
|
public void stateChanged(ChangeEvent var1x) { |
||||||
|
if (labelType.getSelectedItem() == 1) { |
||||||
|
cardLayout.show(cardPane, "check"); |
||||||
|
} else { |
||||||
|
cardLayout.show(cardPane, "js"); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
Component[][] comp = new Component[][]{ |
||||||
|
new Component[]{labelTypePane}, |
||||||
|
new Component[]{cardPane} |
||||||
|
}; |
||||||
|
JPanel pane = TableLayout4VanChartHelper.createGapTableLayoutPane(comp, new double[]{p, p, p}, new double[]{f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-labelAlignExpand"), pane); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createLabelTextStylePane() { |
||||||
|
this.textAttrPane = new ChartTextAttrPane(); |
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-LabelsTextStyle"), this.textAttrPane); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,84 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
public class LzljMapStyleOtherPane extends ExtendedScrollPane<LzljMapChart> { |
||||||
|
|
||||||
|
private LzljMapHyperLink hyperLink; |
||||||
|
private LzljMapPointCondListPane pointCondListPane; |
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(LzljMapChart chart) { |
||||||
|
hyperLink.populateBean(chart); |
||||||
|
pointCondListPane.populateStyle(chart); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(LzljMapChart chart) { |
||||||
|
hyperLink.updateBean(chart); |
||||||
|
pointCondListPane.updateStyle(chart); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-otherstitle"); |
||||||
|
} |
||||||
|
|
||||||
|
private class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel linkPane = createLinkPane(); |
||||||
|
JPanel pointCondPane = createPointStyleCondPane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{linkPane}, |
||||||
|
new Component[]{pointCondPane} |
||||||
|
}; |
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents,rowSize,columnSize); |
||||||
|
|
||||||
|
this.add(panel,BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createLinkPane() { |
||||||
|
this.hyperLink = new LzljMapHyperLink(); |
||||||
|
|
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
new Component[]{hyperLink} |
||||||
|
}; |
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double[] columnSize = {TableLayout.FILL}; |
||||||
|
double[] rowSize = {p, p}; |
||||||
|
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); |
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-LinkExpand"), panel); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createPointStyleCondPane() { |
||||||
|
this.pointCondListPane = new LzljMapPointCondListPane(); |
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-pointStyleCondExpand"), this.pointCondListPane); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,39 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.design.gui.frpane.AttributeChangeListener; |
||||||
|
import com.fr.extended.chart.AbstractExtendedStylePane; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
* @date 2022/8/19 |
||||||
|
*/ |
||||||
|
public class LzljMapStylePane extends AbstractExtendedStylePane<LzljMapChart> { |
||||||
|
|
||||||
|
private AttributeChangeListener attributeChangeListener; |
||||||
|
|
||||||
|
public LzljMapStylePane(){ |
||||||
|
super(); |
||||||
|
} |
||||||
|
public LzljMapStylePane(AttributeChangeListener attributeChangeListener){ |
||||||
|
super(attributeChangeListener); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected List<ExtendedScrollPane<LzljMapChart>> initPaneList() { |
||||||
|
List<ExtendedScrollPane<LzljMapChart>> list = new ArrayList<ExtendedScrollPane<LzljMapChart>>(); |
||||||
|
list.add(new LzljMapStyleTitlePane()); |
||||||
|
list.add(new LzljMapStyleBaseMapPane()); |
||||||
|
list.add(new LzljMapStylePointMapPane()); |
||||||
|
list.add(new LzljMapStyleHeatMapPane()); |
||||||
|
list.add(new LzljMapStyleToolsPane()); |
||||||
|
list.add(new LzljMapStyleLabelsPane()); |
||||||
|
list.add(new LzljMapStyleTipsPane()); |
||||||
|
list.add(new LzljMapStyleOtherPane()); |
||||||
|
return list; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,167 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.design.gui.frpane.UINumberDragPane; |
||||||
|
import com.fr.design.gui.icheckbox.UICheckBox; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.gui.ispinner.UISpinner; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.style.color.ColorSelectBox; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapStylePointMapPane extends ExtendedScrollPane<LzljMapChart> { |
||||||
|
|
||||||
|
private UISpinner pointSize; |
||||||
|
private ImageChooserPane pointPane; |
||||||
|
|
||||||
|
//private UICheckBox showCluster;
|
||||||
|
private UISpinner clusterMaxZoom; |
||||||
|
private UISpinner clusterPointSize; |
||||||
|
private ColorSelectBox clusterBorderColor; |
||||||
|
private ColorSelectBox clusterFillColor; |
||||||
|
private ColorSelectBox clusterTextColor; |
||||||
|
private UINumberDragPane clusterBgOpacity; |
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(LzljMapChart chart) { |
||||||
|
JSONObject pointConf = chart.getPointConf(); |
||||||
|
this.pointSize.setValue(pointConf.getDouble("pointSize")); |
||||||
|
ImageEntity imgEnt = new ImageEntity(); |
||||||
|
imgEnt.setImagestr(pointConf.getString("pointimg")); |
||||||
|
imgEnt.setImagetype(pointConf.getString("pointimgtype")); |
||||||
|
imgEnt.setWidth(pointConf.getInt("pointimgw")); |
||||||
|
imgEnt.setHeight(pointConf.getInt("pointimgh")); |
||||||
|
this.pointPane.populateBean(imgEnt); |
||||||
|
|
||||||
|
this.clusterMaxZoom.setValue(pointConf.getDouble("clusterMaxZoom")); |
||||||
|
|
||||||
|
this.clusterPointSize.setValue(pointConf.getDouble("clusterPointSize")); |
||||||
|
this.clusterBorderColor.setSelectObject(MapUtil.toColor(pointConf.getString("clusterBorderColor"))); |
||||||
|
this.clusterFillColor.setSelectObject(MapUtil.toColor(pointConf.getString("clusterFillColor"))); |
||||||
|
this.clusterTextColor.setSelectObject(MapUtil.toColor(pointConf.getString("clusterTextColor"))); |
||||||
|
this.clusterBgOpacity.populateBean(pointConf.getDouble("clusterBgOpacity")); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(LzljMapChart chart) { |
||||||
|
JSONObject pointConf = JSONObject.create(); |
||||||
|
pointConf.put("pointSize", this.pointSize.getValue()); |
||||||
|
ImageEntity imgEnt = this.pointPane.updateBean(); |
||||||
|
if (null != imgEnt) { |
||||||
|
pointConf.put("pointimg", imgEnt.getImagestr()); |
||||||
|
pointConf.put("pointimgtype", imgEnt.getImagetype()); |
||||||
|
pointConf.put("pointimgw", imgEnt.getWidth()); |
||||||
|
pointConf.put("pointimgh", imgEnt.getHeight()); |
||||||
|
} |
||||||
|
|
||||||
|
pointConf.put("clusterMaxZoom", this.clusterMaxZoom.getValue()); |
||||||
|
pointConf.put("clusterPointSize", this.clusterPointSize.getValue()); |
||||||
|
pointConf.put("clusterBorderColor", MapUtil.toHex(this.clusterBorderColor.getSelectObject())); |
||||||
|
pointConf.put("clusterFillColor", MapUtil.toHex(this.clusterFillColor.getSelectObject())); |
||||||
|
pointConf.put("clusterTextColor", MapUtil.toHex(this.clusterTextColor.getSelectObject())); |
||||||
|
pointConf.put("clusterBgOpacity", this.clusterBgOpacity.updateBean()); |
||||||
|
|
||||||
|
chart.setPointConf(pointConf); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-pointtitle"); |
||||||
|
} |
||||||
|
|
||||||
|
private class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel pointContentPane = createPointContentPane(); |
||||||
|
JPanel clusterPointPane = createClusterPointContentPane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{pointContentPane}, |
||||||
|
new Component[]{clusterPointPane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents, rowSize, columnSize); |
||||||
|
this.add(panel, BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createPointContentPane() { |
||||||
|
|
||||||
|
pointSize = new UISpinner(1, 200, 1, 32); |
||||||
|
pointPane = new ImageChooserPane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-pointSize")), this.pointSize} |
||||||
|
}; |
||||||
|
JPanel sizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
Component[][] comp1 = new Component[][]{ |
||||||
|
new Component[]{sizePane}, |
||||||
|
new Component[]{pointPane} |
||||||
|
}; |
||||||
|
JPanel pane = TableLayout4VanChartHelper.createGapTableLayoutPane(comp1, new double[]{p, p, p}, new double[]{f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-pointMapExpand"), pane); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createClusterPointContentPane() { |
||||||
|
|
||||||
|
clusterMaxZoom = new UISpinner(1, 30, 1, 18); |
||||||
|
clusterPointSize = new UISpinner(1, 200, 1, 64); |
||||||
|
clusterBorderColor = new ColorSelectBox(100); |
||||||
|
clusterFillColor = new ColorSelectBox(100); |
||||||
|
clusterTextColor = new ColorSelectBox(100); |
||||||
|
clusterBgOpacity = new UINumberDragPane(0, 100); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterMaxZoom")), this.clusterMaxZoom}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-pointSize")), this.clusterPointSize}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterBorderColor")), this.clusterBorderColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterFillColor")), this.clusterFillColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterTextColor")), this.clusterTextColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-clusterBgOpacity")), this.clusterBgOpacity} |
||||||
|
}; |
||||||
|
JPanel sizePane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, new double[]{p, p, p, p, p, p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
Component[][] comp1 = new Component[][]{ |
||||||
|
new Component[]{sizePane} |
||||||
|
}; |
||||||
|
JPanel pane = TableLayout4VanChartHelper.createGapTableLayoutPane(comp1, new double[]{p, p, p}, new double[]{f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-clusterPointMapExpand"), pane); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,163 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.chart.base.TextAttr; |
||||||
|
import com.fr.design.gui.frpane.UINumberDragPane; |
||||||
|
import com.fr.design.gui.icheckbox.UICheckBox; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane; |
||||||
|
import com.fr.design.style.color.ColorSelectBox; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.general.FRFont; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapStyleTipsPane extends ExtendedScrollPane<LzljMapChart> { |
||||||
|
|
||||||
|
private UICheckBox showPointTips; |
||||||
|
|
||||||
|
private ColorSelectBox tipBgColor; |
||||||
|
private UINumberDragPane tipBgOpacity; |
||||||
|
|
||||||
|
private UICheckBox showLayerType; |
||||||
|
private UICheckBox showDataType; |
||||||
|
private UICheckBox showName; |
||||||
|
private UICheckBox showLng; |
||||||
|
private UICheckBox showLat; |
||||||
|
private UICheckBox showDesc; |
||||||
|
|
||||||
|
private ChartTextAttrPane textAttrPane; |
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(LzljMapChart chart) { |
||||||
|
JSONObject tipsConf = chart.getTipsConf(); |
||||||
|
this.showPointTips.setSelected(tipsConf.getBoolean("showPointTips")); |
||||||
|
this.tipBgColor.setSelectObject(MapUtil.toColor(tipsConf.getString("tipBgColor"))); |
||||||
|
this.tipBgOpacity.populateBean(tipsConf.getDouble("tipBgOpacity")); |
||||||
|
|
||||||
|
this.showLayerType.setSelected(tipsConf.getBoolean("showLayerType")); |
||||||
|
this.showDataType.setSelected(tipsConf.getBoolean("showDataType")); |
||||||
|
this.showName.setSelected(tipsConf.getBoolean("showName")); |
||||||
|
this.showLng.setSelected(tipsConf.getBoolean("showLng")); |
||||||
|
this.showLat.setSelected(tipsConf.getBoolean("showLat")); |
||||||
|
this.showDesc.setSelected(tipsConf.getBoolean("showDesc")); |
||||||
|
|
||||||
|
FRFont tipFont = FRFont.getInstance(tipsConf.getString("tipfamily"), |
||||||
|
tipsConf.getInt("tipstyle"), |
||||||
|
tipsConf.getInt("tipsize"), |
||||||
|
MapUtil.toColor(tipsConf.getString("tipcolor"))); |
||||||
|
this.textAttrPane.populate(tipFont); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(LzljMapChart chart) { |
||||||
|
JSONObject tipsConf = JSONObject.create(); |
||||||
|
tipsConf.put("showPointTips", this.showPointTips.isSelected()); |
||||||
|
tipsConf.put("tipBgColor", MapUtil.toHex(this.tipBgColor.getSelectObject())); |
||||||
|
tipsConf.put("tipBgOpacity", this.tipBgOpacity.updateBean()); |
||||||
|
tipsConf.put("showLayerType", this.showLayerType.isSelected()); |
||||||
|
tipsConf.put("showDataType", this.showDataType.isSelected()); |
||||||
|
tipsConf.put("showName", this.showName.isSelected()); |
||||||
|
tipsConf.put("showLng", this.showLng.isSelected()); |
||||||
|
tipsConf.put("showLat", this.showLat.isSelected()); |
||||||
|
tipsConf.put("showDesc", this.showDesc.isSelected()); |
||||||
|
|
||||||
|
TextAttr labelAttr = this.textAttrPane.update(); |
||||||
|
tipsConf.put("tipsize", labelAttr.getFRFont().getSize()); |
||||||
|
tipsConf.put("tipstyle", labelAttr.getFRFont().getStyle()); |
||||||
|
tipsConf.put("tipfamily", labelAttr.getFRFont().getFamily()); |
||||||
|
tipsConf.put("tipcolor", MapUtil.toHex(labelAttr.getFRFont().getForeground())); |
||||||
|
|
||||||
|
chart.setTipsConf(tipsConf); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-tipstitle"); |
||||||
|
} |
||||||
|
|
||||||
|
private class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel contentPane = createTipsContentPane(); |
||||||
|
JPanel textStylePane = createTipsTextStylePane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p, p}; |
||||||
|
Component[][] comps = new Component[][]{ |
||||||
|
new Component[]{showPointTips}, |
||||||
|
new Component[]{contentPane}, |
||||||
|
new Component[]{textStylePane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(comps, rowSize, columnSize); |
||||||
|
this.add(panel, BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createTipsContentPane() { |
||||||
|
|
||||||
|
showPointTips = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showPointTips")); |
||||||
|
tipBgColor = new ColorSelectBox(100); |
||||||
|
tipBgOpacity = new UINumberDragPane(0, 100); |
||||||
|
|
||||||
|
showLayerType = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showLayerType")); |
||||||
|
showDataType = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showDataType")); |
||||||
|
showName = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showName")); |
||||||
|
showLng = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showLng")); |
||||||
|
showLat = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showLat")); |
||||||
|
showDesc = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-showDesc")); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
Component[][] compLabel = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-tipBgColor")), this.tipBgColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-tipBgOpacity")), this.tipBgOpacity} |
||||||
|
}; |
||||||
|
JPanel bgPane = TableLayout4VanChartHelper.createGapTableLayoutPane(compLabel, new double[]{p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
Component[][] compCheck = new Component[][]{ |
||||||
|
new Component[]{showLayerType, showDataType}, |
||||||
|
new Component[]{showName, showLng}, |
||||||
|
new Component[]{showLat, showDesc} |
||||||
|
}; |
||||||
|
JPanel checkPane = TableLayout4VanChartHelper.createGapTableLayoutPane(compCheck, new double[]{p, p, p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
Component[][] comp = new Component[][]{ |
||||||
|
new Component[]{bgPane}, |
||||||
|
new Component[]{checkPane} |
||||||
|
}; |
||||||
|
JPanel pane = TableLayout4VanChartHelper.createGapTableLayoutPane(comp, new double[]{p, p, p}, new double[]{f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-tipsAlignExpand"), pane); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createTipsTextStylePane() { |
||||||
|
this.textAttrPane = new ChartTextAttrPane(); |
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-tipsTextStyle"), this.textAttrPane); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,142 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.base.BaseUtils; |
||||||
|
import com.fr.chart.base.TextAttr; |
||||||
|
import com.fr.design.formula.TinyFormulaPane; |
||||||
|
import com.fr.design.gui.frpane.UINumberDragPane; |
||||||
|
import com.fr.design.gui.ibutton.UIButtonGroup; |
||||||
|
import com.fr.design.gui.icheckbox.UICheckBox; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.mainframe.chart.PaneTitleConstants; |
||||||
|
import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane; |
||||||
|
import com.fr.design.style.color.ColorSelectBox; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.general.FRFont; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
public class LzljMapStyleTitlePane extends ExtendedScrollPane<LzljMapChart> { |
||||||
|
|
||||||
|
private UICheckBox isTitleVisable; |
||||||
|
private ColorSelectBox titleBgColor; |
||||||
|
private UINumberDragPane titleBgOpacity; |
||||||
|
private TinyFormulaPane titleName; |
||||||
|
private UIButtonGroup<Integer> titleAlignment; |
||||||
|
private ChartTextAttrPane textAttrPane; |
||||||
|
|
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(LzljMapChart chart) { |
||||||
|
JSONObject titleConf = chart.getTitleConf(); |
||||||
|
this.isTitleVisable.setSelected(titleConf.getBoolean("titlevisiable")); |
||||||
|
this.titleBgColor.setSelectObject(MapUtil.toColor(titleConf.getString("titlebgcolor"))); |
||||||
|
this.titleBgOpacity.populateBean(titleConf.getDouble("titleBgOpacity")); |
||||||
|
this.titleName.populateBean(titleConf.getString("titlename")); |
||||||
|
this.titleAlignment.setSelectedItem(titleConf.getInt("titleposition")); |
||||||
|
|
||||||
|
FRFont titleFont = FRFont.getInstance(titleConf.getString("titlefamily"), |
||||||
|
titleConf.getInt("titlestyle"), |
||||||
|
titleConf.getInt("titlesize"), |
||||||
|
MapUtil.toColor(titleConf.getString("titlecolor"))); |
||||||
|
this.textAttrPane.populate(titleFont); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(LzljMapChart chart) { |
||||||
|
JSONObject titleConf = JSONObject.create(); |
||||||
|
titleConf.put("titlevisiable", this.isTitleVisable.isSelected()); |
||||||
|
titleConf.put("titlebgcolor", MapUtil.toHex(this.titleBgColor.getSelectObject())); |
||||||
|
titleConf.put("titleBgOpacity", this.titleBgOpacity.updateBean()); |
||||||
|
titleConf.put("titlename", this.titleName.updateBean()); |
||||||
|
titleConf.put("titleposition", titleAlignment.getSelectedItem()); |
||||||
|
|
||||||
|
TextAttr titleAttr = this.textAttrPane.update(); |
||||||
|
titleConf.put("titlesize", titleAttr.getFRFont().getSize()); |
||||||
|
titleConf.put("titlestyle", titleAttr.getFRFont().getStyle()); |
||||||
|
titleConf.put("titlefamily", titleAttr.getFRFont().getFamily()); |
||||||
|
titleConf.put("titlecolor", MapUtil.toHex(titleAttr.getFRFont().getForeground())); |
||||||
|
|
||||||
|
|
||||||
|
chart.setTitleConf(titleConf); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return PaneTitleConstants.CHART_STYLE_TITLE_TITLE; |
||||||
|
} |
||||||
|
|
||||||
|
private class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
// 内容
|
||||||
|
JPanel titleContentPane = createTitleContentPane(); |
||||||
|
// 样式
|
||||||
|
JPanel stylePane = createTitleStylePane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{isTitleVisable}, |
||||||
|
new Component[]{titleContentPane}, |
||||||
|
new Component[]{stylePane} |
||||||
|
} ; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents,rowSize,columnSize); |
||||||
|
|
||||||
|
this.add(panel,BorderLayout.CENTER); |
||||||
|
|
||||||
|
this.setVisible(true); |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createTitleContentPane(){ |
||||||
|
// 内容
|
||||||
|
this.isTitleVisable = new UICheckBox(Toolkit.i18nText("Plugin-LzljMap-isVisiableTitle")); |
||||||
|
this.titleBgColor = new ColorSelectBox(100); |
||||||
|
this.titleBgOpacity = new UINumberDragPane(0, 100); |
||||||
|
this.titleName = new TinyFormulaPane(); |
||||||
|
|
||||||
|
// 位置
|
||||||
|
Icon[] titlePositonIcons = new Icon[]{BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_left_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal.png")}; |
||||||
|
Integer[] titlePositionVal = new Integer[]{2, 0, 4}; |
||||||
|
this.titleAlignment = new UIButtonGroup(titlePositonIcons, titlePositionVal); |
||||||
|
|
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-titleBgColor")), this.titleBgColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-titleBgOpacity")), this.titleBgOpacity}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-TitleText")), this.titleName}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-TitlePosition"), 2), this.titleAlignment} |
||||||
|
} ; |
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-TitleExpand"), components); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createTitleStylePane() { |
||||||
|
this.textAttrPane = new ChartTextAttrPane(); |
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-TitleStyle"), this.textAttrPane); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,239 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import com.fr.base.BaseUtils; |
||||||
|
import com.fr.chart.base.TextAttr; |
||||||
|
import com.fr.design.gui.frpane.UINumberDragPane; |
||||||
|
import com.fr.design.gui.frpane.UINumberDragPaneWithPercent; |
||||||
|
import com.fr.design.gui.ibutton.UIButtonGroup; |
||||||
|
import com.fr.design.gui.icheckbox.UICheckBox; |
||||||
|
import com.fr.design.gui.ilable.UILabel; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.TableLayout; |
||||||
|
import com.fr.design.layout.TableLayoutHelper; |
||||||
|
import com.fr.design.mainframe.chart.gui.style.ChartTextAttrPane; |
||||||
|
import com.fr.design.style.color.ColorSelectBox; |
||||||
|
import com.fr.extended.chart.ExtendedScrollPane; |
||||||
|
import com.fr.general.FRFont; |
||||||
|
import com.fr.json.JSONObject; |
||||||
|
import com.fr.plugin.lzljgdmap.LzljMapChart; |
||||||
|
import com.fr.van.chart.designer.TableLayout4VanChartHelper; |
||||||
|
|
||||||
|
import javax.swing.*; |
||||||
|
import java.awt.*; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class LzljMapStyleToolsPane extends ExtendedScrollPane<LzljMapChart> { |
||||||
|
|
||||||
|
private ColorSelectBox toolBgColor; |
||||||
|
private ColorSelectBox toolBtnColor; |
||||||
|
private UINumberDragPane toolBgOpacity; |
||||||
|
private ChartTextAttrPane textAttrPane; |
||||||
|
|
||||||
|
private ColorSelectBox detailBgColor; |
||||||
|
private ColorSelectBox detailTitleBgColor; |
||||||
|
private UINumberDragPane detailBgOpacity; |
||||||
|
private UICheckBox showRegion; |
||||||
|
private UICheckBox showArea; |
||||||
|
private UICheckBox showCounty; |
||||||
|
private UICheckBox showName; |
||||||
|
private UICheckBox showLayerType; |
||||||
|
private UICheckBox showDataType; |
||||||
|
private UICheckBox showLng; |
||||||
|
private UICheckBox showLat; |
||||||
|
private UICheckBox showVal; |
||||||
|
private UICheckBox showDesc; |
||||||
|
private ChartTextAttrPane detailTextAttrPane; |
||||||
|
|
||||||
|
@Override |
||||||
|
protected JPanel createContentPane() { |
||||||
|
return new ContentPane(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populateBean(LzljMapChart chart) { |
||||||
|
JSONObject toolConf = chart.getToolConf(); |
||||||
|
this.toolBgColor.setSelectObject(MapUtil.toColor(toolConf.getString("toolBgColor"))); |
||||||
|
this.toolBtnColor.setSelectObject(MapUtil.toColor(toolConf.getString("toolBtnColor"))); |
||||||
|
this.toolBgOpacity.populateBean(toolConf.getDouble("toolBgOpacity")); |
||||||
|
FRFont toolFont = FRFont.getInstance(toolConf.getString("toolfamily"), |
||||||
|
toolConf.getInt("toolstyle"), |
||||||
|
toolConf.getInt("toolsize"), |
||||||
|
MapUtil.toColor(toolConf.getString("toolcolor"))); |
||||||
|
this.textAttrPane.populate(toolFont); |
||||||
|
|
||||||
|
this.detailBgColor.setSelectObject(MapUtil.toColor(toolConf.getString("detailBgColor"))); |
||||||
|
this.detailTitleBgColor.setSelectObject(MapUtil.toColor(toolConf.getString("detailTitleBgColor"))); |
||||||
|
this.detailBgOpacity.populateBean(toolConf.getDouble("detailBgOpacity")); |
||||||
|
this.showRegion.setSelected(toolConf.getBoolean("showRegion")); |
||||||
|
this.showArea.setSelected(toolConf.getBoolean("showArea")); |
||||||
|
this.showCounty.setSelected(toolConf.getBoolean("showCounty")); |
||||||
|
this.showName.setSelected(toolConf.getBoolean("showName")); |
||||||
|
this.showLayerType.setSelected(toolConf.getBoolean("showLayerType")); |
||||||
|
this.showDataType.setSelected(toolConf.getBoolean("showDataType")); |
||||||
|
this.showLng.setSelected(toolConf.getBoolean("showLng")); |
||||||
|
this.showLat.setSelected(toolConf.getBoolean("showLat")); |
||||||
|
this.showVal.setSelected(toolConf.getBoolean("showVal")); |
||||||
|
this.showDesc.setSelected(toolConf.getBoolean("showDesc")); |
||||||
|
FRFont detailFont = FRFont.getInstance(toolConf.getString("detailfamily"), |
||||||
|
toolConf.getInt("detailstyle"), |
||||||
|
toolConf.getInt("detailsize"), |
||||||
|
MapUtil.toColor(toolConf.getString("detailcolor"))); |
||||||
|
this.detailTextAttrPane.populate(detailFont); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void updateBean(LzljMapChart chart) { |
||||||
|
JSONObject toolConf = JSONObject.create(); |
||||||
|
toolConf.put("toolBgColor", MapUtil.toHex(this.toolBgColor.getSelectObject())); |
||||||
|
toolConf.put("toolBtnColor", MapUtil.toHex(this.toolBtnColor.getSelectObject())); |
||||||
|
toolConf.put("toolBgOpacity", this.toolBgOpacity.updateBean()); |
||||||
|
|
||||||
|
TextAttr toolAttr = this.textAttrPane.update(); |
||||||
|
toolConf.put("toolsize", toolAttr.getFRFont().getSize()); |
||||||
|
toolConf.put("toolstyle", toolAttr.getFRFont().getStyle()); |
||||||
|
toolConf.put("toolfamily", toolAttr.getFRFont().getFamily()); |
||||||
|
toolConf.put("toolcolor", MapUtil.toHex(toolAttr.getFRFont().getForeground())); |
||||||
|
|
||||||
|
toolConf.put("detailBgColor", MapUtil.toHex(this.detailBgColor.getSelectObject())); |
||||||
|
toolConf.put("detailTitleBgColor", MapUtil.toHex(this.detailTitleBgColor.getSelectObject())); |
||||||
|
toolConf.put("detailBgOpacity", this.detailBgOpacity.updateBean()); |
||||||
|
toolConf.put("showRegion", this.showRegion.isSelected()); |
||||||
|
toolConf.put("showArea", this.showArea.isSelected()); |
||||||
|
toolConf.put("showCounty", this.showCounty.isSelected()); |
||||||
|
toolConf.put("showName", this.showName.isSelected()); |
||||||
|
toolConf.put("showLayerType", this.showLayerType.isSelected()); |
||||||
|
toolConf.put("showDataType", this.showDataType.isSelected()); |
||||||
|
toolConf.put("showLng", this.showLng.isSelected()); |
||||||
|
toolConf.put("showLat", this.showLat.isSelected()); |
||||||
|
toolConf.put("showVal", this.showVal.isSelected()); |
||||||
|
toolConf.put("showDesc", this.showDesc.isSelected()); |
||||||
|
|
||||||
|
TextAttr detailAttr = this.detailTextAttrPane.update(); |
||||||
|
toolConf.put("detailsize", detailAttr.getFRFont().getSize()); |
||||||
|
toolConf.put("detailstyle", detailAttr.getFRFont().getStyle()); |
||||||
|
toolConf.put("detailfamily", detailAttr.getFRFont().getFamily()); |
||||||
|
toolConf.put("detailcolor", MapUtil.toHex(detailAttr.getFRFont().getForeground())); |
||||||
|
|
||||||
|
chart.setToolConf(toolConf); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
protected String title4PopupWindow() { |
||||||
|
return Toolkit.i18nText("Plugin-LzljMap-toolstitle"); |
||||||
|
} |
||||||
|
|
||||||
|
private class ContentPane extends JPanel { |
||||||
|
public ContentPane() { |
||||||
|
initComponents(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initComponents() { |
||||||
|
this.setLayout(new BorderLayout()); |
||||||
|
|
||||||
|
JPanel toolContentPane = createToolContentPane(); |
||||||
|
JPanel detailContentPane = createDetailContentPane(); |
||||||
|
JPanel columnsPane = createColumnsContentPane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {f}; |
||||||
|
double[] rowSize = {p, p, p, p}; |
||||||
|
Component[][] acomponents = new Component[][]{ |
||||||
|
new Component[]{toolContentPane}, |
||||||
|
new Component[]{detailContentPane}, |
||||||
|
new Component[]{columnsPane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(acomponents, rowSize, columnSize); |
||||||
|
this.add(panel, BorderLayout.CENTER); |
||||||
|
this.setVisible(true); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createToolContentPane() { |
||||||
|
this.toolBgColor = new ColorSelectBox(100); |
||||||
|
this.toolBgOpacity = new UINumberDragPaneWithPercent(0, 100); |
||||||
|
this.toolBtnColor = new ColorSelectBox(100); |
||||||
|
|
||||||
|
this.textAttrPane = new ChartTextAttrPane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {p, f}; |
||||||
|
double[] rowSize = {p, p, p, p}; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-toolBgColor")), this.toolBgColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-toolBgOpacity")), this.toolBgOpacity}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-toolBtnColor")), this.toolBtnColor} |
||||||
|
}; |
||||||
|
JPanel bgPane = TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize); |
||||||
|
|
||||||
|
Component[][] comps = new Component[][]{ |
||||||
|
new Component[]{bgPane}, |
||||||
|
new Component[]{this.textAttrPane} |
||||||
|
}; |
||||||
|
|
||||||
|
JPanel pane = TableLayoutHelper.createTableLayoutPane(comps, new double[]{p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-toolAlignExpand"), pane); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createDetailContentPane() { |
||||||
|
|
||||||
|
this.detailBgColor = new ColorSelectBox(100); |
||||||
|
this.detailBgOpacity = new UINumberDragPaneWithPercent(0, 100); |
||||||
|
this.detailTitleBgColor = new ColorSelectBox(100); |
||||||
|
|
||||||
|
this.detailTextAttrPane = new ChartTextAttrPane(); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
double[] columnSize = {p, f}; |
||||||
|
double[] rowSize = {p, p, p, p}; |
||||||
|
Component[][] components = new Component[][]{ |
||||||
|
{null, null}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-toolBgColor")), this.detailBgColor}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-toolBgOpacity")), this.detailBgOpacity}, |
||||||
|
new Component[]{new UILabel(Toolkit.i18nText("Plugin-LzljMap-detailTitleBgColor")), this.detailTitleBgColor} |
||||||
|
}; |
||||||
|
JPanel bgPane = TableLayoutHelper.createTableLayoutPane(components,rowSize,columnSize); |
||||||
|
|
||||||
|
Component[][] comps = new Component[][]{ |
||||||
|
new Component[]{bgPane}, |
||||||
|
new Component[]{this.detailTextAttrPane} |
||||||
|
}; |
||||||
|
JPanel pane = TableLayoutHelper.createTableLayoutPane(comps, new double[]{p, p}, new double[]{p, f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-detailAlignExpand"), pane); |
||||||
|
} |
||||||
|
|
||||||
|
private JPanel createColumnsContentPane() { |
||||||
|
showRegion = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_region")); |
||||||
|
showArea = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_area")); |
||||||
|
showCounty = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_county")); |
||||||
|
showName = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_name")); |
||||||
|
showLayerType = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_layertype")); |
||||||
|
showDataType = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_datatype")); |
||||||
|
showLng = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_lng")); |
||||||
|
showLat = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_lat")); |
||||||
|
showVal = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_val")); |
||||||
|
showDesc = new UICheckBox(Toolkit.i18nText("Plugin_LzljMap_desc")); |
||||||
|
|
||||||
|
double p = TableLayout.PREFERRED; |
||||||
|
double f = TableLayout.FILL; |
||||||
|
Component[][] compCheck = new Component[][]{ |
||||||
|
new Component[]{showRegion, showArea}, |
||||||
|
new Component[]{showLayerType, showDataType}, |
||||||
|
new Component[]{showName, showVal}, |
||||||
|
new Component[]{showLng, showLat}, |
||||||
|
new Component[]{showDesc, showCounty} |
||||||
|
}; |
||||||
|
JPanel checkPane = TableLayoutHelper.createTableLayoutPane(compCheck, new double[]{p, p, p, p, p, p}, new double[]{f, f}); |
||||||
|
|
||||||
|
return TableLayout4VanChartHelper.createExpandablePaneWithTitle(Toolkit.i18nText("Plugin-LzljMap-detailColumnsExpand"), checkPane); |
||||||
|
|
||||||
|
} |
||||||
|
} |
@ -0,0 +1,94 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.ui; |
||||||
|
|
||||||
|
import java.awt.*; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author fr.open |
||||||
|
*/ |
||||||
|
public class MapUtil { |
||||||
|
public static String getString(Map map, String key) { |
||||||
|
return getString(map, key, null); |
||||||
|
} |
||||||
|
|
||||||
|
public static String getString(Map map, String key, String def) { |
||||||
|
if (null == map) { |
||||||
|
return def; |
||||||
|
} |
||||||
|
if (null != map.get(key)) { |
||||||
|
return map.get(key).toString(); |
||||||
|
} else { |
||||||
|
return def; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static Integer getInteger(Map map, String key) { |
||||||
|
return getInteger(map, key, null); |
||||||
|
} |
||||||
|
|
||||||
|
public static Integer getInteger(Map map, String key, Integer def) { |
||||||
|
if (null == map) { |
||||||
|
return def; |
||||||
|
} |
||||||
|
if (null != map.get(key)) { |
||||||
|
return Integer.parseInt(map.get(key).toString()); |
||||||
|
} else { |
||||||
|
return def; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static Double getDouble(Map map, String key) { |
||||||
|
return getDouble(map, key, null); |
||||||
|
} |
||||||
|
|
||||||
|
public static Double getDouble(Map map, String key, Double def) { |
||||||
|
if (null == map) { |
||||||
|
return def; |
||||||
|
} |
||||||
|
if (null != map.get(key)) { |
||||||
|
return Double.parseDouble(map.get(key).toString()); |
||||||
|
} else { |
||||||
|
return def; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static Boolean getBoolean(Map map, String key) { |
||||||
|
return getBoolean(map, key, null); |
||||||
|
} |
||||||
|
|
||||||
|
public static Boolean getBoolean(Map map, String key, Boolean def) { |
||||||
|
if (null == map) { |
||||||
|
return def; |
||||||
|
} |
||||||
|
String s = getString(map, key); |
||||||
|
if (null != s) { |
||||||
|
if ("true".equals(s)) { |
||||||
|
return true; |
||||||
|
} else if ("false".equals(s)){ |
||||||
|
return false; |
||||||
|
} else { |
||||||
|
return def; |
||||||
|
} |
||||||
|
} else { |
||||||
|
return def; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static String toHex(Color c) { |
||||||
|
if (null == c) { |
||||||
|
return "transparent"; |
||||||
|
} |
||||||
|
String hex = Integer.toHexString(c.getRGB()); |
||||||
|
if (hex.length() == 8) { |
||||||
|
hex = "#" + hex.substring(2); |
||||||
|
} |
||||||
|
return hex; |
||||||
|
} |
||||||
|
public static Color toColor(String c) { |
||||||
|
if (null != c && c.startsWith("#")) { |
||||||
|
c = c.substring(1); |
||||||
|
return new Color(Integer.parseInt(c, 16)); |
||||||
|
} |
||||||
|
return null; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.vo; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author :fr.open |
||||||
|
* @date :2022/8/25 18:35 |
||||||
|
* @description: |
||||||
|
*/ |
||||||
|
public class ClusterPointMapStyleJson extends CustomJsonObject { |
||||||
|
private String tilte = CLUSTER_POINT_MAP_TITLE; |
||||||
|
|
||||||
|
public String getTilte() { |
||||||
|
return tilte; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.vo; |
||||||
|
|
||||||
|
import com.fr.json.JSONObject; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author :fr.open |
||||||
|
* @date :2022/8/25 18:33 |
||||||
|
* @description: |
||||||
|
*/ |
||||||
|
public class CustomJsonObject { |
||||||
|
private JSONObject obj = JSONObject.create(); |
||||||
|
|
||||||
|
public JSONObject get() { |
||||||
|
return obj; |
||||||
|
} |
||||||
|
|
||||||
|
public void put(JSONObject obj) { |
||||||
|
this.obj = obj; |
||||||
|
} |
||||||
|
|
||||||
|
public static final String POINT_MAP_TITLE = "pointmap"; |
||||||
|
public static final String CLUSTER_POINT_MAP_TITLE = "clusterpointmap"; |
||||||
|
} |
@ -0,0 +1,14 @@ |
|||||||
|
package com.fr.plugin.lzljgdmap.vo; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author :fr.open |
||||||
|
* @date :2022/8/25 18:35 |
||||||
|
* @description: |
||||||
|
*/ |
||||||
|
public class PointMapStyleJson extends CustomJsonObject { |
||||||
|
private String tilte = POINT_MAP_TITLE; |
||||||
|
|
||||||
|
public String getTilte() { |
||||||
|
return tilte; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,307 @@ |
|||||||
|
.lzlj_gd_amap_chart_title { |
||||||
|
position: absolute; |
||||||
|
top: 0px; |
||||||
|
left: 0px; |
||||||
|
width: 100%; |
||||||
|
background: rgba(255, 255, 255, 0.7); |
||||||
|
color: #000000; |
||||||
|
font-size: 12px; |
||||||
|
font-family: sans-serif; |
||||||
|
font-weight: bold; |
||||||
|
font-style: normal; |
||||||
|
text-align: center; |
||||||
|
padding: 5px 10px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container { |
||||||
|
position: absolute; |
||||||
|
background: rgba(51, 51, 51, 0.7); |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container_hide { |
||||||
|
position: absolute; |
||||||
|
background: rgba(51, 51, 51, 0.9); |
||||||
|
padding: 3px 10px; |
||||||
|
color: #ffffff; |
||||||
|
font-size: 12px; |
||||||
|
font-family: sans-serif; |
||||||
|
border-radius: 0px 10px 10px 0px; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_pos_left { |
||||||
|
top: 50px; |
||||||
|
left: 0px; |
||||||
|
border-radius: 0px 10px 10px 0px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .tools { |
||||||
|
font-weight: bold; |
||||||
|
padding: 5px 10px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .row { |
||||||
|
display: flex; |
||||||
|
justify-content: space-between; |
||||||
|
padding: 5px 10px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .row .tool_circle { |
||||||
|
padding: 2px 10px; |
||||||
|
border-radius: 20px; |
||||||
|
cursor: pointer; |
||||||
|
width: 100%; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .row .tool_circle_clear { |
||||||
|
padding: 2px 10px; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .row .tool_region { |
||||||
|
padding: 2px 10px; |
||||||
|
border-radius: 20px; |
||||||
|
cursor: pointer; |
||||||
|
width: 100%; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .row .tool_region_clear { |
||||||
|
padding: 2px 10px; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .active { |
||||||
|
background-color: #FF7F50; |
||||||
|
border: #FF7F50 solid 1px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .inactive { |
||||||
|
border: #FF7F50 solid 1px; |
||||||
|
background: transparent; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .filter_row { |
||||||
|
padding: 10px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .add_layer { |
||||||
|
padding: 2px 10px; |
||||||
|
border-radius: 20px; |
||||||
|
cursor: pointer; |
||||||
|
text-align: center; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .layer_active { |
||||||
|
margin-top: 5px; |
||||||
|
background-color: #FF7F50; |
||||||
|
padding: 2px 10px; |
||||||
|
border-radius: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .layer_inactive { |
||||||
|
margin-top: 5px; |
||||||
|
padding: 2px 10px; |
||||||
|
border: #FF7F50 solid 1px; |
||||||
|
border-radius: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .chart_type { |
||||||
|
margin-top: 5px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .data_type { |
||||||
|
margin-top: 10px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .close { |
||||||
|
width: 16px; |
||||||
|
height: 16px; |
||||||
|
position: absolute; |
||||||
|
right: 4px; |
||||||
|
top: 4px; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_amap_container .legend_c { |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
font-weight: bold; |
||||||
|
padding: 5px 10px; |
||||||
|
} |
||||||
|
.lzlj_amap_container .legend_e { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region { |
||||||
|
position: absolute; |
||||||
|
width: 300px; |
||||||
|
top: 50px; |
||||||
|
left: 100px; |
||||||
|
background: rgba(255, 255, 255, 1); |
||||||
|
z-index: 100; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .ok { |
||||||
|
position: absolute; |
||||||
|
right: 10px; |
||||||
|
top: 5px; |
||||||
|
cursor: pointer; |
||||||
|
padding: 2px 5px; |
||||||
|
border-radius: 4px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .treebar { |
||||||
|
height: 500px; |
||||||
|
overflow: auto; |
||||||
|
margin-top: 25px; |
||||||
|
padding: 5px; |
||||||
|
font-family: sans-serif; |
||||||
|
font-size: 12px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeBar { |
||||||
|
clear: both; |
||||||
|
height: 20px; |
||||||
|
background: #ffffff; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeSplitor { |
||||||
|
clear: both; |
||||||
|
display: block; |
||||||
|
width: 100%; |
||||||
|
height: 1px; |
||||||
|
margin-top: 1px; |
||||||
|
margin-bottom: 3px; |
||||||
|
border-bottom-style: solid; |
||||||
|
border-bottom-width: 1px; |
||||||
|
border-bottom-color: #cccccc; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeBarSelected { |
||||||
|
clear: both; |
||||||
|
height: 20px; |
||||||
|
background: #d9d9d9; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeBarOver { |
||||||
|
clear: both; |
||||||
|
height: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeFlag { |
||||||
|
float: left; |
||||||
|
width: 12px; |
||||||
|
height: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodePlus { |
||||||
|
float: left; |
||||||
|
width: 16px; |
||||||
|
height: 16px; |
||||||
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAZFJREFUWEfll7FKA0EQhv+V3Kyk0UILRXwBQUFBbCwEtbfQRrDQFxBBLNUnsLQylZVpbLUQtRQbC30CUbS0iPhvYOTkIndnDDFs2GAWDm6XZf5v/50b5gwCDxNYHx0JMCAi26o67dMdY8wNyZ18zB8OiMgtgCmf4ulYJDOamYmILAM4UdUN51zJJ0QURevGmCNVPXDObdVi5wH2AOzmKX2BiIiq6qVzbu7fAFgA8fPWjEveHRCRMwB9JGdCAbwD6G02Z9rhgMYnDwZgrb1S1X6SE0GuoHsAROQOwHjK5sfkfRBAD4CXZD6S2vNAchLAR22t5SS01h6q6iKAGOR7GGNmVTUCcJHLgVj4muRaer1lgN8SrHtyoGMdiO80dCF6TQqRBClEIlJS1VHn3HwQgGZE2/oZegew1m7GPVuhUBiuVCrPfxVotL9YLA5Vq9UnAKckl+q2ZNbaBVU9B7BPMu4PvQ0R+eo387HrteXHAFa9KWcDlUmuZMp5PaGkPR/zDHFPspyP2ZG/Zp4P3jhccAc+AV1FhTChwafSAAAAAElFTkSuQmCC') 0px 0px no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeSub { |
||||||
|
float: left; |
||||||
|
width: 16px; |
||||||
|
height: 16px; |
||||||
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAUVJREFUWEftV7FKBDEUnMjuC2ytheIfCBYe2FlYaG+hjWChPyDCYan3BZZWWll5jbWFiKXYWOgXiOIPLDhZeLKyJ7txETwCe2BelYQwM5limBh0PKZjfkykgGkR6avqckh3jDH3JA99zB8OiMgDgF5I8joWyQZnYyMimwAuVXXPOXceUkSaprvGmDNVPXHOHYywfQHHAI58laGEiIiq6q1zbjUKiA5EB6IDf3JARB4BLNYC6aVazwCYAvBe7edrd55JLgH4GJ2NHUTW2lNVXQdQCvkeY8yKqqYAbry0LInvSO7Uz8cWEKM4OhAd+D8OWGv3y86WJMlcnudvoV5e4mRZNlsUxSuAK5IbrVFsrV1T1WsAA5JlPww2IvLVN33stlp+AWA7GHMTaEhyqxHnbURVPV8ILOKJ5NDHnMivWeCH/w7XuQOf+9M8MKmeDQ8AAAAASUVORK5CYII=') 0px 0px no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeLevel { |
||||||
|
float: left; |
||||||
|
height: 100%; |
||||||
|
width: 6px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeImg { |
||||||
|
float: left; |
||||||
|
width: 18px; |
||||||
|
padding-left: 3px; |
||||||
|
padding-top: 3px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeCheck { |
||||||
|
float: left; |
||||||
|
width: 16px; |
||||||
|
height: 16px; |
||||||
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAKZJREFUWEftl8EJQjEQROeHsFUoWIrWYiFqKVby7UQPVjGEKAsqGi//kM/+w+w1YWZ47GF2QPAMwf5YXgAzOwLYA1h1pnMDcCbp+p/5IfAyP3Q2buVO3yHaAFcAm1rrrpRy6Rkk57xNKY0A7iTXb+02wMMfSM6yG2b2p68AIiACIiACIiACIiACiyMQXkq9s8fVcm/EoYdJzztgqtYs/X+quf8LD/AE20fQIQrJsZAAAAAASUVORK5CYII=') 0px 0px no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeChecked { |
||||||
|
float: left; |
||||||
|
width: 16px; |
||||||
|
height: 16px; |
||||||
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAXNJREFUWEftlyFPw0AYhp9b1q+rQqGABBQJGAQhIUEwRQjBIHAofgjwUxAYxEj4A0NhCBIcAYFDova165FLumV0Y4y2W4Hs5LX3vU/fu699ayh5mJL1+X0AInIKHAPzBbvzApyrqqvfHZ8cSMRPChZOlzvrhUgDPAOLcRzXoyi6KRKkWq1uVyqVJvCqqgud2mkA6y6o6ljOhoj01Z8CTB34fw74vr9srb2w1r6HYVjvbeWxd0GtVluK47gBrAH3qro+MYAgCOba7bYT3wAegENVfZwUwKzv+w1r7dZX4g4k8xZ4ntc0xvjGmKNWq/WUekXPeJ53ZYxx+z3wyTv3ZwYQkVtgE7hT1T3gLSkaiMgVsPOdeC4HRGQFuARWrbXNMAx3gSgR3x9FPBdAsrgLAVw7AOBgVPHcAAMg3NTQPU9/zjOfgVQrdZxw032tNixDFAKQJ6RMAf6EA6WHUpfZy4vlSa+X92OSp8Wyrh1L/v8JTOkAH9paLjBtTnOxAAAAAElFTkSuQmCC') 0px 0px no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeChecked_part { |
||||||
|
float: left; |
||||||
|
width: 16px; |
||||||
|
height: 16px; |
||||||
|
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAL5JREFUWEftl8ENwjAMRX+jyFOAxCiwSSQGATYJk8AmcGAKKwrICKoSOFRRinuwr22/X157+O2gPJ3yfswPgIj2ALYAFo3tXAEcmVny+/kw8Fq+a7y4jDsMIUqAC4BVznmTUjq3BPHer51zJwA3Zl6+s0uAu1xg5km+DSL6yp8/QIzxSV07IYT+kFUGDMAMmAEzYAbMgBlQN1DbA349V9UH/g2gXkqls+vVctGt+mPS8n2PzZqk/49dLvepAzwA9bAQMMgDzMEAAAAASUVORK5CYII=') 0px 0px no-repeat; |
||||||
|
background-size: 100% 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_region .nodeTxt { |
||||||
|
float: left; |
||||||
|
height: 22px; |
||||||
|
color: #000000; |
||||||
|
padding-top: 2px; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_data_list { |
||||||
|
position: absolute; |
||||||
|
right: 0px; |
||||||
|
top: 0px; |
||||||
|
height: 100%; |
||||||
|
background-color: #ffffff; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_data_list .list_title { |
||||||
|
display: flex; |
||||||
|
padding: 10px 10px; |
||||||
|
padding-right: 17px; |
||||||
|
background-color: #d9d9d9; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_data_list .list_content_ul { |
||||||
|
padding: 0px 10px; |
||||||
|
margin: 0px; |
||||||
|
overflow-y: scroll; |
||||||
|
scrollbar-width: thin; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_data_list .list_content_li { |
||||||
|
display: flex; |
||||||
|
padding: 10px 0px; |
||||||
|
border-bottom: 1px solid #d9d9d9; |
||||||
|
word-break: break-word; |
||||||
|
} |
||||||
|
|
||||||
|
.lzlj_gd_amap_data_list .close_list { |
||||||
|
margin-left: 20px; |
||||||
|
color: #0583f2; |
||||||
|
cursor: pointer; |
||||||
|
} |
||||||
|
|
||||||
|
::-webkit-scrollbar { |
||||||
|
width: 7px; |
||||||
|
height: 7px; |
||||||
|
background-color: #f5f5f5; |
||||||
|
} |
||||||
|
::-webkit-scrollbar-thumb { |
||||||
|
border-radius: 10px; |
||||||
|
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); |
||||||
|
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.1); |
||||||
|
background-color: #c8c8c8; |
||||||
|
} |
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue