Browse Source

Pull request #14648: INO-21074 阿拉伯语言问题处理

Merge in DESIGN/design from ~OBO/design:persist/11.0-arabic to persist/11.0-arabic

* commit '08ac3f909bb07b5ba151d2029f9629ff589507b7': (35 commits)
  INO-21074 启动页
  INO-21074 主面板、移动端面板、UICombox
  INO-21074 FRM参数面板
  INO-21074 聚合报表tooltips
  INO-21074 表头内容
  INO-21074 设计器检测与反馈
  INO-21074 关于
  INO-21074 关于
  INO-21074 模版主题管理配置页面
  INO-21074 模版主题管理
  INO-21074 服务器js配置面板
  INO-21074 服务器编辑工具栏
  INO-21074 服务器ErrorTemplatePane
  INO-21074 服务器数据连接ssl面板
  INO-21074 服务器-定义数据连接
  INO-21074 服务器-定义数据连接
  INO-21074 超级链接-移动端弹窗
  INO-21074 超级链接-继承报表的参数-镜像
  INO-21074 超级链接列表位置镜像
  INO-21074 超级链接列表位置镜像
  ...
persist/11.0-arabic
Obo-王学仁 3 months ago
parent
commit
2e0e389c9a
  1. 8
      designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java
  2. 4
      designer-base/src/main/java/com/fr/design/components/table/TablePanel.java
  3. 12
      designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java
  4. 3
      designer-base/src/main/java/com/fr/design/data/datapane/connect/AdvancePane.java
  5. 2
      designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java
  6. 1
      designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java
  7. 20
      designer-base/src/main/java/com/fr/design/data/datapane/connect/SshPane.java
  8. 6
      designer-base/src/main/java/com/fr/design/data/datapane/connect/SslPane.java
  9. 1
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java
  10. 4
      designer-base/src/main/java/com/fr/design/editor/ValueEditorPane.java
  11. 16
      designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java
  12. 2
      designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java
  13. 5
      designer-base/src/main/java/com/fr/design/gui/controlpane/UINameableListCellRenderer.java
  14. 6
      designer-base/src/main/java/com/fr/design/gui/icheckbox/UICheckBox.java
  15. 2
      designer-base/src/main/java/com/fr/design/hyperlink/ReportletHyperlinkPane.java
  16. 2
      designer-base/src/main/java/com/fr/design/hyperlink/WebHyperlinkPane.java
  17. 2
      designer-base/src/main/java/com/fr/design/hyperlink/popup/ContentSettingPane.java
  18. 1
      designer-base/src/main/java/com/fr/design/hyperlink/popup/MobilePopupUIUtils.java
  19. 4
      designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java
  20. 3
      designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java
  21. 1
      designer-base/src/main/java/com/fr/design/mainframe/theme/ui/BreadcrumbBar.java
  22. 3
      designer-base/src/main/java/com/fr/design/parameter/ParameterInputPane.java
  23. 6
      designer-base/src/main/java/com/fr/design/style/FRFontPane.java
  24. 2
      designer-base/src/main/java/com/fr/design/utils/gui/UIComponentUtils.java
  25. 30
      designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java
  26. 30
      designer-base/src/main/java/com/fr/env/detect/ui/EnvDetectorDialog.java
  27. 30
      designer-base/src/main/resources/com/fr/design/i18n/dimension_ar.properties
  28. 2
      designer-chart/src/main/java/com/fr/design/module/ChartPreFillStylePane.java
  29. 4
      designer-chart/src/main/java/com/fr/van/chart/designer/other/VanChartInteractivePane.java
  30. 16
      designer-form/src/main/java/com/fr/design/mainframe/FormParaWidgetPane.java
  31. 4
      designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/BodyMobileDefinePane.java
  32. 3
      designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileBookMarkUsePane.java
  33. 4
      designer-realize/src/main/java/com/fr/design/dscolumn/DSColumnAdvancedPane.java
  34. 20
      designer-realize/src/main/java/com/fr/design/expand/ConditionParentPane.java
  35. 4
      designer-realize/src/main/java/com/fr/design/headerfooter/HFAttributesEditDialog.java
  36. 4
      designer-realize/src/main/java/com/fr/design/headerfooter/ImagePane.java
  37. 7
      designer-realize/src/main/java/com/fr/design/mainframe/bbs/BBSGuestPane.java
  38. 9
      designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/desensitization/model/DesensitizationCellPane.java
  39. 4
      designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/style/StylePane.java
  40. 4
      designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java
  41. 6
      designer-realize/src/main/java/com/fr/design/report/ReportColumnsPane.java
  42. 4
      designer-realize/src/main/java/com/fr/design/sort/header/HeaderSortRulePane.java
  43. 10
      designer-realize/src/main/java/com/fr/design/webattr/DragToolBarPane.java
  44. 4
      designer-realize/src/main/java/com/fr/design/webattr/EditToolBar.java
  45. 7
      designer-realize/src/main/java/com/fr/design/webattr/ErrorTemplatePane.java
  46. 4
      designer-realize/src/main/java/com/fr/design/webattr/ServerPrinterPane.java
  47. 6
      designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java
  48. 11
      designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java
  49. 2
      designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java
  50. 4
      designer-realize/src/main/java/com/fr/design/webattr/printsettings/GlobalNativePrintSettingPane.java
  51. 4
      designer-realize/src/main/java/com/fr/start/MainDesigner.java
  52. 5
      designer-realize/src/main/java/com/fr/start/SplashContext.java
  53. 5
      designer-realize/src/main/java/com/fr/start/common/SplashPane.java

8
designer-base/src/main/java/com/fr/design/actions/help/AboutPane.java

