Browse Source

Merge branch 'fbp/release' of ssh://code.fineres.com:7999/~vito/c-design into fbp/release

fbp/merge
vito 8 months ago
parent
commit
8a5f54e347
  1. 15
      designer-base/src/main/java/com/fine/theme/utils/FineLayoutBuilder.java
  2. 3
      designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java
  3. 10
      designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java
  4. 3
      designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java
  5. 29
      designer-base/src/main/java/com/fr/design/file/DefaultTemplateTreeDefineProcessor.java
  6. 5
      designer-base/src/main/java/com/fr/design/file/TemplateDirTreePane.java
  7. 4
      designer-base/src/main/java/com/fr/design/gui/itree/checkboxtree/CheckBoxTreeCellRenderer.java
  8. 18
      designer-base/src/main/java/com/fr/design/gui/style/AbstractTranslucentBackgroundSpecialPane.java
  9. 15
      designer-base/src/main/java/com/fr/design/gui/style/AlignmentPane.java
  10. 3
      designer-base/src/main/java/com/fr/design/gui/style/BorderPane.java
  11. 11
      designer-base/src/main/java/com/fr/design/gui/style/ComponentIntegralStylePane.java
  12. 24
      designer-base/src/main/java/com/fr/design/gui/style/ComponentTitleStylePane.java
  13. 6
      designer-base/src/main/java/com/fr/design/gui/style/TextInsetImageBackgroundSpecialPane.java
  14. 5
      designer-base/src/main/java/com/fr/design/javascript/Commit2DBJavaScriptPane.java
  15. 5
      designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/GradientBackgroundQuickPane.java
  16. 1
      designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ImageBackgroundQuickPane.java
  17. 11
      designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/PatternBackgroundQuickPane.java
  18. 18
      designer-base/src/main/java/com/fr/design/mainframe/manager/search/searcher/control/pane/TemplateDirTreeSearchPane.java
  19. 8
      designer-base/src/main/java/com/fr/design/mainframe/theme/FormThemeProfilePane.java
  20. 1
      designer-base/src/main/java/com/fr/design/mainframe/theme/ReportThemeProfilePane.java
  21. 19
      designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java
  22. 4
      designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartTitleAndBackgroundStylePane.java
  23. 13
      designer-base/src/main/java/com/fr/design/mainframe/theme/edit/component/ComponentMarginStylePane.java
  24. 36
      designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java
  25. 42
      designer-base/src/main/java/com/fr/design/style/background/gradient/GradientBar.java
  26. 14
      designer-base/src/main/java/com/fr/design/write/submit/CustomJobPane.java
  27. 19
      designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java
  28. 2
      designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties
  29. 14
      designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartBeautyPaneWithGradientBar.java
  30. 5
      designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPane.java
  31. 5
      designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartGaugeLabelDetailPane.java
  32. 12
      designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPieCategoryLabelDetailPane.java
  33. 15
      designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugeBeautyPane.java
  34. 5
      designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugeSeriesPane.java
  35. 3
      designer-realize/src/main/java/com/fanruan/boot/env/function/DesignComponent.java
  36. 10
      designer-realize/src/main/java/com/fr/design/webattr/EventPane.java
  37. 2
      designer-realize/src/main/java/com/fr/design/write/submit/SubmitVisitorListPane.java

15
designer-base/src/main/java/com/fine/theme/utils/FineLayoutBuilder.java

@ -4,8 +4,8 @@ import com.fine.swing.ui.layout.Column;
import com.fine.swing.ui.layout.Layouts; import com.fine.swing.ui.layout.Layouts;
import com.fine.swing.ui.layout.Row; import com.fine.swing.ui.layout.Row;
import com.fine.swing.ui.layout.Spacer; import com.fine.swing.ui.layout.Spacer;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.foldablepane.UIExpandablePane; import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.ilable.UILabel;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
import com.fr.stable.collections.combination.Pair; import com.fr.stable.collections.combination.Pair;
@ -75,7 +75,7 @@ public class FineLayoutBuilder {
Row row = new Row(); Row row = new Row();
List<Component> visibleComponents = Arrays.stream(componentArray) List<Component> visibleComponents = Arrays.stream(componentArray)
.filter(com -> com != null && com.isVisible()).collect(Collectors.toList()); .filter(com -> com != null && com.isVisible()).collect(Collectors.toList());
if (visibleComponents.size() >= 1) { if (!visibleComponents.isEmpty()) {
// 仅当存在可见组件时处理布局 // 仅当存在可见组件时处理布局
dealWithVisibleComponents(weight, column, componentArray, row, visibleComponents); dealWithVisibleComponents(weight, column, componentArray, row, visibleComponents);
} }
@ -87,6 +87,17 @@ public class FineLayoutBuilder {
return new JPanel(); return new JPanel();
} }
/**
* 典型的左右网格布局竖向间距为典型间距标签及组件比例采用典型比例
*
* @param components 组件两列多行
* @return 面板
*/
public static JPanel commonLeftRightLayout(Component[][] components) {
return compatibleTableLayout(LayoutConstants.VERTICAL_GAP, components,
new double[]{LayoutConstants.LEFT_WEIGHT, LayoutConstants.RIGHT_WEIGHT});
}
private static void dealWithVisibleComponents(double[] weight, Column column, Component[] value, Row row, List<Component> components) { private static void dealWithVisibleComponents(double[] weight, Column column, Component[] value, Row row, List<Component> components) {
if (components.size() == 1 && value[0] != null) { if (components.size() == 1 && value[0] != null) {
// 仅存在首个元素,则该元素自适应占满整行 // 仅存在首个元素,则该元素自适应占满整行

3
designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java

@ -87,14 +87,11 @@ public class GlobalTableDataAction extends UpdateAction implements ResponseDataS
final Map<String, Connection> connectionMap = ConnectionInfoBeanHelper.createConnectionMap(ConnectionRepository.getInstance().getAll()); final Map<String, Connection> connectionMap = ConnectionInfoBeanHelper.createConnectionMap(ConnectionRepository.getInstance().getAll());
final Map<String, TableData> tableDataMap = new HashMap<>(); final Map<String, TableData> tableDataMap = new HashMap<>();
try { try {
TransmissionEncryptionManager.setTransEncryptionLevel(1);
for (ServerDataSetBean bean : beans) { for (ServerDataSetBean bean : beans) {
tableDataMap.put(bean.getDatasetName() , TableDataBeanHelper.getTableDataSet(connectionMap, bean.getDatasetType(), bean.getDatasetData())); tableDataMap.put(bean.getDatasetName() , TableDataBeanHelper.getTableDataSet(connectionMap, bean.getDatasetType(), bean.getDatasetData()));
} }
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} finally {
TransmissionEncryptionManager.removeTransEncryptionLevel();
} }
final TableDataManagerPane globalTableDataPane = new TableDataManagerPane() { final TableDataManagerPane globalTableDataPane = new TableDataManagerPane() {

10
designer-base/src/main/java/com/fr/design/data/datapane/connect/LocalConnectionSource.java

@ -52,26 +52,19 @@ public class LocalConnectionSource extends BaseConnectionSource {
@Override @Override
public String[] testConnection(ConnectionInfoBean database) throws Exception { public String[] testConnection(ConnectionInfoBean database) throws Exception {
try { try {
// 暂时这么处理,后续最好拉到外层包装一下
TransmissionEncryptionManager.setTransEncryptionLevel(1);
return ConnectionProcessorFactory.testConnectionWithSchemaReturn(database); return ConnectionProcessorFactory.testConnectionWithSchemaReturn(database);
} catch (DriverNotFoundException e) { } catch (DriverNotFoundException e) {
throw new DriverUnExistException(); throw new DriverUnExistException();
} finally {
TransmissionEncryptionManager.removeTransEncryptionLevel();
} }
} }
@Override @Override
public void add(ConnectionInfoBean bean) throws Exception { public void add(ConnectionInfoBean bean) throws Exception {
try { try {
TransmissionEncryptionManager.setTransEncryptionLevel(1);
Connection connection = ConnectionProcessorFactory.createConnection(bean); Connection connection = ConnectionProcessorFactory.createConnection(bean);
validate(bean.getConnectionName(), connection); validate(bean.getConnectionName(), connection);
ConnectionProcessorFactory.addConnection(bean); ConnectionProcessorFactory.addConnection(bean);
} catch (DriverNotFoundException e) { } catch (DriverNotFoundException e) {
throw new DriverUnExistException(); throw new DriverUnExistException();
} finally {
TransmissionEncryptionManager.removeTransEncryptionLevel();
} }
} }
@ -84,14 +77,11 @@ public class LocalConnectionSource extends BaseConnectionSource {
@Override @Override
public void update(ConnectionInfoBean bean) throws Exception { public void update(ConnectionInfoBean bean) throws Exception {
try { try {
TransmissionEncryptionManager.setTransEncryptionLevel(1);
Connection connection = ConnectionProcessorFactory.createConnection(bean); Connection connection = ConnectionProcessorFactory.createConnection(bean);
validate(bean.getConnectionName(), connection); validate(bean.getConnectionName(), connection);
ConnectionProcessorFactory.updateConnection(bean.getConnectionName(), bean); ConnectionProcessorFactory.updateConnection(bean.getConnectionName(), bean);
} catch (DriverNotFoundException e) { } catch (DriverNotFoundException e) {
throw new DriverUnExistException(); throw new DriverUnExistException();
} finally {
TransmissionEncryptionManager.removeTransEncryptionLevel();
} }
} }

3
designer-base/src/main/java/com/fr/design/data/datapane/preview/TableDataBeanHelper.java

@ -52,14 +52,11 @@ public class TableDataBeanHelper {
final Map<String, Connection> connectionMap = ConnectionInfoBeanHelper.createConnectionMap(ConnectionRepository.getInstance().getAll()); final Map<String, Connection> connectionMap = ConnectionInfoBeanHelper.createConnectionMap(ConnectionRepository.getInstance().getAll());
final Map<String, TableData> tableDataMap = new HashMap<>(); final Map<String, TableData> tableDataMap = new HashMap<>();
try { try {
TransmissionEncryptionManager.setTransEncryptionLevel(1);
for (ServerDataSetBean bean : beans) { for (ServerDataSetBean bean : beans) {
tableDataMap.put(bean.getDatasetName() , TableDataBeanHelper.getTableDataSet(connectionMap, bean.getDatasetType(), bean.getDatasetData())); tableDataMap.put(bean.getDatasetName() , TableDataBeanHelper.getTableDataSet(connectionMap, bean.getDatasetType(), bean.getDatasetData()));
} }
} catch (Exception e) { } catch (Exception e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} finally {
TransmissionEncryptionManager.removeTransEncryptionLevel();
} }
return tableDataMap; return tableDataMap;
} }

29
designer-base/src/main/java/com/fr/design/file/DefaultTemplateTreeDefineProcessor.java

@ -1,8 +1,8 @@
package com.fr.design.file; package com.fr.design.file;
import com.fine.theme.icon.LazyIcon; import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineComponentsFactory;
import com.fine.theme.utils.FineUIScale; import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIStyle;
import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.actions.file.DelFileAction; import com.fr.design.actions.file.DelFileAction;
@ -33,7 +33,6 @@ import com.fr.stable.StringUtils;
import com.fr.stable.collections.CollectionUtils; import com.fr.stable.collections.CollectionUtils;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import javax.swing.BorderFactory;
import javax.swing.JDialog; import javax.swing.JDialog;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -42,15 +41,11 @@ import java.awt.BorderLayout;
import java.awt.CardLayout; import java.awt.CardLayout;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.swing.ui.layout.Layouts.row;
import static javax.swing.JOptionPane.WARNING_MESSAGE; import static javax.swing.JOptionPane.WARNING_MESSAGE;
import static javax.swing.JOptionPane.YES_NO_OPTION; import static javax.swing.JOptionPane.YES_NO_OPTION;
@ -380,28 +375,16 @@ public class DefaultTemplateTreeDefineProcessor extends AbstractTemplateTreeDefi
// 确认按钮,默认就可用 // 确认按钮,默认就可用
confirmButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Confirm")); confirmButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Confirm"));
FineUIStyle.setStyle(confirmButton, FineUIStyle.STYLE_PRIMARY); confirmButton.addActionListener(e -> confirmClose());
confirmButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
confirmClose();
}
});
confirmButton.setEnabled(true); confirmButton.setEnabled(true);
// 取消按钮 // 取消按钮
UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Cancel")); UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Cancel"));
cancelButton.addActionListener(new ActionListener() { cancelButton.addActionListener(e -> dispose());
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
});
this.add(row(8, flex(), cell(confirmButton), cell(cancelButton)) JPanel buttonPane = FineComponentsFactory.createConfirmCancelButtonPane(confirmButton, cancelButton);
.with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, 10, 10))).getComponent(), BorderLayout.SOUTH); buttonPane.setBorder(new ScaledEmptyBorder(0, 10, 10, 10));
this.add(buttonPane, BorderLayout.SOUTH);
this.setSize(FineUIScale.scale(new Dimension(660, 600))); this.setSize(FineUIScale.scale(new Dimension(660, 600)));
this.setTitle(Toolkit.i18nText("Fine-Design_Basic_Move")); this.setTitle(Toolkit.i18nText("Fine-Design_Basic_Move"));

