diff --git a/designer/src/com/fr/design/mainframe/JWorkBook.java b/designer/src/com/fr/design/mainframe/JWorkBook.java index 16fa43c77a..2b23dabb7f 100644 --- a/designer/src/com/fr/design/mainframe/JWorkBook.java +++ b/designer/src/com/fr/design/mainframe/JWorkBook.java @@ -87,6 +87,7 @@ public class JWorkBook extends JTemplate { private static final String SHARE_SUFFIX = "_share"; private static final String SHARE_FOLDER = "share"; private static final int TOOLBARPANEDIMHEIGHT = 26; + private static final double MIN_TIME = 0.4; private UIModeControlContainer centerPane; public ReportComponentComposite reportComposite; @@ -363,7 +364,13 @@ public class JWorkBook extends JTemplate { this.resolution = resolution; ElementCasePane elementCasePane = reportComposite.centerCardPane.editingComponet.elementCasePane; PolyDesigner polyDezi = reportComposite.centerCardPane.getPolyDezi(); - if (elementCasePane != null){ + if (elementCasePane != null) { + //网格线 + if (resolution < ScreenResolution.getScreenResolution() * MIN_TIME) { + elementCasePane.getGrid().setShowGridLine(false); + } else { + elementCasePane.getGrid().setShowGridLine(true); + } elementCasePane.setResolution(resolution); elementCasePane.getGrid().getGridMouseAdapter().setResolution(resolution); elementCasePane.getGrid().setResolution(resolution); @@ -375,29 +382,30 @@ public class JWorkBook extends JTemplate { grid.setHorizontalExtent(GridUtils.getExtentValue(0, columnWidthList, grid.getWidth(), resolution)); elementCasePane.getGrid().updateUI(); //更新Column和Row - ((DynamicScrollBar)elementCasePane.getVerticalScrollBar()).setDpi(resolution); - ((DynamicScrollBar)elementCasePane.getHorizontalScrollBar()).setDpi(resolution); + ((DynamicScrollBar) elementCasePane.getVerticalScrollBar()).setDpi(resolution); + ((DynamicScrollBar) elementCasePane.getHorizontalScrollBar()).setDpi(resolution); elementCasePane.getGridColumn().setResolution(resolution); elementCasePane.getGridColumn().updateUI(); elementCasePane.getGridRow().setResolution(resolution); elementCasePane.getGridRow().updateUI(); } - if (polyDezi != null){ + if (polyDezi != null) { polyDezi.setResolution(resolution); HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setJTemplateResolution(resolution); polyDezi.updateUI(); } HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().fireTargetModified(); } + @Override - public int selfAdaptUpdate(){ + public int selfAdaptUpdate() { PolyDesigner polyDezi = reportComposite.centerCardPane.getPolyDezi(); ElementCasePane elementCasePane = reportComposite.centerCardPane.editingComponet.elementCasePane; - if (resolution == 0){ + if (resolution == 0) { resolution = ScreenResolution.getScreenResolution(); } - if (polyDezi != null && polyDezi.getSelection() != null){ - BlockCreator blockCreator =polyDezi.getSelection(); + if (polyDezi != null && polyDezi.getSelection() != null) { + BlockCreator blockCreator = polyDezi.getSelection(); double x = blockCreator.getEditorBounds().getX(); double y = blockCreator.getEditorBounds().getY(); polyDezi.setHorizontalValue((int) x); @@ -406,30 +414,33 @@ public class JWorkBook extends JTemplate { double creatorWidth = blockCreator.getEditorBounds().width; double areaHeight = polyDezi.polyArea.getHeight(); double areaWidth = polyDezi.polyArea.getWidth(); - if (creatorWidth == 0||creatorHeight == 0){ + if (creatorWidth == 0 || creatorHeight == 0) { return resolution; } - double time =(areaHeight/creatorHeight)<(areaWidth/creatorWidth) ? (areaHeight/creatorHeight) : (areaWidth/creatorWidth); + double time = (areaHeight / creatorHeight) < (areaWidth / creatorWidth) ? (areaHeight / creatorHeight) : (areaWidth / creatorWidth); return (int) (time * ScreenResolution.getScreenResolution()); - }else if (elementCasePane != null) { + } else if (elementCasePane != null) { ElementCasePane reportPane = elementCasePane.getGrid().getElementCasePane(); + if (reportPane.getSelection().getSelectedColumns().length == 0) { + return resolution; + } int column = reportPane.getSelection().getSelectedColumns()[0]; double columnLength = reportPane.getSelection().getSelectedColumns().length; double columnExtent = reportPane.getGrid().getHorizontalExtent(); int row = reportPane.getSelection().getSelectedRows()[0]; double rowLength = reportPane.getSelection().getSelectedRows().length; double rowExtent = reportPane.getGrid().getVerticalExtent(); - if (columnLength == 0||rowLength == 0){ + if (columnLength == 0 || rowLength == 0) { return resolution; } - double time = (columnExtent/columnLength) < (rowExtent/rowLength) ? (columnExtent/columnLength) : (rowExtent/rowLength); + double time = (columnExtent / columnLength) < (rowExtent / rowLength) ? (columnExtent / columnLength) : (rowExtent / rowLength); if (reportPane.isHorizontalScrollBarVisible()) { reportPane.getVerticalScrollBar().setValue(row); reportPane.getHorizontalScrollBar().setValue(column); } return (int) (time * elementCasePane.getGrid().getResolution()); - }else { + } else { return resolution; } } @@ -790,7 +801,6 @@ public class JWorkBook extends JTemplate { * 是否支持预览 * * @return 预览接口 - * */ public PreviewProvider[] supportPreview() { Set set = ExtraDesignClassManager.getInstance().getArray(PreviewProvider.MARK_STRING); diff --git a/designer/src/com/fr/design/mainframe/form/FormReportComponentComposite.java b/designer/src/com/fr/design/mainframe/form/FormReportComponentComposite.java index ecff0addf7..f091cbe8aa 100644 --- a/designer/src/com/fr/design/mainframe/form/FormReportComponentComposite.java +++ b/designer/src/com/fr/design/mainframe/form/FormReportComponentComposite.java @@ -33,6 +33,7 @@ public class FormReportComponentComposite extends JComponent implements TargetMo private static final int MAX = 400; private static final int HUND = 100; private static final int MIN = 10; + private static final double MIN_TIME = 0.4; public FormElementCaseDesigner elementCaseDesigner; private BaseJForm jForm; @@ -112,6 +113,12 @@ public class FormReportComponentComposite extends JComponent implements TargetMo private void setScale(int resolution) { ElementCasePane elementCasePane = elementCaseDesigner.getEditingElementCasePane(); + //网格线 + if (resolution < ScreenResolution.getScreenResolution() * MIN_TIME) { + elementCasePane.getGrid().setShowGridLine(false); + } else { + elementCasePane.getGrid().setShowGridLine(true); + } elementCasePane.setResolution(resolution); elementCasePane.getGrid().getGridMouseAdapter().setResolution(resolution); elementCasePane.getGrid().setResolution(resolution); diff --git a/designer/src/com/fr/poly/PolyUtils.java b/designer/src/com/fr/poly/PolyUtils.java index e18fabe030..a0d13a0429 100644 --- a/designer/src/com/fr/poly/PolyUtils.java +++ b/designer/src/com/fr/poly/PolyUtils.java @@ -9,6 +9,7 @@ import java.util.HashMap; import java.util.Map; import com.fr.base.FRContext; +import com.fr.base.ScreenResolution; import com.fr.base.chart.BaseChart; import com.fr.base.chart.BaseChartCollection; import com.fr.base.chart.BasePlot; @@ -114,10 +115,11 @@ public class PolyUtils { AddedData addedData = designer.getAddedData(); for (int count = addedData.getAddedCount() - 1; count >= 0; count--) { BlockCreator creator = addedData.getAddedAt(count); - int cx = creator.getX(); - int cy = creator.getY(); - int cw = creator.getWidth(); - int ch = creator.getHeight(); + float times = (float) designer.getResolution()/ScreenResolution.getScreenResolution(); + int cx = (int) (creator.getX() * times); + int cy = (int) (creator.getY() * times); + int cw = (int) (creator.getWidth() * times); + int ch = (int) (creator.getHeight() * times); if (x >= cx && x <= (cx + cw)) { if(y >= cy && y <= (cy + ch)) { return creator; diff --git a/designer_base/src/com/fr/design/mainframe/JSliderPane.java b/designer_base/src/com/fr/design/mainframe/JSliderPane.java index 2e54054eaf..7f3ad51f45 100644 --- a/designer_base/src/com/fr/design/mainframe/JSliderPane.java +++ b/designer_base/src/com/fr/design/mainframe/JSliderPane.java @@ -91,7 +91,6 @@ public class JSliderPane extends JPanel { } - public static final JSliderPane getInstance() { // if (THIS == null) { // THIS = new JSliderPane(); @@ -101,8 +100,8 @@ public class JSliderPane extends JPanel { } private void initSlider() { - slider = new UISlider(0, HUNDRED, HALF_HUNDRED){ - public Point getToolTipLocation(MouseEvent event){ + slider = new UISlider(0, HUNDRED, HALF_HUNDRED) { + public Point getToolTipLocation(MouseEvent event) { return new Point(event.getX(), event.getY() - TOOLTIP_Y); } }; @@ -115,8 +114,8 @@ public class JSliderPane extends JPanel { } private void initShowValSpinner() { - showValSpinner = new UIBasicSpinner(new SpinnerNumberModel(HUNDRED, TEN, FOUR_HUNDRED, 1)){ - public Point getToolTipLocation(MouseEvent event){ + showValSpinner = new UIBasicSpinner(new SpinnerNumberModel(HUNDRED, TEN, FOUR_HUNDRED, 1)) { + public Point getToolTipLocation(MouseEvent event) { return new Point(event.getX(), event.getY() - TOOLTIP_Y); } }; @@ -126,16 +125,16 @@ public class JSliderPane extends JPanel { } private void initDownUpButton() { - downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")){ - public Point getToolTipLocation(MouseEvent event){ + downButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverDown20.png")) { + public Point getToolTipLocation(MouseEvent event) { return new Point(event.getX(), event.getY() - TOOLTIP_Y); } }; downButton.setOpaque(false); downButton.setBorderPainted(false); downButton.setToolTipText(Inter.getLocText("FR-Designer_Scale_Down")); - upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")){ - public Point getToolTipLocation(MouseEvent event){ + upButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/source/normalUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png"), BaseUtils.readIcon("com/fr/design/images/data/source/hoverUp20.png")) { + public Point getToolTipLocation(MouseEvent event) { return new Point(event.getX(), event.getY() - TOOLTIP_Y); } }; @@ -149,8 +148,8 @@ public class JSliderPane extends JPanel { } private void initShowValButton() { - showValButton = new JButton(showValSpinner.getValue() + "%"){ - public Point getToolTipLocation(MouseEvent event){ + showValButton = new JButton(showValSpinner.getValue() + "%") { + public Point getToolTipLocation(MouseEvent event) { return new Point(event.getX(), event.getY() - TOOLTIP_Y); } }; @@ -278,6 +277,7 @@ public class JSliderPane extends JPanel { getTimes(sliderValue); showValue = times; showValSpinner.setValue(times); + customButton.setSelected(true); } }); } else {