From ea3f19be1e9faf42e512fb6d285e11853590f24a Mon Sep 17 00:00:00 2001 From: neil Date: Fri, 17 Jun 2016 10:35:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/mobile/AppFitBrowserPane.java | 94 ------------------- .../report/mobile/AppFitPreviewPane.java | 71 -------------- .../report/mobile/MobileRadioGroupPane.java | 4 +- .../report/mobile/ReportMobileAttrPane.java | 41 +++++--- 4 files changed, 30 insertions(+), 180 deletions(-) delete mode 100644 designer/src/com/fr/design/report/mobile/AppFitBrowserPane.java delete mode 100644 designer/src/com/fr/design/report/mobile/AppFitPreviewPane.java diff --git a/designer/src/com/fr/design/report/mobile/AppFitBrowserPane.java b/designer/src/com/fr/design/report/mobile/AppFitBrowserPane.java deleted file mode 100644 index 43471b751..000000000 --- a/designer/src/com/fr/design/report/mobile/AppFitBrowserPane.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.fr.design.report.mobile; - -import com.fr.base.mobile.MobileFitAttrState; -import com.fr.design.beans.BasicBeanPane; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.general.Inter; -import com.fr.report.mobile.ElementCaseMobileAttr; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -/** - * Created by 夏翔 on 2016/5/28. - */ -public class AppFitBrowserPane extends BasicBeanPane { - //横屏设置面板 - private MobileRadioGroupPane horizionPane; - //竖屏设置面板 - private MobileRadioGroupPane verticalPane; - //缩放选项面板 - private MobileRadioCheckPane radioCheckPane; - //效果预览面板 - private AppFitPreviewPane appFitPreviewPane; - - - public AppFitBrowserPane(){ - initComponents(); - - } - - private void initComponents() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); - JPanel fitOpsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - horizionPane = new MobileRadioGroupPane(Inter.getLocText("FR-Designer_Mobile-Horizontal")); - verticalPane = new MobileRadioGroupPane(Inter.getLocText("FR-Designer_Mobile-Vertical")); - radioCheckPane = new MobileRadioCheckPane(Inter.getLocText("FR-Designer_Mobile-Zoom")); - ActionListener actionListener = getAppPreviewActionListener(); - horizionPane.addActionListener(actionListener); - verticalPane.addActionListener(actionListener); - fitOpsPane.add(horizionPane, BorderLayout.NORTH); - fitOpsPane.add(verticalPane, BorderLayout.CENTER); - fitOpsPane.add(radioCheckPane, BorderLayout.SOUTH); - borderPane.add(fitOpsPane); - this.add(borderPane); - - } - - public void setAppFitPreviewPane(AppFitPreviewPane appFitPreviewPane) { - this.appFitPreviewPane = appFitPreviewPane; - } - - //纵向和横向独立设置 - public int[] getCurrentFitOptions() { - return new int[]{horizionPane.getSelectRadioIndex(), verticalPane.getSelectRadioIndex(), radioCheckPane.getCurrentState()}; - } - - @Override - public void populateBean(ElementCaseMobileAttr ob) { - if (ob == null) { - ob = new ElementCaseMobileAttr(); - } - horizionPane.populateBean(ob.getHorziontalAttr()); - verticalPane.populateBean(ob.getVerticalAttr()); - radioCheckPane.populateBean(ob.isZoom()); - appFitPreviewPane.refreshPreview(getCurrentFitOptions()); - - } - - @Override - public ElementCaseMobileAttr updateBean() { - MobileFitAttrState horizonState = horizionPane.updateBean(); - MobileFitAttrState verticalState = verticalPane.updateBean(); - boolean isZoom = radioCheckPane.updateBean(); - return new ElementCaseMobileAttr(horizonState, verticalState, isZoom); - } - - @Override - protected String title4PopupWindow() { - return Inter.getLocText("FR-Designer_Fit-App"); - } - - private ActionListener getAppPreviewActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - int[] fitOptions = getCurrentFitOptions(); - appFitPreviewPane.refreshPreview(fitOptions); - } - }; - } -} diff --git a/designer/src/com/fr/design/report/mobile/AppFitPreviewPane.java b/designer/src/com/fr/design/report/mobile/AppFitPreviewPane.java deleted file mode 100644 index 3625e4ba4..000000000 --- a/designer/src/com/fr/design/report/mobile/AppFitPreviewPane.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.fr.design.report.mobile; - -import com.fr.design.dialog.BasicPane; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.general.IOUtils; -import com.fr.general.Inter; - -import javax.swing.*; -import java.util.ArrayList; - -/** - * Created by 夏翔 on 2016/5/28. - */ -public class AppFitPreviewPane extends BasicPane{ - - private UILabel horizontalImageLabel; - - private UILabel verticalImagelabel; - - private ArrayList cachedVerticalPreviewImage = new ArrayList(); - - private ArrayList cachedHorizonPreviewImage = new ArrayList(); - - - public AppFitPreviewPane() { - //初始化缓存图片 - initCacheImage(); - //初始化组件 - initComponents(); - } - - private void initCacheImage() { - cachedVerticalPreviewImage.add(new ImageIcon(IOUtils.readImage("/com/fr/design/images/dialog/appfit/V0.png"))); - cachedVerticalPreviewImage.add(new ImageIcon(IOUtils.readImage("/com/fr/design/images/dialog/appfit/V1.png"))); - cachedVerticalPreviewImage.add(new ImageIcon(IOUtils.readImage("/com/fr/design/images/dialog/appfit/V2.png"))); - cachedVerticalPreviewImage.add(new ImageIcon(IOUtils.readImage("/com/fr/design/images/dialog/appfit/V3.png"))); - cachedHorizonPreviewImage.add(new ImageIcon(IOUtils.readImage("/com/fr/design/images/dialog/appfit/H0.png"))); - cachedHorizonPreviewImage.add(new ImageIcon(IOUtils.readImage("/com/fr/design/images/dialog/appfit/H1.png"))); - cachedHorizonPreviewImage.add(new ImageIcon(IOUtils.readImage("/com/fr/design/images/dialog/appfit/H2.png"))); - cachedHorizonPreviewImage.add(new ImageIcon(IOUtils.readImage("/com/fr/design/images/dialog/appfit/H3.png"))); - } - - private void initComponents() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - - JPanel outnorthPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); - this.add(outnorthPane); - - horizontalImageLabel = new UILabel(); - horizontalImageLabel.setIcon(cachedHorizonPreviewImage.get(1)); - outnorthPane.add(horizontalImageLabel); - - verticalImagelabel = new UILabel(); - verticalImagelabel.setIcon(cachedVerticalPreviewImage.get(0)); - outnorthPane.add(verticalImagelabel); - } - - public void refreshPreview(int[] index) { - ImageIcon newHorizonImageIcon = cachedHorizonPreviewImage.get(index[0]) ; - ImageIcon newVerticalImageIcon = cachedVerticalPreviewImage.get(index[1]); - horizontalImageLabel.setIcon(newHorizonImageIcon); - verticalImagelabel.setIcon(newVerticalImageIcon); - - } - - @Override - protected String title4PopupWindow() { - return Inter.getLocText("FR-Plugin_Preview"); - } -} diff --git a/designer/src/com/fr/design/report/mobile/MobileRadioGroupPane.java b/designer/src/com/fr/design/report/mobile/MobileRadioGroupPane.java index 85cee58e8..9e6638926 100644 --- a/designer/src/com/fr/design/report/mobile/MobileRadioGroupPane.java +++ b/designer/src/com/fr/design/report/mobile/MobileRadioGroupPane.java @@ -1,11 +1,11 @@ package com.fr.design.report.mobile; +import com.fr.base.mobile.MobileFitAttrState; import com.fr.design.beans.BasicBeanPane; import com.fr.design.gui.ibutton.UIRadioButton; import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; -import com.fr.base.mobile.MobileFitAttrState; import com.fr.stable.StringUtils; import javax.swing.*; @@ -17,7 +17,7 @@ import java.util.List; /** * Created by Administrator on 2016/5/16/0016. */ -public class MobileRadioGroupPane extends BasicBeanPane{ +public class MobileRadioGroupPane extends BasicBeanPane { private List radioButtons = new ArrayList(); diff --git a/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java b/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java index 1d2d39931..a4522c14a 100644 --- a/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java +++ b/designer/src/com/fr/design/report/mobile/ReportMobileAttrPane.java @@ -1,33 +1,43 @@ package com.fr.design.report.mobile; +import com.fr.base.mobile.MobileFitAttrState; import com.fr.design.beans.BasicBeanPane; +import com.fr.design.layout.FRGUIPaneFactory; import com.fr.general.Inter; import com.fr.report.mobile.ElementCaseMobileAttr; import javax.swing.*; +import java.awt.*; /** * Created by Administrator on 2016/5/12/0012. */ -public class ReportMobileAttrPane extends BasicBeanPane{ +public class ReportMobileAttrPane extends BasicBeanPane { - - private AppFitBrowserPane appFitBrowserPane; + //横屏设置面板 + private MobileRadioGroupPane horizionPane; + //竖屏设置面板 + private MobileRadioGroupPane verticalPane; + //缩放设置面板 + private MobileRadioCheckPane radioCheckPane; public ReportMobileAttrPane() { initComponents(); } private void initComponents() { - this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); - this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); - AppFitPreviewPane appFitPreviewPane = new AppFitPreviewPane(); - - appFitBrowserPane = new AppFitBrowserPane(); - appFitBrowserPane.setAppFitPreviewPane(appFitPreviewPane); - this.add(appFitBrowserPane); + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + JPanel borderPane = FRGUIPaneFactory.createTitledBorderPane(this.title4PopupWindow()); - this.add(appFitPreviewPane); + JPanel fitOpsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); + horizionPane = new MobileRadioGroupPane(Inter.getLocText("FR-Designer_Mobile-Horizontal")); + verticalPane = new MobileRadioGroupPane(Inter.getLocText("FR-Designer_Mobile-Vertical")); + radioCheckPane = new MobileRadioCheckPane(Inter.getLocText("FR-Designer_Mobile-Zoom")); + fitOpsPane.add(horizionPane, BorderLayout.NORTH); + fitOpsPane.add(verticalPane, BorderLayout.CENTER); + fitOpsPane.add(radioCheckPane, BorderLayout.SOUTH); + borderPane.add(fitOpsPane); + this.add(borderPane); } @Override @@ -35,13 +45,18 @@ public class ReportMobileAttrPane extends BasicBeanPane{ if (ob == null) { ob = new ElementCaseMobileAttr(); } - appFitBrowserPane.populateBean(ob); + horizionPane.populateBean(ob.getHorziontalAttr()); + verticalPane.populateBean(ob.getVerticalAttr()); + radioCheckPane.populateBean(ob.isZoom()); } @Override public ElementCaseMobileAttr updateBean() { - return appFitBrowserPane.updateBean(); + MobileFitAttrState horizonState = horizionPane.updateBean(); + MobileFitAttrState verticalState = verticalPane.updateBean(); + boolean isZoom = radioCheckPane.updateBean(); + return new ElementCaseMobileAttr(horizonState, verticalState, isZoom); } @Override