5
designer-base/src/main/java/com/fr/design/file/TemplateDirTreePane.java

@ -1,6 +1,7 @@
package com.fr.design.file; package com.fr.design.file;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.design.border.FineBorderFactory;
import com.fr.design.gui.itree.filetree.TemplateDirTree; import com.fr.design.gui.itree.filetree.TemplateDirTree;
import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode; import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
@ -11,11 +12,9 @@ import com.fr.file.filetree.IOFileNodeFilter;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import javax.swing.BorderFactory;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.tree.TreePath; import javax.swing.tree.TreePath;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Color;
/** /**
* 目录树面板 * 目录树面板
@ -35,7 +34,7 @@ public class TemplateDirTreePane extends JPanel {
public TemplateDirTreePane() { public TemplateDirTreePane() {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createLineBorder(Color.gray)); this.setBorder(FineBorderFactory.createWrappedRoundBorder());
templateDirTree = new TemplateDirTree(); templateDirTree = new TemplateDirTree();
remindPane = new TemplateDirSearchRemindPane(getTemplateDirTree()); remindPane = new TemplateDirSearchRemindPane(getTemplateDirTree());

4
designer-base/src/main/java/com/fr/design/gui/itree/checkboxtree/CheckBoxTreeCellRenderer.java

@ -17,7 +17,6 @@ import javax.swing.JComponent;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTree; import javax.swing.JTree;
import javax.swing.border.Border; import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import javax.swing.tree.TreeCellRenderer; import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.TreePath; import javax.swing.tree.TreePath;
import java.awt.BorderLayout; import java.awt.BorderLayout;
@ -65,6 +64,7 @@ public class CheckBoxTreeCellRenderer extends NullPanel implements TreeCellRende
add(_checkBox, BorderLayout.WEST); add(_checkBox, BorderLayout.WEST);
JPanel gapPanel = new JPanel(); JPanel gapPanel = new JPanel();
gapPanel.setPreferredSize(FineUIScale.scale(new Dimension(4, 20))); gapPanel.setPreferredSize(FineUIScale.scale(new Dimension(4, 20)));
gapPanel.setOpaque(false);
add(gapPanel, BorderLayout.CENTER); add(gapPanel, BorderLayout.CENTER);
_actualTreeRenderer = renderer; _actualTreeRenderer = renderer;
} }
@ -80,7 +80,7 @@ public class CheckBoxTreeCellRenderer extends NullPanel implements TreeCellRende
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
_checkBox.setPreferredSize(FineUIScale.scale(new Dimension(PROTOTYPE.getPreferredSize().width, 0))); _checkBox.setPreferredSize(FineUIScale.scale(new Dimension(PROTOTYPE.getPreferredSize().width, 0)));
setComponentOrientation(tree.getComponentOrientation()); setComponentOrientation(tree.getComponentOrientation());
setOpaque(false);
TreePath path = tree.getPathForRow(row); TreePath path = tree.getPathForRow(row);
handleCheckBox(tree, path); handleCheckBox(tree, path);

18
designer-base/src/main/java/com/fr/design/gui/style/AbstractTranslucentBackgroundSpecialPane.java

@ -1,6 +1,8 @@
package com.fr.design.gui.style; package com.fr.design.gui.style;
import com.fine.theme.utils.FineLayoutBuilder;
import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.designer.IntervalConstants; import com.fr.design.designer.IntervalConstants;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.frpane.UIPercentDragPane; import com.fr.design.gui.frpane.UIPercentDragPane;
@ -46,27 +48,25 @@ public abstract class AbstractTranslucentBackgroundSpecialPane<T extends Backgro
private void initializePane() { private void initializePane() {
setLayout(new BorderLayout(0, 0)); setLayout(new BorderLayout(0, 0));
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] columnSize = {this.uiLabelWidth, this.uiSettingWidth > 0 ? this.uiSettingWidth : f};
// 确保BackgroundSpecialPane高度变化时,Label依然保持与其顶部对齐 // 确保BackgroundSpecialPane高度变化时,Label依然保持与其顶部对齐
JPanel backgroundLabelPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel backgroundLabelPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
backgroundLabelPane.setBorder(new ScaledEmptyBorder(7, 0, 0, 0)); backgroundLabelPane.setBorder(new ScaledEmptyBorder(7, 0, 0, 0));
backgroundLabelPane.add(FRWidgetFactory.createLineWrapLabel(backgroundName), BorderLayout.NORTH); UILabel backgroundLabel = new UILabel(backgroundName);
backgroundLabel.setToolTipText(backgroundName);
backgroundLabelPane.add(backgroundLabel, BorderLayout.NORTH);
JPanel backgroundComposedPane = TableLayoutHelper.createGapTableLayoutPane( JPanel backgroundComposedPane = FineLayoutBuilder.compatibleTableLayout(10,
new JComponent[][]{ new JComponent[][]{
{backgroundLabelPane, backgroundPane} {backgroundLabelPane, backgroundPane}
}, },
new double[]{p}, columnSize, IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1); new double[]{LayoutConstants.LEFT_WEIGHT, LayoutConstants.RIGHT_WEIGHT});
JPanel opacityComposedPane = TableLayoutHelper.createGapTableLayoutPane( JPanel opacityComposedPane = FineLayoutBuilder.compatibleTableLayout(10,
new JComponent[][]{ new JComponent[][]{
{new UILabel(""), FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget-Style_Alpha"))}, {new UILabel(""), FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget-Style_Alpha"))},
{new UILabel(""), opacityPane} {new UILabel(""), opacityPane}
}, },
new double[]{p, p}, columnSize, IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1); new double[]{LayoutConstants.LEFT_WEIGHT, LayoutConstants.RIGHT_WEIGHT});
opacityComposedPane.setBorder(new ScaledEmptyBorder(IntervalConstants.INTERVAL_L1, 0, 0, 0)); opacityComposedPane.setBorder(new ScaledEmptyBorder(IntervalConstants.INTERVAL_L1, 0, 0, 0));
opacityComposedPane.setVisible(false); opacityComposedPane.setVisible(false);

15
designer-base/src/main/java/com/fr/design/gui/style/AlignmentPane.java

@ -212,11 +212,12 @@ public class AlignmentPane extends AbstractBasicStylePane implements GlobalNameO
private JPanel seniorUpPane() { private JPanel seniorUpPane() {
return Layouts.column(LayoutConstants.VERTICAL_GAP, return Layouts.column(LayoutConstants.VERTICAL_GAP,
row( row(
cell(new UILabel((Toolkit.i18nText("Fine-Design_Basic_Image_Layout")), SwingConstants.LEFT)).weight(1.2), cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Image_Layout"), SwingConstants.LEFT))
.with(it -> it.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Image_Layout"))).weight(1.2),
cell(imageLayoutComboBox).weight(3.0) cell(imageLayoutComboBox).weight(3.0)
), ),
row( row(
cell(new UILabel((Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Text_Style")), SwingConstants.LEFT)).weight(1.2), cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Text_Style"), SwingConstants.LEFT)).weight(1.2),
cell(textComboBox).weight(3.0) cell(textComboBox).weight(3.0)
) )
).getComponent(); ).getComponent();
@ -225,12 +226,14 @@ public class AlignmentPane extends AbstractBasicStylePane implements GlobalNameO
private JPanel seniorMiddlePane() { private JPanel seniorMiddlePane() {
rotationBarPane = ReactiveCardPane.create() rotationBarPane = ReactiveCardPane.create()
.addSupplier("hide", () -> Layouts.row( .addSupplier("hide", () -> Layouts.row(
cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Text_Rotation"), SwingConstants.LEFT)).weight(1.2), cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Text_Rotation"), SwingConstants.LEFT))
.with(it -> it.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Text_Rotation"))).weight(1.2),
cell(textRotationComboBox).weight(3) cell(textRotationComboBox).weight(3)
).getComponent()) ).getComponent())
.addSupplier("show", () -> Layouts.column(LayoutConstants.VERTICAL_GAP, .addSupplier("show", () -> Layouts.column(LayoutConstants.VERTICAL_GAP,
row( row(
cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Text_Rotation"), SwingConstants.LEFT)).weight(1.2), cell(new UILabel(Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Text_Rotation"), SwingConstants.LEFT))
.with(it -> it.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Text_Rotation"))).weight(1.2),
cell(textRotationComboBox).weight(3) cell(textRotationComboBox).weight(3)
), ),
row( row(
@ -249,9 +252,11 @@ public class AlignmentPane extends AbstractBasicStylePane implements GlobalNameO
private JPanel seniorDownPane() { private JPanel seniorDownPane() {
UILabel indentationLabel = new UILabel((Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Style_Indentation")), SwingConstants.LEFT); UILabel indentationLabel = new UILabel((Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Style_Indentation")), SwingConstants.LEFT);
indentationLabel.setToolTipText(indentationLabel.getText());
UILabel partSpacingLabel = new UILabel((Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Style_Part_Spacing")), SwingConstants.LEFT); UILabel partSpacingLabel = new UILabel((Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Style_Part_Spacing")), SwingConstants.LEFT);
partSpacingLabel.setToolTipText(partSpacingLabel.getText());
UILabel spacingLabel = new UILabel((Toolkit.i18nText("Fine-Design_Basic_Style_Line_Spacing")), SwingConstants.LEFT); UILabel spacingLabel = new UILabel((Toolkit.i18nText("Fine-Design_Basic_Style_Line_Spacing")), SwingConstants.LEFT);
spacingLabel.setToolTipText(spacingLabel.getText());
return Layouts.column( return Layouts.column(
row( row(
cell(indentationLabel).weight(1.2), cell(indentationLabel).weight(1.2),

3
designer-base/src/main/java/com/fr/design/gui/style/BorderPane.java

@ -104,7 +104,8 @@ public class BorderPane extends AbstractBasicStylePane implements GlobalNameObse
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Color"), SwingConstants.LEFT)).weight(1.2), cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Color"), SwingConstants.LEFT)).weight(1.2),
cell(currentLineColorPane).weight(3)), cell(currentLineColorPane).weight(3)),
row( row(
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Out_Border"), SwingConstants.LEFT)).weight(1.2), cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Out_Border"), SwingConstants.LEFT))
.with(it -> it.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Out_Border"))).weight(1.2),
cell(outerToggleButton = new UIToggleButton(new Icon[]{new LazyIcon("out"), cell(outerToggleButton = new UIToggleButton(new Icon[]{new LazyIcon("out"),
IOUtils.readIcon("/com/fr/design/images/m_format/cellstyle/out_white.png")}, false)). IOUtils.readIcon("/com/fr/design/images/m_format/cellstyle/out_white.png")}, false)).
with(it -> it.setPreferredSize(new Dimension(-1, FineUIScale.scale(24)))).weight(3)), with(it -> it.setPreferredSize(new Dimension(-1, FineUIScale.scale(24)))).weight(3)),

11
designer-base/src/main/java/com/fr/design/gui/style/ComponentIntegralStylePane.java

@ -1,5 +1,7 @@
package com.fr.design.gui.style; package com.fr.design.gui.style;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.designer.IntervalConstants; import com.fr.design.designer.IntervalConstants;
import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
@ -66,17 +68,12 @@ public class ComponentIntegralStylePane extends AbstractBorderPackerPane {
setLayout(FRGUIPaneFactory.createBorderLayout()); setLayout(FRGUIPaneFactory.createBorderLayout());
this.initializeComponents(); this.initializeComponents();
double p = TableLayout.PREFERRED; JPanel content = FineLayoutBuilder.compatibleTableLayout(10, new JComponent[][]{
double f = TableLayout.FILL;
double[] rowSize = supportCornerRadius ? new double[] {p, p, p} : new double[]{p, p};
double[] columnSize = {this.uiLabelWidth, this.uiSettingWidth > 0 ? this.uiSettingWidth : f};
JPanel content = TableLayoutHelper.createGapTableLayoutPane(new JComponent[][]{
{FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Render_Style")), FRGUIPaneFactory.createBorderLayoutNorthPaneWithComponent(borderStyleCombo)}, {FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Render_Style")), FRGUIPaneFactory.createBorderLayoutNorthPaneWithComponent(borderStyleCombo)},
{this.borderPane, null}, {this.borderPane, null},
{FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Radius")), cornerSpinner}, {FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Radius")), cornerSpinner},
}, },
rowSize, columnSize, IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1); new double[]{LayoutConstants.LEFT_WEIGHT, LayoutConstants.RIGHT_WEIGHT});
this.add(content, BorderLayout.NORTH); this.add(content, BorderLayout.NORTH);
} }

24
designer-base/src/main/java/com/fr/design/gui/style/ComponentTitleStylePane.java

@ -1,7 +1,9 @@
package com.fr.design.gui.style; package com.fr.design.gui.style;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.base.Utils; import com.fr.base.Utils;
import com.fr.base.svg.IconUtils; import com.fr.base.svg.IconUtils;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.designer.IntervalConstants; import com.fr.design.designer.IntervalConstants;
import com.fr.design.formula.TinyFormulaPane; import com.fr.design.formula.TinyFormulaPane;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
@ -187,21 +189,13 @@ public class ComponentTitleStylePane extends AbstractBorderPackerPane {
} }
private JPanel createTitleContentPane() { private JPanel createTitleContentPane() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] rowSize = {p};
double[] columnSize = {this.uiLabelWidth, this.uiSettingWidth > 0 ? this.uiSettingWidth : f};
return TableLayoutHelper.createCommonTableLayoutPane( return FineLayoutBuilder.compatibleTableLayout(10,
new JComponent[][]{{FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Title_Content")), textContentPane}}, new JComponent[][]{{FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Title_Content")), textContentPane}},
rowSize, columnSize, IntervalConstants.INTERVAL_L1); new double[]{LayoutConstants.LEFT_WEIGHT, LayoutConstants.RIGHT_WEIGHT});
} }
private JPanel createTitleOtherSettingPane() { private JPanel createTitleOtherSettingPane() {
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] rowSize = {p, p, p, p, p};
double[] columnSize = {this.uiLabelWidth, this.uiSettingWidth > 0 ? this.uiSettingWidth : f};
JComponent[][] components = new JComponent[][]{ JComponent[][] components = new JComponent[][]{
{FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Title_Format")), FRGUIPaneFactory.createBorderLayoutNorthPaneWithComponent(fontFamilyComboBox)}, {FRWidgetFactory.createLineWrapLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Title_Format")), FRGUIPaneFactory.createBorderLayoutNorthPaneWithComponent(fontFamilyComboBox)},
@ -211,18 +205,14 @@ public class ComponentTitleStylePane extends AbstractBorderPackerPane {
{backgroundPane, null} {backgroundPane, null}
}; };
return TableLayoutHelper.createCommonTableLayoutPane(components, rowSize, columnSize, IntervalConstants.INTERVAL_L1); return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3});
} }
protected JPanel createTitleFontButtonPane(){ protected JPanel createTitleFontButtonPane(){
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double[] rowSize = {p};
double[] columnSize = {f, p, p, p, p};
JPanel buttonPane = TableLayoutHelper.createCommonTableLayoutPane( new JComponent[][] { JPanel buttonPane = FineLayoutBuilder.compatibleTableLayout(10, new JComponent[][] {
{fontSizeComboBox, fontColorSelectPane, fontItalicButton, fontBoldButton, fontUnderlineButton}, {fontSizeComboBox, fontColorSelectPane, fontItalicButton, fontBoldButton, fontUnderlineButton},
}, rowSize, columnSize, IntervalConstants.INTERVAL_W0); }, new double[]{LayoutConstants.LEFT_WEIGHT, LayoutConstants.RIGHT_WEIGHT});
JPanel containerPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel containerPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
containerPane.add(buttonPane, BorderLayout.NORTH); containerPane.add(buttonPane, BorderLayout.NORTH);

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

@ -1,9 +1,11 @@
package com.fr.design.gui.style; package com.fr.design.gui.style;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.base.Style; import com.fr.base.Style;
import com.fr.base.background.ImageBackground; import com.fr.base.background.ImageBackground;
import com.fr.base.background.ImageFileBackground; import com.fr.base.background.ImageFileBackground;
import com.fr.design.border.UIRoundedBorder; import com.fr.design.border.UIRoundedBorder;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.constants.UIConstants; import com.fr.design.constants.UIConstants;
import com.fr.design.designer.IntervalConstants; import com.fr.design.designer.IntervalConstants;
import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserver;
@ -154,7 +156,7 @@ public class TextInsetImageBackgroundSpecialPane extends JPanel implements UIObs
} }
}); });
return TableLayoutHelper.createCommonTableLayoutPane( return FineLayoutBuilder.compatibleTableLayout(10,
new JComponent[][]{ new JComponent[][]{
{null, deletableImagePreviewPane}, {null, deletableImagePreviewPane},
{null, new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Title_Inset_Relative_Location"))}, {null, new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Title_Inset_Relative_Location"))},
@ -162,7 +164,7 @@ public class TextInsetImageBackgroundSpecialPane extends JPanel implements UIObs
{null, new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Title_Inset_Padding"))}, {null, new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Style_Title_Inset_Padding"))},
{null, this.imagePaddingPane} {null, this.imagePaddingPane}
}, },
rowSize, columnSize, IntervalConstants.INTERVAL_L1); new double[]{LayoutConstants.LEFT_WEIGHT, LayoutConstants.RIGHT_WEIGHT});
} }
private void initImageFileChooserIfNotExist() { private void initImageFileChooserIfNotExist() {

5
designer-base/src/main/java/com/fr/design/javascript/Commit2DBJavaScriptPane.java

@ -17,6 +17,7 @@ import java.awt.Dimension;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.cell;
@ -53,14 +54,12 @@ public class Commit2DBJavaScriptPane extends FurtherBasicBeanPane<Commit2DBJavaS
} }
cardPane.add((DBManipulationPane) this.dbmPaneList.get(i), cardNames[i]); cardPane.add((DBManipulationPane) this.dbmPaneList.get(i), cardNames[i]);
} }
this.add(cardPane, BorderLayout.CENTER);
JPanel btPane = new JPanel(new BorderLayout()); JPanel btPane = new JPanel(new BorderLayout());
btPane.setPreferredSize(createCallbackBtnPanePreferredSize()); btPane.setPreferredSize(createCallbackBtnPanePreferredSize());
this.add(row(cell(btPane), cell(new UILabel())).getComponent(), BorderLayout.SOUTH);
addCallbackButton = javaScriptActionPane.createCallButton(); addCallbackButton = javaScriptActionPane.createCallButton();
btPane.add(addCallbackButton); btPane.add(addCallbackButton);
this.add(column(5, cell(cardPane), row(cell(btPane), cell(new UILabel()))).getComponent());
} }
protected Dimension createCallbackBtnPanePreferredSize(){ protected Dimension createCallbackBtnPanePreferredSize(){

5
designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/GradientBackgroundQuickPane.java

@ -43,6 +43,7 @@ public class GradientBackgroundQuickPane extends BackgroundQuickPane {
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Utils_Top_To_Bottom")}; com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Utils_Top_To_Bottom")};
Integer[] valueArray = {GradientBackground.LEFT2RIGHT, GradientBackground.TOP2BOTTOM}; Integer[] valueArray = {GradientBackground.LEFT2RIGHT, GradientBackground.TOP2BOTTOM};
directionPane = new UIButtonGroup<>(textArray, valueArray); directionPane = new UIButtonGroup<>(textArray, valueArray);
directionPane.setAllToolTips(textArray);
directionPane.setSelectedIndex(0); directionPane.setSelectedIndex(0);
gradientBar = new GradientBar(4, this.gradientBarWidth); gradientBar = new GradientBar(4, this.gradientBarWidth);
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
@ -91,7 +92,9 @@ public class GradientBackgroundQuickPane extends BackgroundQuickPane {
*/ */
@Override @Override
public void registerChangeListener(final UIObserverListener listener) { public void registerChangeListener(final UIObserverListener listener) {
directionPane.addChangeListener(new ChangeListenerImpl(listener)); gradientBar.addChangeListener(new ChangeListenerImpl(listener));
directionPane.addChangeListener(new ChangeListenerImpl(listener));
} }
@Override @Override

