Browse Source

模板-打印

persist/11.0-arabic
obo 9 months ago
parent
commit
c788467501
  1. 24
      designer-realize/src/main/java/com/fr/design/webattr/printsettings/AbstractNativePrintSettingPane.java
  2. 11
      designer-realize/src/main/java/com/fr/design/webattr/printsettings/NoClientPrintSettingPane.java
  3. 5
      designer-realize/src/main/java/com/fr/design/webattr/printsettings/PrintSettingPane.java

24
designer-realize/src/main/java/com/fr/design/webattr/printsettings/AbstractNativePrintSettingPane.java

@ -2,6 +2,7 @@ package com.fr.design.webattr.printsettings;
import com.fr.base.PaperSize;
import com.fr.base.Utils;
import com.fr.base.i18n.BidiUtils;
import com.fr.base.print.NativePrintAttr;
import com.fr.design.gui.ibutton.UIRadioButton;
import com.fr.design.gui.icheckbox.UICheckBox;
@ -25,6 +26,7 @@ import javax.print.DocFlavor;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JList;
import javax.swing.JPanel;
@ -89,7 +91,7 @@ public abstract class AbstractNativePrintSettingPane extends JPanel {
centerPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Default_Settings"));
centerPane.add(getNativePrintMainSettingPane());
BidiUtils.setOrientationByLocale(centerPane);
printPane.add(centerPane, BorderLayout.CENTER);
this.setLayout(new BorderLayout());
@ -101,17 +103,15 @@ public abstract class AbstractNativePrintSettingPane extends JPanel {
// 打印时需要打印设置窗口
showDialogCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Show_Print_Setting_Window_When_Printing"));
showDialogCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20));
UILabel showDialogCheckTip = GUICoreUtils.createTipLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tip_Use_Default_Settings"));
JPanel showDialogCheckPane = GUICoreUtils.createFlowPane(new Component[]{
showDialogCheck, showDialogCheckTip}, FlowLayout.LEFT);
showDialogCheck, Box.createHorizontalStrut(20),showDialogCheckTip}, BidiUtils.rtl() ? FlowLayout.RIGHT : FlowLayout.LEFT);
// 打印需要指定 sheet
needSelectSheetCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Need_Select_Sheet_When_Printing"));
needSelectSheetCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20));
UILabel needSelectSheetCheckTip = GUICoreUtils.createTipLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tip_Invalid_In_Page_View"));
JPanel needSelectSheetCheckPane = GUICoreUtils.createFlowPane(new Component[]{
needSelectSheetCheck, needSelectSheetCheckTip}, FlowLayout.LEFT);
needSelectSheetCheck, Box.createHorizontalStrut(20), needSelectSheetCheckTip}, BidiUtils.rtl() ? FlowLayout.RIGHT :FlowLayout.LEFT);
return createHeaderPane(tipDownload, showDialogCheckPane, needSelectSheetCheckPane);
}
@ -191,7 +191,7 @@ public abstract class AbstractNativePrintSettingPane extends JPanel {
JPanel layoutSettingCheckPane = GUICoreUtils.createCheckboxAndDynamicPane(inheritPageLayoutSettingCheck, layoutSettingPane, true);
// 页码标签
UILabel printAreaLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Page_Number") + ":");
UILabel printAreaLabel = new UILabel(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Page_Number"), ":"));
JPanel printAreaLabelPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
printAreaLabelPane.add(printAreaLabel, BorderLayout.NORTH);
printAreaLabel.setBorder(BorderFactory.createEmptyBorder(5, 0, 0, 0));
@ -213,13 +213,13 @@ public abstract class AbstractNativePrintSettingPane extends JPanel {
double[] rowSize = {p, p, p, p, p, p, p};
double[] columnSize = {60, p};
Component[][] components = {
{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Printer") + ":"), printerPane},
{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Copy_Number") + ":"), copyPane},
{new UILabel(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Printer"), ":")), printerPane},
{new UILabel(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Copy_Number"), ":")), copyPane},
{printAreaLabelPane, getPrintAreaPane()},
{getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paper") + ":"), paperSettingCheckPane},
{getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Layout") + ":"), layoutSettingCheckPane},
{getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Margin") + ":"), pageMarginCheckPane},
{getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Scale_EnlargeOrReduce") + ":"), scaleCheckPane},
{getTopAlignLabelPane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paper"), ":")), paperSettingCheckPane},
{getTopAlignLabelPane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Layout"), ":")), layoutSettingCheckPane},
{getTopAlignLabelPane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Margin"), ":")), pageMarginCheckPane},
{getTopAlignLabelPane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Scale_EnlargeOrReduce"), ":")), scaleCheckPane},
};
return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 0, 15);
}

11
designer-realize/src/main/java/com/fr/design/webattr/printsettings/NoClientPrintSettingPane.java

@ -1,5 +1,6 @@
package com.fr.design.webattr.printsettings;
import com.fr.base.i18n.BidiUtils;
import com.fr.base.print.NoClientPrintAttr;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
@ -9,6 +10,7 @@ import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.utils.gui.GUICoreUtils;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Component;
@ -47,7 +49,7 @@ public class NoClientPrintSettingPane extends JPanel {
private void initCenterPane() {
centerPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Default_Settings"));
BidiUtils.setOrientationByLocale(centerPane);
inheritPageMarginSettingCheck = GUICoreUtils.createNoBorderCheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Inherit_Page_Margin_Setting"));
pageMarginSettingPane = new PageMarginSettingPane();
pageMarginSettingPane.setBorder(BorderFactory.createEmptyBorder(10, -10, 0, 0));
@ -67,19 +69,16 @@ public class NoClientPrintSettingPane extends JPanel {
private JPanel createHeaderPane() {
setMarginWhenPrintCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Set_Margin_When_Printing"));
setMarginWhenPrintCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20));
UILabel marginTip = GUICoreUtils.createTipLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tip_Use_Default_Print_Margin"));
JPanel setMarginWhenPrintPane = GUICoreUtils.createFlowPane(new Component[] {
setMarginWhenPrintCheck, marginTip}, FlowLayout.LEFT);
setMarginWhenPrintCheck, Box.createHorizontalStrut(20), marginTip}, BidiUtils.rtl() ? FlowLayout.RIGHT : FlowLayout.LEFT);
ieQuietPrintCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_No_Print_Settings_In_IE"));
ieQuietPrintCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
needlePrinterOptimizeCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Needle_Printer_Optimize"));
needlePrinterOptimizeCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20));
UILabel needleTip = GUICoreUtils.createTipLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Needle_Printer_Optimize_Tip"));
JPanel needlePrinterOptimizePane = GUICoreUtils.createFlowPane(new Component[] {
needlePrinterOptimizeCheck, needleTip}, FlowLayout.LEFT);
needlePrinterOptimizeCheck, Box.createHorizontalStrut(20), needleTip}, BidiUtils.rtl() ? FlowLayout.RIGHT : FlowLayout.LEFT);
JPanel headerPane = GUICoreUtils.createHeaderLayoutPane(setMarginWhenPrintPane, ieQuietPrintCheck, needlePrinterOptimizePane);
headerPane.setBorder(BorderFactory.createEmptyBorder(2, 12, 12, 0));

5
designer-realize/src/main/java/com/fr/design/webattr/printsettings/PrintSettingPane.java

@ -1,5 +1,6 @@
package com.fr.design.webattr.printsettings;
import com.fr.base.i18n.BidiUtils;
import com.fr.base.print.PrintSettingsAttrMark;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.ibutton.UIRadioButton;
@ -42,7 +43,7 @@ public class PrintSettingPane extends BasicPane {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
JPanel allPanel = FRGUIPaneFactory.createBorderLayout_L_Pane();
this.add(allPanel, BorderLayout.CENTER);
JPanel north = FRGUIPaneFactory.createVerticalFlowLayout_S_Pane(true);
JPanel north = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(5, 5);
allPanel.add(north, BorderLayout.NORTH);
ButtonGroup buttonGroup = new ButtonGroup();
noClientPrintRadioButton.setSelected(true);
@ -52,7 +53,7 @@ public class PrintSettingPane extends BasicPane {
JPanel radioGroupPane = GUICoreUtils.createFlowPane(new Component[] {
noClientPrintRadioButton, nativePrintRadioButton}, FlowLayout.LEFT, 0, 0);
north.add(radioGroupPane);
BidiUtils.applyOrientationByLocale(noClientPrintRadioButton, nativePrintRadioButton);
noClientPrintSettingPane = new NoClientPrintSettingPane();
printCard = new CardLayout();
printPane = new JPanel();

Loading…
Cancel
Save