From 360d5c8cbf170d68259cf20f9ed5e39dd89a4f0d Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 24 Jan 2018 14:18:54 +0800 Subject: [PATCH] =?UTF-8?q?MOBILE-6341=20=E3=80=909.2=E3=80=91FR9.0?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E5=99=A8=E6=94=AF=E6=8C=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=20=E5=86=B3=E7=AD=96=E6=8A=A5=E8=A1=A8=E5=9B=BE=E8=A1=A8?= =?UTF-8?q?=E5=9D=97=E7=A7=BB=E5=8A=A8=E7=AB=AF=E8=87=AA=E9=80=82=E5=BA=94?= =?UTF-8?q?=E9=80=BB=E8=BE=91=3D>=E5=9B=BE=E8=A1=A8=E5=9D=97=E7=9A=84?= =?UTF-8?q?=E7=A7=BB=20=E5=8A=A8=E7=AB=AF=E8=AE=BE=E7=BD=AE=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=3D>=E8=B0=83=E6=95=B4=E4=BB=A3=E7=A0=81=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/chart/mobile/ChartMobileAttr.java | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 designer_chart/src/com/fr/design/chart/mobile/ChartMobileAttr.java diff --git a/designer_chart/src/com/fr/design/chart/mobile/ChartMobileAttr.java b/designer_chart/src/com/fr/design/chart/mobile/ChartMobileAttr.java new file mode 100644 index 0000000000..6fc187243a --- /dev/null +++ b/designer_chart/src/com/fr/design/chart/mobile/ChartMobileAttr.java @@ -0,0 +1,76 @@ +package com.fr.design.chart.mobile; + +import com.fr.base.mobile.ChartMobileAttrProvider; +import com.fr.base.mobile.ChartMobileFitAttrState; +import com.fr.base.mobile.ChartMobileFitAttrStateProvider; +import com.fr.json.JSONException; +import com.fr.json.JSONObject; +import com.fr.stable.xml.XMLPrintWriter; +import com.fr.stable.xml.XMLableReader; + +/** + * 当前图表块在移动端的一些属性 + * Created by plough on 2018/1/23. + */ +public class ChartMobileAttr implements ChartMobileAttrProvider { + + public static final String XML_TAG = "ChartMobileAttr"; + // 缩小逻辑属性 + private ChartMobileFitAttrState zoomOutAttr; + // 放大逻辑属性 + private ChartMobileFitAttrState zoomInAttr; + + @Override + public ChartMobileFitAttrStateProvider getZoomOutAttr() { + return zoomOutAttr; + } + + @Override + public void setZoomOutAttr(ChartMobileFitAttrStateProvider zoomOutAttr) { + this.zoomOutAttr = (ChartMobileFitAttrState) zoomOutAttr; + } + + @Override + public ChartMobileFitAttrStateProvider getZoomInAttr() { + return zoomInAttr; + } + + @Override + public void setZoomInAttr(ChartMobileFitAttrStateProvider zoomInAttr) { + this.zoomInAttr = (ChartMobileFitAttrState) zoomInAttr; + } + + @Override + public boolean isAdaptive() { + // TODO: body 是否开启手机重布局 + return true; + } + + @Override + public void createJSONConfig(JSONObject jo) throws JSONException { + jo.put("zoomOutFit", this.zoomOutAttr.getState()); + jo.put("zoomInFit", this.zoomInAttr.getState()); + } + + @Override + public void readXML(XMLableReader reader) { + int defaultIndex = ChartMobileFitAttrState.AUTO.getState(); + int zoomOutIndex = reader.getAttrAsInt("zoomOut", defaultIndex); + int zoomInIndex = reader.getAttrAsInt("zoomIn", defaultIndex); + this.zoomOutAttr = ChartMobileFitAttrState.parse(zoomOutIndex); + this.zoomInAttr = ChartMobileFitAttrState.parse(zoomInIndex); + } + + @Override + public void writeXML(XMLPrintWriter writer) { + writer.startTAG(ChartMobileAttrProvider.XML_TAG) + .attr("zoomOut", this.zoomOutAttr.getState()) + .attr("zoomIn", this.zoomInAttr.getState()) + .end(); + } + + @Override + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } +}