From 601fab68d132601fb6c5763e703f9fd20fbf9491 Mon Sep 17 00:00:00 2001 From: plough Date: Wed, 2 Aug 2017 20:06:12 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-3163=20=E5=90=88=E4=BD=9C=E5=BC=80?= =?UTF-8?q?=E5=8F=919.0=E8=AE=BE=E8=AE=A1=E5=99=A8=3D>=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=BA=8B=E4=BB=B6=E7=BC=96=E8=BE=91=EF=BC=88?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=EF=BC=89=3D=E3=80=8B=E6=95=B4=E5=90=88?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=AE=9E=E7=8E=B0=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/widget/WidgetEventPane.java | 75 +------------------ 1 file changed, 4 insertions(+), 71 deletions(-) diff --git a/designer/src/com/fr/design/widget/WidgetEventPane.java b/designer/src/com/fr/design/widget/WidgetEventPane.java index 449e599e8..3d37770b0 100644 --- a/designer/src/com/fr/design/widget/WidgetEventPane.java +++ b/designer/src/com/fr/design/widget/WidgetEventPane.java @@ -6,6 +6,7 @@ import java.util.List; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.controlpane.ObjectUIControlPane; +import com.fr.design.mainframe.CellWidgetPropertyPane; import com.fr.design.present.CellWriteAttrPane; import com.fr.design.write.submit.DBManipulationPane; import com.fr.design.write.submit.SmartInsertDBManipulationInWidgetEventPane; @@ -30,14 +31,9 @@ import com.fr.report.stable.ReportConstants; import com.fr.stable.Nameable; public class WidgetEventPane extends ObjectUIControlPane { - private ElementCasePane ePane; - - public WidgetEventPane() { - this(null); - } + public WidgetEventPane(ElementCasePane pane) { super(pane); - ePane = pane; this.setNameListEditable(false); } @@ -58,67 +54,7 @@ public class WidgetEventPane extends ObjectUIControlPane { @Override public void saveSettings() { - - final TemplateElementCase tplEC = ePane.getEditingElementCase(); - final CellSelection finalCS = (CellSelection) ePane.getSelection(); - TemplateCellElement editCellElement = tplEC.getTemplateCellElement(finalCS.getColumn(), finalCS.getRow()); - if (editCellElement == null) { - editCellElement = new DefaultTemplateCellElement(finalCS.getColumn(), finalCS.getRow()); - tplEC.addCellElement(editCellElement); - } - final BasicPane bp = populateBasicPane(editCellElement); - - // 需要先行后列地增加新元素。 - for (int j = 0; j < finalCS.getRowSpan(); j++) { - for (int i = 0; i < finalCS.getColumnSpan(); i++) { - int column = i + finalCS.getColumn(); - int row = j + finalCS.getRow(); - editCellElement = tplEC.getTemplateCellElement(column, row); - if (editCellElement == null) { - editCellElement = new DefaultTemplateCellElement(column, row); - tplEC.addCellElement(editCellElement); - } - // alex:不加这一句话会导致跨行跨列的格子被多次update - if (editCellElement.getColumn() != column || editCellElement.getRow() != row) { - continue; - } - updateBasicPane(bp, editCellElement); - - Object editElementValue = editCellElement.getValue(); - if (editElementValue != null && (editElementValue instanceof String || editElementValue instanceof Number)) { - // TODO ALEX_SEP 暂时用FIT_DEFAULT替代,不取reportsetting里面的设置,因为也不知道是应该放在report里面还是elementcase里面 - GridUtils.shrinkToFit(ReportConstants.AUTO_SHRINK_TO_FIT_DEFAULT, tplEC, editCellElement); - } - } - } - ePane.fireTargetModified(); - } - - private BasicPane populateBasicPane(TemplateCellElement cellElement) { - CellWriteAttrPane pane = new CellWriteAttrPane(ePane); - //got simple cell element from column and row. - pane.populate(cellElement); - - return pane; - } - - private void updateBasicPane(BasicPane bp, TemplateCellElement cellElement) { - CellWriteAttrPane pane = (CellWriteAttrPane) bp; - if (cellElement.getWidget() == null) { - pane.update(cellElement); - return; - } - try { - Widget oldWidget = (Widget) cellElement.getWidget().clone(); - pane.update(cellElement); - //这边需要重新设置权限细粒度的hashset是因为Update是直接生成一个新的来update的,所以以前里面的hashset都没有了 - Widget newWidget = cellElement.getWidget(); - if (newWidget.getClass() == oldWidget.getClass()) { - newWidget.setWidgetPrivilegeControl((WidgetPrivilegeControl) oldWidget.getWidgetPrivilegeControl().clone()); - } - } catch (Exception e) { - FRLogger.getLogger().error(e.getMessage()); - } + CellWidgetPropertyPane.getInstance().update(); } @Override @@ -127,10 +63,7 @@ public class WidgetEventPane extends ObjectUIControlPane { } public static class WidgetEventListenerUpdatePane extends ListenerUpdatePane { - private ElementCasePane epane; - public WidgetEventListenerUpdatePane() { - this(null); - } + private ElementCasePane epane; public WidgetEventListenerUpdatePane(ElementCasePane epane){ this.epane = epane; super.initComponents();