接口作用
在参数界面、单元格或者表单控件选择中增加一个新类型的控件。
接口内容
package com.fr.design.fun;
import com.fr.form.ui.Widget;
import com.fr.stable.fun.mark.Mutable;
/**
* @author : richie
* @since : 8.0
* 自定义参数界面控件
*/
public interface ParameterWidgetOptionProvider extends Mutable {
String XML_TAG = "ParameterWidgetOptionProvider";
int CURRENT_LEVEL = 1;
/**
* 自定义参数控件的实际类,该类需要继承自com.fr.form.ui.Widget
* @return 控件类
*/
Class<? extends Widget> classForWidget();
/**
* 自定义参数控件的设计界面类,该类需要继承自com.fr.form.designer.creator.XWidgetCreator
* @return 控件设计界面类
*/
Class<?> appearanceForWidget();
/**
* 自定义参数控件在设计器界面上的图标路径
* @return 图标所在的路径
*/
String iconPathForWidget();
/**
* 自定义参数控件的名字
* @return 控件名字
*/
String nameForWidget();
}
package com.fr.design.fun;
import com.fr.design.beans.BasicBeanPane;
import com.fr.form.ui.Widget;
import com.fr.stable.fun.Level;
/**
* @author richie
* @date 2015-01-29
* @since 8.0
* 格子中的自定义控件接口
*/
public interface CellWidgetOptionProvider extends ParameterWidgetOptionProvider {
String XML_TAG = "CellWidgetOptionProvider";
/**
* 自定义格子控件的设计界面类
* @return 控件设计界面类
*/
Class<? extends BasicBeanPane<? extends Widget>> appearanceForWidget();
}
package com.fr.design.fun;
/**
* @author richie
* @date 2015-03-23
* @since 8.0
* 表单控件
*/
public interface FormWidgetOptionProvider extends ParameterWidgetOptionProvider {
String XML_TAG = "FormWidgetOptionProvider";
/**
* 组件是否是布局容器
* @return 是布局容器则返回true,否则返回false
*/
boolean isContainer();
}
注册方式
<extra-designer>
<ParameterWidgetOptionProvider class="com.fr.plugin.xxx.youclassname"/>
</extra-designer>
<extra-designer>
<CellWidgetOptionProvider class="com.fr.plugin.xxx.youclassname"/>
</extra-designer>
<extra-designer>
<FormWidgetOptionProvider class="com.fr.plugin.xxx.youclassname"/>
</extra-designer>