From 3ea5e4a97baa0b082983d4684d27eefbedafeb7a Mon Sep 17 00:00:00 2001 From: plough Date: Fri, 28 Jul 2017 16:39:11 +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>=E8=B6=85=E7=BA=A7?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=3D=E3=80=8B=E5=8E=BB=E6=8E=89=E5=8E=9F?= =?UTF-8?q?=E6=9D=A5=E7=9A=84=E8=8F=9C=E5=8D=95=E9=A1=B9=E5=85=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/actions/edit/HyperlinkAction.java | 114 ------------------ .../mainframe/ElementCasePaneDelegate.java | 2 - .../com/fr/grid/selection/CellSelection.java | 2 - .../com/fr/grid/selection/FloatSelection.java | 2 - .../src/com/fr/poly/creator/ECBlockPane.java | 2 - 5 files changed, 122 deletions(-) delete mode 100644 designer/src/com/fr/design/actions/edit/HyperlinkAction.java diff --git a/designer/src/com/fr/design/actions/edit/HyperlinkAction.java b/designer/src/com/fr/design/actions/edit/HyperlinkAction.java deleted file mode 100644 index 6c6c4379b..000000000 --- a/designer/src/com/fr/design/actions/edit/HyperlinkAction.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright(c) 2001-2010, FineReport Inc, All Rights Reserved. - */ -package com.fr.design.actions.edit; - -import java.awt.Color; - -import javax.swing.SwingUtilities; - -import com.fr.base.BaseUtils; -import com.fr.base.Style; -import com.fr.design.actions.ElementCaseAction; -import com.fr.design.actions.utils.ReportActionUtils; -import com.fr.design.actions.utils.ReportActionUtils.IterAction; -import com.fr.design.gui.frpane.HyperlinkGroupPane; -import com.fr.design.mainframe.DesignerContext; -import com.fr.design.mainframe.ElementCasePane; -import com.fr.design.mainframe.HyperlinkGroupPaneActionImpl; -import com.fr.design.menu.KeySetUtils; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.DialogActionAdapter; -import com.fr.general.FRFont; -import com.fr.grid.selection.CellSelection; -import com.fr.grid.selection.FloatSelection; -import com.fr.grid.selection.Selection; -import com.fr.js.NameJavaScriptGroup; -import com.fr.report.cell.CellElement; -import com.fr.report.cell.FloatElement; -import com.fr.report.elementcase.TemplateElementCase; -import com.fr.stable.Constants; - -/** - * HyperlinkAction. - */ -public class HyperlinkAction extends ElementCaseAction { - private boolean b; - - public HyperlinkAction(ElementCasePane t) { - super(t); - this.setMenuKeySet(KeySetUtils.HYPER_LINK); - this.setName(getMenuKeySet().getMenuKeySetName() + "..."); - this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/hyperLink.png")); - } - - /** - * 计算Action, - * @return 返回是否需要记录undo - */ - public boolean executeActionReturnUndoRecordNeeded() { - b = true; - ElementCasePane reportPane = this.getEditingComponent(); - if (reportPane == null) { - return false; - } - - final TemplateElementCase report = reportPane.getEditingElementCase(); - NameJavaScriptGroup nameHyperlinks = getNameJSGroup(reportPane, report); - final HyperlinkGroupPane pane = DesignerContext.getDesignerFrame().getSelectedJTemplate().getHyperLinkPane(HyperlinkGroupPaneActionImpl.getInstance()); - pane.populate(nameHyperlinks); - - final Selection sel = reportPane.getSelection(); - BasicDialog dialog = pane.showWindow(SwingUtilities.getWindowAncestor(reportPane)); - dialog.addDialogActionListener(new DialogActionAdapter() { - public void doOk() { - super.doOk(); - final NameJavaScriptGroup updateNameHyperlinks = pane.updateJSGroup(); - if (sel instanceof FloatSelection) { - FloatElement selectedFloatElement = report.getFloatElement(((FloatSelection)sel).getSelectedFloatName()); - selectedFloatElement.setNameHyperlinkGroup(updateNameHyperlinks); - } else { - ReportActionUtils.actionIterateWithCellSelection((CellSelection)sel, report, new IterAction() { - public void dealWith(CellElement editCellElement) { - Style elementStyle = editCellElement.getStyle(); - FRFont frFont = elementStyle.getFRFont(); - if (updateNameHyperlinks.size() > 0) { - frFont = frFont.applyForeground(Color.blue); - frFont = frFont.applyUnderline(Constants.LINE_THIN); - } else { - frFont = frFont.applyForeground(Color.black); - frFont = frFont.applyUnderline(Constants.LINE_NONE); - } - editCellElement.setStyle(elementStyle.deriveFRFont(frFont)); - editCellElement.setNameHyperlinkGroup(updateNameHyperlinks); - } - }); - } - } - public void doCancel() { - b = false; - } - }); - dialog.setVisible(true); - - return b; - } - - private NameJavaScriptGroup getNameJSGroup(ElementCasePane reportPane, final TemplateElementCase report) { - NameJavaScriptGroup nameHyperlinks = null; - final Selection sel = reportPane.getSelection(); - if (sel instanceof FloatSelection) { - FloatElement selectedFloatElement = report.getFloatElement(((FloatSelection)sel).getSelectedFloatName()); - nameHyperlinks = selectedFloatElement.getNameHyperlinkGroup(); - } else { - CellElement editCellElement = report.getCellElement(((CellSelection)sel).getColumn(), ((CellSelection)sel).getRow()); - if (editCellElement != null) { - nameHyperlinks = editCellElement.getNameHyperlinkGroup(); - } - } - - return nameHyperlinks; - } - -} \ No newline at end of file diff --git a/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java b/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java index 7c9fcdaae..b0f7f50b7 100644 --- a/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java +++ b/designer/src/com/fr/design/mainframe/ElementCasePaneDelegate.java @@ -13,7 +13,6 @@ import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.design.actions.UpdateAction; import com.fr.design.actions.cell.*; import com.fr.design.actions.core.ActionFactory; -import com.fr.design.actions.edit.HyperlinkAction; import com.fr.design.actions.edit.merge.MergeCellAction; import com.fr.design.actions.edit.merge.UnmergeCellAction; import com.fr.design.actions.columnrow.InsertColumnAction; @@ -165,7 +164,6 @@ public class ElementCasePaneDelegate extends ElementCasePane { // 单元格形态 menuDef.addShortCut(DeprecatedActionManager.getPresentMenu(this)); - menuDef.addShortCut(new HyperlinkAction(this)); menuDef.addShortCut(SeparatorDef.DEFAULT); menuDef.addShortCut(new MergeCellAction(this)); menuDef.addShortCut(new UnmergeCellAction(this)); diff --git a/designer/src/com/fr/grid/selection/CellSelection.java b/designer/src/com/fr/grid/selection/CellSelection.java index 458d9fd29..6a7adbd9d 100644 --- a/designer/src/com/fr/grid/selection/CellSelection.java +++ b/designer/src/com/fr/grid/selection/CellSelection.java @@ -8,7 +8,6 @@ import com.fr.design.actions.cell.GlobalStyleMenuDef.GlobalStyleSelection; import com.fr.design.actions.core.ActionFactory; import com.fr.design.actions.edit.CopyAction; import com.fr.design.actions.edit.CutAction; -import com.fr.design.actions.edit.HyperlinkAction; import com.fr.design.actions.edit.PasteAction; import com.fr.design.actions.utils.DeprecatedActionManager; import com.fr.design.cell.clipboard.CellElementsClip; @@ -461,7 +460,6 @@ public class CellSelection extends Selection { popup.add(DeprecatedActionManager.getPresentMenu(ePane).createJMenu()); popup.add(new ConditionAttributesAction(ePane).createMenuItem()); popup.add(new CellAttributeAction().createMenuItem()); - popup.add(new HyperlinkAction(ePane).createMenuItem()); // cut, copy and paste popup.addSeparator(); popup.add(new CutAction(ePane).createMenuItem()); diff --git a/designer/src/com/fr/grid/selection/FloatSelection.java b/designer/src/com/fr/grid/selection/FloatSelection.java index 5f0be878c..adc6b01f1 100644 --- a/designer/src/com/fr/grid/selection/FloatSelection.java +++ b/designer/src/com/fr/grid/selection/FloatSelection.java @@ -13,7 +13,6 @@ import com.fr.design.actions.edit.CopyAction; import com.fr.design.actions.edit.CutAction; import com.fr.design.actions.edit.DeleteAction; import com.fr.design.actions.edit.EditFloatElementNameAction; -import com.fr.design.actions.edit.HyperlinkAction; import com.fr.design.actions.edit.PasteAction; import com.fr.design.actions.utils.DeprecatedActionManager; import com.fr.design.cell.clipboard.CellElementsClip; @@ -126,7 +125,6 @@ public class FloatSelection extends Selection { } popup.add(DeprecatedActionManager.getCellMenu(ePane).createJMenu()); popup.add(new FloatStyleAction(ePane).createMenuItem()); - popup.add(new HyperlinkAction(ePane).createMenuItem()); // cut, copy and paste popup.addSeparator(); diff --git a/designer/src/com/fr/poly/creator/ECBlockPane.java b/designer/src/com/fr/poly/creator/ECBlockPane.java index a1e04d891..fbc5e1f8a 100644 --- a/designer/src/com/fr/poly/creator/ECBlockPane.java +++ b/designer/src/com/fr/poly/creator/ECBlockPane.java @@ -10,7 +10,6 @@ import com.fr.page.ReportSettingsProvider; import com.fr.design.actions.UpdateAction; import com.fr.design.actions.cell.*; import com.fr.design.actions.core.ActionFactory; -import com.fr.design.actions.edit.HyperlinkAction; import com.fr.design.actions.edit.merge.MergeCellAction; import com.fr.design.actions.edit.merge.UnmergeCellAction; import com.fr.design.actions.columnrow.InsertColumnAction; @@ -148,7 +147,6 @@ public class ECBlockPane extends PolyElementCasePane { // 单元格形态 menuDef.addShortCut(DeprecatedActionManager.getPresentMenu(this)); - menuDef.addShortCut(new HyperlinkAction(this)); menuDef.addShortCut(SeparatorDef.DEFAULT); menuDef.addShortCut(new MergeCellAction(this)); menuDef.addShortCut(new UnmergeCellAction(this));