coral.chen@fanruan.com
2 years ago
23 changed files with 114 additions and 815 deletions
@ -1,37 +0,0 @@ |
|||||||
package com.fr.design.designer.properties.mobile; |
|
||||||
|
|
||||||
import com.fr.design.designer.creator.XCreator; |
|
||||||
import com.fr.design.dialog.BasicPane; |
|
||||||
import com.fr.design.fun.impl.AbstractWidgetPropertyUIProvider; |
|
||||||
import com.fr.design.gui.itable.AbstractPropertyTable; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.NumberEditorMobileDefinePane; |
|
||||||
|
|
||||||
/** |
|
||||||
* 数字控件属性面板注册 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/30 |
|
||||||
*/ |
|
||||||
public class NumberEditorMobilePropertyUI extends AbstractWidgetPropertyUIProvider { |
|
||||||
private XCreator xCreator; |
|
||||||
|
|
||||||
public NumberEditorMobilePropertyUI(XCreator xCreator) { |
|
||||||
this.xCreator = xCreator; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public AbstractPropertyTable createWidgetAttrTable() { |
|
||||||
return null; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public BasicPane createWidgetAttrPane() { |
|
||||||
return new NumberEditorMobileDefinePane(xCreator); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public String tableTitle() { |
|
||||||
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Mobile_Attr"); |
|
||||||
} |
|
||||||
} |
|
@ -1,37 +0,0 @@ |
|||||||
package com.fr.design.designer.properties.mobile; |
|
||||||
|
|
||||||
import com.fr.design.designer.creator.XCreator; |
|
||||||
import com.fr.design.dialog.BasicPane; |
|
||||||
import com.fr.design.fun.impl.AbstractWidgetPropertyUIProvider; |
|
||||||
import com.fr.design.gui.itable.AbstractPropertyTable; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.PasswordMobileDefinePane; |
|
||||||
|
|
||||||
/** |
|
||||||
* 密码控件移动端属性注册 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/30 |
|
||||||
*/ |
|
||||||
public class PasswordMobilePropertyUI extends AbstractWidgetPropertyUIProvider { |
|
||||||
private XCreator xCreator; |
|
||||||
|
|
||||||
public PasswordMobilePropertyUI(XCreator xCreator) { |
|
||||||
this.xCreator = xCreator; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public AbstractPropertyTable createWidgetAttrTable() { |
|
||||||
return null; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public BasicPane createWidgetAttrPane() { |
|
||||||
return new PasswordMobileDefinePane(xCreator); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public String tableTitle() { |
|
||||||
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Mobile_Attr"); |
|
||||||
} |
|
||||||
} |
|
@ -1,37 +0,0 @@ |
|||||||
package com.fr.design.designer.properties.mobile; |
|
||||||
|
|
||||||
import com.fr.design.designer.creator.XCreator; |
|
||||||
import com.fr.design.dialog.BasicPane; |
|
||||||
import com.fr.design.fun.impl.AbstractWidgetPropertyUIProvider; |
|
||||||
import com.fr.design.gui.itable.AbstractPropertyTable; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.TextAreaAdvancedDefinePane; |
|
||||||
|
|
||||||
/** |
|
||||||
* 文本域控件移动端属性 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/29 |
|
||||||
*/ |
|
||||||
public class TextAreaMobilePropertyUI extends AbstractWidgetPropertyUIProvider { |
|
||||||
private XCreator xCreator; |
|
||||||
|
|
||||||
public TextAreaMobilePropertyUI(XCreator xCreator) { |
|
||||||
this.xCreator = xCreator; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public AbstractPropertyTable createWidgetAttrTable() { |
|
||||||
return null; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public BasicPane createWidgetAttrPane() { |
|
||||||
return new TextAreaAdvancedDefinePane(xCreator); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public String tableTitle() { |
|
||||||
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Mobile_Attr"); |
|
||||||
} |
|
||||||
} |
|
@ -1,94 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer.mobile; |
|
||||||
|
|
||||||
import com.fr.design.designer.creator.XCreator; |
|
||||||
import com.fr.design.foldablepane.UIExpandablePane; |
|
||||||
import com.fr.design.gui.frpane.AttributeChangeListener; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
import com.fr.design.layout.FRGUIPaneFactory; |
|
||||||
import com.fr.design.mainframe.DesignerContext; |
|
||||||
import com.fr.design.mainframe.FormDesigner; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextEditSettingPane; |
|
||||||
import com.fr.form.ui.TextEditor; |
|
||||||
|
|
||||||
import javax.swing.JPanel; |
|
||||||
import java.awt.BorderLayout; |
|
||||||
import java.awt.FlowLayout; |
|
||||||
|
|
||||||
/** |
|
||||||
* <p> 文本类组件移动端高级属性的定义面板,基础扩展可以直接继承此面板 |
|
||||||
* <p> 往内部添加其他配置 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/30 |
|
||||||
*/ |
|
||||||
public class BaseTextEditorMobileDefinePane extends MobileWidgetDefinePane { |
|
||||||
|
|
||||||
private XCreator xCreator; |
|
||||||
protected MobileTextEditSettingPane textSettingPane; |
|
||||||
|
|
||||||
public BaseTextEditorMobileDefinePane(XCreator xCreator) { |
|
||||||
this.xCreator = xCreator; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void initPropertyGroups(Object source) { |
|
||||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
||||||
JPanel container = FRGUIPaneFactory.createVerticalFlowLayout_Pane(true, FlowLayout.LEADING, 0, 5); |
|
||||||
addPropertyPanesToContainer(container); |
|
||||||
this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, container), BorderLayout.NORTH); |
|
||||||
this.repaint(); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 添加其他属性面板 |
|
||||||
* |
|
||||||
* @param container 展开容器 |
|
||||||
*/ |
|
||||||
protected void addPropertyPanesToContainer(JPanel container) { |
|
||||||
initSettingPane(container); |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* 初始化文本类基础面板 |
|
||||||
* |
|
||||||
* @param container |
|
||||||
*/ |
|
||||||
protected void initSettingPane(JPanel container) { |
|
||||||
textSettingPane = new MobileTextEditSettingPane(); |
|
||||||
container.add(textSettingPane); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populate(FormDesigner designer) { |
|
||||||
TextEditor textEditor = (TextEditor) xCreator.toData(); |
|
||||||
textSettingPane.populateBean(textEditor.getMobileTextEditAttr()); |
|
||||||
this.bindListeners2Widgets(); |
|
||||||
} |
|
||||||
|
|
||||||
protected void bindListeners2Widgets() { |
|
||||||
reInitAllListeners(); |
|
||||||
AttributeChangeListener changeListener = new AttributeChangeListener() { |
|
||||||
@Override |
|
||||||
public void attributeChange() { |
|
||||||
update(); |
|
||||||
} |
|
||||||
}; |
|
||||||
this.addAttributeChangeListener(changeListener); |
|
||||||
} |
|
||||||
|
|
||||||
private void reInitAllListeners() { |
|
||||||
initListener(this); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void update() { |
|
||||||
TextEditor textEditor = (TextEditor) xCreator.toData(); |
|
||||||
textSettingPane.updateBean(textEditor.getMobileTextEditAttr()); |
|
||||||
DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); |
|
||||||
} |
|
||||||
|
|
||||||
public XCreator getxCreator() { |
|
||||||
return xCreator; |
|
||||||
} |
|
||||||
} |
|
@ -1,33 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer.mobile; |
|
||||||
|
|
||||||
import com.fr.design.designer.creator.XCreator; |
|
||||||
import com.fr.design.mainframe.DesignerContext; |
|
||||||
import com.fr.design.mainframe.FormDesigner; |
|
||||||
import com.fr.form.ui.NumberEditor; |
|
||||||
|
|
||||||
/** |
|
||||||
* 数字控件 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/30 |
|
||||||
*/ |
|
||||||
public class NumberEditorMobileDefinePane extends BaseTextEditorMobileDefinePane { |
|
||||||
public NumberEditorMobileDefinePane(XCreator xCreator) { |
|
||||||
super(xCreator); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populate(FormDesigner designer) { |
|
||||||
NumberEditor numberEditor = (NumberEditor) getxCreator().toData(); |
|
||||||
textSettingPane.populateBean(numberEditor.getMobileTextEditAttr()); |
|
||||||
this.bindListeners2Widgets(); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void update() { |
|
||||||
NumberEditor numberEditor = (NumberEditor) getxCreator().toData(); |
|
||||||
textSettingPane.updateBean(numberEditor.getMobileTextEditAttr()); |
|
||||||
DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); |
|
||||||
} |
|
||||||
} |
|
@ -1,25 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer.mobile; |
|
||||||
|
|
||||||
import com.fr.design.designer.creator.XCreator; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobilePasswordEditSettingPane; |
|
||||||
|
|
||||||
import javax.swing.JPanel; |
|
||||||
|
|
||||||
/** |
|
||||||
* 密码控件移动端高级属性 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/30 |
|
||||||
*/ |
|
||||||
public class PasswordMobileDefinePane extends BaseTextEditorMobileDefinePane { |
|
||||||
public PasswordMobileDefinePane(XCreator xCreator) { |
|
||||||
super(xCreator); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void initSettingPane(JPanel container) { |
|
||||||
textSettingPane = new MobilePasswordEditSettingPane(); |
|
||||||
container.add(textSettingPane); |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,63 @@ |
|||||||
|
package com.fr.design.widget.ui.designer.mobile; |
||||||
|
|
||||||
|
import com.fr.base.mobile.MobileScanCodeAttr; |
||||||
|
import com.fr.design.designer.creator.XCreator; |
||||||
|
import com.fr.design.foldablepane.UIExpandablePane; |
||||||
|
import com.fr.design.gui.frpane.AttributeChangeListener; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.FRGUIPaneFactory; |
||||||
|
import com.fr.design.mainframe.DesignerContext; |
||||||
|
import com.fr.design.mainframe.FormDesigner; |
||||||
|
import com.fr.design.widget.ui.designer.mobile.component.MobileTextFieldInputSettingPane; |
||||||
|
import com.fr.form.ui.TextEditor; |
||||||
|
|
||||||
|
import java.awt.BorderLayout; |
||||||
|
|
||||||
|
|
||||||
|
public class ScanCodeMobileDefinePane extends MobileWidgetDefinePane { |
||||||
|
|
||||||
|
private XCreator xCreator; |
||||||
|
private MobileTextFieldInputSettingPane settingPane; |
||||||
|
|
||||||
|
public ScanCodeMobileDefinePane(XCreator xCreator) { |
||||||
|
this.xCreator = xCreator; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void initPropertyGroups(Object source) { |
||||||
|
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||||
|
settingPane = new MobileTextFieldInputSettingPane(); |
||||||
|
this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, settingPane), BorderLayout.NORTH); |
||||||
|
this.repaint(); |
||||||
|
} |
||||||
|
|
||||||
|
private void bindListeners2Widgets() { |
||||||
|
reInitAllListeners(); |
||||||
|
AttributeChangeListener changeListener = new AttributeChangeListener() { |
||||||
|
@Override |
||||||
|
public void attributeChange() { |
||||||
|
update(); |
||||||
|
} |
||||||
|
}; |
||||||
|
this.addAttributeChangeListener(changeListener); |
||||||
|
} |
||||||
|
|
||||||
|
private void reInitAllListeners() { |
||||||
|
initListener(this); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populate(FormDesigner designer) { |
||||||
|
MobileScanCodeAttr mobileScanCodeAttr = ((TextEditor) xCreator.toData()).getMobileScanCodeAttr(); |
||||||
|
settingPane.populateBean(mobileScanCodeAttr); |
||||||
|
this.bindListeners2Widgets(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void update() { |
||||||
|
MobileScanCodeAttr mobileScanCodeAttr = ((TextEditor) xCreator.toData()).getMobileScanCodeAttr(); |
||||||
|
settingPane.updateBean(mobileScanCodeAttr); |
||||||
|
DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -1,25 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer.mobile; |
|
||||||
|
|
||||||
import com.fr.design.designer.creator.XCreator; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextAreaSettingPane; |
|
||||||
|
|
||||||
import javax.swing.JPanel; |
|
||||||
|
|
||||||
/** |
|
||||||
* 文本域控件 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/29 |
|
||||||
*/ |
|
||||||
public class TextAreaAdvancedDefinePane extends BaseTextEditorMobileDefinePane { |
|
||||||
public TextAreaAdvancedDefinePane(XCreator xCreator) { |
|
||||||
super(xCreator); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void initSettingPane(JPanel container) { |
|
||||||
textSettingPane = new MobileTextAreaSettingPane(); |
|
||||||
container.add(textSettingPane); |
|
||||||
} |
|
||||||
} |
|
@ -1,55 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer.mobile; |
|
||||||
|
|
||||||
import com.fr.design.designer.creator.XCreator; |
|
||||||
import com.fr.design.mainframe.DesignerContext; |
|
||||||
import com.fr.design.mainframe.FormDesigner; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextEditSettingPane; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextFieldInputSettingPane; |
|
||||||
import com.fr.form.ui.TextEditor; |
|
||||||
|
|
||||||
import javax.swing.JPanel; |
|
||||||
|
|
||||||
/** |
|
||||||
* 文本控件移动端属性 |
|
||||||
* 输入方式: |
|
||||||
* 输入框属性: |
|
||||||
* |
|
||||||
* @author hades |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2018/11/27 |
|
||||||
*/ |
|
||||||
public class TextEditorMobileDefinePane extends BaseTextEditorMobileDefinePane { |
|
||||||
/** |
|
||||||
* 输入方式 |
|
||||||
*/ |
|
||||||
private MobileTextFieldInputSettingPane inputSettingPane; |
|
||||||
|
|
||||||
public TextEditorMobileDefinePane(XCreator xCreator) { |
|
||||||
super(xCreator); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void initSettingPane(JPanel container) { |
|
||||||
inputSettingPane = new MobileTextFieldInputSettingPane(); |
|
||||||
textSettingPane = new MobileTextEditSettingPane(); |
|
||||||
container.add(inputSettingPane); |
|
||||||
container.add(textSettingPane); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
@Override |
|
||||||
public void populate(FormDesigner designer) { |
|
||||||
super.populate(designer); |
|
||||||
TextEditor textEditor = (TextEditor) getxCreator().toData(); |
|
||||||
inputSettingPane.populateBean(textEditor.getMobileScanCodeAttr()); |
|
||||||
this.bindListeners2Widgets(); |
|
||||||
} |
|
||||||
@Override |
|
||||||
public void update() { |
|
||||||
super.update(); |
|
||||||
TextEditor textEditor = (TextEditor) getxCreator().toData(); |
|
||||||
inputSettingPane.updateBean(textEditor.getMobileScanCodeAttr()); |
|
||||||
DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified(); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,43 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer.mobile.component; |
|
||||||
|
|
||||||
import com.fr.base.mobile.MobileTextEditAttr; |
|
||||||
import com.fr.design.gui.icheckbox.UICheckBox; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
|
|
||||||
import java.awt.BorderLayout; |
|
||||||
|
|
||||||
/** |
|
||||||
* 密码控件编辑属性设置面板 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/30 |
|
||||||
*/ |
|
||||||
public class MobilePasswordEditSettingPane extends MobileTextEditSettingPane { |
|
||||||
// 显示字数统计
|
|
||||||
private UICheckBox showPassword; |
|
||||||
|
|
||||||
public MobilePasswordEditSettingPane() { |
|
||||||
super(); |
|
||||||
showPassword = new UICheckBox(Toolkit.i18nText("Fine-Design_Mobile_Show_Password"), false); |
|
||||||
this.add(showPassword, BorderLayout.NORTH); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected boolean getClearDefaultState() { |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populateBean(MobileTextEditAttr ob) { |
|
||||||
super.populateBean(ob); |
|
||||||
// 要兼容处理一下,为null 的话赋默认值,默认开启
|
|
||||||
this.showPassword.setSelected(ob.isShowPassword() == null || ob.isShowPassword()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void updateBean(MobileTextEditAttr ob) { |
|
||||||
super.updateBean(ob); |
|
||||||
ob.setShowPassword(showPassword.isSelected()); |
|
||||||
} |
|
||||||
} |
|
@ -1,38 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer.mobile.component; |
|
||||||
|
|
||||||
import com.fr.base.mobile.MobileTextEditAttr; |
|
||||||
import com.fr.design.gui.icheckbox.UICheckBox; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
|
|
||||||
import java.awt.BorderLayout; |
|
||||||
|
|
||||||
/** |
|
||||||
* 文本域控件 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/29 |
|
||||||
*/ |
|
||||||
public class MobileTextAreaSettingPane extends MobileTextEditSettingPane { |
|
||||||
// 显示字数统计
|
|
||||||
private UICheckBox showWordCount; |
|
||||||
|
|
||||||
public MobileTextAreaSettingPane() { |
|
||||||
super(); |
|
||||||
showWordCount = new UICheckBox(Toolkit.i18nText("Fine-Design_Mobile_Show_Word_Count"), false); |
|
||||||
this.add(showWordCount, BorderLayout.NORTH); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populateBean(MobileTextEditAttr ob) { |
|
||||||
super.populateBean(ob); |
|
||||||
// 要兼容处理一下,为null 的话赋默认值,默认不开启
|
|
||||||
this.showWordCount.setSelected(ob.isShowWordCount() != null && ob.isShowWordCount()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void updateBean(MobileTextEditAttr ob) { |
|
||||||
super.updateBean(ob); |
|
||||||
ob.setShowWordCount(showWordCount.isSelected()); |
|
||||||
} |
|
||||||
} |
|
@ -1,59 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer.mobile.component; |
|
||||||
|
|
||||||
import com.fr.base.mobile.MobileTextEditAttr; |
|
||||||
import com.fr.design.beans.BasicBeanPane; |
|
||||||
import com.fr.design.gui.icheckbox.UICheckBox; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
import com.fr.design.layout.VerticalFlowLayout; |
|
||||||
|
|
||||||
import java.awt.BorderLayout; |
|
||||||
import java.awt.FlowLayout; |
|
||||||
|
|
||||||
/** |
|
||||||
* 文本类基础设置 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/3/29 |
|
||||||
*/ |
|
||||||
public class MobileTextEditSettingPane extends BasicBeanPane<MobileTextEditAttr> { |
|
||||||
// 允许一键清空
|
|
||||||
protected UICheckBox allowOneClickClear; |
|
||||||
|
|
||||||
public MobileTextEditSettingPane() { |
|
||||||
initLayout(); |
|
||||||
allowOneClickClear = new UICheckBox(Toolkit.i18nText("Fine-Design_Mobile_Allow_One_Click_Clear"), getClearDefaultState()); |
|
||||||
this.add(allowOneClickClear, BorderLayout.NORTH); |
|
||||||
} |
|
||||||
|
|
||||||
protected boolean getClearDefaultState() { |
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
protected void initLayout() { |
|
||||||
VerticalFlowLayout verticalFlowLayout = new VerticalFlowLayout(FlowLayout.LEADING, 0, 5); |
|
||||||
verticalFlowLayout.setAlignLeft(true); |
|
||||||
this.setLayout(verticalFlowLayout); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populateBean(MobileTextEditAttr ob) { |
|
||||||
allowOneClickClear.setSelected(ob.isAllowOneClickClear() != null && ob.isAllowOneClickClear()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public MobileTextEditAttr updateBean() { |
|
||||||
// do nothing
|
|
||||||
return null; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void updateBean(MobileTextEditAttr ob) { |
|
||||||
ob.setAllowOneClickClear(allowOneClickClear.isSelected()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String title4PopupWindow() { |
|
||||||
return null; |
|
||||||
} |
|
||||||
} |
|
@ -1,41 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.mobile; |
|
||||||
|
|
||||||
import com.fr.design.foldablepane.UIExpandablePane; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
import com.fr.design.layout.FRGUIPaneFactory; |
|
||||||
import com.fr.design.widget.mobile.WidgetMobilePane; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextEditSettingPane; |
|
||||||
import com.fr.form.ui.NumberEditor; |
|
||||||
import com.fr.form.ui.Widget; |
|
||||||
|
|
||||||
import java.awt.BorderLayout; |
|
||||||
|
|
||||||
/** |
|
||||||
* 数字控件移动端属性 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/4/11 |
|
||||||
*/ |
|
||||||
public class NumberEditorMobilePane extends WidgetMobilePane { |
|
||||||
private MobileTextEditSettingPane textSettingPane; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void init() { |
|
||||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
||||||
textSettingPane = new MobileTextEditSettingPane(); |
|
||||||
this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, textSettingPane), BorderLayout.NORTH); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populate(Widget widget) { |
|
||||||
NumberEditor numberEditor = (NumberEditor) widget; |
|
||||||
textSettingPane.populateBean(numberEditor.getMobileTextEditAttr()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void update(Widget widget) { |
|
||||||
NumberEditor numberEditor = (NumberEditor) widget; |
|
||||||
textSettingPane.updateBean(numberEditor.getMobileTextEditAttr()); |
|
||||||
} |
|
||||||
} |
|
@ -1,42 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.mobile; |
|
||||||
|
|
||||||
import com.fr.design.foldablepane.UIExpandablePane; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
import com.fr.design.layout.FRGUIPaneFactory; |
|
||||||
import com.fr.design.widget.mobile.WidgetMobilePane; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobilePasswordEditSettingPane; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextEditSettingPane; |
|
||||||
import com.fr.form.ui.TextEditor; |
|
||||||
import com.fr.form.ui.Widget; |
|
||||||
|
|
||||||
import java.awt.BorderLayout; |
|
||||||
|
|
||||||
/** |
|
||||||
* 密码控件移动端属性 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/4/11 |
|
||||||
*/ |
|
||||||
public class PasswordMobilePane extends WidgetMobilePane { |
|
||||||
private MobileTextEditSettingPane textSettingPane; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void init() { |
|
||||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
||||||
textSettingPane = new MobilePasswordEditSettingPane(); |
|
||||||
this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, textSettingPane), BorderLayout.NORTH); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populate(Widget widget) { |
|
||||||
TextEditor textEditor = (TextEditor) widget; |
|
||||||
textSettingPane.populateBean(textEditor.getMobileTextEditAttr()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void update(Widget widget) { |
|
||||||
TextEditor textEditor = (TextEditor) widget; |
|
||||||
textSettingPane.updateBean(textEditor.getMobileTextEditAttr()); |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,39 @@ |
|||||||
|
package com.fr.design.widget.ui.mobile; |
||||||
|
|
||||||
|
import com.fr.base.mobile.MobileScanCodeAttr; |
||||||
|
import com.fr.design.foldablepane.UIExpandablePane; |
||||||
|
import com.fr.design.i18n.Toolkit; |
||||||
|
import com.fr.design.layout.FRGUIPaneFactory; |
||||||
|
import com.fr.design.widget.mobile.WidgetMobilePane; |
||||||
|
import com.fr.design.widget.ui.designer.mobile.component.MobileTextFieldInputSettingPane; |
||||||
|
import com.fr.form.ui.TextEditor; |
||||||
|
import com.fr.form.ui.Widget; |
||||||
|
|
||||||
|
import java.awt.BorderLayout; |
||||||
|
|
||||||
|
|
||||||
|
public class ScanCodeMobilePane extends WidgetMobilePane { |
||||||
|
|
||||||
|
private MobileTextFieldInputSettingPane settingPane; |
||||||
|
|
||||||
|
@Override |
||||||
|
protected void init() { |
||||||
|
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
||||||
|
settingPane = new MobileTextFieldInputSettingPane(); |
||||||
|
this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, settingPane), BorderLayout.NORTH); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void populate(Widget widget) { |
||||||
|
MobileScanCodeAttr mobileScanCodeAttr = ((TextEditor) widget).getMobileScanCodeAttr(); |
||||||
|
settingPane.populateBean(mobileScanCodeAttr); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void update(Widget widget) { |
||||||
|
MobileScanCodeAttr mobileScanCodeAttr = ((TextEditor) widget).getMobileScanCodeAttr(); |
||||||
|
settingPane.updateBean(mobileScanCodeAttr); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -1,42 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.mobile; |
|
||||||
|
|
||||||
import com.fr.design.foldablepane.UIExpandablePane; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
import com.fr.design.layout.FRGUIPaneFactory; |
|
||||||
import com.fr.design.widget.mobile.WidgetMobilePane; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextAreaSettingPane; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextEditSettingPane; |
|
||||||
import com.fr.form.ui.TextEditor; |
|
||||||
import com.fr.form.ui.Widget; |
|
||||||
|
|
||||||
import java.awt.BorderLayout; |
|
||||||
|
|
||||||
/** |
|
||||||
* 文本域控件移动端属性 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/4/11 |
|
||||||
*/ |
|
||||||
public class TextAreaMobilePane extends WidgetMobilePane { |
|
||||||
private MobileTextEditSettingPane textSettingPane; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void init() { |
|
||||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
||||||
textSettingPane = new MobileTextAreaSettingPane(); |
|
||||||
this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, textSettingPane), BorderLayout.NORTH); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populate(Widget widget) { |
|
||||||
TextEditor textEditor = (TextEditor) widget; |
|
||||||
textSettingPane.populateBean(textEditor.getMobileTextEditAttr()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void update(Widget widget) { |
|
||||||
TextEditor textEditor = (TextEditor) widget; |
|
||||||
textSettingPane.updateBean(textEditor.getMobileTextEditAttr()); |
|
||||||
} |
|
||||||
} |
|
@ -1,59 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.mobile; |
|
||||||
|
|
||||||
import com.fr.design.foldablepane.UIExpandablePane; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
import com.fr.design.layout.FRGUIPaneFactory; |
|
||||||
import com.fr.design.widget.mobile.WidgetMobilePane; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextEditSettingPane; |
|
||||||
import com.fr.design.widget.ui.designer.mobile.component.MobileTextFieldInputSettingPane; |
|
||||||
import com.fr.form.ui.TextEditor; |
|
||||||
import com.fr.form.ui.Widget; |
|
||||||
|
|
||||||
import javax.swing.JPanel; |
|
||||||
import java.awt.BorderLayout; |
|
||||||
|
|
||||||
/** |
|
||||||
* 文本控件移动端属性面板 |
|
||||||
* |
|
||||||
* @author Coral.Chen |
|
||||||
* @since 11.0 |
|
||||||
* Created on 2023/4/12 |
|
||||||
*/ |
|
||||||
public class TextEditorMobilePane extends WidgetMobilePane { |
|
||||||
|
|
||||||
/** |
|
||||||
* 输入方式 |
|
||||||
*/ |
|
||||||
private MobileTextFieldInputSettingPane settingPane; |
|
||||||
/** |
|
||||||
* 输入框属性配置 |
|
||||||
*/ |
|
||||||
private MobileTextEditSettingPane textSettingPane; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void init() { |
|
||||||
JPanel container = FRGUIPaneFactory.createVerticalFlowLayout_S_Pane(true); |
|
||||||
this.setLayout(FRGUIPaneFactory.createBorderLayout()); |
|
||||||
settingPane = new MobileTextFieldInputSettingPane(); |
|
||||||
textSettingPane = new MobileTextEditSettingPane(); |
|
||||||
container.add(settingPane); |
|
||||||
container.add(textSettingPane); |
|
||||||
this.add(new UIExpandablePane(Toolkit.i18nText("Fine-Design_Report_Advanced"), 280, 20, container), BorderLayout.NORTH); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populate(Widget widget) { |
|
||||||
TextEditor textEditor = (TextEditor) widget; |
|
||||||
settingPane.populateBean(textEditor.getMobileScanCodeAttr()); |
|
||||||
textSettingPane.populateBean(textEditor.getMobileTextEditAttr()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void update(Widget widget) { |
|
||||||
TextEditor textEditor = (TextEditor) widget; |
|
||||||
settingPane.updateBean(textEditor.getMobileScanCodeAttr()); |
|
||||||
textSettingPane.updateBean(textEditor.getMobileTextEditAttr()); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
Loading…
Reference in new issue