1
designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ImageBackgroundQuickPane.java

@ -50,6 +50,7 @@ public class ImageBackgroundQuickPane extends BackgroundQuickPane {
String[] nameArray = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Default"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Titled"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Extend"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Adjust")}; String[] nameArray = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Default"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Titled"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Extend"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Adjust")};
Byte[] valueArray = {Constants.IMAGE_CENTER, Constants.IMAGE_TILED, Constants.IMAGE_EXTEND, Constants.IMAGE_ADJUST}; Byte[] valueArray = {Constants.IMAGE_CENTER, Constants.IMAGE_TILED, Constants.IMAGE_EXTEND, Constants.IMAGE_ADJUST};
imageLayoutPane = new UIButtonGroup<Byte>(nameArray, valueArray); imageLayoutPane = new UIButtonGroup<Byte>(nameArray, valueArray);
imageLayoutPane.setAllToolTips(nameArray);
imageLayoutPane.setSelectedIndex(0); imageLayoutPane.setSelectedIndex(0);
previewPane = new ImagePreviewPane(); previewPane = new ImagePreviewPane();

11
designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/PatternBackgroundQuickPane.java

@ -65,8 +65,15 @@ public class PatternBackgroundQuickPane extends BackgroundQuickPane {
backgroundLabel.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background")); backgroundLabel.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background"));
this.add(Layouts.column(LayoutConstants.VERTICAL_GAP, this.add(Layouts.column(LayoutConstants.VERTICAL_GAP,
row(cell(foregroundLabel).weight(1), cell(foregroundColorPane).weight(4)), row(
row(cell(backgroundLabel).weight(1), cell(backgroundColorPane).weight(4)) cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Foreground"), UILabel.LEFT))
.with(it -> it.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Foreground"))).weight(1),
cell(foregroundColorPane).weight(4)),
row(
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background"), UILabel.LEFT))
.with(it -> it.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background"))).weight(1),
cell(backgroundColorPane).weight(4)),
row(cell(foregroundLabel).weight(1), cell(foregroundColorPane).weight(4))
).with(it -> it.setBorder(new ScaledEmptyBorder(LayoutConstants.VERTICAL_GAP, 0, 0, 0))).getComponent(), BorderLayout.CENTER); ).with(it -> it.setBorder(new ScaledEmptyBorder(LayoutConstants.VERTICAL_GAP, 0, 0, 0))).getComponent(), BorderLayout.CENTER);
foregroundColorPane.addSelectChangeListener(colorChangeListener); foregroundColorPane.addSelectChangeListener(colorChangeListener);
backgroundColorPane.addSelectChangeListener(colorChangeListener); backgroundColorPane.addSelectChangeListener(colorChangeListener);

18
designer-base/src/main/java/com/fr/design/mainframe/manager/search/searcher/control/pane/TemplateDirTreeSearchPane.java

@ -1,8 +1,8 @@
package com.fr.design.mainframe.manager.search.searcher.control.pane; package com.fr.design.mainframe.manager.search.searcher.control.pane;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.data.datapane.management.search.pane.FineSearchPane; import com.fr.design.data.datapane.management.search.pane.FineSearchPane;
import com.fr.design.file.TemplateDirTreePane; import com.fr.design.file.TemplateDirTreePane;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.manager.search.TemplateDirTreeSearchManager; import com.fr.design.mainframe.manager.search.TemplateDirTreeSearchManager;
@ -10,15 +10,10 @@ import com.fr.design.search.event.TreeSearchStatusChangeEvent;
import com.fr.design.search.event.TreeSearchStatusChangeListener; import com.fr.design.search.event.TreeSearchStatusChangeListener;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import javax.swing.BorderFactory;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener; import javax.swing.event.DocumentListener;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Insets;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.KeyAdapter; import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
@ -29,11 +24,6 @@ import java.awt.event.MouseEvent;
*/ */
public class TemplateDirTreeSearchPane extends JPanel implements TreeSearchStatusChangeListener { public class TemplateDirTreeSearchPane extends JPanel implements TreeSearchStatusChangeListener {
/**
* 搜索输入框
*/
private UITextField searchTextField;
/** /**
* 搜索面板 * 搜索面板
*/ */
@ -43,14 +33,14 @@ public class TemplateDirTreeSearchPane extends JPanel implements TreeSearchStatu
@Override @Override
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) { if (e.getKeyCode() == KeyEvent.VK_ENTER) {
TemplateDirTreeSearchManager.getInstance().startSearch(searchTextField.getText()); TemplateDirTreeSearchManager.getInstance().startSearch(searchPane.getText());
} }
} }
}; };
public TemplateDirTreeSearchPane() { public TemplateDirTreeSearchPane() {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(10, 15, 0, 10)); this.setBorder(new ScaledEmptyBorder(10, 10, 0, 10));
initSearchPane(); initSearchPane();
add(searchPane, BorderLayout.CENTER); add(searchPane, BorderLayout.CENTER);
TemplateDirTreeSearchManager.getInstance().registerTreeSearchStatusChangeListener(this); TemplateDirTreeSearchManager.getInstance().registerTreeSearchStatusChangeListener(this);
@ -94,7 +84,7 @@ public class TemplateDirTreeSearchPane extends JPanel implements TreeSearchStatu
} }
private void dealWithTextChange() { private void dealWithTextChange() {
if (StringUtils.isEmpty(searchTextField.getText()) && TemplateDirTreeSearchManager.getInstance().isInSearchMode()) { if (StringUtils.isEmpty(searchPane.getText()) && TemplateDirTreeSearchManager.getInstance().isInSearchMode()) {
// 如果是搜索模式下,看作是用户删除输入框文字,仅复原TemplateTreePane // 如果是搜索模式下,看作是用户删除输入框文字,仅复原TemplateTreePane
TemplateDirTreeSearchManager.getInstance().restoreTreePane(); TemplateDirTreeSearchManager.getInstance().restoreTreePane();
TemplateDirTreePane.getInstance().refreshDockingView(); TemplateDirTreePane.getInstance().refreshDockingView();

8
designer-base/src/main/java/com/fr/design/mainframe/theme/FormThemeProfilePane.java

@ -1,5 +1,6 @@
package com.fr.design.mainframe.theme; package com.fr.design.mainframe.theme;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.theme.FormTheme; import com.fr.base.theme.FormTheme;
import com.fr.base.theme.TemplateThemeConfig; import com.fr.base.theme.TemplateThemeConfig;
import com.fr.base.theme.settings.ThemedComponentStyle; import com.fr.base.theme.settings.ThemedComponentStyle;
@ -71,6 +72,7 @@ public class FormThemeProfilePane extends TemplateThemeProfilePane<FormTheme> {
componentStyleSettingPane = new ComponentStyleEditPane(); componentStyleSettingPane = new ComponentStyleEditPane();
addCustomEditorPane(i18nText("Fine-Design_Predefined_Component_Style"), componentStyleSettingPane); addCustomEditorPane(i18nText("Fine-Design_Predefined_Component_Style"), componentStyleSettingPane);
initializePane();
refreshExtraAdvancedPane(); refreshExtraAdvancedPane();
} }
@ -98,5 +100,11 @@ public class FormThemeProfilePane extends TemplateThemeProfilePane<FormTheme> {
ThemedComponentStyle componentStyle = componentStyleSettingPane.updateBean(); ThemedComponentStyle componentStyle = componentStyleSettingPane.updateBean();
theme.setComponentStyle(componentStyle); theme.setComponentStyle(componentStyle);
} }
@Override
protected void buildTabPane() {
uiTabbedPane = tabPaneBuilder.withHeadRatio(0.6f).build();
uiTabbedPane.setBorder(new ScaledEmptyBorder(10, 5, 10, 1));
}
} }
} }

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

