From 616c69a90c7713a74e1aad4aa69a7325a01648f5 Mon Sep 17 00:00:00 2001 From: MoMeak Date: Tue, 25 Jul 2017 10:57:11 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-2897=209.0=E8=AE=BE=E8=AE=A1=E5=99=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E8=81=9A=E5=90=88=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E7=BC=A9=E6=94=BE=E6=9D=A1=E5=BF=AB=E6=8D=B7=E9=94=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/JWorkBook.java | 4 +- .../mainframe/ReportComponentComposite.java | 18 ++++---- designer/src/com/fr/poly/PolyDesigner.java | 46 ++++++++++++++++--- 3 files changed, 50 insertions(+), 18 deletions(-) diff --git a/designer/src/com/fr/design/mainframe/JWorkBook.java b/designer/src/com/fr/design/mainframe/JWorkBook.java index de214fb6d..b25b8f5fa 100644 --- a/designer/src/com/fr/design/mainframe/JWorkBook.java +++ b/designer/src/com/fr/design/mainframe/JWorkBook.java @@ -86,7 +86,7 @@ public class JWorkBook extends JTemplate { private static final int TOOLBARPANEDIMHEIGHT = 26; private UIModeControlContainer centerPane; - private ReportComponentComposite reportComposite; + public ReportComponentComposite reportComposite; private ParameterDefinitePane parameterPane; private int resolution; @@ -394,7 +394,7 @@ public class JWorkBook extends JTemplate { return resolution; } double time =(areaHeight/creatorHeight)<(areaWidth/creatorWidth) ? (areaHeight/creatorHeight) : (areaWidth/creatorWidth); - return (int) (time * polyDezi.getResolution()); + return (int) (time * ScreenResolution.getScreenResolution()); }else if (elementCasePane != null) { ElementCasePane reportPane = elementCasePane.getGrid().getElementCasePane(); diff --git a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java index 431a2ae5d..f2e81e00a 100644 --- a/designer/src/com/fr/design/mainframe/ReportComponentComposite.java +++ b/designer/src/com/fr/design/mainframe/ReportComponentComposite.java @@ -23,6 +23,7 @@ import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.Inter; import com.fr.grid.Grid; import com.fr.main.impl.WorkBook; +import com.fr.poly.PolyArea; import com.fr.report.report.TemplateReport; /** @@ -58,6 +59,8 @@ public class ReportComponentComposite extends JComponent { * */ public ReportComponentComposite(JWorkBook jwb) { + setFocusable(true); + setFocusTraversalKeysEnabled(false); this.parent = jwb; this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.add(centerCardPane = new ReportComponentCardPane(), BorderLayout.CENTER); @@ -135,6 +138,7 @@ public class ReportComponentComposite extends JComponent { return; } centerCardPane.populate(workbook.getTemplateReport(newIndex)); + if (parentContainer != null) { parentContainer.setDownPane(ReportComponentComposite.this); } @@ -184,6 +188,10 @@ public class ReportComponentComposite extends JComponent { return sheetNameTab.getSelectedIndex(); } + public JSliderPane getjSliderContainer(){ + return this.jSliderContainer; + } + public void setParentContainer(UIModeControlContainer parentContainer) { this.parentContainer = parentContainer; @@ -237,16 +245,6 @@ public class ReportComponentComposite extends JComponent { return southPane; } - private JComponent createSouthControlPaneWithJSliderPane() { - hbarContainer = FRGUIPaneFactory.createBorderLayout_S_Pane(); - hbarContainer.add(centerCardPane.editingComponet.getHorizontalScrollBar()); - JSplitPane splitWithJSliderPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, hbarContainer, JSliderPane.getInstance()); - splitWithJSliderPane.setBorder(null); - splitWithJSliderPane.setDividerLocation(0.9); - splitWithJSliderPane.setDividerSize(3); - splitWithJSliderPane.setResizeWeight(1); - return splitWithJSliderPane; - } public void setSelectedIndex(int selectedIndex) { sheetNameTab.setSelectedIndex(selectedIndex); diff --git a/designer/src/com/fr/poly/PolyDesigner.java b/designer/src/com/fr/poly/PolyDesigner.java index e2a25aeb6..57413a129 100644 --- a/designer/src/com/fr/poly/PolyDesigner.java +++ b/designer/src/com/fr/poly/PolyDesigner.java @@ -4,8 +4,7 @@ package com.fr.poly; import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.MouseEvent; +import java.awt.event.*; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.List; @@ -98,18 +97,22 @@ public class PolyDesigner extends ReportComponent clip_board = new ArrayList(); // richer:鼠标滚轮每滚动一下,PolyDesignPane的尺寸就改变ROTATIONS这么多 private static final int ROTATIONS = 50; + private static final int MIN = 10; private JScrollBar verScrollBar; private JScrollBar horScrollBar; private PolyComponetsBar polyComponetsBar = new PolyComponetsBar(); private JComponent[] toolBarComponent = null; - + private JPanel ployareaPane; + private JSliderPane jSliderContainer; private int resolution = (int) (ScreenResolution.getScreenResolution()* JSliderPane.getInstance().resolutionTimes); private float time; + private boolean isCtrl = false; public PolyDesigner(PolyWorkSheet report) { super(report); setDoubleBuffered(true); + // 为了处理键盘事件,需要FormDesigner能够获取焦点 setFocusable(true); setFocusTraversalKeysEnabled(false); @@ -119,11 +122,13 @@ public class PolyDesigner extends ReportComponent