From 4f68119f6bd8db8bbe41a074741d335af8a5a51c Mon Sep 17 00:00:00 2001 From: richie Date: Sun, 18 Nov 2018 16:58:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=88=E6=9E=9C=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin.xml | 3 +- pom.xml | 2 +- readme.md | 11 +++ screenshots/1.png | Bin 0 -> 51291 bytes screenshots/2.png | Bin 0 -> 26093 bytes .../fr/plugin/present/PresentKindBridge.java | 4 +- .../fr/plugin/present/fun/StarPainter.java | 43 +++++++++++ .../fr/plugin/present/fun/StarPresent.java | 61 ++++++++++++++- .../fr/plugin/present/ui/MyPresentPane.java | 52 ------------- .../fr/plugin/present/ui/StarPresentPane.java | 73 ++++++++++++++++++ .../com/fr/plugin/present/images/star.png | Bin 0 -> 1771 bytes .../plugin/present/locale/present.properties | 2 + .../present/locale/present_zh_CN.properties | 2 + 13 files changed, 194 insertions(+), 59 deletions(-) create mode 100644 readme.md create mode 100644 screenshots/1.png create mode 100644 screenshots/2.png create mode 100644 src/main/java/com/fr/plugin/present/fun/StarPainter.java delete mode 100644 src/main/java/com/fr/plugin/present/ui/MyPresentPane.java create mode 100644 src/main/java/com/fr/plugin/present/ui/StarPresentPane.java create mode 100644 src/main/resources/com/fr/plugin/present/images/star.png diff --git a/plugin.xml b/plugin.xml index dc950d1..bd55e5b 100644 --- a/plugin.xml +++ b/plugin.xml @@ -1,6 +1,7 @@ - com.fr.plugin.present.demo + com.fr.plugin.present.star + com.fr.plugin.present yes 1.0 diff --git a/pom.xml b/pom.xml index b08bff7..58e6931 100644 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,6 @@ demo-show-present - ${project.basedir}/../webroot/WEB-INF/plugins/plugin-com.fr.plugin.function.fib-1.0/classes + ${project.basedir}/../webroot/WEB-INF/plugins/plugin-com.fr.plugin.present.star-1.0/classes \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..bba91ef --- /dev/null +++ b/readme.md @@ -0,0 +1,11 @@ +# 扩展形态示例 + +可以将数值转化为用于评分展示的红星。 + +模板设置如下 + +![tpl](screenshots/1.png) + +预览效果如图所示 + +![show](screenshots/2.png) \ No newline at end of file diff --git a/screenshots/1.png b/screenshots/1.png new file mode 100644 index 0000000000000000000000000000000000000000..f972a5137cf62ad11a701ebc5ec0d8b57588d6ad GIT binary patch literal 51291 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 literal 0 HcmV?d00001 diff --git a/screenshots/2.png b/screenshots/2.png new file mode 100644 index 0000000000000000000000000000000000000000..6e8e0c78622c807cfcd96d96f53fd93e13e2b8db GIT binary patch literal 26093 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 literal 0 HcmV?d00001 diff --git a/src/main/java/com/fr/plugin/present/PresentKindBridge.java b/src/main/java/com/fr/plugin/present/PresentKindBridge.java index 909af95..07319c2 100644 --- a/src/main/java/com/fr/plugin/present/PresentKindBridge.java +++ b/src/main/java/com/fr/plugin/present/PresentKindBridge.java @@ -4,7 +4,7 @@ import com.fr.base.present.Present; import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.design.fun.impl.AbstractPresentKindProvider; import com.fr.plugin.present.fun.StarPresent; -import com.fr.plugin.present.ui.MyPresentPane; +import com.fr.plugin.present.ui.StarPresentPane; /** * @author richie @@ -15,7 +15,7 @@ public class PresentKindBridge extends AbstractPresentKindProvider { @Override public FurtherBasicBeanPane appearanceForPresent() { - return new MyPresentPane(); + return new StarPresentPane(); } @Override diff --git a/src/main/java/com/fr/plugin/present/fun/StarPainter.java b/src/main/java/com/fr/plugin/present/fun/StarPainter.java new file mode 100644 index 0000000..2f6d695 --- /dev/null +++ b/src/main/java/com/fr/plugin/present/fun/StarPainter.java @@ -0,0 +1,43 @@ +package com.fr.plugin.present.fun; + +import com.fr.base.AbstractPainter; +import com.fr.base.Style; +import com.fr.general.IOUtils; +import com.fr.report.cell.cellattr.core.CellUtils; +import com.fr.stable.html.Tag; +import com.fr.stable.web.Repository; +import com.fr.web.BaseHTMLWriterUtils; + +import java.awt.*; +import java.awt.image.BufferedImage; + +public class StarPainter extends AbstractPainter { + + private static final BufferedImage image = IOUtils.readImage("/com/fr/plugin/present/images/star.png"); + + private int count; + private int hGap = 4; + + public StarPainter(int count) { + this.count = count; + } + + @Override + public void paint(Graphics g, int width, int height, int resolution, Style style) { + Graphics2D g2d = (Graphics2D) g; + int imageWidth = image.getWidth(); + int imageHeight = image.getHeight(); + int y = (height - imageHeight) / 2; + for (int i = 0; i < count; i++) { + g2d.drawImage(image, (imageWidth + hGap) * i, y, imageWidth, imageHeight, null); + } + } + + @Override + public void paintTag(Repository repo, int width, int height, Style style, Tag tag) { + tag.cls("imageCellElement"); + tag.sub(BaseHTMLWriterUtils.createImageTag4RepoWithCheckVml( + CellUtils.value2Image(this, repo.getResolution(), style, width, height), new Dimension(width, height), repo + )); + } +} diff --git a/src/main/java/com/fr/plugin/present/fun/StarPresent.java b/src/main/java/com/fr/plugin/present/fun/StarPresent.java index 7d1094b..e673d1d 100644 --- a/src/main/java/com/fr/plugin/present/fun/StarPresent.java +++ b/src/main/java/com/fr/plugin/present/fun/StarPresent.java @@ -1,11 +1,18 @@ package com.fr.plugin.present.fun; +import com.fr.base.BaseFormula; import com.fr.base.present.AbstractPresent; +import com.fr.general.GeneralUtils; import com.fr.intelli.record.Focus; import com.fr.intelli.record.Original; +import com.fr.log.FineLoggerFactory; import com.fr.record.analyzer.EnableMetrics; import com.fr.script.Calculator; +import com.fr.stable.AssistUtils; import com.fr.stable.ColumnRow; +import com.fr.stable.StableUtils; +import com.fr.stable.StringUtils; +import com.fr.stable.UtilEvalError; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; @@ -17,19 +24,67 @@ import com.fr.stable.xml.XMLableReader; @EnableMetrics public class StarPresent extends AbstractPresent { + private String condition; + + public String getCondition() { + return condition; + } + + public void setCondition(String condition) { + this.condition = condition; + } + @Override - @Focus(id = "com.fr.plugin.present.demo", text = "", source = Original.PLUGIN) + @Focus(id = "com.fr.plugin.present.star", text = "", source = Original.PLUGIN) public Object present(Object value, Calculator calculator, ColumnRow cr) { - return "aaa"; + Object result = null; + if (StableUtils.canBeFormula(condition)) { + try { + result = calculator.evalValue(BaseFormula.createFormulaBuilder().build(condition)); + } catch (UtilEvalError e) { + FineLoggerFactory.getLogger().error(e.getMessage(), e); + } + } else { + result = condition; + } + Number num = GeneralUtils.objectToNumber(result, true); + if (num == null) { + return value; + } + return new StarPainter(num.intValue()); } @Override public void readXML(XMLableReader reader) { - + if (reader.isChildNode()) { + String tag = reader.getTagName(); + if ("Condition".equals(tag)) { + condition = reader.getElementValue(); + } + } } @Override public void writeXML(XMLPrintWriter writer) { + if (StringUtils.isNotEmpty(condition)) { + writer.startTAG("Condition").textNode(condition).end(); + } + } + @Override + public Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + @Override + public boolean equals(Object o) { + return o instanceof StarPresent + && super.equals(o) + && AssistUtils.equals(((StarPresent) o).condition, condition); + } + + @Override + public int hashCode() { + return AssistUtils.hashCode(condition); } } \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/present/ui/MyPresentPane.java b/src/main/java/com/fr/plugin/present/ui/MyPresentPane.java deleted file mode 100644 index e7035ad..0000000 --- a/src/main/java/com/fr/plugin/present/ui/MyPresentPane.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.fr.plugin.present.ui; - -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.plugin.present.fun.StarPresent; - -import java.awt.*; - -/** - * @author richie - * @date 2015-05-24 - * @since 8.0 - */ -public class MyPresentPane extends FurtherBasicBeanPane{ - private UITextField textField; - - public MyPresentPane() { - initComponents(); - } - - private void initComponents() { - setLayout(new BorderLayout()); - textField = new UITextField(); - add(textField, BorderLayout.NORTH); - } - - - @Override - public boolean accept(Object ob) { - return ob instanceof StarPresent; - } - - @Override - public String title4PopupWindow() { - return "我的形态"; - } - - @Override - public void reset() { - - } - - @Override - public void populateBean(StarPresent ob) { - - } - - @Override - public StarPresent updateBean() { - return new StarPresent(); - } -} \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/present/ui/StarPresentPane.java b/src/main/java/com/fr/plugin/present/ui/StarPresentPane.java new file mode 100644 index 0000000..fc63405 --- /dev/null +++ b/src/main/java/com/fr/plugin/present/ui/StarPresentPane.java @@ -0,0 +1,73 @@ +package com.fr.plugin.present.ui; + +import com.fr.design.beans.FurtherBasicBeanPane; +import com.fr.design.editor.ValueEditorPane; +import com.fr.design.editor.ValueEditorPaneFactory; +import com.fr.design.editor.editor.Editor; +import com.fr.design.editor.editor.FormulaEditor; +import com.fr.design.editor.editor.IntegerEditor; +import com.fr.design.formula.TinyFormulaPane; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.i18n.Toolkit; +import com.fr.design.utils.gui.GUICoreUtils; +import com.fr.plugin.present.fun.StarPresent; + +import java.awt.*; + +/** + * @author richie + * @date 2015-05-24 + * @since 8.0 + */ +public class StarPresentPane extends FurtherBasicBeanPane { + + private TinyFormulaPane formulaPane; + + public StarPresentPane() { + initComponents(); + } + + private void initComponents() { + setLayout(new BorderLayout()); + formulaPane = new TinyFormulaPane(); + add(GUICoreUtils.createBorderLayoutPane( + new UILabel(Toolkit.i18nText("Plugin-Present_Value") + ":"), + BorderLayout.WEST, + formulaPane, + BorderLayout.CENTER + ), BorderLayout.NORTH); + + } + + + @Override + public boolean accept(Object ob) { + return ob instanceof StarPresent; + } + + @Override + public String title4PopupWindow() { + return Toolkit.i18nText("Plugin-Present_Star"); + } + + @Override + public void reset() { + + } + + @Override + public void populateBean(StarPresent ob) { + if (ob == null) { + return; + } + formulaPane.populateBean(ob.getCondition()); + } + + @Override + public StarPresent updateBean() { + StarPresent starPresent = new StarPresent(); + starPresent.setCondition(formulaPane.updateBean()); + return starPresent; + } +} \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/present/images/star.png b/src/main/resources/com/fr/plugin/present/images/star.png new file mode 100644 index 0000000000000000000000000000000000000000..42860e3acc12952e0202fda92b8f7d69d6f0c7ee GIT binary patch literal 1771 zcmZXVe^gWF8OLA1gn$Dig9J!mREx9NaBqSrW*r_O7y={;2Bs}iVz`nE`9%_lpxFF? zNRJLJYlS*=tJ;F2Afok15i6x<2eDF}oYmIJ22KRrXba@t+r|Ly}ATh-G8>(ciBx-W{Uds*>&U?EqXpvD&L*&~dCf zBUcVU^?CqowE&QG$~Fl=1q{G+5dh+50Jz4MPjg-az_)i-wlbXtW)*TzPX7FkY%Dtu z+m(;y?!hv1<`wxf89RTF=lvri_1~F0C#0FrrSfU1{8>ikjBNK4nRF^EcPdLcmG{PE zPX0f4DxXNQ#&_o3^I?t2^M{#1quIH`0l_07Yd-a1_A&#nu3~(`28ys!UdWurpdbgT7c5tp#w=mR8ov5H1tEuLixgr(W^$~UcB-Kzsov>2x93-5kIaIqic%7;@ zQopVA{;q1aVBdH9)I`UJ-aj5A-!_rQE#&bEkE8s%{U}yuoOjx>#*?0o3*H-77e2q@ z?QQqAzDK(BmT>3^r-5)9iQ00auAHbfl66MB zrVOtxCG9%GrX}op(q$rDX0qPm(e3dVUMJ|+^afs{#H EiG}RjCe~+I?Fx!J)XiH zcyHg8={DK z-u>W^zi-`2NVZ_H;n=ze;^oN4VWAV5GS8-XcQn@>8-c$RInE9H*Xw(6PKcY&!K1lk zG#88JOmV}P>@{w7usb3gkK#~Koaf=}ZbrZ&kF%&M#6yC;obc(;&>Q}%vGA~-u*jvX z?D?SJ0oLldQ1%jsd)+_a28VZ*!CG2cTI-*^mi~Q(mR!Ydz+!Z@vRG|x^|n-3%Y%^? z$FGNmPM@Bbc)Ic|zPwhxqt@2fGhut&_UM++tw;B^2^wj!&;Bf_WODt8)t3(ZEi!q! z|04!FoB_t90~lRKWs>d64PU8?Y<@e^)~#o1ZQnesW&A$5{o?yQ3?3(-GHYWQFZfmV zwMs0wLD4+kGMvz^U$N$}=n)6=26cBE+Ly?s|IACp0MPC5JkEH|aO-RztGup;3gOq<(~gFZu`{I&F~17-`=ug&AWo?`lVYCu@*DHBVc&~$T;&+M zlnd>xz-e*Sf5Vb5X0B`!#PGSTtKI#ViwHKToIYE&n<{>6fS$S=^e=5J5LY^w@v zx>xm4yTAJR)V3|)KA2Rrp4z(Rvm$yQ;wJUqn5dkY}hK%}>ZQc2bA5D@gX$lAv;iN61#H}z~_)3;0!|jCo*P?QzAy@3DCXtLzyVZ?h#?5l7<33^wOUOEg9XwfRx@f@i4zc& zxe8Sq^a*;z0;!Aj0#sM>zoc3ZnN4a)m;^7|ro;q#rLEVFJf$ZAS-L{fnOfxd51pR_ A#Q*>R literal 0 HcmV?d00001 diff --git a/src/main/resources/com/fr/plugin/present/locale/present.properties b/src/main/resources/com/fr/plugin/present/locale/present.properties index e69de29..1a7d4d4 100644 --- a/src/main/resources/com/fr/plugin/present/locale/present.properties +++ b/src/main/resources/com/fr/plugin/present/locale/present.properties @@ -0,0 +1,2 @@ +Plugin-Present_Star=Star +Plugin-Present_Value=Value \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/present/locale/present_zh_CN.properties b/src/main/resources/com/fr/plugin/present/locale/present_zh_CN.properties index e69de29..9cf985f 100644 --- a/src/main/resources/com/fr/plugin/present/locale/present_zh_CN.properties +++ b/src/main/resources/com/fr/plugin/present/locale/present_zh_CN.properties @@ -0,0 +1,2 @@ +Plugin-Present_Star=\u8BC4\u5206\u5F62\u6001 +Plugin-Present_Value=\u8BC4\u5206\u503C \ No newline at end of file