@ -51,6 +51,7 @@ public class ReportThemeProfilePane extends TemplateThemeProfilePane<ReportTheme
addCustomEditorPane(Toolkit.i18nText("Fine-Design_Predefined_Template_Background"), reportBodyStyleSettingPane); addCustomEditorPane(Toolkit.i18nText("Fine-Design_Predefined_Template_Background"), reportBodyStyleSettingPane);
addCustomEditorPane(Toolkit.i18nText("Fine-Design_Predefined_Cell_Style"), createCellStyleSettingPane()); addCustomEditorPane(Toolkit.i18nText("Fine-Design_Predefined_Cell_Style"), createCellStyleSettingPane());
addCustomEditorPane(Toolkit.i18nText("Fine-Design_Predefined_Chart_Style"), createChartStyleSettingPane()); addCustomEditorPane(Toolkit.i18nText("Fine-Design_Predefined_Chart_Style"), createChartStyleSettingPane());
initializePane();
refreshExtraAdvancedPane(); refreshExtraAdvancedPane();
} }

19
designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java

@ -7,6 +7,7 @@ import com.fr.base.theme.TemplateTheme;
import com.fr.base.theme.TemplateThemeConfig; import com.fr.base.theme.TemplateThemeConfig;
import com.fr.base.theme.settings.ThemedCellStyleList; import com.fr.base.theme.settings.ThemedCellStyleList;
import com.fr.base.theme.settings.ThemedColorScheme; import com.fr.base.theme.settings.ThemedColorScheme;
import com.fr.design.gui.frpane.FineTabbedPane;
import com.fr.widgettheme.ThemePreviewTerminal; import com.fr.widgettheme.ThemePreviewTerminal;
import com.fr.widgettheme.util.WidgetThemeDesignerUtils; import com.fr.widgettheme.util.WidgetThemeDesignerUtils;
import com.fr.design.ExtraDesignClassManager; import com.fr.design.ExtraDesignClassManager;
@ -67,7 +68,8 @@ public abstract class TemplateThemeEditorPane<T extends TemplateTheme> extends J
protected final List<BasicBeanPane<T>> extraPaneList = new ArrayList<>(); protected final List<BasicBeanPane<T>> extraPaneList = new ArrayList<>();
protected boolean isPopulating = false; protected boolean isPopulating = false;
protected UITabbedPane uiTabbedPane; protected FineTabbedPane.TabPaneBuilder tabPaneBuilder;
protected FineTabbedPane uiTabbedPane;
private final TemplateThemeConfig<T> config; private final TemplateThemeConfig<T> config;
@ -81,10 +83,10 @@ public abstract class TemplateThemeEditorPane<T extends TemplateTheme> extends J
super(); super();
this.config = config; this.config = config;
theme = config.createNewTheme(); theme = config.createNewTheme();
initializePane(); tabPaneBuilder = FineTabbedPane.builder();
} }
private void initializePane() { protected void initializePane() {
setLayout(new BorderLayout(0, 0)); setLayout(new BorderLayout(0, 0));
setPreferredSize(FineUIScale.scale(new Dimension(RIGHT_PANE_WIDTH, RIGHT_PANE_HEIGHT))); setPreferredSize(FineUIScale.scale(new Dimension(RIGHT_PANE_WIDTH, RIGHT_PANE_HEIGHT)));
JPanel nameEditPane = createNameEditPane(); JPanel nameEditPane = createNameEditPane();
@ -180,9 +182,7 @@ public abstract class TemplateThemeEditorPane<T extends TemplateTheme> extends J
protected JPanel createCustomEditorsPane() { protected JPanel createCustomEditorsPane() {
JPanel container = new JPanel(new BorderLayout()); JPanel container = new JPanel(new BorderLayout());
container.setBorder(BorderUtils.createTitleBorder(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Edit_Pane_Custom_Settings_Title"))); container.setBorder(BorderUtils.createTitleBorder(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Edit_Pane_Custom_Settings_Title")));
buildTabPane();
uiTabbedPane = new UITabbedPane();
uiTabbedPane.setBorder(new ScaledEmptyBorder(10, 5, 10, 1));
container.add(uiTabbedPane, BorderLayout.CENTER); container.add(uiTabbedPane, BorderLayout.CENTER);
initPluginListener(); initPluginListener();
return container; return container;
@ -203,7 +203,7 @@ public abstract class TemplateThemeEditorPane<T extends TemplateTheme> extends J
fireAttributeChange(); fireAttributeChange();
} }
}); });
uiTabbedPane.addTab(title, settingPane); tabPaneBuilder.addTab(title, settingPane);
} }
protected void refreshExtraAdvancedPane() { protected void refreshExtraAdvancedPane() {
@ -359,4 +359,9 @@ public abstract class TemplateThemeEditorPane<T extends TemplateTheme> extends J
} }
return ThemePreviewTerminal.PC; return ThemePreviewTerminal.PC;
} }
protected void buildTabPane() {
uiTabbedPane = tabPaneBuilder.withHeadRatio(0.6f).build();
uiTabbedPane.setBorder(new ScaledEmptyBorder(10, 5, 10, 1));
}
} }

