From f62188f88d5ef3e544732a22e0a417f658ebf54e Mon Sep 17 00:00:00 2001 From: richie Date: Mon, 19 Nov 2018 15:14:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BC=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E6=89=A9=E5=B1=95=E6=8F=92=E4=BB=B6=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 ++ README.md | 7 ++- build.xml | 27 ++++++--- lib/report/.gitkeep | 0 plugin-dynamichighlight.iml | 23 -------- plugin.xml | 21 ++++--- pom.xml | 18 ++++++ {effect => screenshots}/e0.png | Bin {effect => screenshots}/e1.png | Bin {effect => screenshots}/e2.png | Bin shop/icon_200.png | Bin 12168 -> 0 bytes shop/icon_400.png | Bin 4452 -> 0 bytes .../fun/MyCellFunctionProcessor.java | 28 --------- .../cell/highlight/locale/align.properties | 4 -- .../highlight/locale/align_zh_CN.properties | 4 -- .../highlight/AlignCellHighlightBridge.java} | 11 ++-- .../AlignHighlightLocaleBridge.java} | 2 +- .../highlight/fun/AlignHighlightAction.java} | 55 ++++++++---------- .../fun/AlignHighlightConstants.java} | 6 +- .../highlight/ui/AlignHighlightPane.java} | 17 +++--- .../cell/highlight/locale/align.properties | 7 +++ .../highlight/locale/align_zh_CN.properties | 7 +++ 22 files changed, 116 insertions(+), 126 deletions(-) create mode 100644 .gitignore create mode 100644 lib/report/.gitkeep delete mode 100644 plugin-dynamichighlight.iml create mode 100644 pom.xml rename {effect => screenshots}/e0.png (100%) rename {effect => screenshots}/e1.png (100%) rename {effect => screenshots}/e2.png (100%) delete mode 100644 shop/icon_200.png delete mode 100644 shop/icon_400.png delete mode 100644 src/com/fr/plugin/cell/highlight/fun/MyCellFunctionProcessor.java delete mode 100644 src/com/fr/plugin/cell/highlight/locale/align.properties delete mode 100644 src/com/fr/plugin/cell/highlight/locale/align_zh_CN.properties rename src/{com/fr/plugin/cell/highlight/MyCellHighlight.java => main/java/com/fr/plugin/cell/highlight/AlignCellHighlightBridge.java} (58%) rename src/{com/fr/plugin/cell/highlight/MyCellHighlightLocaleFinder.java => main/java/com/fr/plugin/cell/highlight/AlignHighlightLocaleBridge.java} (81%) rename src/{com/fr/plugin/cell/highlight/MyHighlightAction.java => main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightAction.java} (51%) rename src/{com/fr/plugin/cell/highlight/MyConstants.java => main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightConstants.java} (51%) rename src/{com/fr/plugin/cell/highlight/MyHighlightPane.java => main/java/com/fr/plugin/cell/highlight/ui/AlignHighlightPane.java} (68%) create mode 100644 src/main/resources/com/fr/plugin/cell/highlight/locale/align.properties create mode 100644 src/main/resources/com/fr/plugin/cell/highlight/locale/align_zh_CN.properties diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..adba910 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.iml +.idea/ +.classpath +lib/report/*.jar +.DS_Store diff --git a/README.md b/README.md index 5bde33b..70c034a 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,16 @@ # 自定义条件属性 + 当前已有的条件属性包含下图中的几种类型 -![0](effect/e0.png) +![0](screenshots/e0.png) 在特殊情况下,已有的几种类型并不能完全满足需求,典型的就是,根据不同的条件把单元格内的内容做不同的对齐。 这个时候,就可以使用条件属性接口```com.fr.design.fun.HighlightProvider```以及其抽象类```com.fr.design.fun.impl.AbstractHighlightProvider```了。 通过这个接口可以制作出如下如所示的插件效果 -![1](effect/e1.png) +![1](screenshots/e1.png) 可以看到多出了一个"我的条件属性"的项,当然这个名字是可以根据实际情况修改的。 选择了以后,就可以设置单元格的对齐方式了 -![2](effect/e2.png) +![2](screenshots/e2.png) diff --git a/build.xml b/build.xml index 7cc9e50..86a0542 100644 --- a/build.xml +++ b/build.xml @@ -1,10 +1,11 @@ - + + @@ -13,7 +14,7 @@ - + @@ -29,6 +30,9 @@ + + + @@ -44,7 +48,7 @@ - + @@ -59,11 +63,15 @@ target="${target_jdk_version}" fork="true" memoryMaximumSize="512m" listfiles="false" srcdir="${basedir}" executable="${compile_jdk_version}/bin/javac"> - + + + + + @@ -93,6 +101,7 @@ + @@ -106,12 +115,16 @@ + + + + + - - + - + \ No newline at end of file diff --git a/lib/report/.gitkeep b/lib/report/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/plugin-dynamichighlight.iml b/plugin-dynamichighlight.iml deleted file mode 100644 index f5bbe9e..0000000 --- a/plugin-dynamichighlight.iml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/plugin.xml b/plugin.xml index 658b795..d4dc1d6 100644 --- a/plugin.xml +++ b/plugin.xml @@ -1,23 +1,22 @@ - com.fr.plugin.cell.highlight.align + com.fr.plugin.cell.highlight.align.v10 + com.fr.plugin.cell.highlight yes 2.1 - 8.0 - 2016-03-20 - 1000 - solution.richie + 10.0 + 2018-09-20 + author [2016-01-20]增加了插件功能说明

-

[2016-03-21]增加了国际化支持(美国英语)

+

[2016-01-20]增加了插件功能说明。
+

[2016-03-21]增加了国际化支持(美国英语)。
]]> - + - - - + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..a8ffac5 --- /dev/null +++ b/pom.xml @@ -0,0 +1,18 @@ + + + 4.0.0 + + + com.fr.plugin + starter + 10.0 + + jar + demo-highlight-align + + + ${project.basedir}/../webroot/WEB-INF/plugins/plugin-com.fr.plugin.cell.highlight.align.v10-1.0/classes + + \ No newline at end of file diff --git a/effect/e0.png b/screenshots/e0.png similarity index 100% rename from effect/e0.png rename to screenshots/e0.png diff --git a/effect/e1.png b/screenshots/e1.png similarity index 100% rename from effect/e1.png rename to screenshots/e1.png diff --git a/effect/e2.png b/screenshots/e2.png similarity index 100% rename from effect/e2.png rename to screenshots/e2.png diff --git a/shop/icon_200.png b/shop/icon_200.png deleted file mode 100644 index a621b9e28d8f68f80d2f41ff40f0421fa4917a3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12168 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

    =g7i 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 diff --git a/shop/icon_400.png b/shop/icon_400.png deleted file mode 100644 index dfb02d415d8d0a7192b17667d8e8dac6261b53b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4452 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 classForHighlightAction() { - return MyHighlightAction.class; + return AlignHighlightAction.class; } @Override public ConditionAttrSingleConditionPane appearanceForCondition(ConditionAttributesPane conditionAttributesPane) { - return new MyHighlightPane(conditionAttributesPane); + return new AlignHighlightPane(conditionAttributesPane); } } \ No newline at end of file diff --git a/src/com/fr/plugin/cell/highlight/MyCellHighlightLocaleFinder.java b/src/main/java/com/fr/plugin/cell/highlight/AlignHighlightLocaleBridge.java similarity index 81% rename from src/com/fr/plugin/cell/highlight/MyCellHighlightLocaleFinder.java rename to src/main/java/com/fr/plugin/cell/highlight/AlignHighlightLocaleBridge.java index 207d427..20fe2e8 100644 --- a/src/com/fr/plugin/cell/highlight/MyCellHighlightLocaleFinder.java +++ b/src/main/java/com/fr/plugin/cell/highlight/AlignHighlightLocaleBridge.java @@ -5,7 +5,7 @@ import com.fr.stable.fun.impl.AbstractLocaleFinder; /** * Created by richie on 16/1/22. */ -public class MyCellHighlightLocaleFinder extends AbstractLocaleFinder { +public class AlignHighlightLocaleBridge extends AbstractLocaleFinder { @Override public int currentAPILevel() { diff --git a/src/com/fr/plugin/cell/highlight/MyHighlightAction.java b/src/main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightAction.java similarity index 51% rename from src/com/fr/plugin/cell/highlight/MyHighlightAction.java rename to src/main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightAction.java index 1c55a06..b2c592a 100644 --- a/src/com/fr/plugin/cell/highlight/MyHighlightAction.java +++ b/src/main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightAction.java @@ -1,15 +1,14 @@ -package com.fr.plugin.cell.highlight; +package com.fr.plugin.cell.highlight.fun; import com.fr.base.Style; -import com.fr.plugin.ExtraClassManager; +import com.fr.intelli.record.Focus; +import com.fr.intelli.record.Original; import com.fr.plugin.PluginLicense; import com.fr.plugin.PluginLicenseManager; -import com.fr.plugin.cell.highlight.fun.MyCellFunctionProcessor; +import com.fr.record.analyzer.EnableMetrics; import com.fr.report.cell.cellattr.highlight.AbstractStyleHighlightAction; +import com.fr.stable.AssistUtils; import com.fr.stable.Constants; -import com.fr.stable.fun.FunctionHelper; -import com.fr.stable.fun.FunctionProcessor; -import com.fr.stable.fun.impl.AbstractFunctionProcessor; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; @@ -18,27 +17,16 @@ import com.fr.stable.xml.XMLableReader; * @date 2015-03-26 * @since 8.0 */ -public class MyHighlightAction extends AbstractStyleHighlightAction { - - private static final FunctionProcessor PPP = new AbstractFunctionProcessor() { - @Override - public int getId() { - return FunctionHelper.generateFunctionID(MyConstants.PLUGIN_ID); - } - - @Override - public String getLocaleKey() { - return "Plugin-Highlight_Align"; - } - }; +@EnableMetrics +public class AlignHighlightAction extends AbstractStyleHighlightAction { private int align = Constants.RIGHT; - public MyHighlightAction() { + public AlignHighlightAction() { this(Constants.RIGHT, 0); } - public MyHighlightAction(int align, int scope) { + public AlignHighlightAction(int align, int scope) { super(scope); this.align = align; } @@ -48,12 +36,9 @@ public class MyHighlightAction extends AbstractStyleHighlightAction { } @Override + @Focus(id = AlignHighlightConstants.PLUGIN_ID, text = "Plugin-Highlight_Align", source = Original.PLUGIN) protected Style modStyle(Style style) { - FunctionProcessor processor= ExtraClassManager.getInstance().getFunctionProcessor(); - if(processor!=null){ - processor.recordFunction(PPP); - } - PluginLicense pluginLicense = PluginLicenseManager.getInstance().getPluginLicenseByID(MyConstants.PLUGIN_ID); + PluginLicense pluginLicense = PluginLicenseManager.getInstance().getPluginLicenseByID(AlignHighlightConstants.PLUGIN_ID); if (pluginLicense != null && pluginLicense.isAvailable()) { return style.deriveHorizontalAlignment(align); } @@ -64,7 +49,7 @@ public class MyHighlightAction extends AbstractStyleHighlightAction { public void readXML(XMLableReader reader) { if (reader.isChildNode()) { String tagName = reader.getTagName(); - if (tagName.equals("MyAlign")) { + if (tagName.equals("Align")) { align = reader.getAttrAsInt("align", Constants.RIGHT); } } @@ -72,13 +57,23 @@ public class MyHighlightAction extends AbstractStyleHighlightAction { @Override public void writeXML(XMLPrintWriter writer) { - writer.startTAG("MyAlign").attr("align", align); + writer.startTAG("Align").attr("align", align); writer.end(); } + @Override + public boolean equals(Object o) { + return o instanceof AlignHighlightAction && super.equals(o) && ((AlignHighlightAction) o).align == align; + } + + @Override + public int hashCode() { + return AssistUtils.hashCode(align); + } + public Object clone() throws CloneNotSupportedException { - MyHighlightAction cloned = (MyHighlightAction)super.clone(); + AlignHighlightAction cloned = (AlignHighlightAction) super.clone(); cloned.align = align; - return cloned; + return cloned; } } \ No newline at end of file diff --git a/src/com/fr/plugin/cell/highlight/MyConstants.java b/src/main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightConstants.java similarity index 51% rename from src/com/fr/plugin/cell/highlight/MyConstants.java rename to src/main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightConstants.java index 49ceb49..c965fc6 100644 --- a/src/com/fr/plugin/cell/highlight/MyConstants.java +++ b/src/main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightConstants.java @@ -1,10 +1,10 @@ -package com.fr.plugin.cell.highlight; +package com.fr.plugin.cell.highlight.fun; /** * Created by richie on 16/3/30. */ -public class MyConstants { +public class AlignHighlightConstants { - public static final String PLUGIN_ID = "com.fr.plugin.cell.highlight.align"; + public static final String PLUGIN_ID = "com.fr.plugin.cell.highlight.align.v10"; } diff --git a/src/com/fr/plugin/cell/highlight/MyHighlightPane.java b/src/main/java/com/fr/plugin/cell/highlight/ui/AlignHighlightPane.java similarity index 68% rename from src/com/fr/plugin/cell/highlight/MyHighlightPane.java rename to src/main/java/com/fr/plugin/cell/highlight/ui/AlignHighlightPane.java index ed4b5af..0e81a5a 100644 --- a/src/com/fr/plugin/cell/highlight/MyHighlightPane.java +++ b/src/main/java/com/fr/plugin/cell/highlight/ui/AlignHighlightPane.java @@ -1,10 +1,11 @@ -package com.fr.plugin.cell.highlight; +package com.fr.plugin.cell.highlight.ui; import com.fr.design.condition.ConditionAttrSingleConditionPane; import com.fr.design.condition.ConditionAttributesPane; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIDictionaryComboBox; import com.fr.general.Inter; +import com.fr.plugin.cell.highlight.fun.AlignHighlightAction; import com.fr.report.cell.cellattr.highlight.HighlightAction; import com.fr.stable.Constants; @@ -15,11 +16,11 @@ import javax.swing.*; * @date 2015-03-26 * @since 8.0 */ -public class MyHighlightPane extends ConditionAttrSingleConditionPane { +public class AlignHighlightPane extends ConditionAttrSingleConditionPane { private UIDictionaryComboBox alignComboBox; private JComboBox scopeComboBox; - public MyHighlightPane(ConditionAttributesPane conditionAttributesPane) { + public AlignHighlightPane(ConditionAttributesPane conditionAttributesPane) { super(conditionAttributesPane); this.alignComboBox = new UIDictionaryComboBox( new Integer[]{Constants.LEFT, Constants.CENTER, Constants.RIGHT}, @@ -30,9 +31,9 @@ public class MyHighlightPane extends ConditionAttrSingleConditionPane