diff --git a/designer/designer.iml b/designer/designer.iml
index c798a6fe0..796f2413b 100644
--- a/designer/designer.iml
+++ b/designer/designer.iml
@@ -17,5 +17,6 @@
+
\ No newline at end of file
diff --git a/designer/src/com/fr/design/report/BuildInVerifierPane.java b/designer/src/com/fr/design/report/BuildInVerifierPane.java
new file mode 100644
index 000000000..895b7fb34
--- /dev/null
+++ b/designer/src/com/fr/design/report/BuildInVerifierPane.java
@@ -0,0 +1,35 @@
+package com.fr.design.report;
+
+import com.fr.design.beans.BasicBeanPane;
+import com.fr.design.layout.FRGUIPaneFactory;
+import com.fr.report.write.ValueVerifier;
+
+import java.awt.*;
+
+/**
+ * Created by richie on 16/6/12.
+ */
+public class BuildInVerifierPane extends BasicBeanPane {
+ private ValueVerifierEditPane valueVerifierEditPane;
+
+ public BuildInVerifierPane() {
+ this.setLayout(FRGUIPaneFactory.createBorderLayout());
+ valueVerifierEditPane = new ValueVerifierEditPane();
+ this.add(valueVerifierEditPane, BorderLayout.CENTER);
+ }
+
+ @Override
+ public void populateBean(ValueVerifier ob) {
+ valueVerifierEditPane.populate(ob);
+ }
+
+ @Override
+ public ValueVerifier updateBean() {
+ return valueVerifierEditPane.update();
+ }
+
+ @Override
+ protected String title4PopupWindow() {
+ return "BuiltIn";
+ }
+}
diff --git a/designer/src/com/fr/design/report/CustomVerifierPane.java b/designer/src/com/fr/design/report/CustomVerifierPane.java
new file mode 100644
index 000000000..99cadedd5
--- /dev/null
+++ b/designer/src/com/fr/design/report/CustomVerifierPane.java
@@ -0,0 +1,37 @@
+package com.fr.design.report;
+
+import com.fr.design.beans.BasicBeanPane;
+import com.fr.design.layout.FRGUIPaneFactory;
+import com.fr.report.write.WClassVerifier;
+
+import java.awt.*;
+
+/**
+ * Created by richie on 16/6/12.
+ */
+public class CustomVerifierPane extends BasicBeanPane {
+ private CustomVerifyJobPane pane;
+
+ public CustomVerifierPane() {
+ this.setLayout(FRGUIPaneFactory.createBorderLayout());
+ pane = new CustomVerifyJobPane();
+ this.add(pane, BorderLayout.CENTER);
+ }
+
+ @Override
+ public void populateBean(WClassVerifier ob) {
+ this.pane.populateBean(ob.getClassVerifyJob());
+ }
+
+ @Override
+ public WClassVerifier updateBean() {
+ WClassVerifier verifier = new WClassVerifier();
+ verifier.setClassVerifyJob(this.pane.updateBean());
+ return verifier;
+ }
+
+ @Override
+ protected String title4PopupWindow() {
+ return "custom";
+ }
+}
diff --git a/designer/src/com/fr/design/report/ValueVerifierEditPane.java b/designer/src/com/fr/design/report/ValueVerifierEditPane.java
index 497d7abda..09da8b85f 100644
--- a/designer/src/com/fr/design/report/ValueVerifierEditPane.java
+++ b/designer/src/com/fr/design/report/ValueVerifierEditPane.java
@@ -2,11 +2,15 @@ package com.fr.design.report;
import com.fr.base.Formula;
import com.fr.data.Verifier;
+import com.fr.data.VerifyItem;
import com.fr.design.gui.itableeditorpane.ActionStyle;
import com.fr.design.gui.itableeditorpane.UIArrayTableModel;
import com.fr.design.gui.itableeditorpane.UITableEditorPane;
import com.fr.design.layout.FRGUIPaneFactory;
+import com.fr.general.GeneralUtils;
import com.fr.general.Inter;
+import com.fr.report.write.ValueVerifier;
+import com.fr.stable.FormulaProvider;
import com.fr.stable.bridge.StableFactory;
import com.fr.write.ReportWriteAttrProvider;
import com.fr.write.ValueVerifierProvider;
@@ -32,116 +36,35 @@ public class ValueVerifierEditPane extends JPanel {
/**
* populate
*/
- public void populate(ReportWriteAttrProvider reportWriteAttr) {
- if (reportWriteAttr == null) {
+ public void populate(ValueVerifier valueVerifier) {
+ if (valueVerifier == null) {
return;
}
- int rowCount = reportWriteAttr.getVerifierCount();
- Object[][] os = new Object[reportWriteAttr.getValueVerifierCount()][];
- int cnt = 0;
- for (int i = 0; i < rowCount; i++) {
- if (!(reportWriteAttr.getVerifier(i) instanceof ValueVerifierProvider)) {
- continue;
- }
- Formula formula = ((ValueVerifierProvider)reportWriteAttr.getVerifier(i)).getFormula();
+ int rowCount = valueVerifier.getVerifyItemsCount();
+ Object[][] os = new Object[rowCount][];
+ int tableDataCount = 0;
+ for (int i = 0; i < rowCount; i ++) {
+ VerifyItem item = valueVerifier.getVerifyItem(i);
+ FormulaProvider formula = item.getFormula();
if (formula == null) {
continue;
}
- String formulaContent = formula.getContent().substring(1);
- String message = reportWriteAttr.getVerifier(i).getMessage();
- os[cnt++] = new Object[] { formulaContent, message };
+ os[tableDataCount++] = new Object[]{formula.getPureContent(), item.getMessage()};
}
this.tableEditorPane.populate(os);
}
- /**
- * update
- */
- public void update(ReportWriteAttrProvider reportWriteAttr, String name) {
+ public ValueVerifier update() {
+ ValueVerifier valueVerifier = new ValueVerifier();
java.util.List