4
designer-base/src/main/java/com/fr/design/mainframe/theme/edit/chart/ChartTitleAndBackgroundStylePane.java

@ -86,12 +86,14 @@ public class ChartTitleAndBackgroundStylePane extends AbstractChartStylePane {
String chartAreaBgLabelName = Toolkit.i18nText("Fine-Design_Chart_Area_Background_Color"); String chartAreaBgLabelName = Toolkit.i18nText("Fine-Design_Chart_Area_Background_Color");
UILabel chartAreaBgLabel = new UILabel(chartAreaBgLabelName); UILabel chartAreaBgLabel = new UILabel(chartAreaBgLabelName);
chartAreaBgLabel.setToolTipText(chartAreaBgLabelName); chartAreaBgLabel.setToolTipText(chartAreaBgLabelName);
UILabel gridLineLabel = new UILabel(Toolkit.i18nText("Fine-Design_Chart_Grid_Line_Color"));
gridLineLabel.setToolTipText(gridLineLabel.getText());
return new Component[][]{ return new Component[][]{
new Component[]{chartFontPane, null}, new Component[]{chartFontPane, null},
new Component[]{null, null}, new Component[]{null, null},
new Component[]{chartAreaBgLabel, typeComboBox}, new Component[]{chartAreaBgLabel, typeComboBox},
new Component[]{null, centerPane}, new Component[]{null, centerPane},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Grid_Line_Color")), mainGridColor} new Component[]{gridLineLabel, mainGridColor}
}; };
} }

13
designer-base/src/main/java/com/fr/design/mainframe/theme/edit/component/ComponentMarginStylePane.java

@ -1,6 +1,8 @@
package com.fr.design.mainframe.theme.edit.component; package com.fr.design.mainframe.theme.edit.component;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.base.theme.settings.ThemedComponentStyle; import com.fr.base.theme.settings.ThemedComponentStyle;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.designer.IntervalConstants; import com.fr.design.designer.IntervalConstants;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
@ -50,16 +52,9 @@ public class ComponentMarginStylePane extends JPanel {
uiLabel.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L1, 0, 0, 0)); uiLabel.setBorder(BorderFactory.createEmptyBorder(IntervalConstants.INTERVAL_L1, 0, 0, 0));
uiLabel.setVerticalAlignment(SwingConstants.TOP); uiLabel.setVerticalAlignment(SwingConstants.TOP);
JPanel panel = FineLayoutBuilder.compatibleTableLayout(10,
double f = TableLayout.FILL;
double p = TableLayout.PREFERRED;
double[] rowSize = { p };
double[] columnSize = { this.uiLabelWidth, this.uiSettingWidth > 0 ? this.uiSettingWidth : f };
JPanel panel = TableLayoutHelper.createGapTableLayoutPane(
new Component[][]{new Component[]{uiLabel, createPaddingPane()}}, new Component[][]{new Component[]{uiLabel, createPaddingPane()}},
rowSize, columnSize, new double[]{LayoutConstants.LEFT_WEIGHT, LayoutConstants.RIGHT_WEIGHT}
IntervalConstants.INTERVAL_L1, 0
); );
this.add(panel); this.add(panel);
} }

