From 812007545655579dd2ab892eaeb60a6642adddfb Mon Sep 17 00:00:00 2001 From: xiaohu Date: Mon, 4 Jul 2016 15:42:13 +0800 Subject: [PATCH] update --- .../fr/design/ChartTypeInterfaceManager.java | 26 +++++--- .../creator/cardlayout/XWCoverCardLayout.java | 63 +++++++++++++++++++ 2 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 designer_form/src/com/fr/design/designer/creator/cardlayout/XWCoverCardLayout.java diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index d102a3fc00..ae30cb25f0 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -1,9 +1,11 @@ package com.fr.design; import com.fr.chart.base.ChartConstants; +import com.fr.chart.base.ChartInternationalNameContentBean; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; import com.fr.chart.charttypes.ChartTypeManager; +import com.fr.chart.fun.IndependentChartProvider; import com.fr.design.beans.BasicBeanPane; import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.design.chart.fun.IndependentChartUIProvider; @@ -29,10 +31,7 @@ import com.fr.stable.plugin.PluginSimplify; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * Created by eason on 14/12/29. @@ -43,6 +42,7 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh private static ChartTypeInterfaceManager classManager = null; private static LinkedHashMap chartTypeInterfaces = new LinkedHashMap(); + private static List chartOrderList = new ArrayList(); public synchronized static ChartTypeInterfaceManager getInstance() { if (classManager == null) { @@ -84,6 +84,12 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh chartTypeInterfaces.put(ChartConstants.MAP_CHART, new MapIndependentChartInterface()); chartTypeInterfaces.put(ChartConstants.GIS_CHAER, new GisMapIndependentChartInterface()); chartTypeInterfaces.put(ChartConstants.FUNNEL_CHART, new FunnelIndependentChartInterface()); + + for (String plotID :chartTypeInterfaces.keySet()){ + if (!chartOrderList.contains(plotID)){ + chartOrderList.add(plotID); + } + } } public String getIconPath(String plotID) { @@ -109,6 +115,10 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh PluginMessage.remindUpdate(className); } else if (!chartTypeInterfaces.containsKey(plotID)) { chartTypeInterfaces.put(plotID, provider); + //新图表类型插入到前面 + if (!chartOrderList.contains(plotID)) { + chartOrderList.add(0, plotID); + } } } catch (ClassNotFoundException e) { FRLogger.getLogger().error("class not found:" + e.getMessage()); @@ -129,13 +139,11 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh * @param paneList pane容器 */ public void addPlotTypePaneList(List> paneList) { - Iterator iterator = chartTypeInterfaces.entrySet().iterator(); - while (iterator.hasNext()) { - Map.Entry entry = (Map.Entry) iterator.next(); - IndependentChartUIProvider creator = (IndependentChartUIProvider) entry.getValue(); + for (int i = 0; i < chartOrderList.size(); i++){ + String plotID = chartOrderList.get(i); + IndependentChartUIProvider creator = chartTypeInterfaces.get(plotID); paneList.add(creator.getPlotTypePane()); } - } public ChartDataPane getChartDataPane(String plotID, AttributeChangeListener listener) { diff --git a/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCoverCardLayout.java b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCoverCardLayout.java new file mode 100644 index 0000000000..8d0cb10890 --- /dev/null +++ b/designer_form/src/com/fr/design/designer/creator/cardlayout/XWCoverCardLayout.java @@ -0,0 +1,63 @@ +package com.fr.design.designer.creator.cardlayout; + +import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; + +import java.awt.*; +import java.awt.event.ComponentAdapter; +import java.awt.event.ComponentEvent; + +/** + * Created by Fangjie on 2016/6/30. + */ +public class XWCoverCardLayout extends XWCardMainBorderLayout{ + + private boolean mouseEnter; + + public boolean isMouseEnter() { + return mouseEnter; + } + + public void setMouseEnter(boolean mouseEnter) { + this.mouseEnter = mouseEnter; + } + + /** + * 构造函数 + * + * @param border + * @param dimension + */ + public XWCoverCardLayout(WCardMainBorderLayout border, Dimension dimension) { + super(border, dimension); + } + + public void paint(Graphics g) { + super.paint(g); + + if (mouseEnter) { + Graphics2D g2d = (Graphics2D) g; + Composite oldComposite = g2d.getComposite(); + Paint old_paint = g2d.getPaint(); + + g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.2f)); + + g2d.setColor(Color.YELLOW); + + int x = 1; + int y = 1; + int w = getWidth(); + int h = getHeight(); + + g2d.fillRect(x, y, w, h); + + g2d.setColor(Color.BLACK); + + g2d.drawRect(getX(), getY(), getWidth(), getHeight()); + + g2d.setComposite(oldComposite); + + g2d.setPaint(old_paint); + } + } + +}