【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
无
package com.fr.web.struct.browser; import com.fr.common.annotations.Open; /** * 发起请求的客户端 */ @Open public interface RequestClient { /** * 是否为IE * @return 是ie则返回true */ boolean isIE(); /** * 是否为Ie6、7、8版本 * * @return 是IE低版本返回true */ boolean isLowIEVersion(); }
package com.fr.stable.web; import com.fr.web.struct.browser.RequestClient; /** * Created by IntelliJ IDEA. * Author : Richer * Version: 6.5.6 * Date: 12-10-24 * Time: 下午4:02 */ public interface BrowserProvider extends RequestClient { /** * 返回浏览器. */ String getBrowser(); /** * 返回FlashPlayer的解压URL */ String getFlashPlayerInstallerURL(); /** * 是否为ie11 * @return 是ie11返回true */ boolean isIE11(); /** *是否是webkit内核 * @return是webkit内核返回true */ public boolean isWebkit(); /** * 是否为FireFox * @return 是FireFox则返回true */ boolean isFireFox(); /** * 是否为怪异模式 * @return 是否为怪异模式 */ boolean isQuirksModel(); /** * 是否处理Center * @return 是否处理Center */ boolean shouldWrapCenter(); /** * 是否为zoomcss使用相对位置 * @return 是否为zoomcss使用相对位置 */ boolean shouldRelativePosition4ZoomCSS(); /** * 是否考虑VML * @return 是否考虑VML */ boolean shouldConsiderVML(); /** * 是否支持canvas * @return 是否支持canvas */ boolean supportCanvas(); /** * 是否write可变大小的Feature * @return 是否write可变大小的Feature */ boolean shouldWriteResizableFeature(); /** * 是否为盒型模式. * @return 是否为盒型模式. */ boolean supportBoxModel(); /** * 是否考虑头部的TD * @return 是否考虑头部的TD */ boolean shouldConsiderHeavyTD(); /** * 是否为缺失的右边框做些.. * @return 是则为true */ boolean shouldDoSomeStuff4MissingRightBorderOfTable(); /** * 是否考虑折线边框 * @return 是否考虑折线边框 */ boolean shouldConsiderLineBorder(); /** * 为Tail处理隐藏的行. * @param isTrandition 是否非page或view * @return 是否为Tail处理隐藏的行 */ boolean justDealWithTheHiddenRowsOfTail(boolean isTrandition); /** * 是否添加隐藏的Tr * @return 是否添加隐藏的Tr */ boolean shouldAddHiddenTr(); /** * 是否改变宽度 适应边框宽度. * @return 是否改变宽度 适应边框宽度. */ boolean shouldModifyWidth4PainterAccordingToBorderWidth(); /** * 是否支持透明图片 * @return 是否支持透明图片 */ boolean supportTransparentImage(); /** * 是否使用table中的td 宽度属性. * @return 是否使用table中的td 宽度属性. */ boolean isUseTDWidthInTable(); /** * 是否需要屏蔽 图片选中时焦点虚线 * @return 是否需要屏蔽 图片选中时焦点虚线 */ boolean isNoBlurInImage(); /** * 是否需要调整Line-Height * @return 是否需要调整Line-Height */ boolean needAdjustLineHeight(); /** * Span是否会考虑隐藏行 * @return 是否会考虑隐藏行 */ boolean countHiddenItemForSpan(); /** * 是否跳过空的冻结部分 IE6需要 * @return 是返回true */ boolean skipEmptyPart(); /** * 是否在前面增加空白tr IE67冻结需要 * @return 是返回true */ boolean addHiddenTRAhead(); /** * 根据边框调整行高 ie67冻结 * @return 是返回true */ boolean fixRowByBorder(); /** * 冻结调整偏移 * @return 冻结调整偏移 */ boolean fixFrozenOffsetByBorder(); /** * 是否需要补充空白tr * * @return 是否需要补充空白tr * */ boolean isNeedAppendBlankTD(); }
RequestClient接口,截止目前在所有的插件接口内,仅作为接口方法的入参使用。实际带入到插件接口方法内部的参数对象也仅仅只有 com.fr.web.Browser 一种。Browser也是一个开放类,所有成员方法均可以在插件中使用。
该接口的作用也比较单一,就是向相关的接口提供当前请求客户端(一般指浏览器)信息。
接口的各方法,在注释中已有完整的说明,此处不再赘述。
无
无
这部分方法比较零散,会根据接口文档和专题的需要逐渐补充
1.获取当前设计器的工作区 DesignerFrame frame = DesignerContext.getDesignerFrame();
2.获取当前设计器的编辑区模板 JTemplate template = DesignerContext.getDesignerFrame().getSelectedJTemplate();
3.创建一个图标按钮 new UIButton(IOUtils.readIcon("/com/fr/base/images/cell/control/remove.png"));
4.获取当前设计器编辑的cpt报表的sheet页 ((JWorkBook) template).getEditingElementCase();
5.刷新当前的工作区状态 template.fireTargetModified();
6.设计器消息弹窗 FineJOptionPane.showMessageDialog(弹窗归属的主体,消息内容文本),主体如果不知道是啥就设置成frame。
DesignerFrameUpButtonProvider-设计器顶部工作区图标工具栏按钮扩展
无