Browse Source

update

master
xiaohu 8 years ago
parent
commit
ef30f9e9d8
  1. 46
      designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java
  2. 63
      designer_form/src/com/fr/design/designer/creator/cardlayout/XWCoverCardLayout.java

46
designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java

@ -25,28 +25,31 @@ import com.fr.stable.EnvChangedListener;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.fun.Authorize; import com.fr.stable.fun.Authorize;
import com.fr.stable.plugin.ExtraChartDesignClassManagerProvider; import com.fr.stable.plugin.ExtraChartDesignClassManagerProvider;
import com.fr.stable.plugin.PluginReadListener;
import com.fr.stable.plugin.PluginSimplify; import com.fr.stable.plugin.PluginSimplify;
import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLPrintWriter;
import com.fr.stable.xml.XMLableReader; import com.fr.stable.xml.XMLableReader;
import java.util.*; import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/** /**
* Created by eason on 14/12/29. * Created by eason on 14/12/29.
*/ */
public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraChartDesignClassManagerProvider { public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraChartDesignClassManagerProvider {
private static ClassLoader loader = Thread.currentThread().getContextClassLoader(); private static ClassLoader loader = Thread.currentThread().getContextClassLoader();
private static ChartTypeInterfaceManager classManager = null; private static ChartTypeInterfaceManager classManager = null;
private static LinkedHashMap<String, IndependentChartUIProvider> chartTypeInterfaces = new LinkedHashMap<String, IndependentChartUIProvider>(); private static LinkedHashMap<String, IndependentChartUIProvider> chartTypeInterfaces = new LinkedHashMap<String, IndependentChartUIProvider>();
private static List<String> chartOrderList = new ArrayList<String>();
public synchronized static ChartTypeInterfaceManager getInstance() { public synchronized static ChartTypeInterfaceManager getInstance() {
if (classManager == null) { if (classManager == null) {
classManager = new ChartTypeInterfaceManager(); classManager = new ChartTypeInterfaceManager();
chartTypeInterfaces.clear(); chartTypeInterfaces.clear();
classManager.readDefault();
classManager.readXMLFile(); classManager.readXMLFile();
} }
return classManager; return classManager;
@ -60,11 +63,23 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh
}); });
} }
static {
GeneralContext.addPluginReadListener(new PluginReadListener() {
@Override
public void success() {
if (chartTypeInterfaces != null) {
readDefault();
}
}
});
}
private synchronized static void envChanged() { private synchronized static void envChanged() {
classManager = null; classManager = null;
} }
private static void readDefault() { private static void readDefault() {
chartTypeInterfaces.put(ChartConstants.COLUMN_CHART, new ColumnIndependentChartInterface()); chartTypeInterfaces.put(ChartConstants.COLUMN_CHART, new ColumnIndependentChartInterface());
chartTypeInterfaces.put(ChartConstants.LINE_CHART, new LineIndependentChartInterface()); chartTypeInterfaces.put(ChartConstants.LINE_CHART, new LineIndependentChartInterface());
chartTypeInterfaces.put(ChartConstants.BAR_CHART, new BarIndependentChartInterface()); chartTypeInterfaces.put(ChartConstants.BAR_CHART, new BarIndependentChartInterface());
@ -83,15 +98,15 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh
chartTypeInterfaces.put(ChartConstants.GIS_CHAER, new GisMapIndependentChartInterface()); chartTypeInterfaces.put(ChartConstants.GIS_CHAER, new GisMapIndependentChartInterface());
chartTypeInterfaces.put(ChartConstants.FUNNEL_CHART, new FunnelIndependentChartInterface()); chartTypeInterfaces.put(ChartConstants.FUNNEL_CHART, new FunnelIndependentChartInterface());
for (String plotID :chartTypeInterfaces.keySet()){
if (!chartOrderList.contains(plotID)){
chartOrderList.add(plotID);
}
}
} }
public String getIconPath(String plotID) { public String getIconPath(String plotID) {
return chartTypeInterfaces.get(plotID).getIconPath(); if (chartTypeInterfaces.get(plotID) != null) {
return chartTypeInterfaces.get(plotID).getIconPath();
}else {
return StringUtils.EMPTY;
}
} }
/** /**
@ -113,10 +128,6 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh
PluginMessage.remindUpdate(className); PluginMessage.remindUpdate(className);
} else if (!chartTypeInterfaces.containsKey(plotID)) { } else if (!chartTypeInterfaces.containsKey(plotID)) {
chartTypeInterfaces.put(plotID, provider); chartTypeInterfaces.put(plotID, provider);
//新图表类型插入到前面
if (!chartOrderList.contains(plotID)) {
chartOrderList.add(0, plotID);
}
} }
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e) {
FRLogger.getLogger().error("class not found:" + e.getMessage()); FRLogger.getLogger().error("class not found:" + e.getMessage());
@ -137,11 +148,14 @@ public class ChartTypeInterfaceManager extends XMLFileManager implements ExtraCh
* @param paneList pane容器 * @param paneList pane容器
*/ */
public void addPlotTypePaneList(List<FurtherBasicBeanPane<? extends Chart>> paneList) { public void addPlotTypePaneList(List<FurtherBasicBeanPane<? extends Chart>> paneList) {
for (int i = 0; i < chartOrderList.size(); i++){
String plotID = chartOrderList.get(i); Iterator iterator = chartTypeInterfaces.entrySet().iterator();
IndependentChartUIProvider creator = chartTypeInterfaces.get(plotID); while (iterator.hasNext()) {
Map.Entry entry = (Map.Entry) iterator.next();
IndependentChartUIProvider creator = (IndependentChartUIProvider) entry.getValue();
paneList.add(creator.getPlotTypePane()); paneList.add(creator.getPlotTypePane());
} }
} }
public ChartDataPane getChartDataPane(String plotID, AttributeChangeListener listener) { public ChartDataPane getChartDataPane(String plotID, AttributeChangeListener listener) {

63
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);
}
}
}
Loading…
Cancel
Save