Browse Source

条件属性-对齐示例

pull/1/head
richie 6 years ago
parent
commit
093df3e33b
  1. 23
      README.md
  2. BIN
      screenshots/1.png
  3. BIN
      screenshots/2.png
  4. BIN
      screenshots/3.png
  5. BIN
      screenshots/4.png
  6. BIN
      screenshots/e0.png
  7. BIN
      screenshots/e1.png
  8. BIN
      screenshots/e2.png
  9. 7
      src/main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightAction.java
  10. 2
      src/main/resources/com/fr/plugin/cell/highlight/locale/align.properties

23
README.md

@ -1,16 +1,19 @@
# 自定义条件属性
# 条件属性扩展-单元对齐
当前已有的条件属性包含下图中的几种类型
该插件提供了扩展的条件属性,可以根据单元格设置的条件属性有不同的对齐方式。
![0](screenshots/e0.png)
模板设置如下图所示:
在特殊情况下,已有的几种类型并不能完全满足需求,典型的就是,根据不同的条件把单元格内的内容做不同的对齐。
这个时候,就可以使用条件属性接口```com.fr.design.fun.HighlightProvider```以及其抽象类```com.fr.design.fun.impl.AbstractHighlightProvider```了。
通过这个接口可以制作出如下如所示的插件效果
![1](screenshots/1.png)
![1](screenshots/e1.png)
添加三个条件属性,分别设置了值为1的时候居中对齐、值为2的时候左对齐、值为3的时候右对齐
可以看到多出了一个"我的条件属性"的项,当然这个名字是可以根据实际情况修改的。
选择了以后,就可以设置单元格的对齐方式了
![2](screenshots/2.png)
![2](screenshots/e2.png)
下图中仅列了第一个条件属性
![3](screenshots/3.png)
模板预览结果如下图所示:
![4](screenshots/4.png)

BIN
screenshots/1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

BIN
screenshots/2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

BIN
screenshots/3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

BIN
screenshots/4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
screenshots/e0.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

BIN
screenshots/e1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

BIN
screenshots/e2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

7
src/main/java/com/fr/plugin/cell/highlight/fun/AlignHighlightAction.java

@ -6,7 +6,9 @@ import com.fr.intelli.record.Original;
import com.fr.plugin.PluginLicense;
import com.fr.plugin.PluginLicenseManager;
import com.fr.record.analyzer.EnableMetrics;
import com.fr.report.cell.CellElement;
import com.fr.report.cell.cellattr.highlight.AbstractStyleHighlightAction;
import com.fr.script.Calculator;
import com.fr.stable.AssistUtils;
import com.fr.stable.Constants;
import com.fr.stable.xml.XMLPrintWriter;
@ -35,6 +37,11 @@ public class AlignHighlightAction extends AbstractStyleHighlightAction {
return align;
}
@Override
public void action(CellElement cellElement, Calculator calculator) {
super.action(cellElement, calculator);
}
@Override
@Focus(id = AlignHighlightConstants.PLUGIN_ID, text = "Plugin-Highlight_Align", source = Original.PLUGIN)
protected Style modStyle(Style style) {

2
src/main/resources/com/fr/plugin/cell/highlight/locale/align.properties

@ -4,4 +4,4 @@ Plugin-Highlight_Align_Center=Center
Plugin-Highlight_Align_Right=Right
Plugin-Highlight_Align_Current_Row=Current row
Plugin-Highlight_Align_Current_Column=Current column
Plugin-Highlight_Align_Current_Cell Current cell
Plugin-Highlight_Align_Current_Cell=Current cell
Loading…
Cancel
Save