diff --git a/designer-base/src/main/java/com/fr/design/mainframe/mobile/processor/AbstractMobileStyleDefinePaneCreator.java b/designer-base/src/main/java/com/fr/design/mainframe/mobile/processor/AbstractMobileStyleDefinePaneCreator.java new file mode 100644 index 000000000..203a83f13 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/mainframe/mobile/processor/AbstractMobileStyleDefinePaneCreator.java @@ -0,0 +1,23 @@ +package com.fr.design.mainframe.mobile.processor; + +import com.fr.stable.fun.mark.API; + +/** + * 移动端Form控件,样式模板,通用属性替换接口 + * + * @author Coral.Chen + * @since 11.0 + * Created on 2023/4/11 + */ +@API(level = MobileStyleDefinePaneCreator.CURRENT_LEVEL) +public abstract class AbstractMobileStyleDefinePaneCreator implements MobileStyleDefinePaneCreator { + @Override + public int currentAPILevel() { + return CURRENT_LEVEL; + } + + @Override + public int layerIndex() { + return DEFAULT_LAYER_INDEX; + } +} \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/mainframe/mobile/processor/MobileStyleDefinePaneCreator.java b/designer-base/src/main/java/com/fr/design/mainframe/mobile/processor/MobileStyleDefinePaneCreator.java new file mode 100644 index 000000000..3b5e2cb86 --- /dev/null +++ b/designer-base/src/main/java/com/fr/design/mainframe/mobile/processor/MobileStyleDefinePaneCreator.java @@ -0,0 +1,40 @@ +package com.fr.design.mainframe.mobile.processor; + +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.mainframe.mobile.ui.MobileStyleCustomDefinePane; +import com.fr.form.ui.Widget; +import com.fr.form.ui.mobile.MobileCommonExtraStyle; +import com.fr.form.ui.mobile.MobileStyle; +import com.fr.stable.fun.mark.Immutable; +import org.jetbrains.annotations.Nullable; + +/** + * 移动端Form控件,样式模板,通用属性替换接口 + * + * @author Coral.Chen + * @since 11.0 + * Created on 2023/4/11 + */ +public interface MobileStyleDefinePaneCreator extends Immutable { + String XML_TAG = "MobileStyleDefinePaneCreator"; + + int CURRENT_LEVEL = 1; + + /** + *

创建通用属性样式界面,可替换{@link com.fr.design.mainframe.mobile.ui.MobileStyleDefinePane} + *

每种样式的通用属性面板是一样的 + * + * @param widget 控件 + * @param customDefinePane 自定义面板 + * @param mobileStyle 移动端样式 + * @return + */ + @Nullable BasicBeanPane createBaseBeanPane(Widget widget, Class customDefinePane, Class mobileStyle); + + /** + * 替换通用属性面板,注册额外属性 + * + * @return 属性类 + */ + @Nullable Class classForCommonExtraStyle(Widget widget); +} \ No newline at end of file