diff --git a/designer/src/com/fr/poly/PolyDesignUI.java b/designer/src/com/fr/poly/PolyDesignUI.java index 8cc3583d85..b915e1ad8e 100644 --- a/designer/src/com/fr/poly/PolyDesignUI.java +++ b/designer/src/com/fr/poly/PolyDesignUI.java @@ -220,18 +220,21 @@ public class PolyDesignUI extends ComponentUI { ArrayList dbcomponents = new ArrayList(); // richer:禁止双缓冲行为,否则会出现两个图像 ComponentUtils.disableBuffer(comp, dbcomponents); - if (comp instanceof ECBlockCreator) { - Graphics clipg = g.create((int) (x * time), (int) (y * time), (int) (width * time), (int) (height * time)); - comp.paint(clipg); - clipg.dispose(); - }else { - BufferedImage img = CoreGraphHelper.createBufferedImage(comp.getWidth(), comp.getHeight(), BufferedImage.TYPE_INT_RGB); - Graphics2D g2d = img.createGraphics(); - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); - comp.printAll(g2d); - g2d.dispose(); - g.drawImage(img, (int) (x * time), (int) (y * time), (int) (width * time), (int) (height * time),null); - } +// if (comp instanceof ECBlockCreator) { +// Graphics clipg = g.create((int) (x * time), (int) (y * time), (int) (width * time), (int) (height * time)); +// comp.paint(clipg); +// clipg.dispose(); +// }else { + BufferedImage img = CoreGraphHelper.createBufferedImage(comp.getWidth(), comp.getHeight(), BufferedImage.TYPE_4BYTE_ABGR); + + Graphics2D g2d = img.createGraphics(); + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + comp.printAll(g2d); + g.drawImage(img, (int) (x * time), (int) (y * time), (int) (width * time), (int) (height * time),null); + + g2d.dispose(); + +// } ComponentUtils.resetBuffer(dbcomponents); } diff --git a/designer/src/com/fr/poly/creator/BlockCreator.java b/designer/src/com/fr/poly/creator/BlockCreator.java index 052e111a8e..a5e9535c2c 100644 --- a/designer/src/com/fr/poly/creator/BlockCreator.java +++ b/designer/src/com/fr/poly/creator/BlockCreator.java @@ -114,10 +114,12 @@ public abstract class BlockCreator extends JComponent i public Rectangle getEditorBounds() { Rectangle bounds = this.getBounds(); Dimension d = getEditor().getCornerSize(); - bounds.x -= d.width + designer.getHorizontalValue(); - bounds.y -= d.height + designer.getVerticalValue(); - bounds.width += d.width + PolyConstants.OPERATION_SIZE; - bounds.height += d.height + PolyConstants.OPERATION_SIZE; + //ECBlockCreator缩放的时候边框需要重新算下 + double times = this.designer.getResolution() / (double)resolution; + bounds.x -= d.width/times + designer.getHorizontalValue(); + bounds.y -= d.height/times + designer.getVerticalValue(); + bounds.width += Math.ceil(d.width/times + PolyConstants.OPERATION_SIZE/times); + bounds.height += Math.ceil(d.height/times + PolyConstants.OPERATION_SIZE/times); return bounds; } diff --git a/designer/src/com/fr/poly/creator/ECBlockCreator.java b/designer/src/com/fr/poly/creator/ECBlockCreator.java index 3921bea39a..3f46cee412 100644 --- a/designer/src/com/fr/poly/creator/ECBlockCreator.java +++ b/designer/src/com/fr/poly/creator/ECBlockCreator.java @@ -23,8 +23,6 @@ import com.fr.stable.unit.UnitRectangle; */ public class ECBlockCreator extends BlockCreator { private ECBlockEditor editor; - private static final int CREATOR_WIDTH = 20; - private static final int CREATOR_HEIGHT = 9; public ECBlockCreator() { @@ -69,12 +67,12 @@ public class ECBlockCreator extends BlockCreator { @Override public int getX(float time) { - return Math.round ((this.getX() - CREATOR_WIDTH) * time) + CREATOR_WIDTH; + return Math.round (this.getX() * time); } @Override public int getY(float time) { - return Math.round ((this.getY() - CREATOR_HEIGHT) * time) + CREATOR_HEIGHT; + return Math.round (this.getY() * time); } /** diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index 2b8aacd626..54d5b1c418 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -32,6 +32,7 @@ import com.fr.plugin.PluginCollector; import com.fr.plugin.conversion.PluginConversionModule; import com.fr.plugin.manage.PluginManager; import com.fr.plugin.manage.PluginStartup; +import com.fr.register.Register; import com.fr.stable.ArrayUtils; import com.fr.stable.BuildContext; import com.fr.stable.OperatingSystem; @@ -61,8 +62,8 @@ public abstract class BaseDesigner extends ToolBarMenuDock { public BaseDesigner(String[] args) { RestartHelper.deleteRecordFilesWhenStart(); - //初始化插件引擎 - PluginStartup.start(); + //启动core + Register.load(); //标记一下是设计器启动 PluginConversionModule.getInstance().markDesignerStart(); SiteCenter.getInstance(); diff --git a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java index e53d7849c9..0512a3d82f 100644 --- a/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java +++ b/designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java @@ -69,6 +69,7 @@ import com.fr.plugin.chart.map.MapIndependentVanChartInterface; import com.fr.plugin.chart.map.VanChartMapPlot; import com.fr.plugin.chart.multilayer.MultiPieIndependentVanChartInterface; import com.fr.plugin.chart.multilayer.VanChartMultiPiePlot; +import com.fr.plugin.chart.phantom.VanChartPhantomService; import com.fr.plugin.chart.pie.PieIndependentVanChartInterface; import com.fr.plugin.chart.radar.RadarIndependentVanChartInterface; import com.fr.plugin.chart.radar.VanChartRadarPlot; @@ -156,7 +157,9 @@ public class ChartTypeInterfaceManager implements ExtraChartDesignClassManagerPr @Override public void run() { - + + VanChartPhantomService.startPhantomService(); + initAllChartsDemoImage(allCharts); } }).start(); diff --git a/designer_chart/src/com/fr/plugin/chart/map/designer/type/VanChartMapSourceChoosePane.java b/designer_chart/src/com/fr/plugin/chart/map/designer/type/VanChartMapSourceChoosePane.java index 4408e085b5..85df10acc0 100644 --- a/designer_chart/src/com/fr/plugin/chart/map/designer/type/VanChartMapSourceChoosePane.java +++ b/designer_chart/src/com/fr/plugin/chart/map/designer/type/VanChartMapSourceChoosePane.java @@ -564,7 +564,7 @@ public class VanChartMapSourceChoosePane extends JPanel implements UIObserver { mapDataTree.changeRootNode(this.getRootNode()); if(samePlotChange) { - mapPlot.setGeoUrl(GEOJSONHelper.getInstance().getDefaultJSONURL()); + mapPlot.setGeoUrl(GEOJSONHelper.getDefaultJSONURL()); mapDataTree.selectDefaultTreeNode(); selectTreePath = mapDataTree.getSelectionPath(); sourceComboBox.setSelectedItem(selectTreePath); diff --git a/designer_form/src/com/fr/design/designer/creator/DedicateLayoutContainer.java b/designer_form/src/com/fr/design/designer/creator/DedicateLayoutContainer.java index f223e5d8f2..8c3cd743de 100644 --- a/designer_form/src/com/fr/design/designer/creator/DedicateLayoutContainer.java +++ b/designer_form/src/com/fr/design/designer/creator/DedicateLayoutContainer.java @@ -66,6 +66,15 @@ public abstract class DedicateLayoutContainer extends XLayoutContainer { child.toData().setWidgetName(name); } + /** + * 重置组件的可见性 + * @param visible 可见性 + */ + public void resetVisible(boolean visible){ + super.resetVisible(visible); + XCreator child = getXCreator(XWScaleLayout.INDEX); + child.toData().setVisible(visible); + } /** * 返回对应属性表的组件,scale和title返回其子组件 * diff --git a/designer_form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java b/designer_form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java index 14d3eb37a4..636701f025 100644 --- a/designer_form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java +++ b/designer_form/src/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java @@ -213,6 +213,7 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane { if (ComparatorUtils.equals(getGlobalName(), Inter.getLocText("FR-Designer_Basic")) && widgetPropertyPane != null) { widgetPropertyPane.update(widget); xCreator.resetCreatorName(widget.getWidgetName()); + xCreator.resetVisible(widget.isVisible()); designer.getEditListenerTable().fireCreatorModified(xCreator, DesignerEvent.CREATOR_RENAMED); return; }