决策报表模板

package api;

import java.awt.Color;
import java.awt.Font;
import java.awt.Rectangle;
import java.io.ByteArrayOutputStream;

import com.fr.base.Formula;
import com.fr.base.Parameter;
import com.fr.base.background.ColorBackground;
import com.fr.base.iofile.attr.FormBodyPaddingAttrMark;
import com.fr.base.iofile.attr.FormTabPaddingAttrMark;
import com.fr.base.iofile.attr.WatermarkAttr;
import com.fr.base.mobile.ChartMobileFitAttrState;
import com.fr.base.mobile.MobileFitAttrState;
import com.fr.chart.chartattr.ChartCollection;
import com.fr.chart.chartdata.OneValueCDDefinition;
import com.fr.chart.chartglyph.GeneralInfo;
import com.fr.data.impl.DBTableData;
import com.fr.data.impl.NameDatabaseConnection;
import com.fr.data.impl.NameTableData;
import com.fr.data.util.function.SumFunction;
import com.fr.design.form.layout.FRHorizontalLayout;
import com.fr.form.main.Form;
import com.fr.form.main.mobile.FormMobileAttr;
import com.fr.form.ui.CardAddButton;
import com.fr.form.ui.CardSwitchButton;
import com.fr.form.ui.ChartEditor;
import com.fr.form.ui.ElementCaseEditor;
import com.fr.form.ui.FreeButton;
import com.fr.form.ui.LayoutBorderStyle;
import com.fr.form.ui.PaddingMargin;
import com.fr.form.ui.TextEditor;
import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WAbsoluteLayout;
import com.fr.form.ui.container.WBodyLayoutType;
import com.fr.form.ui.container.WBorderLayout;
import com.fr.form.ui.container.WCardLayout;
import com.fr.form.ui.container.WFitLayout;
import com.fr.form.ui.container.WParameterLayout;
import com.fr.form.ui.container.WScaleLayout;
import com.fr.form.ui.container.WTabTextDirection;
import com.fr.form.ui.container.WTitleLayout;
import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout;
import com.fr.form.ui.container.cardlayout.WCardTagLayout;
import com.fr.form.ui.container.cardlayout.WCardTitleLayout;
import com.fr.form.ui.container.cardlayout.WTabFitLayout;
import com.fr.form.ui.mobile.CollapseButton;
import com.fr.form.ui.mobile.CollapseState;
import com.fr.form.ui.mobile.DefaultMobileStyle;
import com.fr.form.ui.mobile.LineAttr;
import com.fr.form.ui.mobile.MobileFormCollapsedStyle;
import com.fr.form.ui.mobile.impl.SidebarMobileBookMarkStyle;
import com.fr.form.web.FormToolBarManager;
import com.fr.general.FRFont;
import com.fr.general.act.BorderPacker;
import com.fr.general.act.TitlePacker;
import com.fr.general.cardtag.BannerTemplateStyle;
import com.fr.general.cardtag.mobile.DefaultMobileTemplateStyle;
import com.fr.general.cardtag.mobile.LineDescription;
import com.fr.general.cardtag.mobile.MobileTemplateStyle;
import com.fr.general.cardtag.mobile.UpMenuStyle;
import com.fr.js.JavaScriptImpl;
import com.fr.plugin.chart.PiePlot4VanChart;
import com.fr.plugin.chart.base.ChartRoseType;
import com.fr.plugin.chart.openvideo.OpenVideoSettings;
import com.fr.plugin.chart.type.OpenVideoType;
import com.fr.plugin.chart.vanchart.VanChart;
import com.fr.report.cell.DefaultTemplateCellElement;
import com.fr.report.fit.FitAttrState;
import com.fr.report.fit.ReportFitAttr;
import com.fr.report.web.button.form.DefaultListener;
import com.fr.report.worksheet.FormElementCase;
import com.fr.stable.Constants;
import com.fr.workspace.WorkContext;

import java.util.Arrays;

/**
 * 决策报表模板
 * 
 * @author Administrator
 *
 */
public class FormReportlet {

