* commit 'ea3f19be1e9faf42e512fb6d285e11853590f24a': (31 commits) 冲突 冲突 1 1 冲突 滚动条 远程设计插件加载解耦 远程设计插件加载 bug:96398 设计器国际化问题 填报属性抽取通用属性接口,定时器依赖填报 校验改进 校验引擎部分继续改进 填报校验改进,designer暂时依赖engine-write update 重新初始化列名 打開多種佈局方式 自定义校验接口 自定义校验接口 对接打包 缩放属性面板 ...master
@ -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<ValueVerifier> { |
||||
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"; |
||||
} |
||||
} |
@ -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<WClassVerifier> { |
||||
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"; |
||||
} |
||||
} |
@ -1,255 +1,255 @@
|
||||
package com.fr.design.write.submit; |
||||
|
||||
import com.fr.data.SubmitJob; |
||||
import com.fr.design.ExtraDesignClassManager; |
||||
import com.fr.design.beans.BasicBeanPane; |
||||
import com.fr.design.fun.SubmitProvider; |
||||
import com.fr.design.gui.controlpane.NameObjectCreator; |
||||
import com.fr.design.gui.controlpane.NameableCreator; |
||||
import com.fr.design.gui.controlpane.ObjectJControlPane; |
||||
import com.fr.design.gui.icombobox.UIComboBox; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
import com.fr.design.layout.FRGUIPaneFactory; |
||||
import com.fr.design.mainframe.ElementCasePane; |
||||
import com.fr.design.scrollruler.ModLineBorder; |
||||
import com.fr.design.utils.gui.GUICoreUtils; |
||||
import com.fr.general.ComparatorUtils; |
||||
import com.fr.general.FRLogger; |
||||
import com.fr.general.Inter; |
||||
import com.fr.general.NameObject; |
||||
import com.fr.report.write.SubmitVisitor; |
||||
import com.fr.stable.ArrayUtils; |
||||
import com.fr.stable.Nameable; |
||||
import com.fr.stable.bridge.StableFactory; |
||||
import com.fr.write.BuiltInSQLSubmiterProvider; |
||||
import com.fr.write.DBManipulation; |
||||
import com.fr.write.ReportWriteAttrProvider; |
||||
import com.fr.write.WClassSubmiterProvider; |
||||
|
||||
import javax.swing.*; |
||||
import java.awt.*; |
||||
import java.awt.event.ItemEvent; |
||||
import java.awt.event.ItemListener; |
||||
import java.util.ArrayList; |
||||
import java.util.HashMap; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
public class SubmiterListPane extends ObjectJControlPane { |
||||
|
||||
public SubmiterListPane(ElementCasePane ePane) { |
||||
super(ePane); |
||||
} |
||||
|
||||
/** |
||||
* 创建选项 |
||||
* |
||||
* @return 选项 |
||||
*/ |
||||
public NameableCreator[] createNameableCreators() { |
||||
return new NameableCreator[]{ |
||||
new NameObjectCreator(Inter.getLocText("RWA-BuildIn_SQL"), |
||||
"/com/fr/web/images/reportlet.png", |
||||
// BuiltInSQLSubmiter.class,
|
||||
StableFactory.getRegisteredClass(BuiltInSQLSubmiterProvider.TAG), |
||||
BuildInSQLPane.class), |
||||
new NameObjectCreator( |
||||
Inter.getLocText(new String[]{"Custom", "RWA-Submit"}), |
||||
"/com/fr/web/images/reportlet.png", |
||||
// WClassSubmiter.class,
|
||||
StableFactory.getRegisteredClass(WClassSubmiterProvider.TAG), |
||||
CustomPane.class) |
||||
}; |
||||
} |
||||
|
||||
@Override |
||||
protected String title4PopupWindow() { |
||||
return "write"; |
||||
} |
||||
|
||||
public void populate(ReportWriteAttrProvider reportWriteAttr) { |
||||
if (reportWriteAttr == null) { |
||||
return; |
||||
} |
||||
|
||||
List<NameObject> nameObjectList = new ArrayList<NameObject>(); |
||||
|
||||
int submiterCount = reportWriteAttr.getSubmitVisitorCount(); |
||||
for (int i = 0; i < submiterCount; i++) { |
||||
SubmitVisitor submiter = reportWriteAttr.getSubmitVisitor(i); |
||||
String name = reportWriteAttr.getSubmitVisitorNameList(i); |
||||
nameObjectList.add(new NameObject(name, submiter)); |
||||
} |
||||
|
||||
this.populate(nameObjectList.toArray(new NameObject[nameObjectList.size()])); |
||||
} |
||||
|
||||
/** |
||||
* 更新填报属性 |
||||
* |
||||
* @param reportWriteAttr 报表填报属性 |
||||
*/ |
||||
public void updateReportWriteAttr(ReportWriteAttrProvider reportWriteAttr) { |
||||
// Nameable[]居然不能强转成NameObject[],一定要这么写...
|
||||
Nameable[] res = this.update(); |
||||
NameObject[] res_array = new NameObject[res.length]; |
||||
java.util.Arrays.asList(res).toArray(res_array); |
||||
|
||||
reportWriteAttr.clearSubmitVisitors(); |
||||
|
||||
for (int i = 0; i < res_array.length; i++) { |
||||
NameObject nameObject = res_array[i]; |
||||
if (nameObject.getObject() instanceof SubmitVisitor) { |
||||
reportWriteAttr.addSubmitVisitor(nameObject.getName(), (SubmitVisitor) nameObject.getObject()); |
||||
} |
||||
} |
||||
} |
||||
|
||||
public static class BuildInSQLPane extends BasicBeanPane<BuiltInSQLSubmiterProvider> { |
||||
protected DBManipulationPane dbManipulationPane; |
||||
private BuiltInSQLSubmiterProvider editing; |
||||
|
||||
public BuildInSQLPane() { |
||||
|
||||
} |
||||
|
||||
public BuildInSQLPane(ElementCasePane ePane) { |
||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||
dbManipulationPane = new SmartInsertDBManipulationPane(ePane); |
||||
this.add(dbManipulationPane, BorderLayout.CENTER); |
||||
} |
||||
|
||||
@Override |
||||
protected String title4PopupWindow() { |
||||
return "builtinsql"; |
||||
} |
||||
|
||||
@Override |
||||
public void populateBean(BuiltInSQLSubmiterProvider ob) { |
||||
editing = ob; |
||||
|
||||
DBManipulation dbManipulation = ob.getDBManipulation(); |
||||
dbManipulationPane.populateBean(dbManipulation); |
||||
} |
||||
|
||||
@Override |
||||
public BuiltInSQLSubmiterProvider updateBean() { |
||||
DBManipulation dbManipulation = dbManipulationPane.updateBean(); |
||||
|
||||
//复制对象用于撤销
|
||||
try{ |
||||
editing = (BuiltInSQLSubmiterProvider)editing.clone(); |
||||
}catch (Exception e){ |
||||
FRLogger.getLogger().error(e.getMessage()); |
||||
} |
||||
editing.setDBManipulation(dbManipulation); |
||||
|
||||
return editing; |
||||
} |
||||
|
||||
/** |
||||
* 检查是否符合规范 |
||||
* |
||||
* @throws Exception |
||||
*/ |
||||
public void checkValid() throws Exception { |
||||
this.dbManipulationPane.checkValid(); |
||||
} |
||||
} |
||||
|
||||
public static class CustomPane extends BasicBeanPane<WClassSubmiterProvider> { |
||||
private UIComboBox csjConfigComboBox = null; |
||||
private JPanel customCardPane = null; |
||||
private Map<String, BasicBeanPane> customSubmitPanes = null; |
||||
private final Map<String, String> comboItemsMap; |
||||
|
||||
private List<String> configTypes = null; |
||||
|
||||
private WClassSubmiterProvider editing; |
||||
|
||||
private static final String DEFAULT_PANE_TYPE = "submitnormal"; |
||||
|
||||
public CustomPane() { |
||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||
customCardPane = FRGUIPaneFactory.createCardLayout_S_Pane(); |
||||
customSubmitPanes = new HashMap<String, BasicBeanPane>(); |
||||
comboItemsMap = new HashMap<String, String>(); |
||||
|
||||
SubmitProvider[] providers = ExtraDesignClassManager.getInstance().getSubmitProviders(); |
||||
providers = (SubmitProvider[])ArrayUtils.add(providers, new DefaultSubmit()); |
||||
for (SubmitProvider provider : providers) { |
||||
customSubmitPanes.put(provider.keyForSubmit(), provider.appearanceForSubmit()); |
||||
comboItemsMap.put(provider.keyForSubmit(), provider.dataForSubmit()); |
||||
} |
||||
|
||||
configTypes = new ArrayList<String>(); |
||||
for (Map.Entry<String, BasicBeanPane> entry : customSubmitPanes.entrySet()) { |
||||
String key = entry.getKey(); |
||||
configTypes.add(comboItemsMap.get(key)); |
||||
customCardPane.add(entry.getValue(), key); |
||||
} |
||||
csjConfigComboBox = new UIComboBox(configTypes.toArray()); |
||||
|
||||
JPanel typePane = GUICoreUtils.createFlowPane(new Component[]{new UILabel(Inter.getLocText(new String[]{"Choose", "Type"}) + ":"), csjConfigComboBox}, |
||||
FlowLayout.LEFT, 10); |
||||
typePane.setBorder(BorderFactory.createTitledBorder(new ModLineBorder(ModLineBorder.TOP), Inter.getLocText(new String[]{"Submit", "Type"}))); |
||||
this.add(typePane, BorderLayout.NORTH); |
||||
|
||||
this.add(customCardPane, BorderLayout.CENTER); |
||||
|
||||
csjConfigComboBox.addItemListener(new ItemListener() { |
||||
@Override |
||||
public void itemStateChanged(ItemEvent e) { |
||||
if (e.getStateChange() == ItemEvent.SELECTED) { |
||||
Object ob = e.getItem(); |
||||
CardLayout c1 = (CardLayout) customCardPane.getLayout(); |
||||
for (String key : customSubmitPanes.keySet()) { |
||||
String item = comboItemsMap.get(key); |
||||
if ((ComparatorUtils.equals(ob, item))) { |
||||
c1.show(customCardPane, key); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}); |
||||
} |
||||
|
||||
@Override |
||||
public void populateBean(WClassSubmiterProvider ob) { |
||||
editing = ob; |
||||
SubmitJob submitJob = ob.getSubmitJob(); |
||||
if (submitJob == null) { |
||||
csjConfigComboBox.setSelectedItem(comboItemsMap.get(DEFAULT_PANE_TYPE)); |
||||
|
||||
for (Map.Entry<String, BasicBeanPane> entry : customSubmitPanes.entrySet()) { |
||||
entry.getValue().populateBean(submitJob); |
||||
} |
||||
return; |
||||
} |
||||
String pantype=submitJob.getJobType(); |
||||
BasicBeanPane pane = customSubmitPanes.get(pantype); |
||||
if (pane != null) { |
||||
csjConfigComboBox.setSelectedItem(comboItemsMap.get(pantype)); |
||||
pane.populateBean(submitJob); |
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
@Override |
||||
public WClassSubmiterProvider updateBean() { |
||||
for (Map.Entry<String, BasicBeanPane> entry : customSubmitPanes.entrySet()) { |
||||
BasicBeanPane pane = entry.getValue(); |
||||
if (pane != null && pane.isVisible()) { |
||||
editing.setSubmitJob((SubmitJob) pane.updateBean()); |
||||
} |
||||
} |
||||
return editing; |
||||
} |
||||
|
||||
@Override |
||||
protected String title4PopupWindow() { |
||||
return "custom"; |
||||
} |
||||
} |
||||
package com.fr.design.write.submit; |
||||
|
||||
import com.fr.data.SubmitJob; |
||||
import com.fr.design.ExtraDesignClassManager; |
||||
import com.fr.design.beans.BasicBeanPane; |
||||
import com.fr.design.fun.SubmitProvider; |
||||
import com.fr.design.gui.controlpane.NameObjectCreator; |
||||
import com.fr.design.gui.controlpane.NameableCreator; |
||||
import com.fr.design.gui.controlpane.ObjectJControlPane; |
||||
import com.fr.design.gui.icombobox.UIComboBox; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
import com.fr.design.layout.FRGUIPaneFactory; |
||||
import com.fr.design.mainframe.ElementCasePane; |
||||
import com.fr.design.scrollruler.ModLineBorder; |
||||
import com.fr.design.utils.gui.GUICoreUtils; |
||||
import com.fr.general.ComparatorUtils; |
||||
import com.fr.general.FRLogger; |
||||
import com.fr.general.Inter; |
||||
import com.fr.general.NameObject; |
||||
import com.fr.report.write.BuiltInSQLSubmiter; |
||||
import com.fr.report.write.ReportWriteAttr; |
||||
import com.fr.report.write.SubmitVisitor; |
||||
import com.fr.report.write.WClassSubmiter; |
||||
import com.fr.stable.ArrayUtils; |
||||
import com.fr.stable.Nameable; |
||||
import com.fr.write.BuiltInSQLSubmiterProvider; |
||||
import com.fr.write.DBManipulation; |
||||
import com.fr.write.WClassSubmiterProvider; |
||||
|
||||
import javax.swing.*; |
||||
import java.awt.*; |
||||
import java.awt.event.ItemEvent; |
||||
import java.awt.event.ItemListener; |
||||
import java.util.ArrayList; |
||||
import java.util.HashMap; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
public class SubmitVisitorListPane extends ObjectJControlPane { |
||||
|
||||
public SubmitVisitorListPane(ElementCasePane ePane) { |
||||
super(ePane); |
||||
} |
||||
|
||||
/** |
||||
* 创建选项 |
||||
* |
||||
* @return 选项 |
||||
*/ |
||||
public NameableCreator[] createNameableCreators() { |
||||
return new NameableCreator[]{ |
||||
new NameObjectCreator(Inter.getLocText("RWA-BuildIn_SQL"), |
||||
"/com/fr/web/images/reportlet.png", |
||||
BuiltInSQLSubmiter.class, |
||||
BuildInSQLPane.class), |
||||
new NameObjectCreator( |
||||
Inter.getLocText(new String[]{"Custom", "RWA-Submit"}), |
||||
"/com/fr/web/images/reportlet.png", |
||||
WClassSubmiter.class, |
||||
CustomPane.class) |
||||
}; |
||||
} |
||||
|
||||
@Override |
||||
protected String title4PopupWindow() { |
||||
return "write"; |
||||
} |
||||
|
||||
public void populate(ReportWriteAttr reportWriteAttr) { |
||||
if (reportWriteAttr == null) { |
||||
return; |
||||
} |
||||
|
||||
List<NameObject> nameObjectList = new ArrayList<>(); |
||||
|
||||
int submiterCount = reportWriteAttr.getSubmitVisitorCount(); |
||||
for (int i = 0; i < submiterCount; i++) { |
||||
SubmitVisitor visitor = reportWriteAttr.getSubmitVisitor(i); |
||||
nameObjectList.add(new NameObject(visitor.getName(), visitor)); |
||||
} |
||||
|
||||
this.populate(nameObjectList.toArray(new NameObject[nameObjectList.size()])); |
||||
} |
||||
|
||||
/** |
||||
* 更新填报属性 |
||||
* |
||||
* @param reportWriteAttr 报表填报属性 |
||||
*/ |
||||
public void updateReportWriteAttr(ReportWriteAttr reportWriteAttr) { |
||||
// Nameable[]居然不能强转成NameObject[],一定要这么写...
|
||||
Nameable[] res = this.update(); |
||||
NameObject[] res_array = new NameObject[res.length]; |
||||
java.util.Arrays.asList(res).toArray(res_array); |
||||
|
||||
reportWriteAttr.clearSubmitVisitors(); |
||||
|
||||
for (int i = 0; i < res_array.length; i++) { |
||||
NameObject nameObject = res_array[i]; |
||||
if (nameObject.getObject() instanceof SubmitVisitor) { |
||||
SubmitVisitor visitor = (SubmitVisitor) nameObject.getObject(); |
||||
visitor.setName(nameObject.getName()); |
||||
reportWriteAttr.addSubmitVisitor(visitor); |
||||
} |
||||
} |
||||
} |
||||
|
||||
public static class BuildInSQLPane extends BasicBeanPane<BuiltInSQLSubmiterProvider> { |
||||
protected DBManipulationPane dbManipulationPane; |
||||
private BuiltInSQLSubmiterProvider editing; |
||||
|
||||
public BuildInSQLPane() { |
||||
|
||||
} |
||||
|
||||
public BuildInSQLPane(ElementCasePane ePane) { |
||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||
dbManipulationPane = new SmartInsertDBManipulationPane(ePane); |
||||
this.add(dbManipulationPane, BorderLayout.CENTER); |
||||
} |
||||
|
||||
@Override |
||||
protected String title4PopupWindow() { |
||||
return "builtinsql"; |
||||
} |
||||
|
||||
@Override |
||||
public void populateBean(BuiltInSQLSubmiterProvider ob) { |
||||
editing = ob; |
||||
|
||||
DBManipulation dbManipulation = ob.getDBManipulation(); |
||||
dbManipulationPane.populateBean(dbManipulation); |
||||
} |
||||
|
||||
@Override |
||||
public BuiltInSQLSubmiterProvider updateBean() { |
||||
DBManipulation dbManipulation = dbManipulationPane.updateBean(); |
||||
|
||||
//复制对象用于撤销
|
||||
try { |
||||
editing = (BuiltInSQLSubmiterProvider) editing.clone(); |
||||
} catch (Exception e) { |
||||
FRLogger.getLogger().error(e.getMessage()); |
||||
} |
||||
editing.setDBManipulation(dbManipulation); |
||||
|
||||
return editing; |
||||
} |
||||
|
||||
/** |
||||
* 检查是否符合规范 |
||||
* |
||||
* @throws Exception |
||||
*/ |
||||
public void checkValid() throws Exception { |
||||
this.dbManipulationPane.checkValid(); |
||||
} |
||||
} |
||||
|
||||
public static class CustomPane extends BasicBeanPane<WClassSubmiterProvider> { |
||||
private UIComboBox csjConfigComboBox = null; |
||||
private JPanel customCardPane = null; |
||||
private Map<String, BasicBeanPane> customSubmitPanes = null; |
||||
private final Map<String, String> comboItemsMap; |
||||
|
||||
private List<String> configTypes = null; |
||||
|
||||
private WClassSubmiterProvider editing; |
||||
|
||||
private static final String DEFAULT_PANE_TYPE = "submitnormal"; |
||||
|
||||
public CustomPane() { |
||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||
customCardPane = FRGUIPaneFactory.createCardLayout_S_Pane(); |
||||
customSubmitPanes = new HashMap<String, BasicBeanPane>(); |
||||
comboItemsMap = new HashMap<String, String>(); |
||||
|
||||
SubmitProvider[] providers = ExtraDesignClassManager.getInstance().getSubmitProviders(); |
||||
providers = (SubmitProvider[]) ArrayUtils.add(providers, new DefaultSubmit()); |
||||
for (SubmitProvider provider : providers) { |
||||
customSubmitPanes.put(provider.keyForSubmit(), provider.appearanceForSubmit()); |
||||
comboItemsMap.put(provider.keyForSubmit(), provider.dataForSubmit()); |
||||
} |
||||
|
||||
configTypes = new ArrayList<String>(); |
||||
for (Map.Entry<String, BasicBeanPane> entry : customSubmitPanes.entrySet()) { |
||||
String key = entry.getKey(); |
||||
configTypes.add(comboItemsMap.get(key)); |
||||
customCardPane.add(entry.getValue(), key); |
||||
} |
||||
csjConfigComboBox = new UIComboBox(configTypes.toArray()); |
||||
|
||||
JPanel typePane = GUICoreUtils.createFlowPane(new Component[]{new UILabel(Inter.getLocText(new String[]{"Choose", "Type"}) + ":"), csjConfigComboBox}, |
||||
FlowLayout.LEFT, 10); |
||||
typePane.setBorder(BorderFactory.createTitledBorder(new ModLineBorder(ModLineBorder.TOP), Inter.getLocText(new String[]{"Submit", "Type"}))); |
||||
this.add(typePane, BorderLayout.NORTH); |
||||
|
||||
this.add(customCardPane, BorderLayout.CENTER); |
||||
|
||||
csjConfigComboBox.addItemListener(new ItemListener() { |
||||
@Override |
||||
public void itemStateChanged(ItemEvent e) { |
||||
if (e.getStateChange() == ItemEvent.SELECTED) { |
||||
Object ob = e.getItem(); |
||||
CardLayout c1 = (CardLayout) customCardPane.getLayout(); |
||||
for (String key : customSubmitPanes.keySet()) { |
||||
String item = comboItemsMap.get(key); |
||||
if ((ComparatorUtils.equals(ob, item))) { |
||||
c1.show(customCardPane, key); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
}); |
||||
} |
||||
|
||||
@Override |
||||
public void populateBean(WClassSubmiterProvider ob) { |
||||
editing = ob; |
||||
SubmitJob submitJob = ob.getSubmitJob(); |
||||
if (submitJob == null) { |
||||
csjConfigComboBox.setSelectedItem(comboItemsMap.get(DEFAULT_PANE_TYPE)); |
||||
|
||||
for (Map.Entry<String, BasicBeanPane> entry : customSubmitPanes.entrySet()) { |
||||
entry.getValue().populateBean(submitJob); |
||||
} |
||||
return; |
||||
} |
||||
String pantype = submitJob.getJobType(); |
||||
BasicBeanPane pane = customSubmitPanes.get(pantype); |
||||
if (pane != null) { |
||||
csjConfigComboBox.setSelectedItem(comboItemsMap.get(pantype)); |
||||
pane.populateBean(submitJob); |
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
@Override |
||||
public WClassSubmiterProvider updateBean() { |
||||
for (Map.Entry<String, BasicBeanPane> entry : customSubmitPanes.entrySet()) { |
||||
BasicBeanPane pane = entry.getValue(); |
||||
if (pane != null && pane.isVisible()) { |
||||
editing.setSubmitJob((SubmitJob) pane.updateBean()); |
||||
} |
||||
} |
||||
return editing; |
||||
} |
||||
|
||||
@Override |
||||
protected String title4PopupWindow() { |
||||
return "custom"; |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,40 @@
|
||||
package com.fr.design.fun; |
||||
|
||||
import com.fr.data.Verifier; |
||||
import com.fr.design.beans.BasicBeanPane; |
||||
import com.fr.stable.fun.Level; |
||||
import com.fr.stable.fun.Provider; |
||||
|
||||
/** |
||||
* Created by richie on 16/6/8. |
||||
*/ |
||||
public interface VerifyDefineProvider extends Level, Provider { |
||||
|
||||
String MARK_STRING = "VerifyDefineProvider"; |
||||
|
||||
int CURRENT_LEVEL = 1; |
||||
|
||||
/** |
||||
* 对应的校验类 |
||||
* @return 校验类 |
||||
*/ |
||||
Class<? extends Verifier> classForVerifier(); |
||||
|
||||
/** |
||||
* 校验设置的界面 |
||||
* @return 界面 |
||||
*/ |
||||
Class<? extends BasicBeanPane> appearanceForVerifier(); |
||||
|
||||
/** |
||||
* 此种类型的校验的名字 |
||||
* @return 名字 |
||||
*/ |
||||
String nameForVerifier(); |
||||
|
||||
/** |
||||
* 菜单图标 |
||||
* @return 图标路径 |
||||
*/ |
||||
String iconPath(); |
||||
} |
@ -0,0 +1,20 @@
|
||||
package com.fr.design.fun.impl; |
||||
|
||||
import com.fr.design.fun.VerifyDefineProvider; |
||||
import com.fr.stable.fun.impl.AbstractProvider; |
||||
|
||||
/** |
||||
* Created by richie on 16/6/8. |
||||
*/ |
||||
public abstract class AbstractVerifyDefineProvider extends AbstractProvider implements VerifyDefineProvider { |
||||
|
||||
@Override |
||||
public int currentAPILevel() { |
||||
return CURRENT_LEVEL; |
||||
} |
||||
|
||||
@Override |
||||
public String mark4Provider() { |
||||
return getClass().getName(); |
||||
} |
||||
} |
After Width: | Height: | Size: 745 B |
After Width: | Height: | Size: 810 B |
After Width: | Height: | Size: 837 B |
After Width: | Height: | Size: 779 B |
After Width: | Height: | Size: 815 B |
After Width: | Height: | Size: 818 B |
After Width: | Height: | Size: 890 B |
After Width: | Height: | Size: 842 B |