forked from fanruan/design
neil
9 years ago
4 changed files with 30 additions and 180 deletions
@ -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<ElementCaseMobileAttr> { |
|
||||||
//横屏设置面板
|
|
||||||
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); |
|
||||||
} |
|
||||||
}; |
|
||||||
} |
|
||||||
} |
|
@ -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<ImageIcon> cachedVerticalPreviewImage = new ArrayList<ImageIcon>(); |
|
||||||
|
|
||||||
private ArrayList<ImageIcon> cachedHorizonPreviewImage = new ArrayList<ImageIcon>(); |
|
||||||
|
|
||||||
|
|
||||||
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"); |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue