|
|
|
package com.fr.design.mainframe;
|
|
|
|
|
|
|
|
import com.fr.base.AutoChangeLineProvider;
|
|
|
|
import com.fr.design.fun.ReportLengthUNITProvider;
|
|
|
|
import com.fr.general.ComparatorUtils;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Created by kerry on 2020-06-05
|
|
|
|
*/
|
|
|
|
public class DesignerUIModeConfig {
|
|
|
|
private DesignerUIMode mode = AbsoluteMeasureUIMode.getInstance();
|
|
|
|
|
|
|
|
private static class DesignerUIModeConfigHolder {
|
|
|
|
private static final DesignerUIModeConfig designerUIModeConfig = new DesignerUIModeConfig();
|
|
|
|
}
|
|
|
|
|
|
|
|
private DesignerUIModeConfig() {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public static DesignerUIModeConfig getInstance() {
|
|
|
|
return DesignerUIModeConfigHolder.designerUIModeConfig;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 判断是否是新ui模式
|
|
|
|
*
|
|
|
|
* @return boolean
|
|
|
|
*/
|
|
|
|
public boolean simulateWebUIMode() {
|
|
|
|
return ComparatorUtils.equals(SimulateWebUIMode.getInstance(), mode);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 设置新ui模式
|
|
|
|
*/
|
|
|
|
public void setSimulateWebUIMode() {
|
|
|
|
this.mode = SimulateWebUIMode.getInstance();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void setDesignerUIMode(DesignerUIMode mode) {
|
|
|
|
this.mode = mode;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 设置老ui模式
|
|
|
|
*/
|
|
|
|
public void setAbsoluteMeasureUIMode() {
|
|
|
|
this.mode = AbsoluteMeasureUIMode.getInstance();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 解析不同模式下的尺寸单位
|
|
|
|
*
|
|
|
|
* @param unitType 尺寸类型
|
|
|
|
* @return ReportLengthUNITProvider对象
|
|
|
|
*/
|
|
|
|
public ReportLengthUNITProvider parseLengthUNIT(int unitType) {
|
|
|
|
return mode.parseLengthUNIT(unitType);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取不同模式下的换行逻辑
|
|
|
|
* @return AutoChangeLineProvider
|
|
|
|
*/
|
|
|
|
public AutoChangeLineProvider getAutoChangeLineStrategy() {
|
|
|
|
return mode.getAutoChangeLineStrategy();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取不同模式下的屏幕分辨率
|
|
|
|
*
|
|
|
|
* @return 分辨率
|
|
|
|
*/
|
|
|
|
public int getScreenResolution() {
|
|
|
|
return mode.getScreenResolution();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|