@ -5,6 +5,7 @@ package com.fr.design.actions.help;
import com.fr.base.FRContext;
import com.fr.base.GraphHelper;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.gui.ilable.ActionLabel;
import com.fr.design.gui.ilable.BoldFontTextLabel;
@ -225,7 +226,7 @@ public class AboutPane extends JPanel {
JPanel panel = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
panel.add(new UILabel(desc));
panel.add(emailLabel);
return panel;
return BidiUtils.applyOrientationByLocale(panel);
}
private JPanel getURLActionPane(final String desc, final String url) {
@ -245,7 +246,7 @@ public class AboutPane extends JPanel {
panel.add(new UILabel(desc));
panel.add(actionLabel);
return panel;
return BidiUtils.applyOrientationByLocale(panel);
}
class UserLabel extends BoldFontTextLabel {
@ -283,6 +284,7 @@ public class AboutPane extends JPanel {
this.textLabel = label;
centerPane.add(textLabel);
BidiUtils.applyOrientationByLocale(centerPane);
}
public void setFont(Font font) {
@ -328,7 +330,7 @@ public class AboutPane extends JPanel {
lastLabel.setForeground(Color.lightGray);
centerPane.add(lastLabel);
add(centerPane, BorderLayout.CENTER);
add(BidiUtils.applyOrientationByLocale(centerPane), BorderLayout.CENTER);
}
public void setFont(Font font) {

4
designer-base/src/main/java/com/fr/design/components/table/TablePanel.java

@ -68,11 +68,11 @@ public class TablePanel extends JPanel {
headerItemPanel.add(new UILabel(), BorderLayout.CENTER);
headerItemWrapper.add(headerItemPanel, BorderLayout.WEST);
headerItemWrapper.add(headerItemPanel, BorderLayout.LINE_START);
if (i != column - 1) {
JSeparator separator = new JSeparator(JSeparator.VERTICAL);
separator.setBackground(new Color(218, 218, 221));
headerItemWrapper.add(separator, BorderLayout.EAST);
headerItemWrapper.add(separator, BorderLayout.LINE_END);
}
headerPanel.add(headerItemWrapper);
}

12
designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java

@ -57,7 +57,7 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable {
public TreeTableDataDictPane(String treeName) {
this.setLayout(new BorderLayout(5, 30));
this.setBorder(BorderFactory.createEmptyBorder(20, 20, 0, 0));
selectTableDataLabel = new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_TableData_Select_One"), " :"));
selectTableDataLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_TableData_Select_One") + " " + ":");
setTableDataNameComboBox(treeName);
tableDataNameComboBox.setPreferredSize(new Dimension(180, 20));
JPanel tableFlowPane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane();
@ -96,11 +96,11 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable {
markButtonGroup.add(parentMarkRadio);
markButtonGroup.add(lengthMarkRadio);
originFieldDependsOnParentLabel = new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Original_Marked_Filed"), " :"), SwingConstants.TRAILING);
parentFieldLabel = new UILabel(BidiUtils.concatenateStrings(" ", com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Parent_Marked_Field"), " :"), SwingConstants.TRAILING);
treeDataFieldLabel1 = new UILabel(BidiUtils.concatenateStrings(" ", com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tree_Data_Field"), " :"), SwingConstants.TRAILING);
originFieldDependsOnLengthLabel = new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Original_Marked_Filed"), " :"), SwingConstants.TRAILING);
treeDataFieldLabel2 = new UILabel(BidiUtils.concatenateStrings(" ", com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tree_Data_Field"), " :"), SwingConstants.TRAILING);
originFieldDependsOnParentLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Original_Marked_Filed") + " :", SwingConstants.TRAILING);
parentFieldLabel = new UILabel(" " + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Parent_Marked_Field") + " :", SwingConstants.TRAILING);
treeDataFieldLabel1 = new UILabel(" " + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tree_Data_Field") + " :", SwingConstants.TRAILING);
originFieldDependsOnLengthLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Original_Marked_Filed") + " :", SwingConstants.TRAILING);
treeDataFieldLabel2 = new UILabel(" " + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Tree_Data_Field") + " :", SwingConstants.TRAILING);
// originFieldDependsOnParentPane = ValueEditorPaneFactory.createValueEditorPane(new Editor[] {new OldColumnIndexEditor(com.fr.design.i18n.Toolkit.i18nText("Columns"))});
// parentFieldPane = ValueEditorPaneFactory.createValueEditorPane(new Editor[] {new OldColumnIndexEditor(com.fr.design.i18n.Toolkit.i18nText("Columns"))});

3
designer-base/src/main/java/com/fr/design/data/datapane/connect/AdvancePane.java

@ -1,5 +1,6 @@
package com.fr.design.data.datapane.connect;
import com.fr.base.i18n.BidiUtils;
import com.fr.data.impl.JDBCDatabaseConnection;
import com.fr.data.pool.DBCPConnectionPoolAttr;
import com.fr.design.dialog.BasicPane;
@ -49,7 +50,7 @@ public class AdvancePane extends BasicPane {
JPanel contextPane = TableLayoutHelper.createGapTableLayoutPane(comps, rowSizeDbcp, columnDbcp, 11, 11);
jPanel.add(contextPane, BorderLayout.CENTER);
this.add(jPanel);
this.add(BidiUtils.applyOrientationByLocale(jPanel));
}

2
designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java

@ -282,7 +282,7 @@ public abstract class DatabaseConnectionPane<E extends com.fr.data.impl.Connecti
chartSetPane.add(GUICoreUtils.createNamedPane(charSetComboBox, Toolkit.i18nText("Fine-Design_Basic_Datasource_Charset") + ":"));
advancedPanel.add(chartSetPane);
}
BidiUtils.applyOrientationByLocale(advancedPanel);
BidiUtils.applyOrientationByLocale(advancedPanel, testPane);
northPane.add(advancedPanel);
}

1
designer-base/src/main/java/com/fr/design/data/datapane/connect/JDBCDefPane.java

@ -215,6 +215,7 @@ public class JDBCDefPane extends JPanel {
JPanel driverPane = FRGUIPaneFactory.createRightFlowInnerContainer_S_Pane();
driverPane.add(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Driver") + ":"));
BidiUtils.applyOrientationByLocale(driverPane);
// 选择ODBC数据源的时候的提示链接
JPanel odbcTipsPane = FRGUIPaneFactory.createRightFlowInnerContainer_S_Pane();
odbcTipsLink = new ActionLabel(Toolkit.i18nText("Fine-Design_Basic_Odbc_Tips")) {

20
designer-base/src/main/java/com/fr/design/data/datapane/connect/SshPane.java

@ -1,5 +1,6 @@
package com.fr.design.data.datapane.connect;
import com.fr.base.i18n.BidiUtils;
import com.fr.data.impl.JDBCDatabaseConnection;
import com.fr.data.security.ssh.BaseSsh;
import com.fr.data.security.ssh.Ssh;
@ -86,13 +87,13 @@ public class SshPane extends BasicPane {
type.setEditable(false);
type.setSelectedItem(Toolkit.i18nText("Fine-Design_Basic_Ssh_Private_Key"));
JPanel filePanel = TableLayoutHelper.createCommonTableLayoutPane(new Component[][]{{keyPath, fileChooserButton}}, new double[]{p}, new double[]{f, 20}, 0);
Component[] compIp = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Host") + ":", SwingConstants.RIGHT), ip};
Component[] compPort = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Port") + ":", SwingConstants.RIGHT), port};
Component[] compUserName = {new UILabel(Toolkit.i18nText("Fine-Design_Report_UserName") + ":", SwingConstants.RIGHT), user};
Component[] compMethod = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Ssh_Verify_Method") + ":", SwingConstants.RIGHT), type};
Component[] compPassword = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Password") + ":", SwingConstants.RIGHT), password};
Component[] compKey = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Ssh_Private_Key") + ":", SwingConstants.RIGHT), filePanel};
Component[] comSecret = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Ssh_Secret") + ":", SwingConstants.RIGHT), secret};
Component[] compIp = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Host") + ":", SwingConstants.TRAILING), ip};
Component[] compPort = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Port") + ":", SwingConstants.TRAILING), port};
Component[] compUserName = {new UILabel(Toolkit.i18nText("Fine-Design_Report_UserName") + ":", SwingConstants.TRAILING), user};
Component[] compMethod = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Ssh_Verify_Method") + ":", SwingConstants.TRAILING), type};
Component[] compPassword = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Password") + ":", SwingConstants.TRAILING), password};
Component[] compKey = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Ssh_Private_Key") + ":", SwingConstants.TRAILING), filePanel};
Component[] comSecret = {new UILabel(Toolkit.i18nText("Fine-Design_Basic_Ssh_Secret") + ":", SwingConstants.TRAILING), secret};
passwordComps = new Component[][]{
compIp,
@ -111,7 +112,9 @@ public class SshPane extends BasicPane {
};
usingSsh.setSelected(true);
contextPane = TableLayoutHelper.createGapTableLayoutPane(keyComps, new double[]{p, p, p, p, p, p}, columnSize, 11, 11);
jPanel.add(usingSsh, BorderLayout.NORTH);
JPanel sshPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
sshPane.add(usingSsh, BorderLayout.LINE_START);
jPanel.add(sshPane, BorderLayout.NORTH);
jPanel.add(contextPane, BorderLayout.CENTER);
this.add(jPanel);
@ -145,6 +148,7 @@ public class SshPane extends BasicPane {
fileChooser.removeTopPath();
}
});
BidiUtils.applyOrientationByLocale(this);
}

6
designer-base/src/main/java/com/fr/design/data/datapane/connect/SslPane.java

@ -1,5 +1,6 @@
package com.fr.design.data.datapane.connect;
import com.fr.base.i18n.BidiUtils;
import com.fr.data.impl.JDBCDatabaseConnection;
import com.fr.data.security.ssl.Ssl;
import com.fr.data.security.ssl.SslException;
@ -84,9 +85,12 @@ public class SslPane extends BasicPane {
};
usingSsl.setSelected(true);
contextPane = TableLayoutHelper.createGapTableLayoutPane(usingComps, new double[]{p, p, p, p}, columnSize, 11, 11);
jPanel.add(usingSsl, BorderLayout.NORTH);
JPanel sslPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
sslPane.add(usingSsl, BorderLayout.LINE_START);
jPanel.add(sslPane, BorderLayout.NORTH);
jPanel.add(contextPane, BorderLayout.CENTER);
this.add(jPanel);
BidiUtils.applyOrientationByLocale(this);
usingSsl.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

1
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java

@ -85,6 +85,7 @@ public class EmbeddedTableDataPane extends AbstractTableDataPane<EmbeddedTableDa
// peter:控制Panel
JPanel northPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
BidiUtils.applyOrientationByLocale(northPane);
this.add(northPane, BorderLayout.NORTH);
northPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 3, 0));

4
designer-base/src/main/java/com/fr/design/editor/ValueEditorPane.java

@ -1,6 +1,7 @@
package com.fr.design.editor;
import com.fr.base.BaseFormula;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.FineJOptionPane;
@ -96,8 +97,9 @@ public class ValueEditorPane extends BasicPane implements UIObserver, GlobalName
this.add(centerPane, BorderLayout.CENTER);
if (cards.length > 1) {
this.add(arrowButton, BorderLayout.WEST);
this.add(arrowButton, BorderLayout.LINE_START);
}
BidiUtils.applyOrientationByLocale(this);
}
@Override

16
designer-base/src/main/java/com/fr/design/gui/controlpane/ListControlPaneHelper.java

@ -1,5 +1,6 @@
package com.fr.design.gui.controlpane;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.dialog.FineJOptionPane;
import com.fr.design.gui.ilist.JNameEdList;
@ -186,13 +187,22 @@ class ListControlPaneHelper {
*/
protected MouseListener getListMouseListener(UINameEdList nameableList, UIControlPane controlPane) {
return new MouseAdapter() {
private boolean isEditArea(MouseEvent evt) {
return evt.getClickCount() >= 2 && SwingUtilities.isLeftMouseButton(evt) && (BidiUtils.rtl() ? evt.getX() < controlPane.getPreferredSize().width - EDIT_RANGE : evt.getX() > EDIT_RANGE);
}
private boolean isIconArea(MouseEvent evt) {
return SwingUtilities.isLeftMouseButton(evt) && (BidiUtils.rtl() ? evt.getX() > controlPane.getPreferredSize().width - EDIT_RANGE : evt.getX() <= EDIT_RANGE);
}
@Override
public void mouseReleased(MouseEvent evt) {
nameableList.stopEditing();
if (evt.getClickCount() >= 2
&& SwingUtilities.isLeftMouseButton(evt) && evt.getX() > EDIT_RANGE) {
if (isEditArea(evt)) {
nameableList.editItemAt(nameableList.getSelectedIndex());
} else if (SwingUtilities.isLeftMouseButton(evt) && evt.getX() <= EDIT_RANGE) {
} else if (isIconArea(evt)) {
popupEditDialog(evt.getPoint(), nameableList, controlPane);
}

2
designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java

@ -178,7 +178,7 @@ public abstract class UIControlPane extends JControlPane {
JPanel leftTopPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
leftTopPane.add(toolBarPane, BorderLayout.LINE_END);
leftTopPane.add(addItemLabel, BidiUtils.rtl() ? BorderLayout.EAST : BorderLayout.CENTER);
return leftTopPane;
return BidiUtils.applyOrientationByLocale(leftTopPane);
}
/**

5
designer-base/src/main/java/com/fr/design/gui/controlpane/UINameableListCellRenderer.java

@ -1,5 +1,6 @@
package com.fr.design.gui.controlpane;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ilist.ListModelElement;
@ -50,11 +51,13 @@ public class UINameableListCellRenderer extends
editButton.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, UIConstants.LIST_ITEM_SPLIT_LINE));
editButton.setHorizontalAlignment(SwingConstants.CENTER);
label = new UILabel();
label.setHorizontalAlignment(SwingConstants.LEADING);
label.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
initialLabelForeground = label.getForeground();
this.setLayout(new BorderLayout());
this.add(editButton, BorderLayout.WEST);
this.add(editButton, BorderLayout.LINE_START);
this.add(label, BorderLayout.CENTER);
BidiUtils.applyOrientationByLocale(this);
}
private Border getNoFocusBorder() {

6
designer-base/src/main/java/com/fr/design/gui/icheckbox/UICheckBox.java

@ -1,5 +1,6 @@
package com.fr.design.gui.icheckbox;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.constants.UIConstants;
import com.fr.design.event.GlobalNameListener;
import com.fr.design.event.GlobalNameObserver;
@ -40,18 +41,21 @@ public class UICheckBox extends JCheckBox implements UIObserver, GlobalNameObser
super(string);
setUI(new UICheckBoxUI());
initListener();
BidiUtils.setOrientationByLocale(this);
}
public UICheckBox() {
super();
setUI(new UICheckBoxUI());
initListener();
BidiUtils.setOrientationByLocale(this);
}
public UICheckBox(String locText, boolean b) {
super(locText, b);
setUI(new UICheckBoxUI());
initListener();
BidiUtils.setOrientationByLocale(this);
}
public UICheckBox(String locText, boolean b, boolean markMnemonic) {
@ -59,12 +63,14 @@ public class UICheckBox extends JCheckBox implements UIObserver, GlobalNameObser
setUI(new UICheckBoxUI());
initListener();
this.markMnemonic = markMnemonic;
BidiUtils.setOrientationByLocale(this);
}
public UICheckBox(String text, Icon icon) {
super(text, icon);
setUI(new UICheckBoxUI());
initListener();
BidiUtils.setOrientationByLocale(this);
}
protected void initListener() {

2
designer-base/src/main/java/com/fr/design/hyperlink/ReportletHyperlinkPane.java

@ -64,7 +64,7 @@ public class ReportletHyperlinkPane extends AbstractHyperLinkPane<ReportletHyper
parameterViewPane.setBorder(GUICoreUtils.createTitledBorder(Toolkit.i18nText("Fine-Design_Basic_Parameter"), null));
extendParametersCheckBox = new UICheckBox(Toolkit.i18nText("Fine-Design_Basic_Hyperlink_Extends_Report_Parameters"));
this.add(GUICoreUtils.createFlowPane(extendParametersCheckBox, FlowLayout.LEADING), BorderLayout.SOUTH);
this.add(BidiUtils.applyOrientationByLocale(GUICoreUtils.createFlowPane(extendParametersCheckBox, FlowLayout.LEADING)), BorderLayout.SOUTH);
}
@Override

2
designer-base/src/main/java/com/fr/design/hyperlink/WebHyperlinkPane.java

@ -46,7 +46,7 @@ public class WebHyperlinkPane extends AbstractHyperLinkPane<WebHyperlink> {
parameterViewPane.setBorder(GUICoreUtils.createTitledBorder(Toolkit.i18nText("Fine-Design_Basic_Parameters"), null));
extendParametersCheckBox = new UICheckBox(Toolkit.i18nText("Fine-Design_Basic_Hyperlink_Extends_Report_Parameters"));
this.add(GUICoreUtils.createFlowPane(new Component[]{extendParametersCheckBox}, FlowLayout.LEADING), BorderLayout.SOUTH);
this.add(BidiUtils.applyOrientationByLocale(GUICoreUtils.createFlowPane(new Component[]{extendParametersCheckBox}, FlowLayout.LEADING)), BorderLayout.SOUTH);
}
@Override

2
designer-base/src/main/java/com/fr/design/hyperlink/popup/ContentSettingPane.java

@ -121,7 +121,7 @@ public class ContentSettingPane extends AbstractHyperLinkPane<MobilePopupHyperli
extendParametersCheckBox = new UICheckBox(Toolkit.i18nText("Fine-Design_Basic_Hyperlink_Extends_Report_Parameters"));
templateContentPane.add(GUICoreUtils.createFlowPane(extendParametersCheckBox, FlowLayout.LEADING), BorderLayout.SOUTH);
BidiUtils.applyOrientationByLocale(templateContentPane);
return templateContentPane;
}

1
designer-base/src/main/java/com/fr/design/hyperlink/popup/MobilePopupUIUtils.java

@ -21,6 +21,7 @@ public class MobilePopupUIUtils {
titleLabel.setHorizontalAlignment(SwingConstants.TRAILING);
jp.add(titleLabel, BorderLayout.LINE_START);
jp.add(contentPanel, BorderLayout.CENTER);
BidiUtils.applyOrientationByLocale(jp);
return jp;
}

4
designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java

@ -98,7 +98,7 @@ public class CenterRegionContainerPane extends JPanel {
this.setLayout(new BorderLayout());
this.add(centerTemplateCardPane = new DesktopCardPane(), BorderLayout.CENTER);
this.add(toolbarPane, BorderLayout.NORTH);
BidiUtils.applyOrientationByLocale(this);
}
public ToolBarMenuDock getToolBarMenuDock() {
@ -230,7 +230,7 @@ public class CenterRegionContainerPane extends JPanel {
}
// 颜色,字体那些按钮的工具栏
toolbarPane.add(toolbarComponent = ad.resetToolBar(toolbarComponent, plus), BidiUtils.rtl() ? BorderLayout.EAST : BorderLayout.CENTER);
toolbarPane.add(toolbarComponent = ad.resetToolBar(toolbarComponent, plus), BorderLayout.CENTER);
JPanel customNorthPane = strategy.customNorthPane(toolbarPane,plus);
if (!isExist(customNorthPane)){
this.removeNorth();

3
designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java

@ -76,6 +76,7 @@ public abstract class TemplateThemeProfilePane<T extends TemplateTheme> extends
setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 6));
add(createLeftPane(), BorderLayout.CENTER);
add(createRightPane(), BorderLayout.LINE_END);
BidiUtils.applyOrientationByLocale(this);
}
@Override
@ -340,7 +341,7 @@ public abstract class TemplateThemeProfilePane<T extends TemplateTheme> extends
container.add(nameTextPane, BorderLayout.CENTER);
container.add(nameErrorLabel, BorderLayout.SOUTH);
return container;
return BidiUtils.applyOrientationByLocale(container);
}
public void exit() {

1
designer-base/src/main/java/com/fr/design/mainframe/theme/ui/BreadcrumbBar.java

@ -25,6 +25,7 @@ public class BreadcrumbBar extends JPanel {
public BreadcrumbBar() {
setLayout(new FlowLayout(FlowLayout.LEADING, 0, 0));
BidiUtils.applyOrientationByLocale(this);
}
public void addCrumb(final String text, final BreadcrumbBackListener backListener) {

3
designer-base/src/main/java/com/fr/design/parameter/ParameterInputPane.java

@ -6,7 +6,6 @@ package com.fr.design.parameter;
import com.fr.base.BaseFormula;
import com.fr.base.StoreProcedureParameter;
import com.fr.base.Utils;
import com.fr.base.i18n.BidiUtils;
import com.fr.data.impl.storeproc.StoreProcedureConstants;
import com.fr.design.dialog.BasicPane;
import com.fr.design.editor.ValueEditorPane;
@ -111,7 +110,7 @@ public class ParameterInputPane extends BasicPane {
if (StringUtils.isNotBlank(parameter.getName())) {
parameterDisplayName = parameter.getName();
}
contentPane.add(flowTableLayoutHelper.createLabelFlowPane(BidiUtils.concatenateStrings(parameterDisplayName, ":"), editPane));
contentPane.add(flowTableLayoutHelper.createLabelFlowPane(parameterDisplayName + ":" , editPane));
//add editor to parameter hashtable.
initTextListener(textF);

6
designer-base/src/main/java/com/fr/design/style/FRFontPane.java

@ -4,6 +4,7 @@
package com.fr.design.style;
import com.fr.base.FRContext;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.icombobox.LineComboBox;
@ -137,7 +138,7 @@ public class FRFontPane extends BasicPane {
fireStateChanged();
}
});
foregroundPane.add(foregroundColorPane, BorderLayout.WEST);
foregroundPane.add(foregroundColorPane, BorderLayout.LINE_START);
// center pane
JPanel centerPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
@ -146,7 +147,7 @@ public class FRFontPane extends BasicPane {
// other reportFont dialog
JPanel otherFontPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
centerPane.add(otherFontPane, BorderLayout.WEST);
centerPane.add(otherFontPane, BorderLayout.LINE_START);
// otherFontPane.setLayout(FRGUIPaneFactory.createBorderLayout());
// effects pane
@ -208,6 +209,7 @@ public class FRFontPane extends BasicPane {
//peteter:这里主动从Context, 获得默认的FRFont的值.
DefaultValues defaultValues = FRContext.getDefaultValues();
populate(defaultValues.getFRFont());
BidiUtils.applyOrientationByLocale(this);
}
public void addChangeListener(ChangeListener changeListener) {

2
designer-base/src/main/java/com/fr/design/utils/gui/UIComponentUtils.java

@ -25,7 +25,7 @@ public class UIComponentUtils {
* html内联css实现文本靠右对齐rtl
*/
private static final String HTML_TAG_TPL = BidiUtils.rtl() ? "<html><body style='text-align: right;width: %dpx'>" : "<html><body style='width: %dpx'>";
private static final String HTML_BODY_TAG = "<html><body>";
private static final String HTML_BODY_TAG = BidiUtils.rtl() ? "<html><body style='text-align: right'>" : "<html><body>";
private static final String HTML_TAG = "<html>";
private static final int MIN_WIDTH = 10;

30
designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java

@ -62,11 +62,14 @@ import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTree;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.TitledBorder;
import javax.swing.UIManager;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
@ -176,6 +179,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
addBottomPane();
addListeners();
BidiUtils.applyOrientationByLocale(this);
}
public void setSubMitName(String subMitName) {
@ -254,7 +258,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
JPanel btPane = new JPanel(FRGUIPaneFactory.createBorderLayout());
btPane.add(eventPane, BorderLayout.CENTER);
btPane.add(conditionPane, BorderLayout.NORTH);
this.add(btPane, BorderLayout.SOUTH);
this.add(BidiUtils.applyOrientationByLocale(btPane), BorderLayout.SOUTH);
}
private UIButton addEventButton() {
@ -991,6 +995,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
public KeyColumnNameValueTable() {
super(new KeyColumnValueTableModel(null));
this.getTableHeader().setDefaultRenderer(new KeyColumnNameValueTableHeaderRender(this.getTableHeader()));
}
@ -1007,6 +1012,27 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
protected static class KeyColumnNameValueTableHeaderRender implements TableCellRenderer {
private JTableHeader tableHeader;
public KeyColumnNameValueTableHeaderRender(JTableHeader tableHeader) {
this.tableHeader = tableHeader;
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
tableHeader = table.getTableHeader();
tableHeader.setReorderingAllowed(false);
String valueStr = (String) value;
UILabel label = new UILabel(valueStr, SwingConstants.CENTER);
label.setForeground(tableHeader.getForeground());
label.setBackground(tableHeader.getBackground());
label.setFont(tableHeader.getFont());
label.setToolTipText(valueStr);
label.setBorder(UIManager.getBorder("TableHeader.cellBorder"));
return label;
}
}
protected abstract static class KeyColumnTableModel extends AbstractTableModel {
public static final String RAW_KEY = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_RWA_Key");
public static final String COLUMN = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Column");

30
designer-base/src/main/java/com/fr/env/detect/ui/EnvDetectorDialog.java vendored

@ -1,6 +1,8 @@
package com.fr.env.detect.ui;
import com.fr.base.i18n.BidiUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.carton.FeedbackToolboxDialog;
import com.fr.design.components.notification.NotificationDialog;
import com.fr.design.components.notification.NotificationDialogProperties;
import com.fr.design.components.notification.NotificationModel;
@ -24,9 +26,6 @@ import com.fr.env.detect.bean.DetectorResult;
import com.fr.env.detect.bean.DetectorStatus;
import com.fr.env.detect.bean.DetectorType;
import com.fr.log.FineLoggerFactory;
import com.fr.design.carton.FeedbackToolboxDialog;
import com.fr.stable.ProductConstantsBase;
import com.fr.stable.StableUtils;
import org.jetbrains.annotations.NotNull;
import javax.swing.BorderFactory;
@ -38,14 +37,13 @@ import javax.swing.plaf.ButtonUI;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Cursor;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.net.URL;
import java.util.List;
import java.util.Map;
@ -174,7 +172,7 @@ public class EnvDetectorDialog extends JDialog {
detectButton.setPreferredSize(new Dimension(68, 20));
detectButton.setBorderPainted(false);
detectButton.setContentAreaFilled(false);
headerPanel.add(detectButton, BorderLayout.WEST);
headerPanel.add(detectButton, BorderLayout.LINE_START);
UILabel openUtilBoxLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Carton_Feedback_ToolBox"));
openUtilBoxLabel.setForeground(UIConstants.FLESH_BLUE);
@ -195,8 +193,8 @@ public class EnvDetectorDialog extends JDialog {
}
}
});
headerPanel.add(openUtilBoxLabel, BorderLayout.EAST);
return headerPanel;
headerPanel.add(openUtilBoxLabel, BorderLayout.LINE_END);
return BidiUtils.applyOrientationByLocale(headerPanel);
}
private void startDetecting() {
@ -342,7 +340,7 @@ public class EnvDetectorDialog extends JDialog {
updateTable(tablePanel);
return tablePanel;
return BidiUtils.applyOrientationByLocale(tablePanel);
}
private void updateTable(TablePanel tablePanel) {
@ -446,11 +444,11 @@ public class EnvDetectorDialog extends JDialog {
UICheckBox source = (UICheckBox) e.getSource();
EnvDetectorDialog.this.detectOpen = source.isSelected();
});
configPanel.add(checkBox, BorderLayout.WEST);
configPanel.add(checkBox, BorderLayout.LINE_START);
UILabel description = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Detect_Switch"));
configPanel.add(description, BorderLayout.EAST);
configPanel.add(description, BorderLayout.LINE_END);
}
tailPanel.add(configPanel, BorderLayout.WEST);
tailPanel.add(configPanel, BorderLayout.LINE_START);
JPanel actionsPanel = FRGUIPaneFactory.createBorderLayout_S_Pane();
actionsPanel.setLayout(FRGUIPaneFactory.createM_BorderLayout());
@ -462,17 +460,17 @@ public class EnvDetectorDialog extends JDialog {
// 配置处理
EnvDetectorConfig.getInstance().setEnabled(this.detectOpen);
});
actionsPanel.add(confirmButton, BorderLayout.WEST);
actionsPanel.add(confirmButton, BorderLayout.LINE_START);
UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Cancel"));
cancelButton.addActionListener((e) -> {
setVisible(false);
dispose();
});
actionsPanel.add(cancelButton, BorderLayout.EAST);
actionsPanel.add(cancelButton, BorderLayout.LINE_END);
}
tailPanel.add(actionsPanel, BorderLayout.EAST);
return tailPanel;
tailPanel.add(actionsPanel, BorderLayout.LINE_END);
return BidiUtils.applyOrientationByLocale(tailPanel);
}
private void refreshHeader() {

30
designer-base/src/main/resources/com/fr/design/i18n/dimension_ar.properties

@ -1 +1,31 @@
com.fr.design.data.datapane.ReportTableDataPane=1050*600
com.fr.design.web.pane.text.field=450*20
com.fr.design.ds.column.sort.pane=220*150
com.fr.design.cell.expand.sort.pane=227*155
com.fr.design.mainframe.check.CheckButton=250*118
com.fr.design.mainframe.check.CheckFontInfoDialog.collapse=385*185
com.fr.design.mainframe.check.CheckFontInfoDialog.messageWithLink=325*31
com.fr.design.mainframe.check.CheckFontInfoDialog.unfold=385*280
com.fr.env.RemoteEnvPane.dialog=308*132
com.fr.design.version.check.dialog=230*95
com.fr.design.version.detail.label=450*30
com.fr.design.version.detail.dialog=600*500
com.fr.env.SyncFailedPluginsDialog.messageWithLink=316*20
com.fr.design.actions.server.dialog=700*630
com.fr.design.report.fit.templatePane.dialog=600*400
com.fr.design.report.fit.firstColumn=80*20
com.fr.design.report.fit.column=100*20
com.fr.design.lock.LockInfoDialog=400*180
com.fr.design.mainframe.ForbiddenPane.refreshButton=68*24
com.fr.start.common.DesignerOpenEmptyPanel.createButton=70*24
com.fr.design.sort.rule.item=80*20
com.fr.design.sort.expand.header.pane=108*10
com.fr.design.plugin.remind.PluginInvalidateRemindDialog.dialog=600*500
com.fr.design.plugin.remind.PluginInvalidateRemindDialog.centerPane=580*369
com.fr.design.report.WatermarkSettingPane=720*600
com.fr.design.file.MultiTemplateTabPane.popUpMenu=170*65
com.fr.design.formula.FormulaPane=900*600
com.fr.design.formula.FormulaPaneWhenReserveFormula=900*600
com.fr.design.mainframe.mobile.ui.MobileStyleDefinePane.configLabel=75*20
com.fr.design.mainframe.mobile.utils.DesignerUtils.configLabel=100*20
com.fr.design.update.ui.dialog.UpdateMainDialog.updateButton=80*24

2
designer-chart/src/main/java/com/fr/design/module/ChartPreFillStylePane.java

@ -74,7 +74,7 @@ public class ChartPreFillStylePane extends BasicBeanPane<ChartColorMatching> {
double[] columnSize = {p, p};
double[] rowSize = {p, p, p};
Component[][] components = new Component[][]{
new Component[]{new UILabel(BidiUtils.concatenateStrings(" ", com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Color_Match"))), null},
new Component[]{new UILabel(" " + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Color_Match")), null},
new Component[]{null, customPane},
};

4
designer-chart/src/main/java/com/fr/van/chart/designer/other/VanChartInteractivePane.java

@ -203,7 +203,9 @@ public class VanChartInteractivePane extends AbstractVanChartScrollPane<Chart> {
if (!plot.isSupportZoomDirection()) {
return null;
}
zoomWidget = new UICheckBox(Toolkit.i18nText("Fine-Design_Chart_Open_Zoom_Control"));
String zoomWidgetName = Toolkit.i18nText("Fine-Design_Chart_Open_Zoom_Control");
zoomWidget = new UICheckBox(zoomWidgetName);
zoomWidget.setToolTipText(zoomWidgetName);
zoomGesture = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Chart_Open"), Toolkit.i18nText("Fine-Design_Chart_Close")});
JPanel zoomWidgetPane = TableLayout4VanChartHelper.createGapTableLayoutPaneWithoutTop(Toolkit.i18nText("Fine-Design_Chart_Zoom_Widget"), zoomWidget);
JPanel zoomGesturePane = TableLayout4VanChartHelper.createGapTableLayoutPaneWithoutTop(Toolkit.i18nText("Fine-Design_Chart_ZoomGesture"), zoomGesture);

16
designer-form/src/main/java/com/fr/design/mainframe/FormParaWidgetPane.java

@ -1,6 +1,7 @@
package com.fr.design.mainframe;
import com.fr.base.BaseUtils;
import com.fr.base.i18n.BidiUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.ExtraDesignClassManager;
import com.fr.design.constants.UIConstants;
@ -136,7 +137,7 @@ public class FormParaWidgetPane extends JPanel {
}
public FormParaWidgetPane() {
setLayout(new FlowLayout(FlowLayout.LEFT));
setLayout(new FlowLayout(FlowLayout.LEADING));
DesignerContext.getDesignerFrame().getCenterTemplateCardPane().addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
@ -158,19 +159,20 @@ public class FormParaWidgetPane extends JPanel {
}
});
initFormParaComponent();
BidiUtils.applyOrientationByLocale(this);
}
private void initWidgetTypePopUp() {
JPanel widgetPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
JPanel widgetPane = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, 0));
loadPredefinedWidget();
int rowNum = calculateWidgetWindowRowNum();
JPanel westPanel = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel westPanel = new JPanel(new FlowLayout(FlowLayout.LEADING));
for (WidgetOption o : loadWidgetOptions()) {
westPanel.add(new ToolBarButton(o));
}
int x = commonWidgetNum * (widgetButtonWidth + smallGAP) - smallGAP;
westPanel.setPreferredSize(new Dimension(x, (int) (rowNum * westPanel.getPreferredSize().getHeight())));
JPanel eastPane = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel eastPane = new JPanel(new FlowLayout(FlowLayout.LEADING));
for (WidgetOption no : predifinedwidgeList) {
eastPane.add(new ToolBarButton(no));
}
@ -196,7 +198,7 @@ public class FormParaWidgetPane extends JPanel {
private void initChartTypePopUp() {
if (chartTypePopupMenu == null) {
JPanel componentsPara = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel componentsPara = new JPanel(new FlowLayout(FlowLayout.LEADING));
WidgetOption[] chartOptions = loadChartOptions();
for (WidgetOption chartOption : chartOptions) {
ToolBarButton button = new ToolBarButton(chartOption);
@ -374,7 +376,7 @@ public class FormParaWidgetPane extends JPanel {
(int) jSeparatorLayout.getLocation().getY());
}
});
labelPane.add(chartPopUpButton, BorderLayout.EAST);
labelPane.add(chartPopUpButton, BorderLayout.LINE_END);
chartPane.add(labelPane, BorderLayout.SOUTH);
return chartPane;
}
@ -401,7 +403,7 @@ public class FormParaWidgetPane extends JPanel {
}
});
labelPane.add(chartPopUpButton, BorderLayout.EAST);
labelPane.add(chartPopUpButton, BorderLayout.LINE_END);
widgetPane.add(labelPane, BorderLayout.SOUTH);
return widgetPane;
}

4
designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/BodyMobileDefinePane.java

@ -1,5 +1,6 @@
package com.fr.design.widget.ui.designer.mobile;
import com.fr.base.i18n.BidiUtils;
import com.fr.base.iofile.attr.FormBodyPaddingAttrMark;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator;
@ -74,7 +75,8 @@ public class BodyMobileDefinePane extends MobileWidgetDefinePane {
appRelayoutCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_App_ReLayout"), true);
appRelayoutCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0));
panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
panel.add(appRelayoutCheck);
panel.add(appRelayoutCheck, BorderLayout.LINE_START);
BidiUtils.applyOrientationByLocale(panel);
final JPanel panelWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane();
panelWrapper.add(panel, BorderLayout.NORTH);

3
designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/component/MobileBookMarkUsePane.java

@ -1,5 +1,6 @@
package com.fr.design.widget.ui.designer.mobile.component;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.designer.IntervalConstants;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator;
@ -66,7 +67,7 @@ public class MobileBookMarkUsePane extends BasicPane {
showBookMarkPane.setBorder(
BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L1, 0, IntervalConstants.INTERVAL_L1, 0));
wrapPane.add(showBookMarkPane, BorderLayout.CENTER);
this.add(showBookMarkPane, BorderLayout.CENTER);
this.add(BidiUtils.applyOrientationByLocale(showBookMarkPane), BorderLayout.CENTER);
}
public void populate(XCreator xCreator) {

4
designer-realize/src/main/java/com/fr/design/dscolumn/DSColumnAdvancedPane.java

@ -405,7 +405,7 @@ public class DSColumnAdvancedPane extends BasicPane {
UIButton bottomFrmulaButton = new UIButton("...");
this.add(bottomFrmulaButton);
bottomFrmulaButton.setToolTipText(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Formula"), "..."));
bottomFrmulaButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Formula") + "...");
bottomFrmulaButton.setPreferredSize(new Dimension(25, formulaTextField.getPreferredSize().height));
bottomFrmulaButton.addActionListener(formulaButtonActionListener);
}
@ -468,7 +468,7 @@ public class DSColumnAdvancedPane extends BasicPane {
public ValuePane() {
this.setLayout(FRGUIPaneFactory.createBoxFlowLayout());
this.add(new UILabel(BidiUtils.concatenateStrings(InsetText, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Value"), ":")));
this.add(new UILabel(InsetText + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Value") + ":"));
this.add(Box.createHorizontalStrut(2));
this.add((formulaField = new JFormulaField("$$$")));
}

20
designer-realize/src/main/java/com/fr/design/expand/ConditionParentPane.java

@ -1,21 +1,17 @@
package com.fr.design.expand;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import javax.swing.JComponent;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.gui.ilable.UILabel;
import javax.swing.JPanel;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.report.cell.TemplateCellElement;
import com.fr.report.cell.cellattr.CellExpandAttr;
import com.fr.design.utils.gui.GUICoreUtils;
import javax.swing.JComponent;
import javax.swing.JPanel;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
public class ConditionParentPane extends JPanel {
private ParentPane leftParentPane;
@ -39,12 +35,12 @@ public class ConditionParentPane extends JPanel {
innerthis.add(eastPane);
eastPane.add(GUICoreUtils.createFlowPane(new JComponent[] {
new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Left_Parent"), ": ")),
new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Left_Parent") + ":" + " "),
leftParentPane = new ParentPane(ParentPane.LEFT, listener) }, FlowLayout.LEADING));
eastPane.add(GUICoreUtils.createFlowPane(
new JComponent[] {
new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Up_Parent"), ": ")),
new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Up_Parent") + ":" + " "),
upParentPane = new ParentPane(ParentPane.UP, listener) }, FlowLayout.LEADING));
}
public void putElementcase(ElementCasePane t){

4
designer-realize/src/main/java/com/fr/design/headerfooter/HFAttributesEditDialog.java

@ -13,6 +13,7 @@ import com.fr.base.headerfooter.NumberOfPageHFElement;
import com.fr.base.headerfooter.PageNumberHFElement;
import com.fr.base.headerfooter.TextHFElement;
import com.fr.base.headerfooter.TimeHFElement;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.formula.FormulaFactory;
@ -71,7 +72,8 @@ public class HFAttributesEditDialog extends BasicPane {
// topControlPane.setLayout(FRGUIPaneFactory.createBorderLayout());
JPanel topControlButtonPane =FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane();
topControlPane.add(topControlButtonPane, BorderLayout.WEST);
topControlPane.add(topControlButtonPane, BorderLayout.LINE_START);
BidiUtils.applyOrientationByLocale(topControlPane);
moveLeftButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_HF_Move_Left"));

4
designer-realize/src/main/java/com/fr/design/headerfooter/ImagePane.java

@ -3,6 +3,7 @@
*/
package com.fr.design.headerfooter;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.frpane.ImgChooseWrapper;
import com.fr.design.gui.ibutton.UIButton;
@ -47,7 +48,8 @@ public class ImagePane extends BasicPane {
//select image
JPanel rightPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
this.add(rightPane, BorderLayout.EAST);
this.add(rightPane, BorderLayout.LINE_END);
BidiUtils.applyOrientationByLocale(this);
// rightPane.setLayout(FRGUIPaneFactory.createBorderLayout());
if (hasPreviewBorder) {

7
designer-realize/src/main/java/com/fr/design/mainframe/bbs/BBSGuestPane.java

@ -3,6 +3,7 @@
*/
package com.fr.design.mainframe.bbs;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.gui.ilable.ActionLabel;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory;
@ -43,6 +44,7 @@ public class BBSGuestPane extends JPanel implements BBSGuestPaneProvider{
guestPane.add(userPane, BorderLayout.CENTER);
this.add(guestPane);
BidiUtils.applyOrientationByLocale(this);
}
private JPanel initUserPane(){
@ -66,11 +68,12 @@ public class BBSGuestPane extends JPanel implements BBSGuestPaneProvider{
private JPanel initInfoPane(){
JPanel infoPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
UILabel infoNorthLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Thank_Guest"));
infoNorthLabel.setHorizontalAlignment(SwingConstants.LEADING);
UILabel centerLabel = new UILabel(StringUtils.BLANK);
infoPane.add(infoNorthLabel, BorderLayout.NORTH);
infoPane.add(centerLabel, BorderLayout.CENTER);
infoPane.add(centerLabel, BorderLayout.LINE_START);
return infoPane;
return BidiUtils.applyOrientationByLocale(infoPane);
}
private ActionLabel getURLActionLabel(final String text, final String url){

9
designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/desensitization/model/DesensitizationCellPane.java

@ -1,7 +1,6 @@
package com.fr.design.mainframe.cell.settingpane.desensitization.model;
import com.fr.base.i18n.BidiUtils;
import com.fr.base.operator.org.OrganizationOperator;
import com.fr.data.desensitize.rule.DesensitizationRuleManager;
import com.fr.data.desensitize.rule.base.DesensitizationRule;
import com.fr.data.desensitize.rule.base.DesensitizationRuleSource;
@ -11,7 +10,6 @@ import com.fr.design.data.datapane.preview.desensitization.view.rule.Desensitiza
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.event.UIObserverListener;
import com.fr.design.file.HistoryTemplateListCache;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.icombocheckbox.UIComboCheckBox;
import com.fr.design.gui.ilable.UILabel;
@ -21,17 +19,14 @@ import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.layout.VerticalFlowLayout;
import com.fr.design.mainframe.JTemplate;
import com.fr.design.mainframe.JTemplateActionListener;
import com.fr.report.cell.desensitization.CellDesensitizationBean;
import com.fr.stable.StringUtils;
import com.fr.third.org.apache.commons.collections4.map.HashedMap;
import com.fr.workspace.WorkContext;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.SwingWorker;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
@ -44,7 +39,6 @@ import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ExecutionException;
/**
* 单元格脱敏规则设置面板
@ -83,6 +77,7 @@ public class DesensitizationCellPane extends BasicBeanPane {
editPanel.setLayout(new VerticalFlowLayout(VerticalFlowLayout.TOP, 0, 0, true));
label = new UILabel();
label.setHorizontalAlignment(SwingConstants.LEADING);
label.setEnabled(false);
editPanel.add(label);

4
designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/style/StylePane.java

@ -22,6 +22,7 @@ import com.fr.log.FineLoggerFactory;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.event.ChangeListener;
import java.awt.BorderLayout;
import java.awt.CardLayout;
@ -156,7 +157,8 @@ public class StylePane extends BasicPane implements UIObserver {
private JPanel createThemedStylePane() {
JPanel container = new JPanel(new BorderLayout(0, IntervalConstants.INTERVAL_L1));
UILabel uiLabel = new UILabel(Toolkit.i18nText("Fine-Design_Style_Applying"));
UILabel uiLabel = new UILabel(Toolkit.i18nText("Fine-Design_Style_Applying"), SwingConstants.LEADING);
BidiUtils.setOrientationByLocale(uiLabel);
uiLabel.setPreferredSize(new Dimension(uiLabel.getPreferredSize().width, 20));
container.add(uiLabel, BorderLayout.NORTH);
nameStyleListPane.setBorder(BorderFactory.createEmptyBorder());

4
designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java

@ -194,12 +194,12 @@ public class PageSetupPane extends BasicPane {
defaultPane.add(paperSizePane);
predefinedRadioButton = new UIRadioButton(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_PageSetup_Predefined"), ":"));
predefinedRadioButton = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_PageSetup_Predefined") + ":");
predefinedRadioButton.setMnemonic('P');
predefinedRadioButton.addActionListener(previewListener);
customRadioButton = new UIRadioButton(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Custom"), ":"));
customRadioButton = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Custom") + ":");
customRadioButton.setMnemonic('C');
customRadioButton.addActionListener(previewListener);

6
designer-realize/src/main/java/com/fr/design/report/ReportColumnsPane.java

@ -309,20 +309,20 @@ public class ReportColumnsPane extends BasicPane{
JPanel rowPane = new JPanel();
UITitledBorder explainBorder = UITitledBorder.createBorderWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Column_Area"));
rowPane.setBorder(explainBorder);
rowPane.setLayout(new FlowLayout(FlowLayout.LEFT, 5,13));
rowPane.setLayout(new FlowLayout(FlowLayout.LEADING, 5,13));
rowPane.setPreferredSize(new Dimension(500,80));
rowPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Column_Data") + ":"));
repeatColDataTextField = new UITextField();
repeatColDataTextField.setPreferredSize(new Dimension(107,24));
rowPane.add(repeatColDataTextField);
rowPane.add(new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Base_Format") + ": A2:D5 ")));
rowPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Base_Format") + ": A2:D5 "));
copyLabel = new UILabel(REPORT_COLUMN_RAPEAT[rowOrColumn] + ":");
rowPane.add(copyLabel);
copyTitleTextField = new UITextField();
copyTitleTextField.setPreferredSize(new Dimension(107,24));
rowPane.add(copyTitleTextField);
rowPane.add(new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Base_Format") + ": 1,2-3,5,18")));
rowPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Base_Format") + ": 1,2-3,5,18"));
return BidiUtils.applyOrientationByLocale(rowPane);

4
designer-realize/src/main/java/com/fr/design/sort/header/HeaderSortRulePane.java

@ -1,6 +1,7 @@
package com.fr.design.sort.header;
import com.fr.base.FineColor;
import com.fr.base.i18n.BidiUtils;
import com.fr.base.svg.SVGIcon;
import com.fr.design.event.UIObserver;
import com.fr.design.event.UIObserverListener;
@ -49,7 +50,8 @@ public class HeaderSortRulePane extends JPanel {
}
void initUILabel() {
UILabel uiLabel = new UILabel(Toolkit.i18nText("Fine-Design_Sort_Header_Sort_Basis"), SwingConstants.LEFT);
UILabel uiLabel = new UILabel(Toolkit.i18nText("Fine-Design_Sort_Header_Sort_Basis"), SwingConstants.LEADING);
BidiUtils.setOrientationByLocale(uiLabel);
this.add(uiLabel, BorderLayout.NORTH);
}

10
designer-realize/src/main/java/com/fr/design/webattr/DragToolBarPane.java

@ -38,7 +38,7 @@ import java.awt.image.ImageObserver;
public class DragToolBarPane extends WidgetToolBarPane {
private DefaultListModel toolbarButtonListModel = new DefaultListModel();
private JList toolbarButtonList;
private static final int SOLID_WIDTH_TOOLBAR = 499;
public DragToolBarPane() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
@ -67,10 +67,10 @@ public class DragToolBarPane extends WidgetToolBarPane {
toolbarButtonList.setDragEnabled(true);
toolbarButtonList.setTransferHandler(new FromTransferHandler());
northToolBar = new ToolBarPane();
northToolBar.setPreferredSize(new Dimension(ImageObserver.WIDTH, 26));
northToolBar.setPreferredSize(new Dimension(BidiUtils.rtl() ? SOLID_WIDTH_TOOLBAR : ImageObserver.WIDTH, 26));
northToolBar.setBackground(Color.lightGray);
southToolBar = new ToolBarPane();
southToolBar.setPreferredSize(new Dimension(ImageObserver.WIDTH, 26));
southToolBar.setPreferredSize(new Dimension(BidiUtils.rtl() ? SOLID_WIDTH_TOOLBAR : ImageObserver.WIDTH, 26));
southToolBar.setBackground(Color.lightGray);
JPanel northContentPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
SettingToolBar top = new SettingToolBar(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_ToolBar_Top"), northToolBar);
@ -87,10 +87,8 @@ public class DragToolBarPane extends WidgetToolBarPane {
movePane.add(northContentPane, BorderLayout.NORTH);
movePane.add(toolbarButtonList, BorderLayout.CENTER);
movePane.add(southContentPane, BorderLayout.SOUTH);
BidiUtils.setOrientationByLocale(toolbarButtonList);
// SplitPane
this.add(new JScrollPane(movePane), BorderLayout.CENTER);
this.add(BidiUtils.applyOrientationByLocale(new JScrollPane(movePane)), BorderLayout.CENTER);
JPanel buttonPane = FRGUIPaneFactory.createCenterFlowInnerContainer_S_Pane();
UIButton defaultButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Use_Default_ToolBar"));
defaultButton.addActionListener(new ActionListener() {

4
designer-realize/src/main/java/com/fr/design/webattr/EditToolBar.java

@ -420,7 +420,7 @@ public class EditToolBar extends BasicPane {
double rowSize[] = {p, p};
double columnSize[] = {p, p};
Component[][] coms = new Component[][]{{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Widget_Printer_Alias") + ":"), nameField}, {new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Widget_Icon"), ":")), iconPane}};
Component[][] coms = new Component[][]{{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Widget_Printer_Alias") + ":"), nameField}, {new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Widget_Icon") + ":"), iconPane}};
JPanel nameIconPane = TableLayoutHelper.createTableLayoutPane(coms, rowSize, columnSize);
@ -454,7 +454,7 @@ public class EditToolBar extends BasicPane {
button = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_User_Defined_Event"));
customPane.add(button);
customPane.setBorder(GUICoreUtils.createTitledBorder(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Edit"), "JS"), null));
customPane.setBorder(GUICoreUtils.createTitledBorder(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Edit") + "JS", null));
button.addActionListener(l);
return customPane;
}

7
designer-realize/src/main/java/com/fr/design/webattr/ErrorTemplatePane.java

@ -1,5 +1,6 @@
package com.fr.design.webattr;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.UITextField;
@ -35,9 +36,9 @@ public class ErrorTemplatePane extends BasicBeanPane<String> {
{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Template_Path") + ":"), reportletNamePane},
{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Template_Parameters") + ":"), null},
{new UILabel("message" + ":"), new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Verify_Message"))},
{new UILabel("charset" + ":"), new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Server_Charset"))},
{new UILabel("exception" + ":"), new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Exception_Stack_Trace"))}
{new UILabel(BidiUtils.concatenateStrings("message", ":")), new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Verify_Message"))},
{new UILabel(BidiUtils.concatenateStrings("charset", ":")), new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Server_Charset"))},
{new UILabel(BidiUtils.concatenateStrings("exception", ":")), new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Exception_Stack_Trace"))}
};
JPanel northPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);

4
designer-realize/src/main/java/com/fr/design/webattr/ServerPrinterPane.java

@ -142,7 +142,7 @@ public class ServerPrinterPane extends BasicPane {
}
}
});
printerDialog.setTitle(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_ReportServerP_Add_Printer"), "..."));
printerDialog.setTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_ReportServerP_Add_Printer") + "...");
BidiUtils.applyOrientationByLocale(printerDialog);
printerDialog.setVisible(true);
}
@ -347,7 +347,7 @@ public class ServerPrinterPane extends BasicPane {
public void checkValid() throws Exception {
String printerName = printerCombo.getSelectedItem().toString();
if (StringUtils.isBlank(printerName)) {
throw new Exception(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_ReportServerP_The_Name_Of_Printer_Cannot_Be_Null"), "."));
throw new Exception(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_ReportServerP_The_Name_Of_Printer_Cannot_Be_Null") + ".");
}
}

6
designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java

@ -45,9 +45,9 @@ public class WebCssPane extends BasicPane {
chooseFile = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Selection"));
chooseFile.setPreferredSize(new Dimension(75, 23));
chooseFile.addActionListener(chooseFileListener);
northPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Disk_File") + ":"), FlowLayout.LEFT);
northPane.add(localText, FlowLayout.CENTER);
northPane.add(chooseFile, FlowLayout.RIGHT);
northPane.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Disk_File") + ":"));
northPane.add(localText);
northPane.add(chooseFile);
outnorth.add(northPane,BorderLayout.NORTH);
UILabel infor = FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_CSS_Warning",
ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBAPP_NAME));

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

@ -55,8 +55,8 @@ public class WebJsPane extends BasicPane {
this.setLayout(new BorderLayout(0, 20));
this.setBorder(BorderFactory.createEmptyBorder(10, 5, 0, 0));
localFileRadioButton = new UIRadioButton(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Disk_File"), ":"), true);
urlFileRadioButton = new UIRadioButton(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Url_Location"), ":"), false);
localFileRadioButton = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Disk_File") + ":", true);
urlFileRadioButton = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Url_Location") + ":", false);
ButtonGroup bg = new ButtonGroup();
bg.add(localFileRadioButton);
bg.add(urlFileRadioButton);
@ -95,7 +95,7 @@ public class WebJsPane extends BasicPane {
private void createNorthPane() {
JPanel outnorth = new JPanel(new BorderLayout(0, 5));
JPanel firstnorth = new JPanel(new BorderLayout(0, 5));
JPanel northPane = new JPanel(new FlowLayout(FlowLayout.LEFT,7,0));
JPanel northPane = new JPanel(new FlowLayout(FlowLayout.LEADING,7,0));
northPane.add(localFileRadioButton);
northPane.add(localText);
northPane.add(chooseFile);
@ -106,12 +106,13 @@ public class WebJsPane extends BasicPane {
firstnorth.add(infor1,BorderLayout.CENTER);
JPanel secondnorth = new JPanel(new BorderLayout(0, 5));
JPanel centerPane = new JPanel(new FlowLayout(FlowLayout.LEFT,7,0));
JPanel centerPane = new JPanel(new FlowLayout(FlowLayout.LEADING,7,0));
BidiUtils.applyOrientationByLocale(northPane, centerPane);
centerPane.add(urlFileRadioButton);
centerPane.add(urlText);
centerPane.add(testConnection);
secondnorth.add(centerPane,BorderLayout.NORTH);
infor2 = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JS_WARNING2", ProjectConstants.WEBAPP_NAME));
infor2 = FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JS_WARNING1", ProjectConstants.WEBAPP_NAME));
infor2.setForeground(new Color(207, 42, 39));
secondnorth.add(infor2,BorderLayout.CENTER);

2
designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java

@ -75,7 +75,7 @@ public class WriteToolBarPane extends AbstractEditToolBarPane {
rptButtonGroup.add(centerRadioButton);
northPane.add(GUICoreUtils.createFlowPane(new Component[]{rptShowLocationLabel, centerRadioButton, leftRadioButton}, BidiUtils.rtl() ? FlowLayout.RIGHT : FlowLayout.LEFT));
colorBox = new UICheckBox(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Set_Face_Write_Current_Edit_Row_Background"), ":"));
colorBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Set_Face_Write_Current_Edit_Row_Background") + ":");
colorBox.setSelected(false);
colorBox.addActionListener(colorListener);
colorButton = new UINoThemeColorButton(BaseUtils.readIcon("/com/fr/design/images/gui/color/background.png"));

4
designer-realize/src/main/java/com/fr/design/webattr/printsettings/GlobalNativePrintSettingPane.java

@ -68,11 +68,11 @@ public class GlobalNativePrintSettingPane extends AbstractNativePrintSettingPane
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));
JPanel downloadTipPane = getTopAlignLabelPane(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Software_Download_Url"), ": "));
JPanel downloadTipPane = getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Software_Download_Url") + ": ");
downloadTipPane.setBorder(BorderFactory.createEmptyBorder(0, 0, -6, 0));
// 打印软件端口号
UILabel printPortTip = new UILabel(BidiUtils.concatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Native_Print_Port"), ": "));
UILabel printPortTip = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Native_Print_Port") + ": ");
JPanel printPortFiledPane = getPrintPortFieldPane();
// TableLayout

4
designer-realize/src/main/java/com/fr/start/MainDesigner.java

@ -462,7 +462,7 @@ public class MainDesigner extends BaseDesigner {
return super.resetToolBar(toolbarComponent, plus);
} else {
JPanel toolbarPane;
toolbarPane = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, TOOLBARPANEVGAP));
toolbarPane = new JPanel(new FlowLayout(FlowLayout.LEADING, 0, TOOLBARPANEVGAP));
Dimension dim = new Dimension();
dim.height = plus.getToolBarHeight();
toolbarPane.setPreferredSize(dim);
@ -471,7 +471,7 @@ public class MainDesigner extends BaseDesigner {
for (int i = 0; i < paneArray.length; i++) {
toolbarPane.add(paneArray[i]);
}
return toolbarPane;
return BidiUtils.applyOrientationByLocale(toolbarPane);
}
}

5
designer-realize/src/main/java/com/fr/start/SplashContext.java

@ -1,5 +1,6 @@
package com.fr.start;
import com.fr.base.i18n.BidiUtils;
import com.fr.concurrent.NamedThreadFactory;
import com.fr.design.DesignerEnvManager;
import com.fr.design.constants.DesignerLaunchStatus;
@ -106,7 +107,7 @@ public class SplashContext {
public void run() {
showThanks();
loadingIndex++;
updateModuleLog(moduleId.isEmpty() ? StringUtils.EMPTY : moduleId + loading[loadingIndex % 3]);
updateModuleLog(moduleId.isEmpty() ? StringUtils.EMPTY : BidiUtils.concatenateStrings(moduleId, loading[loadingIndex % 3]));
}
}, 0, 300, TimeUnit.MILLISECONDS);
@ -116,7 +117,7 @@ public class SplashContext {
public void on(Event event, String i18n) {
moduleId = i18n;
loadingIndex++;
updateModuleLog(moduleId.isEmpty() ? StringUtils.EMPTY : moduleId + loading[loadingIndex % 3]);
updateModuleLog(moduleId.isEmpty() ? StringUtils.EMPTY : BidiUtils.concatenateStrings(moduleId, loading[loadingIndex % 3]));
}
};
EventDispatcher.listen(ModuleEvent.MajorModuleStarting, listener);

5
designer-realize/src/main/java/com/fr/start/common/SplashPane.java

@ -3,6 +3,7 @@ package com.fr.start.common;
import com.bulenkov.iconloader.IconLoader;
import com.bulenkov.iconloader.util.JBUI;
import com.fr.base.GraphHelper;
import com.fr.base.i18n.BidiUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.general.locale.image.I18nImage;
import com.fr.stable.GraphDrawHelper;
@ -46,6 +47,7 @@ public class SplashPane extends JPanel {
private static final String ARIAL_FONT_NAME = "Arial";
private static final String YAHEI_FONT_NAME = "Microsoft YaHei";
private static final String ARABIC_FONT_NAME = "Calibri";
private String thanksLog = StringUtils.EMPTY;
private String moduleText = StringUtils.EMPTY;
@ -74,6 +76,9 @@ public class SplashPane extends JPanel {
if (font == null || isDialogFont(font)) {
font = createFont(ARIAL_FONT_NAME);
}
if (BidiUtils.rtl()) {
font = createFont(ARABIC_FONT_NAME);
}
return font;
}
};

Loading…
Cancel
Save