From 8594603c2a7b2cf9a308c5c1f982e996b6c06a77 Mon Sep 17 00:00:00 2001 From: plough Date: Thu, 24 Aug 2017 19:12:13 +0800 Subject: [PATCH 1/5] =?UTF-8?q?REPORT-3899=20[9.0=E4=B8=80=E8=BD=AE?= =?UTF-8?q?=E5=9B=9E=E5=BD=92]=E8=81=9A=E5=90=88=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E8=81=9A=E5=90=88=E5=9D=97=E5=A4=8D=E5=88=B6=E7=B2=98=E8=B4=B4?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=B8=8D=E5=8F=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer/src/com/fr/poly/PolyDesigner.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/designer/src/com/fr/poly/PolyDesigner.java b/designer/src/com/fr/poly/PolyDesigner.java index 0c700a7bf..fcafd4c8c 100644 --- a/designer/src/com/fr/poly/PolyDesigner.java +++ b/designer/src/com/fr/poly/PolyDesigner.java @@ -738,7 +738,7 @@ public class PolyDesigner extends ReportComponent Date: Fri, 25 Aug 2017 15:34:44 +0800 Subject: [PATCH 2/5] =?UTF-8?q?REPORT-3993=20-=20[9.0=E4=B8=80=E8=BD=AE?= =?UTF-8?q?=E5=9B=9E=E5=BD=92]=E9=80=89=E4=B8=AD=E4=B8=80=E7=89=87?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BC=E8=AE=BE=E7=BD=AE=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E3=80=81=E6=9D=A1=E4=BB=B6=E5=B1=9E=E6=80=A7=EF=BC=8C=E5=8F=AA?= =?UTF-8?q?=E6=9C=89=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=8D=95=E5=85=83=E6=A0=BC?= =?UTF-8?q?=E6=9C=89=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mainframe/CellWidgetPropertyPane.java | 31 ++++++++++++------- .../present/ConditionAttributesGroupPane.java | 24 +++++++++++++- 2 files changed, 43 insertions(+), 12 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java b/designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java index 5637a68ca..60f45450c 100644 --- a/designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java +++ b/designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java @@ -1,6 +1,7 @@ package com.fr.design.mainframe; import com.fr.base.FRContext; +import com.fr.design.actions.utils.ReportActionUtils; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.DialogActionAdapter; @@ -15,6 +16,7 @@ import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.Selection; import com.fr.privilege.finegrain.WidgetPrivilegeControl; +import com.fr.report.cell.CellElement; import com.fr.report.cell.DefaultTemplateCellElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.elementcase.TemplateElementCase; @@ -30,6 +32,7 @@ public class CellWidgetPropertyPane extends BasicPane { private TemplateCellElement cellElement; private WidgetPane cellEditorDefPane; + private ElementCasePane ePane; public static CellWidgetPropertyPane getInstance(){ if (singleton == null) { @@ -84,6 +87,7 @@ public class CellWidgetPropertyPane extends BasicPane { public void reInit(ElementCasePane ePane){ + this.ePane = ePane; cellEditorDefPane = new WidgetPane(ePane); this.removeAll(); this.add(cellEditorDefPane, BorderLayout.CENTER); @@ -108,18 +112,23 @@ public class CellWidgetPropertyPane extends BasicPane { if (cellElement == null) {// 利用默认的CellElement. return; } - - Widget cellWidget = this.cellEditorDefPane.update(); - // p:最后把这个cellEditorDef设置到CellGUIAttr. - if (cellWidget instanceof NoneWidget) { - cellElement.setWidget(null); - } else { - if (cellElement.getWidget() != null) { - cellWidget = upDateWidgetAuthority(cellElement, cellWidget); + final CellSelection finalCS = (CellSelection) ePane.getSelection(); + final TemplateElementCase tplEC = ePane.getEditingElementCase(); + ReportActionUtils.actionIterateWithCellSelection(finalCS, tplEC, new ReportActionUtils.IterAction() { + public void dealWith(CellElement editCellElement) { + Widget cellWidget = cellEditorDefPane.update(); + // p:最后把这个cellEditorDef设置到CellGUIAttr. + TemplateCellElement cellElement = (TemplateCellElement) editCellElement; + if (cellWidget instanceof NoneWidget) { + cellElement.setWidget(null); + } else { + if (cellElement.getWidget() != null) { + cellWidget = upDateWidgetAuthority(cellElement, cellWidget); + } + cellElement.setWidget(cellWidget); + } } - cellElement.setWidget(cellWidget); - } - + }); } diff --git a/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java b/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java index 5cc05777d..647965364 100644 --- a/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java +++ b/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import com.fr.base.FRContext; +import com.fr.design.actions.utils.ReportActionUtils; import com.fr.design.gui.controlpane.UIListControlPane; import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.ElementCasePane; @@ -15,6 +16,7 @@ import com.fr.design.gui.controlpane.NameObjectCreator; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.general.Inter; import com.fr.grid.selection.CellSelection; +import com.fr.report.cell.CellElement; import com.fr.report.cell.DefaultTemplateCellElement; import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.cellattr.highlight.DefaultHighlight; @@ -27,6 +29,7 @@ import com.fr.stable.Nameable; public class ConditionAttributesGroupPane extends UIListControlPane { private static ConditionAttributesGroupPane singleton; private TemplateCellElement editCellElement; // 当前单元格对象 + private ElementCasePane ePane; private ConditionAttributesGroupPane() { super(); @@ -49,7 +52,25 @@ public class ConditionAttributesGroupPane extends UIListControlPane { if (isPopulating) { return; } - editCellElement.setHighlightGroup(updateHighlightGroup()); + final CellSelection finalCS = (CellSelection) ePane.getSelection(); + final TemplateElementCase tplEC = ePane.getEditingElementCase(); +// for (int i = 0; i < finalCS.getRowSpan(); i++) { +// for (int j = 0; j < finalCS.getColumnSpan(); j++) { +// int row = i + finalCS.getRow(); +// int column = j + finalCS.getColumn(); +// TemplateCellElement editCellElement = tplEC.getTemplateCellElement(column, row); +// // alex:不加这一句话会导致跨行跨列的格子被多次update +// if (editCellElement.getColumn() != column || editCellElement.getRow() != row) { +// continue; +// } +// } +// } + + ReportActionUtils.actionIterateWithCellSelection(finalCS, tplEC, new ReportActionUtils.IterAction() { + public void dealWith(CellElement editCellElement) { + ((TemplateCellElement)editCellElement).setHighlightGroup(updateHighlightGroup()); + } + }); DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); } @@ -64,6 +85,7 @@ public class ConditionAttributesGroupPane extends UIListControlPane { } public void populate(ElementCasePane ePane) { + this.ePane = ePane; CellSelection cs = (CellSelection) ePane.getSelection(); final TemplateElementCase tplEC = ePane.getEditingElementCase(); editCellElement = tplEC.getTemplateCellElement(cs.getColumn(), cs.getRow()); From 60d2d56444dccee3d147ede1cdd282a222f60c55 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 25 Aug 2017 15:50:22 +0800 Subject: [PATCH 3/5] =?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>=E5=8F=B3=E4=BE=A7ta?= =?UTF-8?q?b=E6=8C=89=E9=92=AE=E5=A2=9E=E5=8A=A0=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/EastRegionContainerPane.java | 1 + 1 file changed, 1 insertion(+) diff --git a/designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java b/designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java index c5f81a9d8..cfc34633f 100644 --- a/designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java +++ b/designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java @@ -643,6 +643,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer { setTabButtonSelected(); } }); + button.setToolTipText(title); } public UIButton getButton() { From f0d9f4826175aa33165a3a141bc100a83f01b75d Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 25 Aug 2017 16:59:14 +0800 Subject: [PATCH 4/5] =?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=82=AC=E5=81=9C1s?= =?UTF-8?q?=E5=90=8E=E5=87=BA=E7=8E=B0=E6=8F=90=E7=A4=BA=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/gui/ibutton/UIButton.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/designer_base/src/com/fr/design/gui/ibutton/UIButton.java b/designer_base/src/com/fr/design/gui/ibutton/UIButton.java index 096e363a5..776a6a284 100644 --- a/designer_base/src/com/fr/design/gui/ibutton/UIButton.java +++ b/designer_base/src/com/fr/design/gui/ibutton/UIButton.java @@ -36,6 +36,7 @@ public class UIButton extends JButton implements UIObserver { private CellBorderStyle border = null; protected UIObserverListener uiObserverListener; + private static final int TOOLTIP_INIT_DELAY = 1000; // 延迟 1s 显示提示文字 public UIButton() { this(StringUtils.EMPTY); @@ -139,6 +140,7 @@ public class UIButton extends JButton implements UIObserver { setBackground(null); setRolloverEnabled(true); initListener(); + ToolTipManager.sharedInstance().setInitialDelay(TOOLTIP_INIT_DELAY); } @Override From 00ff1c6014f52220546d11205a4f74a677295167 Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 25 Aug 2017 17:30:33 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=97=A0JIRA=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/present/ConditionAttributesGroupPane.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java b/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java index 647965364..961c88d10 100644 --- a/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java +++ b/designer/src/com/fr/design/present/ConditionAttributesGroupPane.java @@ -54,17 +54,6 @@ public class ConditionAttributesGroupPane extends UIListControlPane { } final CellSelection finalCS = (CellSelection) ePane.getSelection(); final TemplateElementCase tplEC = ePane.getEditingElementCase(); -// for (int i = 0; i < finalCS.getRowSpan(); i++) { -// for (int j = 0; j < finalCS.getColumnSpan(); j++) { -// int row = i + finalCS.getRow(); -// int column = j + finalCS.getColumn(); -// TemplateCellElement editCellElement = tplEC.getTemplateCellElement(column, row); -// // alex:不加这一句话会导致跨行跨列的格子被多次update -// if (editCellElement.getColumn() != column || editCellElement.getRow() != row) { -// continue; -// } -// } -// } ReportActionUtils.actionIterateWithCellSelection(finalCS, tplEC, new ReportActionUtils.IterAction() { public void dealWith(CellElement editCellElement) {