36
designer-base/src/main/java/com/fr/design/mainframe/vcs/ui/EditFileVersionDialog.java

@ -1,5 +1,11 @@
package com.fr.design.mainframe.vcs.ui; package com.fr.design.mainframe.vcs.ui;
import com.fine.swing.ui.layout.Column;
import com.fine.theme.utils.FineComponentsFactory;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.border.FineBorderFactory;
import com.fr.design.dialog.UIDialog; import com.fr.design.dialog.UIDialog;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.icontainer.UIScrollPane;
@ -10,7 +16,6 @@ import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.DesignerFrameFileDealerPane; import com.fr.design.mainframe.DesignerFrameFileDealerPane;
import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.report.entity.VcsEntity; import com.fr.report.entity.VcsEntity;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
@ -19,7 +24,7 @@ import com.fr.workspace.server.vcs.VcsOperator;
import javax.swing.JPanel; import javax.swing.JPanel;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
import java.awt.FlowLayout; import java.awt.Dimension;
import java.awt.Frame; import java.awt.Frame;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
@ -47,7 +52,7 @@ public class EditFileVersionDialog extends UIDialog {
initComponents(); initComponents();
setModal(true); setModal(true);
setTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Vcs_Save_Version")); setTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Vcs_Save_Version"));
setSize(300, 220); setSize(FineUIScale.scale(new Dimension(300, 220)));
setResizable(false); setResizable(false);
GUICoreUtils.centerWindow(this); GUICoreUtils.centerWindow(this);
@ -55,15 +60,20 @@ public class EditFileVersionDialog extends UIDialog {
private void initComponents() { private void initComponents() {
Column centerColumn = new Column();
centerColumn.setSpacing(10);
add(centerColumn, BorderLayout.CENTER);
JPanel fontPane = new JPanel(new BorderLayout()); JPanel fontPane = new JPanel(new BorderLayout());
UILabel fontLabel = new UILabel(" " + Toolkit.i18nText("Fine-Design_Vcs_Version_Message") + ":");
UILabel fontLabel = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Version_Message"));
fontLabel.setToolTipText(Toolkit.i18nText("Fine-Design_Vcs_Version_Message")); fontLabel.setToolTipText(Toolkit.i18nText("Fine-Design_Vcs_Version_Message"));
fontPane.add(fontLabel, BorderLayout.NORTH); fontPane.add(fontLabel, BorderLayout.NORTH);
msgTestArea.setBorder(null); msgTestArea.setBorder(null);
UIScrollPane scrollPane = new UIScrollPane(msgTestArea); JPanel scrollPane = FineLayoutBuilder.asBorderLayoutWrapped(new UIScrollPane(msgTestArea));
scrollPane.setBorder(FineBorderFactory.createWrappedRoundBorder());
UILabel versionTip = new UILabel(" " + Toolkit.i18nText("Fine-Design_Vcs_Version_Number") + ":"); UILabel versionTip = new UILabel(Toolkit.i18nText("Fine-Design_Vcs_Version_Number"));
versionTip.setToolTipText(Toolkit.i18nText("Fine-Design_Vcs_Version_Number")); versionTip.setToolTipText(Toolkit.i18nText("Fine-Design_Vcs_Version_Number"));
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{versionTip, versionLabel}, new Component[]{versionTip, versionLabel},
@ -72,16 +82,16 @@ public class EditFileVersionDialog extends UIDialog {
double[] rowSizes = new double[]{25, 100}; double[] rowSizes = new double[]{25, 100};
double[] columnSizes = new double[]{70, 200}; double[] columnSizes = new double[]{70, 200};
add(TableLayoutHelper.createTableLayoutPane(components, rowSizes, columnSizes), BorderLayout.CENTER); JPanel pane = TableLayoutHelper.createTableLayoutPane(components, rowSizes, columnSizes);
JPanel buttonPane = new JPanel(new FlowLayout(FlowLayout.RIGHT));
add(buttonPane, BorderLayout.SOUTH);
UIButton ok = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_OK")); UIButton ok = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_OK"));
UIButton cancel = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Design_Action_Cancel")); UIButton cancel = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Design_Action_Cancel"));
JPanel buttonPane = FineComponentsFactory.createConfirmCancelButtonPane(ok, cancel);
centerColumn.add(pane);
centerColumn.add(buttonPane);
centerColumn.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
buttonPane.add(ok);
buttonPane.add(cancel);
ok.addActionListener(new ActionListener() { ok.addActionListener(new ActionListener() {
@Override @Override

42
designer-base/src/main/java/com/fr/design/style/background/gradient/GradientBar.java

@ -9,6 +9,7 @@ import com.fr.design.style.color.ColorCell;
import com.fr.design.style.color.ColorSelectable; import com.fr.design.style.color.ColorSelectable;
import com.fr.design.style.color.NewColorSelectPane; import com.fr.design.style.color.NewColorSelectPane;
import com.fr.stable.AssistUtils; import com.fr.stable.AssistUtils;
import com.fr.stable.os.OperatingSystem;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
@ -84,6 +85,7 @@ public class GradientBar extends AbstractComponentPopBox implements UIObserver,
p1.setStartPosition(0); p1.setStartPosition(0);
p2.setStartPosition(1); p2.setStartPosition(1);
addMouseClickListener(); addMouseClickListener();
addMouseDragListener();
iniListener(); iniListener();
} }
@ -129,6 +131,14 @@ public class GradientBar extends AbstractComponentPopBox implements UIObserver,
}); });
} }
protected void addMouseDragListener() {
this.addMouseMotionListener(new MouseAdapter() {
public void mouseDragged(MouseEvent e) {
dragAction(e);
}
});
}
protected void clickButton(int select) { protected void clickButton(int select) {
setIndex(select); setIndex(select);
showPopupMenu(); showPopupMenu();
@ -305,4 +315,36 @@ public class GradientBar extends AbstractComponentPopBox implements UIObserver,
public void setDraggable(boolean draggable) { public void setDraggable(boolean draggable) {
this.draggable = draggable; this.draggable = draggable;
} }
private void dragAction(MouseEvent e) {
int oldIndex = index;
int size = list.size();
for (int i = 0; i < size; i++) {
if (list.get(i).contains(e.getX(), e.getY())) {
index = i;
break;
}
}
updateX(oldIndex, index, e);
GradientBar.this.repaint();
if (index == 1) {
endLabel.setText(Double.toString(p2.getX()));
} else {
startLabel.setText(Double.toString(p1.getX()));
}
}
private void updateX(int oldIndex, int newIndex, MouseEvent e) {
if (OperatingSystem.isLinux() && AssistUtils.equals(oldIndex, newIndex)) {
if (Math.abs(p1.getX() - e.getX()) > Math.abs(p2.getX() - e.getX())) {
index = 1;
} else {
index = 0;
}
}
if (e.getX() <= max && e.getX() >= min && e.getY() < MAX_VERTICAL) {
list.get(index).setX(e.getX());
}
}
} }

14
designer-base/src/main/java/com/fr/design/write/submit/CustomJobPane.java

