Fly.Li
3 years ago
1 changed files with 0 additions and 151 deletions
@ -1,151 +0,0 @@ |
|||||||
package com.fr.design.widget.ui.designer; |
|
||||||
|
|
||||||
import com.fr.design.beans.BasicBeanPane; |
|
||||||
import com.fr.design.dialog.BasicPane; |
|
||||||
import com.fr.design.gui.icheckbox.UICheckBox; |
|
||||||
import com.fr.design.gui.icombobox.UIComboBox; |
|
||||||
import com.fr.design.gui.ilable.UILabel; |
|
||||||
import com.fr.design.i18n.Toolkit; |
|
||||||
import com.fr.design.layout.FRGUIPaneFactory; |
|
||||||
import com.fr.design.utils.gui.GUICoreUtils; |
|
||||||
import com.fr.form.main.parallel.FormParallelAttr; |
|
||||||
import com.fr.form.main.parallel.ParallelAttrMark; |
|
||||||
import com.fr.report.core.config.FormParallelCalConfig; |
|
||||||
|
|
||||||
import javax.swing.BorderFactory; |
|
||||||
import javax.swing.JPanel; |
|
||||||
import java.awt.BorderLayout; |
|
||||||
import java.awt.Component; |
|
||||||
import java.awt.Dimension; |
|
||||||
import java.awt.FlowLayout; |
|
||||||
import java.awt.event.ItemEvent; |
|
||||||
import java.awt.event.ItemListener; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author fly.li |
|
||||||
* @version 10.0 |
|
||||||
* Created on 2022/03/18 |
|
||||||
*/ |
|
||||||
public class FormParallelSettingPane extends BasicBeanPane<FormParallelAttr> { |
|
||||||
private ParallelSettingPane parallelCalculatePane; |
|
||||||
public FormParallelSettingPane(){ |
|
||||||
initPane(); |
|
||||||
} |
|
||||||
|
|
||||||
private void initPane(){ |
|
||||||
JPanel calSettingPane = FRGUIPaneFactory.createTitledBorderPane(Toolkit.i18nText("Fine-Designer_Form_Block_Parallel_Setting")); |
|
||||||
this.parallelCalculatePane = new ParallelSettingPane(); |
|
||||||
calSettingPane.add(parallelCalculatePane); |
|
||||||
calSettingPane.setPreferredSize(new Dimension(550,110)); |
|
||||||
this.add(calSettingPane); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void populateBean(FormParallelAttr ob) { |
|
||||||
if (ob == null){ |
|
||||||
ob = FormParallelAttr.getDefaultParallelAttr(); |
|
||||||
} |
|
||||||
parallelCalculatePane.populateBean(ob.getParallelCalculateMark()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public FormParallelAttr updateBean() { |
|
||||||
FormParallelAttr formParallelAttr = new FormParallelAttr(); |
|
||||||
formParallelAttr.setParallelCalculateMark(parallelCalculatePane.updateBean()); |
|
||||||
return formParallelAttr; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String title4PopupWindow() { |
|
||||||
return Toolkit.i18nText("Fine-Designer_Parallel_Setting"); |
|
||||||
} |
|
||||||
|
|
||||||
static class ParallelSettingPane extends BasicPane { |
|
||||||
private static final String[] CHOOSE_ITEM = new String[] { |
|
||||||
Toolkit.i18nText("Fine-Design_Report_I_Want_To_Set_Single"), |
|
||||||
Toolkit.i18nText("Fine-Design_Form_Using_Server_Report_View_Settings") |
|
||||||
}; |
|
||||||
protected static final int SINGLE_SET = 0; |
|
||||||
protected static final int SERVER_SET = 1; |
|
||||||
//并行设置范围的下拉框(服务器设置还是模板设置)
|
|
||||||
UIComboBox parallelSettingScope; |
|
||||||
//并行计算开关
|
|
||||||
UICheckBox parallelSwitch; |
|
||||||
|
|
||||||
public ParallelSettingPane(){ |
|
||||||
this.setLayout(new BorderLayout()); |
|
||||||
UILabel belowSetLabel = new UILabel(Toolkit.i18nText("Fine-Designer_Setting_Mode")); |
|
||||||
belowSetLabel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20)); |
|
||||||
JPanel parallelSettingScopePane = GUICoreUtils.createFlowPane(new Component[] { |
|
||||||
belowSetLabel, getParallelSettingScope()}, FlowLayout.LEFT, 0, 0); |
|
||||||
this.add(parallelSettingScopePane, BorderLayout.NORTH); |
|
||||||
this.add(getSwitchPane(Toolkit.i18nText("Fine-Designer_Enable_Form_Block_Parallel_Calculate")), BorderLayout.CENTER); |
|
||||||
} |
|
||||||
|
|
||||||
private UIComboBox getParallelSettingScope() { |
|
||||||
if (parallelSettingScope == null){ |
|
||||||
parallelSettingScope = new UIComboBox(CHOOSE_ITEM); |
|
||||||
parallelSettingScope.addItemListener(new ItemListener() { |
|
||||||
@Override |
|
||||||
public void itemStateChanged(ItemEvent e) { |
|
||||||
if (e.getStateChange() == ItemEvent.SELECTED) { |
|
||||||
if (isUsingServerSettings()) { |
|
||||||
populateServerSettings(); |
|
||||||
parallelSwitch.setEnabled(false); |
|
||||||
} else { |
|
||||||
parallelSwitch.setEnabled(true); |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
return parallelSettingScope; |
|
||||||
} |
|
||||||
|
|
||||||
private JPanel getSwitchPane(String tip){ |
|
||||||
JPanel innerPane = new JPanel(); |
|
||||||
innerPane.setLayout(new BorderLayout()); |
|
||||||
innerPane.setPreferredSize(new Dimension(500, 30)); |
|
||||||
innerPane.setBorder(BorderFactory.createEmptyBorder(10, 70, 5, 10)); |
|
||||||
innerPane.add(getSwitchBox(tip)); |
|
||||||
return innerPane; |
|
||||||
} |
|
||||||
|
|
||||||
private UICheckBox getSwitchBox(String tip){ |
|
||||||
if (parallelSwitch == null){ |
|
||||||
parallelSwitch = new UICheckBox(tip); |
|
||||||
} |
|
||||||
return parallelSwitch; |
|
||||||
} |
|
||||||
|
|
||||||
private boolean isUsingServerSettings(){ |
|
||||||
return parallelSettingScope.getSelectedIndex() == SERVER_SET; |
|
||||||
} |
|
||||||
|
|
||||||
public void populateBean(ParallelAttrMark parallelAttrMark){ |
|
||||||
parallelSettingScope.setSelectedIndex(parallelAttrMark.isUseServerSetting() ? SERVER_SET : SINGLE_SET); |
|
||||||
if (parallelAttrMark.isUseServerSetting()){ |
|
||||||
populateServerSettings(); |
|
||||||
} else { |
|
||||||
populateSingleTemplateSetting(parallelAttrMark); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
private void populateServerSettings(){ |
|
||||||
parallelSwitch.setSelected(FormParallelCalConfig.getInstance().isParallelCal()); |
|
||||||
} |
|
||||||
|
|
||||||
private void populateSingleTemplateSetting(ParallelAttrMark parallelAttrMark){ |
|
||||||
parallelSwitch.setSelected(parallelAttrMark.isEnableParallel()); |
|
||||||
} |
|
||||||
|
|
||||||
public ParallelAttrMark updateBean(){ |
|
||||||
return new ParallelAttrMark(isUsingServerSettings(), parallelSwitch.isSelected()); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String title4PopupWindow() { |
|
||||||
return ""; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue