forked from fanruan/design
Browse Source
* commit 'fab057832912fd27e776d007a1ea81cdbab2f24b': REPORT-12029 打印机下载地址提供自定义设置=>重构面板相关代码 REPORT-12029 打印机下载地址提供自定义设置research/10.0
plough
6 years ago
7 changed files with 174 additions and 33 deletions
@ -0,0 +1,91 @@
|
||||
package com.fr.design.webattr.printsettings; |
||||
|
||||
import com.fr.base.print.NativePrintAttr; |
||||
import com.fr.design.gui.icheckbox.UICheckBox; |
||||
import com.fr.design.gui.ilable.UILabel; |
||||
import com.fr.design.gui.itextfield.UITextField; |
||||
import com.fr.design.layout.TableLayout; |
||||
import com.fr.design.layout.TableLayoutHelper; |
||||
import com.fr.design.utils.gui.GUICoreUtils; |
||||
|
||||
import javax.swing.BorderFactory; |
||||
import javax.swing.JPanel; |
||||
import java.awt.Component; |
||||
|
||||
/** |
||||
* 本地打印设置面板——全局 |
||||
* Created by plough on 2018/10/31. |
||||
*/ |
||||
public class GlobalNativePrintSettingPane extends AbstractNativePrintSettingPane { |
||||
// 服务器配置面板特有的组件
|
||||
private UICheckBox defaultDownloadUrlCheck; // 采用默认的软件下载地址
|
||||
private UITextField customUrlFieldWin; |
||||
private UITextField customUrlFieldMac; |
||||
|
||||
|
||||
@Override |
||||
JPanel createHeaderPane(Component... comps) { |
||||
|
||||
Component[] newComps = { |
||||
getDownloadUrlSettingPane() |
||||
}; |
||||
Component[] allComps = new Component[comps.length + newComps.length]; |
||||
System.arraycopy(comps, 0, allComps, 0, comps.length); |
||||
System.arraycopy(newComps, 0, allComps, comps.length, newComps.length); |
||||
|
||||
JPanel headerPane = createHeaderLayoutPane(allComps); |
||||
headerPane.setBorder(BorderFactory.createEmptyBorder(2, 12, 5, 0)); |
||||
return headerPane; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
protected void extraUpdate(NativePrintAttr nativePrintAttr) { |
||||
if (defaultDownloadUrlCheck.isSelected()) { |
||||
nativePrintAttr.setUseDefaultDownloadUrl(true); |
||||
} else { |
||||
nativePrintAttr.setUseDefaultDownloadUrl(false); |
||||
nativePrintAttr.setCustomDownloadUrlMac(customUrlFieldMac.getText()); |
||||
nativePrintAttr.setCustomDownloadUrlWin(customUrlFieldWin.getText()); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
protected void extraPopulate(NativePrintAttr nativePrintAttr) { |
||||
defaultDownloadUrlCheck.setSelected(nativePrintAttr.isUseDefaultDownloadUrl()); |
||||
customUrlFieldMac.setText(nativePrintAttr.getCustomDownloadUrlMac()); |
||||
customUrlFieldWin.setText(nativePrintAttr.getCustomDownloadUrlWin()); |
||||
} |
||||
|
||||
private JPanel getDownloadUrlSettingPane() { |
||||
defaultDownloadUrlCheck = GUICoreUtils.createNoBorderCheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Default")); |
||||
JPanel downloadUrlSettingCheckPane = GUICoreUtils.createCheckboxAndDynamicPane(defaultDownloadUrlCheck, getCustomUrlSettingPane(), true); |
||||
downloadUrlSettingCheckPane.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); |
||||
|
||||
// TableLayout
|
||||
double p = TableLayout.PREFERRED; |
||||
double[] rowSize = {p}; |
||||
double[] columnSize = {p, p}; |
||||
Component[][] components = { |
||||
{getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Software_Download_Url") + ": "), downloadUrlSettingCheckPane} |
||||
}; |
||||
return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 0, 15); |
||||
} |
||||
|
||||
private JPanel getCustomUrlSettingPane() { |
||||
customUrlFieldWin = new UITextField(20); |
||||
customUrlFieldMac = new UITextField(20); |
||||
|
||||
// TableLayout
|
||||
double p = TableLayout.PREFERRED; |
||||
double[] rowSize = {p, p}; |
||||
double[] columnSize = {60, p}; |
||||
Component[][] components = { |
||||
{new UILabel("windows: "), customUrlFieldWin}, |
||||
{new UILabel("macOS: "), customUrlFieldMac} |
||||
}; |
||||
JPanel urlSettingPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 0, 10); |
||||
urlSettingPane.setBorder(BorderFactory.createEmptyBorder(5, 0, 0, 0)); |
||||
return urlSettingPane; |
||||
} |
||||
} |
@ -0,0 +1,18 @@
|
||||
package com.fr.design.webattr.printsettings; |
||||
|
||||
import javax.swing.BorderFactory; |
||||
import javax.swing.JPanel; |
||||
import java.awt.Component; |
||||
|
||||
/** |
||||
* 本地打印设置面板——单模版 |
||||
* Created by plough on 2018/10/31. |
||||
*/ |
||||
public class ReportNativePrintSettingPane extends AbstractNativePrintSettingPane { |
||||
@Override |
||||
JPanel createHeaderPane(Component... comps) { |
||||
JPanel headerPane = createHeaderLayoutPane(comps); |
||||
headerPane.setBorder(BorderFactory.createEmptyBorder(2, 12, 12, 0)); |
||||
return headerPane; |
||||
} |
||||
} |
Loading…
Reference in new issue