@ -2,6 +2,7 @@ package com.fr.design.write.submit;
import com.fine.theme.utils.FineUIScale; import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils; import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.GraphHelper; import com.fr.base.GraphHelper;
import com.fr.data.AbstractClassJob; import com.fr.data.AbstractClassJob;
import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane; import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane;
@ -43,17 +44,10 @@ public abstract class CustomJobPane extends BasicBeanPane {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(); JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane();
classNameTextField = new UITextField(); classNameTextField = new UITextField();
classNameTextField.setPreferredSize(FineUIScale.scale(new Dimension(0, 24)));
UIButton browserButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Select")); UIButton browserButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Select"));
browserButton.setPreferredSize(new Dimension(
GraphHelper.getWidth(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Select")) + 40,
FineUIScale.scale(24)));
UIButton editButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Edit")); UIButton editButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Edit"));
editButton.setPreferredSize(new Dimension(
GraphHelper.getWidth(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Select")) + 40,
FineUIScale.scale(24)));
UITextArea area = new UITextArea(2, 1); UITextArea area = new UITextArea(2, 1);
@ -95,16 +89,16 @@ public abstract class CustomJobPane extends BasicBeanPane {
}); });
reportletNamePane.setLayout(new BorderLayout()); reportletNamePane.setLayout(new BorderLayout());
reportletNamePane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); reportletNamePane.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
reportletNamePane.add(row(4, reportletNamePane.add(row(4,
cell(classNameTextField).weight(1.0), cell(classNameTextField).weight(1),
cell(browserButton), cell(browserButton),
cell(editButton) cell(editButton)
).getComponent(), BorderLayout.CENTER); ).getComponent(), BorderLayout.CENTER);
objectProperiesPane = new ObjectProperiesPane(); objectProperiesPane = new ObjectProperiesPane();
JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
dsPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); dsPane.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
dsPane.add(area); dsPane.add(area);
this.add(column(20, this.add(column(20,
cell(FineUIUtils.wrapComponentWithTitle(reportletNamePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Class_Name"))), cell(FineUIUtils.wrapComponentWithTitle(reportletNamePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Class_Name"))),

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

@ -103,6 +103,7 @@ import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column; import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.theme.utils.FineUIScale.scale;
//august:这个东西应该分成两类,一类是有单元格的情况,一类是没有单元格的情况 //august:这个东西应该分成两类,一类是有单元格的情况,一类是没有单元格的情况
public class DBManipulationPane extends BasicBeanPane<DBManipulation> { public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
@ -165,16 +166,16 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Choose_Submit_Type"))), cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Choose_Submit_Type"))),
cell(dmlConfigComboBox)).getComponent()); cell(dmlConfigComboBox)).getComponent());
chooseTable = new ChoosePaneSupportFormula(); chooseTable = new ChoosePaneSupportFormula();
chooseTable.setTableNameComboBoxPopSize(FineUIScale.scale(160), FineUIScale.scale(320)); chooseTable.setTableNameComboBoxPopSize(scale(160), scale(320));
// peter:编辑的TablePane // peter:编辑的TablePane
JPanel editTablePane = new JPanel(new BorderLayout(FineUIScale.scale(10), 0)); JPanel editTablePane = new JPanel(new BorderLayout(scale(10), 0));
Dimension editTableDimension = createEditTablePreferredSize(); Dimension editTableDimension = createEditTablePreferredSize();
editTablePane.setBounds(0, 0, editTableDimension.width, editTableDimension.height); editTablePane.setBounds(0, 0, editTableDimension.width, editTableDimension.height);
keyColumnValuesTable = new KeyColumnNameValueTable(); keyColumnValuesTable = new KeyColumnNameValueTable();
editTablePane.add(new UIVerticalScrollPane(keyColumnValuesTable), BorderLayout.CENTER); editTablePane.add(new UIVerticalScrollPane(keyColumnValuesTable), BorderLayout.CENTER);
keyColumnValuesTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); keyColumnValuesTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
keyColumnValuesTable.setPreferredScrollableViewportSize(FineUIScale.scale(new Dimension(280, 150))); keyColumnValuesTable.setPreferredScrollableViewportSize(scale(new Dimension(280, 150)));
keyColumnValuesTable.setShowHorizontalLines(true); keyColumnValuesTable.setShowHorizontalLines(true);
northPane.add(column(10, northPane.add(column(10,
@ -190,7 +191,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
cell(bottomPane)) cell(bottomPane))
.getComponent(), BorderLayout.CENTER); .getComponent(), BorderLayout.CENTER);
this.add(new UIScrollPane(contentPane)); this.add(contentPane);
initJTableColumn(); initJTableColumn();
@ -216,7 +217,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
List<Layouts.Cell> buttonGroup = Arrays.stream(actions).map(action -> cell(new UIButton(action))).collect(Collectors.toList()); List<Layouts.Cell> buttonGroup = Arrays.stream(actions).map(action -> cell(new UIButton(action))).collect(Collectors.toList());
checkBoxUpdatePane = new JPanel(new BorderLayout(0, 0)); checkBoxUpdatePane = new JPanel(new BorderLayout(0, 0));
checkBoxUpdatePane.setPreferredSize(new Dimension(120, 20)); checkBoxUpdatePane.setPreferredSize(scale(new Dimension(120, 20)));
UpdateCheckBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_RWA_NotChange_Unmodified")); UpdateCheckBox = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_RWA_NotChange_Unmodified"));
UIButton helpButton = new UIButton(HEIP_ICON); UIButton helpButton = new UIButton(HEIP_ICON);
@ -372,11 +373,11 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
} }
protected Dimension createEditTablePreferredSize() { protected Dimension createEditTablePreferredSize() {
return FineUIScale.scale(new Dimension(280, 180)); return scale(new Dimension(280, 180));
} }
protected Dimension createConditionPanePreferredSize() { protected Dimension createConditionPanePreferredSize() {
return FineUIScale.scale(new Dimension(454, 60)); return scale(new Dimension(454, 60));
} }
protected boolean setJpVisible() { protected boolean setJpVisible() {
@ -384,12 +385,12 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
} }
protected Dimension createJpPreferredSize() { protected Dimension createJpPreferredSize() {
return FineUIScale.scale(new Dimension(280, 60)); return scale(new Dimension(280, 60));
} }
protected Dimension createControlBtnPanePreferredSize() { protected Dimension createControlBtnPanePreferredSize() {
return FineUIScale.scale(new Dimension(110, 20)); return scale(new Dimension(110, 20));
} }
protected String setControlBtnPanePosition() { protected String setControlBtnPanePosition() {

2
designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties

@ -1128,7 +1128,7 @@ Tree.selectionInactiveBackground = @selectionBackground
Tree.selectionInactiveForeground = @selectionForeground Tree.selectionInactiveForeground = @selectionForeground
Tree.textBackground = $Tree.background Tree.textBackground = $Tree.background
Tree.textForeground = $Tree.foreground Tree.textForeground = $Tree.foreground
Tree.selectionBorderColor = @cellFocusColor Tree.selectionBorderColor = #00000000
Tree.dropCellBackground = @dropCellBackground Tree.dropCellBackground = @dropCellBackground
Tree.dropCellForeground = @dropCellForeground Tree.dropCellForeground = @dropCellForeground
Tree.dropLineColor = @dropLineColor Tree.dropLineColor = @dropLineColor

14
designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartBeautyPaneWithGradientBar.java

@ -1,11 +1,11 @@
package com.fr.van.chart.designer.component; package com.fr.van.chart.designer.component;
import com.fine.theme.utils.FineLayoutBuilder;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.chart.base.GradientStyle; import com.fr.chart.base.GradientStyle;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout;
import com.fr.design.style.background.gradient.FixedGradientBar; import com.fr.design.style.background.gradient.FixedGradientBar;
import com.fr.plugin.chart.type.GradientType; import com.fr.plugin.chart.type.GradientType;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import javax.swing.JPanel; import javax.swing.JPanel;
import java.awt.BorderLayout; import java.awt.BorderLayout;
@ -29,18 +29,12 @@ public class VanChartBeautyPaneWithGradientBar extends VanChartBeautyPane {
private JPanel initGradientBarPane() { private JPanel initGradientBarPane() {
colorGradient = new FixedGradientBar(4, 140); colorGradient = new FixedGradientBar(4, 140);
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, e};
double[] rowSize = {p, p};
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{null, null},
new Component[]{null, colorGradient}, new Component[]{null, colorGradient},
}; };
gradientBarPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); gradientBarPane = FineLayoutBuilder.commonLeftRightLayout(components);
gradientBarPane.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
return gradientBarPane; return gradientBarPane;
} }

5
designer-chart/src/main/java/com/fr/van/chart/designer/component/VanChartHtmlLabelPane.java

