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