	public static void main(String[] args) {
		try {
			ServerConnector.remote();
			Form form = new Form();
			templateAttr(form);
			templateElement(form);
			ByteArrayOutputStream buff = new ByteArrayOutputStream();
			form.export(buff);
			WorkContext.getWorkResource().write("reportlets/决策报表.frm", buff.toByteArray());
			buff.close();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		ServerConnector.disconnect();
	}

	/**
	 * 模板元素
	 * 
	 * @param form
	 */
	private static void templateElement(Form form) {
		TextEditor text = new TextEditor();
		text.setWidgetName("text");
		FreeButton button = new FreeButton();
		button.setWidgetName("button");

		JavaScriptImpl j = new JavaScriptImpl(";");
		j.setParameters(new Parameter[] { new Parameter("ddd", new Formula("now()")) });
		j.addJSImort("scripts/js/my.js");

		WBorderLayout layout = new WBorderLayout();
		/*
		 * 容器
		 */
		layout.setWidgetName("form");
		// 标题
		layout.setCustomTitleName("form_title");
		// 事件
		layout.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
		// 移动端
		layout.getMobileBookMark().setUseBookMark(true);
		layout.getMobileBookMark().setBookMarkName("bookmark");

		/*
		 * 参数面板
		 */
		layout.setNorthSize(100);
		WParameterLayout para = new WParameterLayout();
		WAbsoluteLayout.BoundsWidget wb = new WAbsoluteLayout.BoundsWidget(text, new Rectangle(0, 0, 70, 20));
		// 移动端样式模板
		DefaultMobileStyle mobileStyle = new DefaultMobileStyle();
		mobileStyle.setCommonCustom(true);
		mobileStyle.setCommonBackground(ColorBackground.getInstance(Color.YELLOW));
		mobileStyle.setCommonBorderType(Constants.LINE_THICK);
		mobileStyle.setCommonBorderColor(Color.blue);
		mobileStyle.setCommonBorderRadius(9);
		mobileStyle.setCommonIconColor(Color.gray);
		mobileStyle.setCommonFont(FRFont.getInstance("黑体", Font.BOLD, 13));
		text.setMobileStyle(mobileStyle);
		// 导航
		text.getMobileBookMark().setUseBookMark(true);
		text.getMobileBookMark().setBookMarkName("text");
		button.setMobileStyle(mobileStyle);
		para.addWidget(wb);
		para.addWidget(new WAbsoluteLayout.BoundsWidget(button, new Rectangle(100, 0, 70, 20)));
		// 组件名称
		para.setWidgetName("para");
		// 标签
		para.setLabelName("para_label");
		// 背景
		para.setBackground(ColorBackground.getInstance(Color.GREEN));
		para.setDelayDisplayContent(false);
		para.setUseParamsTemplate(false);
		para.setPosition(FRHorizontalLayout.RIGHT);
		para.setDesignWidth(900);
		para.addMobileWidget("button");
		para.addMobileWidget("label");
		layout.addNorth(para);

		/*
		 * body
		 */
		WFitLayout body = new WFitLayout();
		layout.addCenter(body);
		body.setWidgetName("body");
		// 自适应布局
		body.setLayoutType(WBodyLayoutType.FIT);
		WFitLayout container = body;
		// 像素
		body.setContainerWidth(700);
		body.setContainerHeight(500);
		// 组件名称
		container.setWidgetName("body");
		// 内边距
		container.setMargin(new PaddingMargin(1, 2, 3, 4));
		// 组件缩放
		container.setCompState(WFitLayout.STATE_ORIGIN);
		// 组件间隔
		container.setCompInterval(5);
		/*
		 * // 绝对布局
		 * body.setLayoutType(WBodyLayoutType.ABSOLUTE);
		 * WAbsoluteBodyLayout container = new WAbsoluteBodyLayout("body");
		 * BoundsWidget bw = new BoundsWidget(container, new Rectangle(0, 0, 700, 500));
		 * body.addWidget(bw);
		 * // 缩放逻辑
		 * container.setCompState(WAbsoluteBodyLayout.STATE_FIXED);
		 */
		// 样式
		container.getBorderStyle().setBackground(ColorBackground.getInstance(Color.blue));
		container.getBorderStyle().setAlpha(.75f);
		// 水印
		WatermarkAttr water = new WatermarkAttr();
		water.setText("watermark");
		water.setFontSize(25);
		water.setHorizontalGap(200);
		water.setVerticalGap(100);
		water.setColor(Color.RED);
		form.addAttrMark(water);
		// 事件
		container.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
		// 手机重布局
		container.setAppRelayout(true);
		// 导航样式
		SidebarMobileBookMarkStyle ss = new SidebarMobileBookMarkStyle();
		ss.setWidth(70);
		ss.setHeight(35);
		ss.setGap(4);
		ss.setBorderRadius(3);
		ss.setBackgroundColor(Color.GRAY);
		ss.setOpacity(40);
		ss.setBorderLineStyle(Constants.LINE_THICK);
		ss.setBorderColor(Color.BLUE);
		ss.setFontFamily("楷体");
		ss.setFontSize(11);
		ss.setFontColor(Color.red);
		ss.setFontItalic(true);
		ss.setFontBold(true);
		ss.setSelectedBackgroundColor(Color.yellow);
		ss.setSelectedOpacity(50);
		ss.setSelectedBorderLineStyle(Constants.LINE_THIN);
		ss.setSelectedBorderColor(Color.CYAN);
		ss.setSelectedFontFamily("黑体");
		ss.setSelectedFontSize(12);
		ss.setSelectedFontColor(Color.LIGHT_GRAY);
		ss.setSelectedFontItalic(false);
		ss.setSelectedFontBold(false);
		container.setMobileBookMarkStyle(ss);
		// 显示该层下的组件导航
		container.setShowBookmarks(false);
		// 内边距/组件间隔
		FormBodyPaddingAttrMark fm = new FormBodyPaddingAttrMark();
		fm.setPaddingMargin(new PaddingMargin(5, 6, 7, 8));
		fm.setInterval(6);
		container.addWidgetAttrMark(fm);
		// 组件冻结
		container.updateFrozenWidgets(Arrays.asList(new String[] { "button" }));
		// 组件顺序
		container.addMobileWidget("button");
		container.addMobileWidget("label");

		/*
		 * 添加控件
		 */
		// 自适应布局时,以下控件需要多加一层
		// Password、NumberEditor、TreeComboBoxEditor、DateEditor、ComboCheckBox、ComboBox、TextEditor
		wb = new WAbsoluteLayout.BoundsWidget(text, new Rectangle(0, 0, 350, 21));
		wb.setWidgetName("text");
		WScaleLayout ws = new WScaleLayout("text");
		ws.addWidget(wb);
		ws.getMobileBookMark().setUseBookMark(true);
		ws.getMobileBookMark().setBookMarkName("text");
		container.addWidget(new WAbsoluteLayout.BoundsWidget(ws, new Rectangle(0, 0, 150, 200)));
		container.addWidget(new WAbsoluteLayout.BoundsWidget(button, new Rectangle(150, 0, 150, 200)));

		/*
		 * 图表
		 */
		ChartEditor chartEditor = new ChartEditor();
		chartEditor.setWidgetName("chart");
		PiePlot4VanChart plot = new PiePlot4VanChart();
		plot.setRoseType(ChartRoseType.PIE_DIFFERENT_ARC);
		OneValueCDDefinition data = new OneValueCDDefinition();
		data.setTableData(new NameTableData("ds1"));
		data.setCategoryName("无");
		data.setSeriesColumnName("产品类型");
		data.setValueColumnName("销量");
		data.setDataFunction(new SumFunction());
		VanChart chart = new VanChart(plot);
		chart.setFilterDefinition(data);
		chartEditor.resetChangeChartCollection(new ChartCollection(chart));
		WTitleLayout chartLayout = new WTitleLayout();
		chartLayout.setWidgetName("chartLayout");
		chartLayout.addBody(chartEditor, new Rectangle(0, 0, 400, 200));
		// 样式
		chartEditor.setVisible(true);
		BorderPacker borderStyle = chartEditor.getBorderStyle();
		borderStyle.setType(LayoutBorderStyle.TITLE);
		borderStyle.setBorderStyle(LayoutBorderStyle.SHADOWS);
		borderStyle.setBorder(Constants.LINE_THICK);
		borderStyle.setColor(Color.red);
		borderStyle.setBorderRadius(7);
		borderStyle.setBackground(ColorBackground.getInstance(Color.pink));
		borderStyle.setAlpha(.66f);
		TitlePacker t = borderStyle.getTitle();
		t.setTextObject("title1");
		t.setFrFont(FRFont.getInstance("楷体", Font.ITALIC, 13));
		t.setBackground(ColorBackground.getInstance(Color.RED));
		t.setPosition(Constants.CENTER);
		// 事件
		chartLayout.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
		// 移动端
		chartLayout.getMobileBookMark().setUseBookMark(true);
		chartLayout.getMobileBookMark().setBookMarkName("bookmark");
		// 缩放逻辑
		chartEditor.getMobileAttr().setZoomOutAttr(ChartMobileFitAttrState.PROPORTION);
		// 展开收起
		MobileFormCollapsedStyle collapsed = new MobileFormCollapsedStyle();
		collapsed.setCollapsedWork(true);
		CollapseButton cb = new CollapseButton();
		cb.setShowButton(false);
		cb.setButtonColor(Color.yellow);
		cb.setFoldedHint("fold");
		cb.setUnfoldedHint("unfold");
		cb.setDefaultState(CollapseState.UNFOLDED);
		collapsed.setCollapseButton(cb);
		chartEditor.setMobileCollapsedStyle(collapsed);
		// 允许全屏
		chartEditor.getMobileAttr().setAllowFullScreen(false);
		// 组件可选中
		chartEditor.getMobileAttr().setFunctionalWhenUnactivated(true);

		container.addWidget(new WAbsoluteLayout.BoundsWidget(chartLayout, new Rectangle(300, 0, 400, 200)));

		/*
		 * 报表控件
		 */
		WTitleLayout report = new WTitleLayout("report1");
		container.addWidget(new WAbsoluteLayout.BoundsWidget(report, new Rectangle(0, 200, 200, 300)));
		ElementCaseEditor ec = new ElementCaseEditor();
		report.addBody(ec, new Rectangle(0, 0, 200, 300));
		// 组件名称
		ec.setWidgetName("report1");
		// 可见
		ec.setVisible(false);
		// 样式
		borderStyle = ec.getBorderStyle();
		borderStyle.setType(LayoutBorderStyle.TITLE);
		borderStyle.setBorderStyle(LayoutBorderStyle.SHADOWS);
		borderStyle.setBorder(Constants.LINE_THICK);
		borderStyle.setColor(Color.BLUE);
		borderStyle.setBorderRadius(5);
		borderStyle.setBackground(ColorBackground.getInstance(Color.YELLOW));
		borderStyle.setAlpha(.78f);
		// 标题
		t = borderStyle.getTitle();
		t.setTextObject("title");
		t.setFrFont(FRFont.getInstance("楷体", Font.ITALIC, 13));
		t.setBackground(ColorBackground.getInstance(Color.RED));
		t.setPosition(Constants.CENTER);
		// 报表快工具栏
		ec.setToolBars(new FormToolBarManager[] { FormToolBarManager.createDefaultToolBar() });
		// PC浏览器自适应
		ec.setFitStateInPC(FitAttrState.DOUBLE_FIT.getState());
		// 事件
		ec.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
		// 移动端 - 导航
		report.getMobileBookMark().setUseBookMark(true);
		report.getMobileBookMark().setBookMarkName("report");
		// 移动端 - 自适应
		ec.setHorziontalAttr(MobileFitAttrState.HORIZONTAL);
		ec.setVerticalAttr(MobileFitAttrState.BIDIRECTIONAL);
		// 展开收起
		collapsed = new MobileFormCollapsedStyle();
		collapsed.setCollapsedWork(true);
		collapsed.setLineAttr(new LineAttr(4));
		cb = new CollapseButton();
		cb.setShowButton(false);
		cb.setButtonColor(Color.yellow);
		cb.setFoldedHint("sq");
		cb.setUnfoldedHint("zk");
		cb.setDefaultState(CollapseState.UNFOLDED);
		collapsed.setCollapseButton(cb);
		ec.setMobileCollapsedStyle(collapsed);
		// 允许全屏
		ec.setAllowFullScreen(true);
		// 组件可选中
		ec.setFunctionalWhenUnactivated(true);
		// 手机显示限制高度
		ec.setHeightRestrict(true);
		ec.setHeightPercent(.66);
		FormElementCase fe = (FormElementCase)ec.getElementCase();
		fe.addCellElement(new DefaultTemplateCellElement(0, 0, 123));

		/*
		 * 绝对画布块
		 */
		WAbsoluteLayout ab = new WAbsoluteLayout();
		ab.setWidgetName("absolute");
		ab.setCompState(WAbsoluteLayout.STATE_FIXED);
		ab.setShowBookmarks(false);
		ab.addWidget(new WAbsoluteLayout.BoundsWidget(button, new Rectangle(20, 20, 40, 40)));
		container.addWidget(new WAbsoluteLayout.BoundsWidget(ab, new Rectangle(200, 200, 200, 300)));

		/*
		 * Tab块
		 */
		CardSwitchButton tabSwitchButton1 = new CardSwitchButton();
		tabSwitchButton1.setWidgetName("tabSwitchButton1");
		tabSwitchButton1.setCardLayoutName("tabBody");
		tabSwitchButton1.setCustomStyle(true);
		tabSwitchButton1.setIndex(0);
		CardSwitchButton tabSwitchButton2 = new CardSwitchButton();
		tabSwitchButton2.setWidgetName("tabSwitchButton2");
		tabSwitchButton2.setCardLayoutName("tabBody");
		tabSwitchButton2.setCustomStyle(true);
		tabSwitchButton2.setIndex(1);

		WTabFitLayout body1 = new WTabFitLayout("body1", 0, tabSwitchButton1);
		body1.setTabNameIndex(0);
		body1.setCustomStyle(true);
		WTabFitLayout body2 = new WTabFitLayout("body2", 1, tabSwitchButton2);
		body2.setTabNameIndex(1);
		body2.setCustomStyle(true);

		WCardMainBorderLayout tabLayout = new WCardMainBorderLayout();
		tabLayout.setWidgetName("tabLayout");

		WCardLayout tabBody = new WCardLayout();
		tabBody.setWidgetName("tabBody");

		WCardTagLayout tabSwitch = new WCardTagLayout();
		tabSwitch.setWidgetName("tabSwitch");

		WCardTitleLayout tabPane = new WCardTitleLayout();
		tabPane.setCardName("tabBody");

		tabLayout.addNorth(tabPane);
		tabLayout.setNorthSize(30);
		tabLayout.addCenter(tabBody);
		CardAddButton addButton = new CardAddButton();
		addButton.setWidgetName("addButton");
		addButton.setCardLayoutName("tabBody");
		tabPane.addEast(addButton);
		tabPane.setEastSize(40);
		tabPane.addCenter(tabSwitch);
		tabSwitch.addWidget(tabSwitchButton1);
		tabSwitch.addWidget(tabSwitchButton2);
		tabBody.addWidget(body1, 0);
		tabBody.addWidget(body2, 1);

		// 事件
		tabLayout.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
		// 移动端 - 导航
		tabLayout.getMobileBookMark().setUseBookMark(true);
		tabLayout.getMobileBookMark().setBookMarkName("tablayout");
		// 样式
		borderStyle = new LayoutBorderStyle(Constants.LINE_THICK, Color.RED, 10, LayoutBorderStyle.TITLE,
				LayoutBorderStyle.SHADOWS);
		borderStyle.setBackground(ColorBackground.getInstance(Color.blue));
		borderStyle.setAlpha(.7f);
		tabBody.setBorderStyle(borderStyle);
		// tab轮播
		tabBody.setCarousel(true);
		tabBody.setCarouselInterval(3.5);
		// 样式模板
		tabSwitch.setTemplateStyle(new BannerTemplateStyle());
		// 显示位置
		tabLayout.addNorth(tabPane);
		// 背景
		borderStyle.getTitle().setBackground(ColorBackground.getInstance(Color.getHSBColor(0, 0, 0)));
		// 字体
		borderStyle.getTitle().setFrFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
		// 文本方向
		tabSwitch.setTextDirection(WTabTextDirection.TEXT_HORI_DERECTION);
		// 事件
		tabSwitch.addListener(new DefaultListener(WCardTagLayout.CARD_CHANGE, j));
		// 移动端 - 模板样式 - 上菜单式
		UpMenuStyle up = new UpMenuStyle();
		up.setCustom(true);
		// 显示间隔
		up.setGapFix(true);
		// Tab最小宽度
		up.setMinTabWidth(88);
		// 背景
		up.setInitialColor(Color.YELLOW);
		up.setSelectColor(Color.red);
		// 字符
		up.getTabFontConfig().setFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
		up.getTabFontConfig().getFont().setForeground(Color.blue);
		up.getTabFontConfig().setSelectColor(Color.red);
		// 下边框
		up.setBottomBorder(new LineDescription(Constants.LINE_THIN, Color.BLACK));
		// 下划线
		up.setUnderline(new LineDescription(Constants.LINE_THICK, Color.blue));
		tabSwitch.setMobileTemplateStyle(up);
		/*
		 * // 移动端 - 模板样式 - 下菜单式
		 * DownMenuStyle down = new DownMenuStyle();
		 * down.setCustom(true);
		 * // 背景
		 * down.setInitialColor(Color.yellow);
		 * down.setSelectColor(Color.green);
		 * // 字符
		 * down.getTabFontConfig().setFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
		 * down.getTabFontConfig().getFont().setForeground(Color.blue);
		 * down.getTabFontConfig().setSelectColor(Color.red);
		 * // 图标
		 * tabSwitchButton1.setInitIconName(IconManager.EDIT.getName());
		 * tabSwitchButton1.setSelectIconName(IconManager.VERIFY.getName());
		 * // 分割线
		 * down.setSplitLine(new LineDescription(Constants.LINE_THICK, Color.black));
		 * tabSwitch.setMobileTemplateStyle(down);
		 */
		/*
		 * // 移动端 - 模板样式 - 滑动式
		 * SliderStyle slider = new SliderStyle();
		 * slider.setCustom(true);
		 * // 背景
		 * slider.setInitialColor(Color.BLACK);
		 * // 字符
		 * slider.getTabFontConfig().setFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
		 * slider.getTabFontConfig().getFont().setForeground(Color.red);
		 * // 圆点指示器
		 * slider.setInitDotColor(Color.blue);
		 * slider.setSelectDotColor(Color.green);
		 * tabSwitch.setMobileTemplateStyle(slider);
		 */
		/*
		 * // 移动端 - 模板样式 - 联排式
		 * UniteStyle unite = new UniteStyle();
		 * unite.setCustom(true);
		 * // 按钮边距
		 * unite.setPaddingTop(1);
		 * unite.setPaddingBottom(2);
		 * unite.setPaddingLeft(3);
		 * unite.setPaddingRight(4);
		 * // 按钮背景
		 * unite.setInitialColor(Color.yellow);
		 * unite.setSelectColor(Color.pink);
		 * // 边框
		 * unite.setBorderLineStyle(Constants.LINE_THICK);
		 * unite.setBorderColor(Color.blue);
		 * unite.setBorderRadius(5);
		 * // 字符
		 * unite.getTabFontConfig().setFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
		 * unite.getTabFontConfig().getFont().setForeground(Color.red);
		 * unite.getTabFontConfig().setSelectColor(Color.green);
		 * tabSwitch.setMobileTemplateStyle(unite);
		 */
		// 移动端 - 高级
		// 内边距
		FormTabPaddingAttrMark tabPadding = new FormTabPaddingAttrMark();
		tabPadding.setPaddingMargin(new PaddingMargin(5, 6, 7, 8));
		// 显示组件导航
		tabSwitch.setShowBookmarks(true);
		// 显示标题
		MobileTemplateStyle dm = tabSwitch.getMobileTemplateStyle();
		dm.setShowTabTitle(true);
		// 支持滑动切换
		dm.setCanSlide(true);
		// 显示圆点指示器
		dm.setShowDotIndicator(true);
		// 显示方式
		dm.setDotIndicatorShowType(DefaultMobileTemplateStyle.TYPE_FLOAT_DOT_INDICATOR);
		// 初始填充
		dm.setIndicatorInitialColor(Color.red);
		// 选中填充
		dm.setIndicatorSelectColor(Color.green);
		// 组件间隔
		tabPadding.setInterval(6);
		tabSwitch.setMobileTemplateStyle(dm);
		tabSwitch.addWidgetAttrMark(tabPadding);
		// tab内容样式
		body1.setCustomStyle(true);
		body1.setInitialBackground(ColorBackground.getInstance(Color.green));
		body1.setOverBackground(ColorBackground.getInstance(Color.blue));
		body1.setClickBackground(ColorBackground.getInstance(Color.yellow));
		// 内边距
		body1.setMargin(new PaddingMargin(1, 2, 3, 4));
		// 当前编辑tab
		body1.setCompInterval(4);
		body2.setCompInterval(5);
		tabSwitchButton1.setText("text11");
		tabSwitchButton2.setText("text22");
		// 事件
		body1.addListener(new DefaultListener(Widget.EVENT_CLICK, j));

		body1.addWidget(new WAbsoluteLayout.BoundsWidget(CellWidget.getCheckBox(), new Rectangle(0, 0, 50, 50)));
		body2.addWidget(new WAbsoluteLayout.BoundsWidget(CellWidget.getDateEditor(), new Rectangle(0, 0, 50, 50)));

		container.addWidget(new WAbsoluteLayout.BoundsWidget(tabLayout, new Rectangle(400, 200, 300, 300)));

		form.setContainer(layout);
	}

	/**
	 * 模板属性
	 * 
	 * @param form
	 */
	private static void templateAttr(Form form) {
		// 模板数据集
		DBTableData db = new DBTableData(new NameDatabaseConnection("FRDemo"), "select * from 销量");
		form.putTableData("ds1", db);
		// 模板参数
		form.addParameter(new Parameter("p1", 123));
		// 移动端属性
		FormMobileAttr mobileAttr = new FormMobileAttr();
		mobileAttr.setMobileOnly(false);
		mobileAttr.setAdaptivePropertyAutoMatch(false);
		mobileAttr.setAppearRefresh(true);
		mobileAttr.setPromptWhenLeaveWithoutSubmit(true);
		mobileAttr.setAllowDoubleClickOrZoom(false);
		form.setFormMobileAttr(mobileAttr);
		// PC端报表快自适应属性
		ReportFitAttr attr = new ReportFitAttr();
		attr.setFitFont(true);
		attr.setFitStateInPC(FitAttrState.HORIZONTAL_FIT.getState());
		form.setReportFitAttr(attr);
		// 开场效果
		OpenVideoSettings ov = new OpenVideoSettings();
		ov.setOpenVideoType(OpenVideoType.STYLE1);
		ov.setOpenVideoType(OpenVideoType.STYLE2);
		ov.setOpenVideoType(OpenVideoType.CUSTOM);
		ov.setCustomBackPath("back");
		ov.setCustomTransPath("trans");
		ov.setUsable(true);
		ov.setTextContent("开场文字");
		ov.setFont(FRFont.getInstance("黑体", Font.BOLD, 14));
		GeneralInfo gi = new GeneralInfo();
		gi.setBackground(ColorBackground.getInstance(Color.RED));
		gi.setAlpha(.95f);
		ov.setClickExit(false);
		ov.setExitTime(5);
		ov.setBack(gi);

		form.addAttrMark(ov);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值