From df9381bb8fa20bf13e098565d1209fb8e1723c43 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Thu, 21 Sep 2017 19:41:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9B=B7=E8=BE=BE?= =?UTF-8?q?=E5=9B=BE=E8=AD=A6=E6=88=92=E7=BA=BF=E3=80=81=E9=97=B4=E9=9A=94?= =?UTF-8?q?=E8=83=8C=E6=99=AFbug=20=E8=81=9A=E5=90=88=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=92=8C=E8=A1=A8=E5=8D=95=E4=B8=AD=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AF=B9=E8=B6=85=E9=93=BE=E4=B8=8B=E6=8B=89=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E7=9A=84=E8=BF=87=E6=BB=A4=20=E6=9B=B4=E6=8D=A2=E4=B8=8D?= =?UTF-8?q?=E9=80=8F=E6=98=8E=E5=BA=A6=E6=8E=A7=E4=BB=B6=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=BB=84=E4=BB=B6bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/controlpane/UIListControlPane.java | 8 +++- .../fr/design/gui/style/NumberDragBar.java | 6 ++- .../SeriesCondition/LabelAlphaPane.java | 35 +++++++++++----- .../component/VanChartHyperLinkPane.java | 41 +++++++++++++++++++ .../background/AlertLineListControlPane.java | 11 ++++- .../background/BackgroundListControlPane.java | 11 ++++- .../background/VanChartAxisAreaPane.java | 12 +++++- .../radar/VanChartRadarAxisAreaPane.java | 34 +++++++++------ 8 files changed, 127 insertions(+), 31 deletions(-) diff --git a/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java b/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java index 617619bc22..5047fcb7b5 100644 --- a/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java +++ b/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java @@ -162,11 +162,15 @@ public abstract class UIListControlPane extends UIControlPane { if (creators.length == 1) { addItemShortCut = new AddItemUpdateAction(creators); } else { - addItemShortCut = new AddItemMenuDef(creators); + addItemShortCut = getAddItemMenuDef(creators); } return new AbsoluteEnableShortCut(addItemShortCut); } + protected AddItemMenuDef getAddItemMenuDef (NameableCreator[] creators) { + return new AddItemMenuDef(creators); + } + @Override protected ShortCut4JControlPane removeItemShortCut() { return new NormalEnableShortCut(new RemoveItemAction()); @@ -557,7 +561,7 @@ public abstract class UIListControlPane extends UIControlPane { } } - private boolean whetherAdd(String itemName) { + protected boolean whetherAdd(String itemName){ JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); if (jTemplate == null) { return false; diff --git a/designer_base/src/com/fr/design/gui/style/NumberDragBar.java b/designer_base/src/com/fr/design/gui/style/NumberDragBar.java index 0fa223a791..95596db4c5 100644 --- a/designer_base/src/com/fr/design/gui/style/NumberDragBar.java +++ b/designer_base/src/com/fr/design/gui/style/NumberDragBar.java @@ -53,6 +53,8 @@ public class NumberDragBar extends JComponent { @Override protected void paintComponent(Graphics g) { int width = this.getWidth(); + //x值在这里计算,setValue时,有时会因为组件还没画,获取到的是0 + x = (value - minValue) * (width - WIDTH_ADJUST) / (maxValue - minValue) + X_ADJUST; Graphics2D g2 = (Graphics2D)g; RenderingHints qualityHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); qualityHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); @@ -118,8 +120,8 @@ public class NumberDragBar extends JComponent { if(getWidth() <= 0) { Thread.sleep(500); } - int width = getWidth(); - x = (value - minValue) * (width - WIDTH_ADJUST) / (maxValue - minValue) + X_ADJUST; +// int width = getWidth(); +// x = (value - minValue) * (width - WIDTH_ADJUST) / (maxValue - minValue) + X_ADJUST; validate(); repaint(); revalidate(); diff --git a/designer_chart/src/com/fr/design/chart/series/SeriesCondition/LabelAlphaPane.java b/designer_chart/src/com/fr/design/chart/series/SeriesCondition/LabelAlphaPane.java index 3ba7316931..122e39cf37 100644 --- a/designer_chart/src/com/fr/design/chart/series/SeriesCondition/LabelAlphaPane.java +++ b/designer_chart/src/com/fr/design/chart/series/SeriesCondition/LabelAlphaPane.java @@ -4,20 +4,26 @@ import com.fr.chart.base.AttrAlpha; import com.fr.chart.base.DataSeriesCondition; import com.fr.design.condition.ConditionAttrSingleConditionPane; import com.fr.design.condition.ConditionAttributesPane; +import com.fr.design.gui.frpane.UINumberDragPane; import com.fr.design.gui.ilable.UILabel; -import com.fr.design.style.AlphaPane; import com.fr.general.Inter; +import javax.swing.*; +import java.awt.*; + /** -* @author richie -* @date 2015-03-26 -* @since 8.0 -*/ + * @author richie + * @date 2015-03-26 + * @since 8.0 + */ public class LabelAlphaPane extends ConditionAttrSingleConditionPane { - private static final int ALPHASIZE = 100; + private static final double ALPHASIZE = 100.0; + private static final int PANEL_WIDTH = 200; + private static final int PANEL_HIGHT = 20; private UILabel nameLabel; - private AlphaPane alphaPane; + private UINumberDragPane alphaPane; + private AttrAlpha attrAlpha = new AttrAlpha(); @@ -25,10 +31,17 @@ public class LabelAlphaPane extends ConditionAttrSingleConditionPane list = new ArrayList(); if (nameHyperlink_array != null) { @@ -218,4 +227,36 @@ public class VanChartHyperLinkPane extends VanChartUIListControlPane { } return null; } + + protected class AddVanChartItemMenuDef extends AddItemMenuDef{ + + public AddVanChartItemMenuDef(NameableCreator[] creators) { + super(creators); + } + + @Override + protected boolean whetherAdd(String itemName){ + JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + if (jTemplate == null) { + return false; + } + //先屏蔽掉这个,之后还有别的 + String[] names = {Inter.getLocText("FR-Hyperlink_Chart_Float"), Inter.getLocText("FR-Hyperlink_Chart_Cell")}; + for (String name : names){ + if(!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName,name)){ + if(jTemplate.getEditingReportIndex() == BaseJForm.ELEMENTCASE_TAB && ComparatorUtils.equals(itemName, names[0])){ + //表单报表块中图表悬浮元素超链,只屏蔽联动悬浮元素 + return false; + } else if(jTemplate.getEditingReportIndex() == BaseJForm.FORM_TAB) { + //表单图表超链屏蔽掉联动悬浮元素和联动单元格 + return false; + } + } + } + String formName = Inter.getLocText("Hyperlink-Form_link"); + return !(jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, formName)); + } + } + + } diff --git a/designer_chart/src/com/fr/plugin/chart/designer/style/background/AlertLineListControlPane.java b/designer_chart/src/com/fr/plugin/chart/designer/style/background/AlertLineListControlPane.java index 3dfb4f4302..6857302d08 100644 --- a/designer_chart/src/com/fr/plugin/chart/designer/style/background/AlertLineListControlPane.java +++ b/designer_chart/src/com/fr/plugin/chart/designer/style/background/AlertLineListControlPane.java @@ -1,6 +1,7 @@ package com.fr.plugin.chart.designer.style.background; import com.fr.chart.chartattr.Plot; +import com.fr.design.beans.BasicBeanPane; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.controlpane.ShortCut4JControlPane; import com.fr.general.ComparatorUtils; @@ -52,7 +53,7 @@ public class AlertLineListControlPane extends VanChartUIListControlPane { List yAxisList = rectanglePlot.getYAxisList(); String[] axisNames = DefaultAxisHelper.getAllAxisNames(xAxisList, yAxisList); - ChartNameObjectCreator[] creators = {new ChartNameObjectCreator(axisNames, Inter.getLocText("Plugin-ChartF_AlertLine"), VanChartAlertValue.class, VanChartAlertValuePane.class)}; + ChartNameObjectCreator[] creators = {new ChartNameObjectCreator(getAlertAxisName(axisNames), Inter.getLocText("Plugin-ChartF_AlertLine"), VanChartAlertValue.class, getAlertPaneClass())}; refreshNameableCreator(creators); @@ -111,4 +112,12 @@ public class AlertLineListControlPane extends VanChartUIListControlPane { axis.setAlertValues(axisAlerts); } } + + protected Class getAlertPaneClass() { + return VanChartAlertValuePane.class; + } + + protected String[] getAlertAxisName(String[] axisNames) { + return axisNames; + } } diff --git a/designer_chart/src/com/fr/plugin/chart/designer/style/background/BackgroundListControlPane.java b/designer_chart/src/com/fr/plugin/chart/designer/style/background/BackgroundListControlPane.java index e514812499..e288e51a54 100644 --- a/designer_chart/src/com/fr/plugin/chart/designer/style/background/BackgroundListControlPane.java +++ b/designer_chart/src/com/fr/plugin/chart/designer/style/background/BackgroundListControlPane.java @@ -1,6 +1,7 @@ package com.fr.plugin.chart.designer.style.background; import com.fr.chart.chartattr.Plot; +import com.fr.design.beans.BasicBeanPane; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.controlpane.ShortCut4JControlPane; import com.fr.general.ComparatorUtils; @@ -54,7 +55,7 @@ public class BackgroundListControlPane extends VanChartUIListControlPane { List yAxisList = rectanglePlot.getYAxisList(); String[] axisNames = DefaultAxisHelper.getAllAxisNames(xAxisList, yAxisList); - BackgroundNameObjectCreator[] creators = {new BackgroundNameObjectCreator(axisNames, Inter.getLocText("Plugin-ChartF_CustomIntervalBackground"), VanChartCustomIntervalBackground.class, VanChartCustomIntervalBackgroundPane.class)}; + BackgroundNameObjectCreator[] creators = {new BackgroundNameObjectCreator(getCustomIntervalBackgroundAxisName(axisNames), Inter.getLocText("Plugin-ChartF_CustomIntervalBackground"), VanChartCustomIntervalBackground.class, getIntervalPaneClass())}; refreshNameableCreator(creators); @@ -123,4 +124,12 @@ public class BackgroundListControlPane extends VanChartUIListControlPane { axis.setCustomIntervalBackgroundArray(axisCustomBackground); } } + + protected Class getIntervalPaneClass() { + return VanChartCustomIntervalBackgroundPane.class; + } + + protected String[] getCustomIntervalBackgroundAxisName(String[] axisNames) { + return axisNames; + } } diff --git a/designer_chart/src/com/fr/plugin/chart/designer/style/background/VanChartAxisAreaPane.java b/designer_chart/src/com/fr/plugin/chart/designer/style/background/VanChartAxisAreaPane.java index 1ac56791b9..886a461efe 100644 --- a/designer_chart/src/com/fr/plugin/chart/designer/style/background/VanChartAxisAreaPane.java +++ b/designer_chart/src/com/fr/plugin/chart/designer/style/background/VanChartAxisAreaPane.java @@ -75,12 +75,16 @@ public class VanChartAxisAreaPane extends BasicBeanPane { } protected JPanel createAlertLinePane() { - alertLine = new AlertLineListControlPane(); + alertLine = getAlertLinePane(); JPanel panel = TableLayout4VanChartHelper.createExpandablePaneWithTitle(Inter.getLocText("Plugin-ChartF_AlertLine"), alertLine); alertLine.setBorder(BorderFactory.createEmptyBorder(10, 5, 0, 0)); return panel; } + protected AlertLineListControlPane getAlertLinePane () { + return new AlertLineListControlPane(); + } + protected JPanel createIntervalPane(double[] row, double[] col) { isDefaultIntervalBackground = new UIButtonGroup(new String[]{Inter.getLocText("Plugin-ChartF_Default_Interval"), Inter.getLocText("Plugin-ChartF_CustomIntervalBackground")}); horizontalColorBackground = new ColorSelectBox(100); @@ -88,7 +92,7 @@ public class VanChartAxisAreaPane extends BasicBeanPane { Component[][] components = getIntervalPaneComponents(); JPanel defaultPane = TableLayoutHelper.createTableLayoutPane(components, row, col); defaultPane.setBorder(BorderFactory.createEmptyBorder(0,12,0,0)); - customIntervalBackground = new BackgroundListControlPane(); + customIntervalBackground = getBackgroundListControlPane(); cardLayout = new CardLayout(); centerPane = new JPanel(cardLayout); @@ -109,6 +113,10 @@ public class VanChartAxisAreaPane extends BasicBeanPane { return panel; } + protected BackgroundListControlPane getBackgroundListControlPane() { + return new BackgroundListControlPane(); + } + protected Component[][] getIntervalPaneComponents() { return new Component[][]{ new Component[]{null, null}, diff --git a/designer_chart/src/com/fr/plugin/chart/designer/style/background/radar/VanChartRadarAxisAreaPane.java b/designer_chart/src/com/fr/plugin/chart/designer/style/background/radar/VanChartRadarAxisAreaPane.java index b215406a9d..558f4568d4 100644 --- a/designer_chart/src/com/fr/plugin/chart/designer/style/background/radar/VanChartRadarAxisAreaPane.java +++ b/designer_chart/src/com/fr/plugin/chart/designer/style/background/radar/VanChartRadarAxisAreaPane.java @@ -3,8 +3,8 @@ package com.fr.plugin.chart.designer.style.background.radar; import com.fr.design.beans.BasicBeanPane; import com.fr.design.gui.ilable.UILabel; import com.fr.general.Inter; -import com.fr.plugin.chart.attr.axis.VanChartAlertValue; -import com.fr.plugin.chart.attr.axis.VanChartCustomIntervalBackground; +import com.fr.plugin.chart.designer.style.background.AlertLineListControlPane; +import com.fr.plugin.chart.designer.style.background.BackgroundListControlPane; import com.fr.plugin.chart.designer.style.background.VanChartAxisAreaPane; import java.awt.*; @@ -30,19 +30,29 @@ public class VanChartRadarAxisAreaPane extends VanChartAxisAreaPane { }; } - protected Class getAlertPaneClass() { - return VanChartRadarAlertValuePane.class; - } + @Override + protected AlertLineListControlPane getAlertLinePane() { + return new AlertLineListControlPane(){ + protected Class getAlertPaneClass() { + return VanChartRadarAlertValuePane.class; + } - protected void setAlertDemoAxisName(VanChartAlertValue demo, String[] axisNames) { - demo.setAxisName(axisNames[axisNames.length - 1]);//默认y轴,居左居右 + protected String[] getAlertAxisName(String[] axisNames) { + return new String[]{axisNames[axisNames.length - 1]};//默认y轴,居左居右 + } + }; } - protected Class getIntervalPaneClass() { - return VanChartRadarCustomIntervalBackgroundPane.class; - } + @Override + protected BackgroundListControlPane getBackgroundListControlPane() { + return new BackgroundListControlPane(){ + protected Class getIntervalPaneClass() { + return VanChartRadarCustomIntervalBackgroundPane.class; + } - protected void setCustomIntervalBackgroundDemoAxisName(VanChartCustomIntervalBackground demo, String[] axisNames) { - demo.setAxisName(axisNames[axisNames.length - 1]); + protected String[] getCustomIntervalBackgroundAxisName(String[] axisNames) { + return new String[]{axisNames[axisNames.length - 1]}; + } + }; } } \ No newline at end of file From c64a31bfe8f4de2c74462fbd6b5b5cb859b380b7 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Fri, 22 Sep 2017 10:55:37 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B6=85=E9=93=BE?= =?UTF-8?q?=E8=BF=87=E6=BB=A4helper=E7=B1=BB=EF=BC=8C=E5=A4=84=E7=90=86?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BC=E3=80=81=E5=9B=BE=E8=A1=A8=E8=B6=85?= =?UTF-8?q?=E9=93=BE=E4=B8=8B=E6=8B=89=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/gui/HyperlinkFilterHelper.java | 59 ++++++++++++++++++ .../gui/controlpane/JListControlPane.java | 21 +------ .../gui/controlpane/UIListControlPane.java | 17 +----- .../gui/frpane/UICorrelationComboBoxPane.java | 61 +++++-------------- .../component/VanChartHyperLinkPane.java | 29 ++------- 5 files changed, 83 insertions(+), 104 deletions(-) create mode 100644 designer_base/src/com/fr/design/gui/HyperlinkFilterHelper.java diff --git a/designer_base/src/com/fr/design/gui/HyperlinkFilterHelper.java b/designer_base/src/com/fr/design/gui/HyperlinkFilterHelper.java new file mode 100644 index 0000000000..db6aa9c4d9 --- /dev/null +++ b/designer_base/src/com/fr/design/gui/HyperlinkFilterHelper.java @@ -0,0 +1,59 @@ +package com.fr.design.gui; + +import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.mainframe.BaseJForm; +import com.fr.design.mainframe.JTemplate; +import com.fr.general.ComparatorUtils; +import com.fr.general.Inter; + +/** + * Created by mengao on 2017/9/22. + * 单元格超链、图表超链在不同类型模版中,下拉选项不同 + */ +public class HyperlinkFilterHelper { + + public static boolean whetherAddHyperlink4cell(String itemName){ + JTemplate jTemplate = getCurrentEditingTemplate (); + if (jTemplate == null) { + return false; + } + //先屏蔽掉这个,之后还有别的 + String[] names = {Inter.getLocText("FR-Hyperlink_Chart_Float")}; + for (String name : names) { + if (!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, name)) { + return false; + } + } + return whetherAddFormLink(jTemplate, itemName); + } + + public static boolean whetherAddHyperlink4Chart(String itemName){ + JTemplate jTemplate = getCurrentEditingTemplate (); + if (jTemplate == null) { + return false; + } + //先屏蔽掉这个,之后还有别的 + String[] names = {Inter.getLocText("FR-Hyperlink_Chart_Float"), Inter.getLocText("FR-Hyperlink_Chart_Cell")}; + for (String name : names){ + if(!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName,name)){ + if(jTemplate.getEditingReportIndex() == BaseJForm.ELEMENTCASE_TAB && ComparatorUtils.equals(itemName, names[0])){ + //表单报表块中图表悬浮元素超链,只屏蔽联动悬浮元素 + return false; + } else if(jTemplate.getEditingReportIndex() == BaseJForm.FORM_TAB) { + //表单图表超链屏蔽掉联动悬浮元素和联动单元格 + return false; + } + } + } + return whetherAddFormLink(jTemplate, itemName); + } + + private static JTemplate getCurrentEditingTemplate () { + return HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); + } + + private static boolean whetherAddFormLink(JTemplate jTemplate, String itemName) { + String formName = Inter.getLocText("Hyperlink-Form_link"); + return !(jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, formName)); + } +} diff --git a/designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java b/designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java index 474b1ca6ff..83cf7a50d3 100644 --- a/designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java +++ b/designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java @@ -8,13 +8,12 @@ import com.fr.design.data.tabledata.tabledatapane.GlobalMultiTDTableDataPane; import com.fr.design.data.tabledata.tabledatapane.GlobalTreeTableDataPane; import com.fr.design.data.tabledata.tabledatapane.MultiTDTableDataPane; import com.fr.design.data.tabledata.tabledatapane.TreeTableDataPane; -import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.gui.HyperlinkFilterHelper; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilist.JNameEdList; import com.fr.design.gui.ilist.ListModelElement; import com.fr.design.gui.ilist.ModNameActionListener; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.JTemplate; import com.fr.design.menu.LineSeparator; import com.fr.design.menu.MenuDef; import com.fr.design.menu.ShortCut; @@ -384,7 +383,7 @@ public abstract class JListControlPane extends JControlPane { private void wrapActionListener(NameableCreator[] creators) { for (final NameableCreator creator : creators) { - if (!whetherAdd(creator.menuName())) { + if (!HyperlinkFilterHelper.whetherAddHyperlink4cell(creator.menuName())) { continue; } boolean isTrue = ComparatorUtils.equals(creator.menuName(), Inter.getLocText("Datasource-Stored_Procedure")) || @@ -414,22 +413,6 @@ public abstract class JListControlPane extends JControlPane { }); } } - - private boolean whetherAdd(String itemName) { - JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - if (jTemplate == null) { - return false; - } - //先屏蔽掉这个,之后还有别的 - String[] names = {Inter.getLocText("FR-Hyperlink_Chart_Float")}; - for (String name : names) { - if (!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, name)) { - return false; - } - } - String formName = Inter.getLocText("Hyperlink-Form_link"); - return !(jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, formName)); - } } /* diff --git a/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java b/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java index 5047fcb7b5..f1cd5f8740 100644 --- a/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java +++ b/designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java @@ -11,7 +11,7 @@ import com.fr.design.data.tabledata.tabledatapane.GlobalMultiTDTableDataPane; import com.fr.design.data.tabledata.tabledatapane.GlobalTreeTableDataPane; import com.fr.design.data.tabledata.tabledatapane.MultiTDTableDataPane; import com.fr.design.data.tabledata.tabledatapane.TreeTableDataPane; -import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.gui.HyperlinkFilterHelper; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilist.ListModelElement; @@ -19,7 +19,6 @@ import com.fr.design.gui.ilist.ModNameActionListener; import com.fr.design.gui.ilist.UINameEdList; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DesignerContext; -import com.fr.design.mainframe.JTemplate; import com.fr.design.menu.LineSeparator; import com.fr.design.menu.MenuDef; import com.fr.design.menu.ShortCut; @@ -562,19 +561,7 @@ public abstract class UIListControlPane extends UIControlPane { } protected boolean whetherAdd(String itemName){ - JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - if (jTemplate == null) { - return false; - } - //先屏蔽掉这个,之后还有别的 - String[] names = {Inter.getLocText("FR-Hyperlink_Chart_Float")}; - for (String name : names) { - if (!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, name)) { - return false; - } - } - String formName = Inter.getLocText("Hyperlink-Form_link"); - return !(jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, formName)); + return HyperlinkFilterHelper.whetherAddHyperlink4cell(itemName); } } diff --git a/designer_base/src/com/fr/design/gui/frpane/UICorrelationComboBoxPane.java b/designer_base/src/com/fr/design/gui/frpane/UICorrelationComboBoxPane.java index b2e30f41f5..3ed7994b93 100644 --- a/designer_base/src/com/fr/design/gui/frpane/UICorrelationComboBoxPane.java +++ b/designer_base/src/com/fr/design/gui/frpane/UICorrelationComboBoxPane.java @@ -1,28 +1,14 @@ package com.fr.design.gui.frpane; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Container; -import java.awt.Dimension; -import java.awt.LayoutManager; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.List; - -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.SwingUtilities; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - import com.fr.base.BaseUtils; -import com.fr.design.constants.UIConstants; import com.fr.design.beans.BasicBeanPane; +import com.fr.design.constants.UIConstants; +import com.fr.design.dialog.DialogActionAdapter; +import com.fr.design.dialog.DialogActionListener; +import com.fr.design.dialog.UIDialog; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; -import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.gui.HyperlinkFilterHelper; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.imenu.UIMenuItem; import com.fr.design.gui.imenutable.UIMenuNameableCreator; @@ -30,11 +16,7 @@ import com.fr.design.gui.imenutable.UIMenuTable; import com.fr.design.hyperlink.ReportletHyperlinkPane; import com.fr.design.hyperlink.WebHyperlinkPane; import com.fr.design.javascript.EmailPane; -import com.fr.design.mainframe.BaseJForm; -import com.fr.design.mainframe.JTemplate; -import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.dialog.DialogActionListener; -import com.fr.design.dialog.UIDialog; +import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.js.AbstractJavaScript; @@ -43,7 +25,15 @@ import com.fr.js.ReportletHyperlink; import com.fr.js.WebHyperlink; import com.fr.stable.ArrayUtils; import com.fr.stable.StringUtils; -import com.fr.design.utils.gui.GUICoreUtils; + +import javax.swing.*; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.List; public class UICorrelationComboBoxPane extends JPanel implements UIObserver { private static final Dimension DIALOG_SIZE = new Dimension(500, 500); @@ -98,7 +88,7 @@ public class UICorrelationComboBoxPane extends JPanel implements UIObserver { if (values.size() > 1) { for (UIMenuNameableCreator value : values) { final String itemName = value.getName(); - if(!whetherAdd(itemName)){ + if(!HyperlinkFilterHelper.whetherAddHyperlink4Chart(itemName)){ continue; } UIMenuItem item = new UIMenuItem(itemName); @@ -135,25 +125,6 @@ public class UICorrelationComboBoxPane extends JPanel implements UIObserver { initAddButtonListener(); } - private boolean whetherAdd(String itemName){ - JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - //先屏蔽掉这个,之后还有别的 - String[] names = {Inter.getLocText("FR-Hyperlink_Chart_Float"), Inter.getLocText("FR-Hyperlink_Chart_Cell")}; - for (String name : names){ - if(!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName,name)){ - if(jTemplate.getEditingReportIndex() == BaseJForm.ELEMENTCASE_TAB && ComparatorUtils.equals(itemName, names[0])){ - //表单报表块中图表悬浮元素超链,只屏蔽联动悬浮元素 - return false; - } else if(jTemplate.getEditingReportIndex() == BaseJForm.FORM_TAB) { - //表单图表超链屏蔽掉联动悬浮元素和联动单元格 - return false; - } - } - } - String formName = Inter.getLocText("Hyperlink-Form_link"); - return !(jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, formName)); - } - private String createUnrepeatedName(String prefix) { List all = tablePane.updateBean(); // richer:生成的名字从1开始. kunsnat: 添加属性从0开始. diff --git a/designer_chart/src/com/fr/plugin/chart/custom/component/VanChartHyperLinkPane.java b/designer_chart/src/com/fr/plugin/chart/custom/component/VanChartHyperLinkPane.java index e5a73a7bc0..2f0e0c628f 100644 --- a/designer_chart/src/com/fr/plugin/chart/custom/component/VanChartHyperLinkPane.java +++ b/designer_chart/src/com/fr/plugin/chart/custom/component/VanChartHyperLinkPane.java @@ -7,15 +7,12 @@ import com.fr.chart.web.ChartHyperRelateFloatLink; import com.fr.design.ExtraDesignClassManager; import com.fr.design.beans.BasicBeanPane; import com.fr.design.designer.TargetComponent; -import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.fun.HyperlinkProvider; +import com.fr.design.gui.HyperlinkFilterHelper; import com.fr.design.gui.controlpane.NameObjectCreator; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.imenutable.UIMenuNameableCreator; -import com.fr.design.mainframe.BaseJForm; -import com.fr.design.mainframe.JTemplate; import com.fr.design.module.DesignModuleFactory; -import com.fr.general.ComparatorUtils; import com.fr.general.Inter; import com.fr.general.NameObject; import com.fr.js.EmailJavaScript; @@ -228,33 +225,15 @@ public class VanChartHyperLinkPane extends VanChartUIListControlPane { return null; } - protected class AddVanChartItemMenuDef extends AddItemMenuDef{ + protected class AddVanChartItemMenuDef extends AddItemMenuDef { public AddVanChartItemMenuDef(NameableCreator[] creators) { super(creators); } @Override - protected boolean whetherAdd(String itemName){ - JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); - if (jTemplate == null) { - return false; - } - //先屏蔽掉这个,之后还有别的 - String[] names = {Inter.getLocText("FR-Hyperlink_Chart_Float"), Inter.getLocText("FR-Hyperlink_Chart_Cell")}; - for (String name : names){ - if(!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName,name)){ - if(jTemplate.getEditingReportIndex() == BaseJForm.ELEMENTCASE_TAB && ComparatorUtils.equals(itemName, names[0])){ - //表单报表块中图表悬浮元素超链,只屏蔽联动悬浮元素 - return false; - } else if(jTemplate.getEditingReportIndex() == BaseJForm.FORM_TAB) { - //表单图表超链屏蔽掉联动悬浮元素和联动单元格 - return false; - } - } - } - String formName = Inter.getLocText("Hyperlink-Form_link"); - return !(jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, formName)); + protected boolean whetherAdd(String itemName) { + return HyperlinkFilterHelper.whetherAddHyperlink4Chart(itemName); } } From 50756270be6f6567b6e500203b9185b107b07b27 Mon Sep 17 00:00:00 2001 From: mengao <283296419@qq.com> Date: Fri, 22 Sep 2017 10:56:37 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/gui/HyperlinkFilterHelper.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/designer_base/src/com/fr/design/gui/HyperlinkFilterHelper.java b/designer_base/src/com/fr/design/gui/HyperlinkFilterHelper.java index db6aa9c4d9..b0a1f27bc2 100644 --- a/designer_base/src/com/fr/design/gui/HyperlinkFilterHelper.java +++ b/designer_base/src/com/fr/design/gui/HyperlinkFilterHelper.java @@ -12,8 +12,8 @@ import com.fr.general.Inter; */ public class HyperlinkFilterHelper { - public static boolean whetherAddHyperlink4cell(String itemName){ - JTemplate jTemplate = getCurrentEditingTemplate (); + public static boolean whetherAddHyperlink4cell(String itemName) { + JTemplate jTemplate = getCurrentEditingTemplate(); if (jTemplate == null) { return false; } @@ -27,19 +27,19 @@ public class HyperlinkFilterHelper { return whetherAddFormLink(jTemplate, itemName); } - public static boolean whetherAddHyperlink4Chart(String itemName){ - JTemplate jTemplate = getCurrentEditingTemplate (); + public static boolean whetherAddHyperlink4Chart(String itemName) { + JTemplate jTemplate = getCurrentEditingTemplate(); if (jTemplate == null) { return false; } //先屏蔽掉这个,之后还有别的 String[] names = {Inter.getLocText("FR-Hyperlink_Chart_Float"), Inter.getLocText("FR-Hyperlink_Chart_Cell")}; - for (String name : names){ - if(!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName,name)){ - if(jTemplate.getEditingReportIndex() == BaseJForm.ELEMENTCASE_TAB && ComparatorUtils.equals(itemName, names[0])){ + for (String name : names) { + if (!jTemplate.isJWorkBook() && ComparatorUtils.equals(itemName, name)) { + if (jTemplate.getEditingReportIndex() == BaseJForm.ELEMENTCASE_TAB && ComparatorUtils.equals(itemName, names[0])) { //表单报表块中图表悬浮元素超链,只屏蔽联动悬浮元素 return false; - } else if(jTemplate.getEditingReportIndex() == BaseJForm.FORM_TAB) { + } else if (jTemplate.getEditingReportIndex() == BaseJForm.FORM_TAB) { //表单图表超链屏蔽掉联动悬浮元素和联动单元格 return false; } @@ -48,7 +48,7 @@ public class HyperlinkFilterHelper { return whetherAddFormLink(jTemplate, itemName); } - private static JTemplate getCurrentEditingTemplate () { + private static JTemplate getCurrentEditingTemplate() { return HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); }