@ -14,6 +14,7 @@ import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea;
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.gui.UIComponentUtils; import com.fr.design.utils.gui.UIComponentUtils;
import com.fr.plugin.chart.base.VanChartHtmlLabel; import com.fr.plugin.chart.base.VanChartHtmlLabel;
@ -69,7 +70,7 @@ public class VanChartHtmlLabelPane extends JPanel {
JPanel contentPane = FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1}); JPanel contentPane = FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1});
this.setLayout(new BorderLayout()); this.setLayout(FRGUIPaneFactory.createScaledBorderLayout(0, 10));
this.add(contentPane, BorderLayout.NORTH); this.add(contentPane, BorderLayout.NORTH);
if (widthAndHeightPane != null) { if (widthAndHeightPane != null) {
this.add(widthAndHeightPane, BorderLayout.CENTER); this.add(widthAndHeightPane, BorderLayout.CENTER);
@ -150,7 +151,7 @@ public class VanChartHtmlLabelPane extends JPanel {
new Component[]{isCustomWidth, customWidth}, new Component[]{isCustomWidth, customWidth},
new Component[]{isCustomHeight, customHeight}, new Component[]{isCustomHeight, customHeight},
}; };
return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1.2, 3}); return FineLayoutBuilder.compatibleTableLayout(10, components, new double[]{1, 1});
} }
private void checkWidth() { private void checkWidth() {

5
designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartGaugeLabelDetailPane.java

@ -22,7 +22,6 @@ import javax.swing.JPanel;
import javax.swing.SwingConstants; import javax.swing.SwingConstants;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
@ -62,7 +61,7 @@ public class VanChartGaugeLabelDetailPane extends VanChartPlotLabelDetailPane {
initStyleListener(); initStyleListener();
return FineLayoutBuilder.compatibleTableLayout(10, getLabelStyleComponents(plot),new double[]{1.2, 3}); return FineLayoutBuilder.commonLeftRightLayout(getLabelStyleComponents(plot));
} }
protected void initStyleListener() { protected void initStyleListener() {
@ -118,7 +117,7 @@ public class VanChartGaugeLabelDetailPane extends VanChartPlotLabelDetailPane {
} }
protected JPanel createTableLayoutPaneWithTitle(String title, JPanel panel) { protected JPanel createTableLayoutPaneWithTitle(String title, JPanel panel) {
return TableLayout4VanChartHelper.createGapTableLayoutPane(title, panel); return FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3}, new UILabel(title), panel);
} }
protected Component[][] getLabelPaneComponents(Plot plot, double p, double[] columnSize) { protected Component[][] getLabelPaneComponents(Plot plot, double p, double[] columnSize) {

12
designer-chart/src/main/java/com/fr/van/chart/designer/style/label/VanChartPieCategoryLabelDetailPane.java

@ -1,13 +1,11 @@
package com.fr.van.chart.designer.style.label; package com.fr.van.chart.designer.style.label;
import com.fine.theme.utils.FineLayoutBuilder;
import com.fr.chart.chartattr.Plot; import com.fr.chart.chartattr.Plot;
import com.fr.design.gui.ibutton.UIButtonGroup; import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.stable.Constants; import com.fr.stable.Constants;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.style.VanChartStylePane; import com.fr.van.chart.designer.style.VanChartStylePane;
import com.fr.van.chart.pie.style.VanChartPieCategoryLabelContentPane; import com.fr.van.chart.pie.style.VanChartPieCategoryLabelContentPane;
@ -40,18 +38,12 @@ public class VanChartPieCategoryLabelDetailPane extends VanChartPlotLabelDetailP
UIButtonGroup<Integer> position = new UIButtonGroup<>(positionName, positionValue); UIButtonGroup<Integer> position = new UIButtonGroup<>(positionName, positionValue);
setPosition(position); setPosition(position);
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] row = {p, p};
double[] col = {f, e};
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{null, null},
new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Layout_Position")), position}, new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Layout_Position")), position},
}; };
return TableLayoutHelper.createTableLayoutPane(components, row, col); return FineLayoutBuilder.commonLeftRightLayout(components);
} }
protected void checkPositionPane(String title) { protected void checkPositionPane(String title) {

15
designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugeBeautyPane.java

@ -1,15 +1,14 @@
package com.fr.van.chart.gauge; package com.fr.van.chart.gauge;
import com.fine.theme.utils.FineLayoutBuilder;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.chart.base.ChartConstants; import com.fr.chart.base.ChartConstants;
import com.fr.chart.base.GradientStyle; import com.fr.chart.base.GradientStyle;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout;
import com.fr.design.style.background.gradient.FixedGradientBar; import com.fr.design.style.background.gradient.FixedGradientBar;
import com.fr.plugin.chart.type.GradientType; import com.fr.plugin.chart.type.GradientType;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartBeautyPane; import com.fr.van.chart.designer.component.VanChartBeautyPane;
import javax.swing.BorderFactory;
import javax.swing.JPanel; import javax.swing.JPanel;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
@ -29,24 +28,18 @@ public class VanChartGaugeBeautyPane extends VanChartBeautyPane {
public VanChartGaugeBeautyPane() { public VanChartGaugeBeautyPane() {
super(); super();
this.add(initGradientBarPane(), BorderLayout.SOUTH); this.add(initGradientBarPane(), BorderLayout.SOUTH);
this.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
initListener(); initListener();
} }
private JPanel initGradientBarPane() { private JPanel initGradientBarPane() {
colorGradient = new FixedGradientBar(4, 140); colorGradient = new FixedGradientBar(4, 140);
double p = TableLayout.PREFERRED;
double f = TableLayout.FILL;
double e = TableLayout4VanChartHelper.EDIT_AREA_WIDTH;
double[] columnSize = {f, e};
double[] rowSize = {p, p};
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{null, null},
new Component[]{null, colorGradient}, new Component[]{null, colorGradient},
}; };
gradientBarPane = TableLayout4VanChartHelper.createGapTableLayoutPane(components, rowSize, columnSize); gradientBarPane = FineLayoutBuilder.commonLeftRightLayout(components);
gradientBarPane.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
colorGradient.updateColor(ChartConstants.GRADIENT_END, ChartConstants.GRADIENT_START); colorGradient.updateColor(ChartConstants.GRADIENT_END, ChartConstants.GRADIENT_START);
return gradientBarPane; return gradientBarPane;
} }

5
designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugeSeriesPane.java

@ -27,7 +27,6 @@ import com.fr.plugin.chart.gauge.VanChartGaugePlot;
import com.fr.plugin.chart.type.GaugeStyle; import com.fr.plugin.chart.type.GaugeStyle;
import com.fr.plugin.chart.type.GradientType; import com.fr.plugin.chart.type.GradientType;
import com.fr.stable.Constants; import com.fr.stable.Constants;
import com.fr.van.chart.designer.TableLayout4VanChartHelper;
import com.fr.van.chart.designer.component.VanChartFillStylePane; import com.fr.van.chart.designer.component.VanChartFillStylePane;
import com.fr.van.chart.designer.style.series.VanChartMultiColorSeriesPane; import com.fr.van.chart.designer.style.series.VanChartMultiColorSeriesPane;
@ -172,7 +171,7 @@ public class VanChartGaugeSeriesPane extends VanChartMultiColorSeriesPane {
} }
} }
JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(title, gaugeLayout); JPanel panel = FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3}, new UILabel(title), gaugeLayout);
gaugeLayout.addChangeListener(new ChangeListener() { gaugeLayout.addChangeListener(new ChangeListener() {
@Override @Override
public void stateChanged(ChangeEvent e) { public void stateChanged(ChangeEvent e) {
@ -211,7 +210,7 @@ public class VanChartGaugeSeriesPane extends VanChartMultiColorSeriesPane {
private JPanel createGaugeStylePane() { private JPanel createGaugeStylePane() {
JPanel panel = new JPanel(new BorderLayout(0, FineUIScale.scale(10))); JPanel panel = new JPanel(new BorderLayout(0, FineUIScale.scale(10)));
JPanel centerPanel = FineLayoutBuilder.compatibleTableLayout(10, getDiffComponentsWithGaugeStyle(), new double[]{1.2, 3}); JPanel centerPanel = FineLayoutBuilder.commonLeftRightLayout(getDiffComponentsWithGaugeStyle());
panel.add(centerPanel, BorderLayout.CENTER); panel.add(centerPanel, BorderLayout.CENTER);
if (rotate != null) { if (rotate != null) {
JPanel panel1 = FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3}, JPanel panel1 = FineLayoutBuilder.createHorizontalLayout(0, new double[]{1.2, 3},

3
designer-realize/src/main/java/com/fanruan/boot/env/function/DesignComponent.java vendored

@ -60,6 +60,7 @@ import com.fr.design.javascript.EmailPane;
import com.fr.design.javascript.JavaScriptImplPane; import com.fr.design.javascript.JavaScriptImplPane;
import com.fr.design.javascript.ParameterJavaScriptPane; import com.fr.design.javascript.ParameterJavaScriptPane;
import com.fr.design.javascript.ProcessTransitionAdapter; import com.fr.design.javascript.ProcessTransitionAdapter;
import com.fr.design.lock.TemplateLockInfoReSave;
import com.fr.design.login.DesignerLoginType; import com.fr.design.login.DesignerLoginType;
import com.fr.design.login.guide.DesignerGuideHelper; import com.fr.design.login.guide.DesignerGuideHelper;
import com.fr.design.login.message.DesignerMessageHelper; import com.fr.design.login.message.DesignerMessageHelper;
@ -221,6 +222,7 @@ public class DesignComponent {
DesignerWorkspaceLoader.init(); DesignerWorkspaceLoader.init();
storePassport(); storePassport();
AlphaFineHelper.switchConfig4Locale(); AlphaFineHelper.switchConfig4Locale();
TemplateLockInfoReSave.startListener();
RPCConnectHandlerCenter.startListener(); RPCConnectHandlerCenter.startListener();
RecoverManager.register(new RecoverForDesigner()); RecoverManager.register(new RecoverForDesigner());
} }
@ -534,6 +536,7 @@ public class DesignComponent {
public void stop() { public void stop() {
unloadLogAppender(); unloadLogAppender();
DesignerSocketIO.close(); DesignerSocketIO.close();
TemplateLockInfoReSave.stopListener();
} }
/** /**

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

@ -218,14 +218,13 @@ public class EventPane extends BasicPane {
jsPane.populateBean(lis); jsPane.populateBean(lis);
// BasicDialog dialog = jsPane.showWindow(DesignerContext.getDesignerFrame()); // BasicDialog dialog = jsPane.showWindow(DesignerContext.getDesignerFrame());
// 不能直接建立在DesignerFrame 不然里面事件里有提交入库进行智能添加单元格就麻烦了 // 不能直接建立在DesignerFrame 不然里面事件里有提交入库进行智能添加单元格就麻烦了
BasicDialog dialog = jsPane.showWindow(SwingUtilities.getWindowAncestor(EventPane.this)); BasicDialog dialog = jsPane.showWindowWithCustomSize(SwingUtilities.getWindowAncestor(EventPane.this), new DialogActionAdapter() {
dialog.addDialogActionListener(new DialogActionAdapter() {
@Override @Override
public void doOk() { public void doOk() {
listModel.setElementAt(jsPane.updateBean(), i); listModel.setElementAt(jsPane.updateBean(), i);
eventList.validate(); eventList.validate();
} }
}); }, new Dimension(660, 660));
dialog.setVisible(true); dialog.setVisible(true);
} }
@ -272,14 +271,13 @@ public class EventPane extends BasicPane {
Listener lis = new Listener(menuName[j], new JavaScriptImpl()); Listener lis = new Listener(menuName[j], new JavaScriptImpl());
listenerPane.populateBean(lis); listenerPane.populateBean(lis);
BasicDialog dialog = listenerPane.showWindow(SwingUtilities.getWindowAncestor(EventPane.this)); BasicDialog dialog = listenerPane.showWindowWithCustomSize(SwingUtilities.getWindowAncestor(EventPane.this), new DialogActionAdapter() {
dialog.addDialogActionListener(new DialogActionAdapter() {
@Override @Override
public void doOk() { public void doOk() {
listModel.addElement(listenerPane.updateBean()); listModel.addElement(listenerPane.updateBean());
eventList.validate(); eventList.validate();
} }
}); }, new Dimension(660, 660));
dialog.setVisible(true); dialog.setVisible(true);
} }

2
designer-realize/src/main/java/com/fr/design/write/submit/SubmitVisitorListPane.java

@ -196,7 +196,7 @@ public class SubmitVisitorListPane extends ObjectJControlPane {
JPanel typePane = new JPanel(new BorderLayout()); JPanel typePane = new JPanel(new BorderLayout());
typePane.add(row(10, typePane.add(row(10,
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Choose_Submit_Type"))), cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Choose_Submit_Type"))),
cell(csjConfigComboBox)).getComponent()); cell(csjConfigComboBox).weight(0.5)).getComponent());
this.add(column( this.add(column(
cell(FineUIUtils.wrapComponentWithTitle(typePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Submit_Type"))), cell(FineUIUtils.wrapComponentWithTitle(typePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Submit_Type"))),

Loading…
Cancel
Save