Browse Source

高DPI/面板布局修复

newui
renekton 5 months ago
parent
commit
e3a64e318f
  1. 7
      designer-base/src/main/java/com/fr/design/carton/FeedbackToolboxDialog.java
  2. 4
      designer-base/src/main/java/com/fr/design/data/datapane/RefreshLabel.java
  3. 13
      designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java
  4. 11
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java
  5. 27
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java
  6. 11
      designer-base/src/main/java/com/fr/design/dialog/mobile/MobileRadioCheckPane.java
  7. 9
      designer-base/src/main/java/com/fr/design/editor/editor/BooleanEditor.java
  8. 7
      designer-base/src/main/java/com/fr/design/editor/editor/ColumnIndexEditor.java
  9. 9
      designer-base/src/main/java/com/fr/design/editor/editor/ColumnNameEditor.java
  10. 5
      designer-base/src/main/java/com/fr/design/editor/editor/ColumnRowEditor.java
  11. 7
      designer-base/src/main/java/com/fr/design/editor/editor/ColumnSelectedEditor.java
  12. 5
      designer-base/src/main/java/com/fr/design/editor/editor/DateEditor.java
  13. 26
      designer-base/src/main/java/com/fr/design/editor/editor/Editor.java
  14. 10
      designer-base/src/main/java/com/fr/design/editor/editor/FormulaEditor.java
  15. 5
      designer-base/src/main/java/com/fr/design/editor/editor/IntegerEditor.java
  16. 7
      designer-base/src/main/java/com/fr/design/editor/editor/NumberEditor.java
  17. 12
      designer-base/src/main/java/com/fr/design/editor/editor/OldColumnIndexEditor.java
  18. 8
      designer-base/src/main/java/com/fr/design/editor/editor/ParameterEditor.java
  19. 7
      designer-base/src/main/java/com/fr/design/editor/editor/SpinnerIntegerEditor.java
  20. 5
      designer-base/src/main/java/com/fr/design/editor/editor/TextEditor.java
  21. 16
      designer-base/src/main/java/com/fr/design/formula/FormulaPane.java
  22. 16
      designer-base/src/main/java/com/fr/design/formula/FunctionManagerPane.java
  23. 6
      designer-base/src/main/java/com/fr/design/fun/PreviewProvider.java
  24. 6
      designer-base/src/main/java/com/fr/design/gui/controlpane/NameableSelfCreator.java
  25. 6
      designer-base/src/main/java/com/fr/design/gui/frpane/ObjectProperiesPane.java
  26. 12
      designer-base/src/main/java/com/fr/design/gui/isplitpanedivider/UISplitPaneDivider.java
  27. 5
      designer-base/src/main/java/com/fr/design/gui/style/FollowingThemePane.java
  28. 3
      designer-base/src/main/java/com/fr/design/hyperlink/ReportletHyperlinkPane.java
  29. 13
      designer-base/src/main/java/com/fr/design/hyperlink/popup/ContentSettingPane.java
  30. 8
      designer-base/src/main/java/com/fr/design/hyperlink/popup/MobilePopupUIUtils.java
  31. 3
      designer-base/src/main/java/com/fr/design/javascript/EmailPane.java
  32. 126
      designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java
  33. 13
      designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java
  34. 4
      designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java
  35. 5
      designer-base/src/main/java/com/fr/design/mainframe/widget/editors/DataBindingEditor.java
  36. 5
      designer-base/src/main/java/com/fr/design/mainframe/widget/editors/DataTableEditor.java
  37. 1
      designer-base/src/main/java/com/fr/design/parameter/ParameterArrayPane.java
  38. 5
      designer-base/src/main/java/com/fr/design/preview/FormPreview.java
  39. 5
      designer-base/src/main/java/com/fr/design/preview/MobilePreview.java
  40. 5
      designer-base/src/main/java/com/fr/design/preview/PagePlusPreview.java
  41. 5
      designer-base/src/main/java/com/fr/design/preview/PagePreview.java
  42. 5
      designer-base/src/main/java/com/fr/design/preview/ViewPreview.java
  43. 5
      designer-base/src/main/java/com/fr/design/preview/WritePreview.java
  44. 25
      designer-base/src/main/java/com/fr/design/report/WatermarkPane.java
  45. 16
      designer-base/src/main/java/com/fr/design/report/fit/FormFitConfigPane.java
  46. 3
      designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java
  47. 22
      designer-base/src/main/java/com/fr/design/write/submit/CustomJobPane.java
  48. 63
      designer-base/src/main/java/com/fr/design/write/submit/DBManipulationPane.java
  49. 5
      designer-base/src/main/java/com/fr/design/write/submit/SubmitJobListPane.java
  50. 16
      designer-base/src/main/java/com/fr/env/detect/ui/EnvDetectorDialog.java
  51. 11
      designer-base/src/main/resources/com/fine/theme/icon/dataLink.svg
  52. 11
      designer-base/src/main/resources/com/fine/theme/icon/dataLink_disable.svg
  53. 3
      designer-base/src/main/resources/com/fine/theme/icon/datail_distable.svg
  54. 3
      designer-base/src/main/resources/com/fine/theme/icon/detail.svg
  55. 16
      designer-base/src/main/resources/com/fine/theme/icon/editor/ds_column.svg
  56. 16
      designer-base/src/main/resources/com/fine/theme/icon/editor/ds_column_disable.svg
  57. 4
      designer-base/src/main/resources/com/fine/theme/icon/editor/type_boolean.svg
  58. 4
      designer-base/src/main/resources/com/fine/theme/icon/editor/type_boolean_disable.svg
  59. 11
      designer-base/src/main/resources/com/fine/theme/icon/editor/type_double.svg
  60. 11
      designer-base/src/main/resources/com/fine/theme/icon/editor/type_double_disable.svg
  61. 3
      designer-base/src/main/resources/com/fine/theme/icon/jumpHelp.svg
  62. 3
      designer-base/src/main/resources/com/fine/theme/icon/jumpHelp_disable.svg
  63. 17
      designer-base/src/main/resources/com/fine/theme/icon/preview/data_analysis.svg
  64. 17
      designer-base/src/main/resources/com/fine/theme/icon/preview/data_analysis_disable.svg
  65. 17
      designer-base/src/main/resources/com/fine/theme/icon/preview/preview_mobile.svg
  66. 17
      designer-base/src/main/resources/com/fine/theme/icon/preview/preview_mobile_disable.svg
  67. 18
      designer-base/src/main/resources/com/fine/theme/icon/preview/preview_paging.svg
  68. 17
      designer-base/src/main/resources/com/fine/theme/icon/preview/preview_paging_disable.svg
  69. 18
      designer-base/src/main/resources/com/fine/theme/icon/preview/preview_write.svg
  70. 18
      designer-base/src/main/resources/com/fine/theme/icon/preview/preview_write_disable.svg
  71. 3
      designer-base/src/main/resources/com/fine/theme/icon/switch.svg
  72. 7
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/appendRow.svg
  73. 7
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/appendRow_disable.svg
  74. 7
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/deleteRow.svg
  75. 7
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/deleteRow_disable.svg
  76. 4
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/showValue.svg
  77. 4
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/showValue_disable.svg
  78. 7
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/stash.svg
  79. 7
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/stash_disable.svg
  80. 9
      designer-base/src/main/resources/com/fine/theme/icon/variable/dataItem.svg
  81. 9
      designer-base/src/main/resources/com/fine/theme/icon/variable/dataItem_disable.svg
  82. 9
      designer-base/src/main/resources/com/fine/theme/icon/variable/param_global.svg
  83. 9
      designer-base/src/main/resources/com/fine/theme/icon/variable/param_global_disable.svg
  84. 5
      designer-base/src/main/resources/com/fine/theme/icon/variable/variable.svg
  85. 5
      designer-base/src/main/resources/com/fine/theme/icon/variable/variable_disable.svg
  86. 24
      designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
  87. 4
      designer-chart/src/main/java/com/fr/design/chartx/component/MapAreaMatchPane.java
  88. 10
      designer-chart/src/main/java/com/fr/design/module/ChartHyperlinkGroup.java
  89. 4
      designer-form/src/main/java/com/fr/design/designer/beans/actions/ChangeNameAction.java
  90. 3
      designer-form/src/main/java/com/fr/design/mainframe/JForm.java
  91. 5
      designer-form/src/main/java/com/fr/design/preview/DeveloperPreview.java
  92. 5
      designer-form/src/main/java/com/fr/design/preview/FormAdaptivePreview.java
  93. 6
      designer-realize/src/main/java/com/fr/design/actions/columnrow/InsertColumnAction.java
  94. 6
      designer-realize/src/main/java/com/fr/design/actions/columnrow/InsertRowAction.java
  95. 36
      designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java
  96. 2
      designer-realize/src/main/java/com/fr/design/mainframe/ElementCasePaneDelegate.java
  97. 6
      designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java
  98. 8
      designer-realize/src/main/java/com/fr/design/report/NewReportBackgroundPane.java
  99. 4
      designer-realize/src/main/java/com/fr/design/report/PageSetupPane.java
  100. 5
      designer-realize/src/main/java/com/fr/design/report/VerifierListPane.java
  101. Some files were not shown because too many files have changed in this diff Show More

7
designer-base/src/main/java/com/fr/design/carton/FeedbackToolboxDialog.java

@ -1,5 +1,6 @@
package com.fr.design.carton;
import com.fine.theme.utils.FineUIScale;
import com.fr.decision.webservice.v10.log.download.utils.LogZipUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.constants.UIConstants;
@ -87,7 +88,7 @@ public class FeedbackToolboxDialog extends JDialog {
body.add(midPane, BorderLayout.CENTER);
midPane.add(infoPane, BorderLayout.NORTH);
Dimension dimension = new Dimension(662, 556);
body.setPreferredSize(dimension);
body.setPreferredSize(FineUIScale.scale(dimension));
this.body = body;
}
@ -102,8 +103,8 @@ public class FeedbackToolboxDialog extends JDialog {
} else {
this.uiDatePicker = new UIDatePicker(UIDatePicker.STYLE_CN_DATE1, null, this);
}
Dimension dimension = new Dimension(160, 100);
uiDatePicker.setPreferredSize(dimension);
Dimension dimension = new Dimension(100, 100);
uiDatePicker.setPreferredSize(FineUIScale.scale(dimension));
northPane.add(GUICoreUtils.createFlowPane(new Component[]{title, uiDatePicker}, FlowLayout.LEFT));
exportLogLabel = new UILabel();
exportLogLabel.setText(Toolkit.i18nText("Fine-Design_Basic_Carton_Export_Carton_Log"));

4
designer-base/src/main/java/com/fr/design/data/datapane/RefreshLabel.java

@ -1,11 +1,11 @@
package com.fr.design.data.datapane;
import com.fine.theme.icon.LazyIcon;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import com.fr.base.BaseUtils;
import com.fr.design.gui.ibutton.UIButton;
@ -15,7 +15,7 @@ public class RefreshLabel extends UIButton {
private Refreshable refreshable;
public RefreshLabel(Refreshable refreshable) {
super(BaseUtils.readIcon("/com/fr/design/images/control/refresh.png"));
super(new LazyIcon("refresh"));
this.refreshable = refreshable;

13
designer-base/src/main/java/com/fr/design/data/datapane/connect/ConnectionListPane.java

@ -1,5 +1,6 @@
package com.fr.design.data.datapane.connect;
import com.fine.theme.icon.LazyIcon;
import com.fr.config.RemoteConfigEvent;
import com.fr.data.driver.DriverClassNotFoundException;
import com.fr.data.impl.Connection;
@ -154,16 +155,12 @@ public class ConnectionListPane extends JListControlPane implements ConnectionSh
*/
public NameableCreator[] createNameableCreators() {
NameObjectCreator jdbc = new NameObjectCreator(
"JDBC",
"/com/fr/design/images/data/source/jdbcTableData.png",
JDBCDatabaseConnection.class,
DatabaseConnectionPane.JDBC.class
"JDBC", new LazyIcon("dataLink"),
JDBCDatabaseConnection.class, DatabaseConnectionPane.JDBC.class
);
NameObjectCreator jndi = new NameObjectCreator(
"JNDI",
"/com/fr/design/images/data/source/jdbcTableData.png",
JNDIDatabaseConnection.class,
DatabaseConnectionPane.JNDI.class
"JNDI", new LazyIcon("dataLink"),
JNDIDatabaseConnection.class, DatabaseConnectionPane.JNDI.class
);
NameableCreator[] creators;
if (WorkContext.getCurrent().get(DataBaseTypeOperator.class).limitDatabaseType()) {

11
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java

@ -1,6 +1,7 @@
package com.fr.design.data.tabledata.tabledatapane;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale;
import com.fr.base.Parameter;
import com.fr.base.ParameterHelper;
import com.fr.data.core.db.TableProcedure;
@ -44,7 +45,6 @@ import com.fr.design.mainframe.DesignerContext;
import com.fr.design.menu.SeparatorDef;
import com.fr.design.menu.ToolBarDef;
import com.fr.design.utils.ParameterUtils;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.esd.core.strategy.config.StrategyConfig;
import com.fr.esd.core.strategy.config.StrategyConfigHelper;
import com.fr.esd.core.strategy.config.service.StrategyConfigService;
@ -54,7 +54,6 @@ import com.fr.esd.event.DsNameTarget;
import com.fr.esd.event.StrategyEventsNotifier;
import com.fr.esd.query.StrategicTableData;
import com.fr.general.ComparatorUtils;
import com.fr.general.IOUtils;
import com.fr.general.sql.SqlUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.script.Calculator;
@ -247,10 +246,10 @@ public class DBTableDataPane extends AbstractTableDataPane<DBTableData> implemen
RTextScrollPane sqlTextScrollPane = new RTextScrollPane(this.sqlTextPane);
sqlTextScrollPane.setLineNumbersEnabled(true);
sqlTextScrollPane.setBorder(new UIRoundedBorder(UIManager.getColor("defaultBorderColor"), 1, UIConstants.ARC));
sqlTextScrollPane.setPreferredSize(new Dimension(680, 600));
sqlTextScrollPane.setPreferredSize(FineUIScale.scale(new Dimension(680, 600)));
JPanel paraMeanPane = new JPanel(new BorderLayout());
paraMeanPane.setPreferredSize(new Dimension(680, 90));
paraMeanPane.setPreferredSize(FineUIScale.scale(new Dimension(680, 90)));
UILabel paraMean = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Datasource_Param_DES"));
paraMeanPane.add(paraMean, BorderLayout.CENTER);
@ -340,7 +339,7 @@ public class DBTableDataPane extends AbstractTableDataPane<DBTableData> implemen
this.barErrorTips.setVisible(false);
esdSettingsBtn = new UIButton(Toolkit.i18nText("Fine-Design_ESD_Strategy_Config"));
esdSettingsBtn.setPreferredSize(new Dimension(72, 24));
esdSettingsBtn.setPreferredSize(FineUIScale.scale(new Dimension(72, 24)));
esdSettingsBtn.addActionListener(new ActionListener() {
@Override
@ -583,7 +582,7 @@ public class DBTableDataPane extends AbstractTableDataPane<DBTableData> implemen
protected class RefreshAction extends UITableEditAction {
public RefreshAction() {
setName(REFRESH_BUTTON);
setSmallIcon(IOUtils.readIcon("/com/fr/design/images/control/refresh.png"));
setSmallIcon(new LazyIcon("refresh"));
}

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

@ -13,11 +13,12 @@ import com.fr.general.DateUtils;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.StringUtils;
import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
@ -57,7 +58,8 @@ public class EmbeddedTableDataPane extends AbstractTableDataPane<EmbeddedTableDa
this.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
// prepare the data in this way as default if no arguments is passed in
dataJTable = new JTable(new EmbeddedTableModel(new EmbeddedTableData()));
EmbeddedTableModel tableModel = new EmbeddedTableModel(new EmbeddedTableData());
dataJTable = new JTable(tableModel);
scrollPane = new JScrollPane(dataJTable);
this.add(scrollPane, BorderLayout.CENTER);
@ -86,7 +88,6 @@ public class EmbeddedTableDataPane extends AbstractTableDataPane<EmbeddedTableDa
// peter:控制Panel
JPanel northPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
this.add(northPane, BorderLayout.NORTH);
//northPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 3, 0));
// kel:在左上角加一个JLabel用来显示坐标,方便用户查看。
coordinatelabel = new UILabel("0/0,0/0");
@ -104,8 +105,15 @@ public class EmbeddedTableDataPane extends AbstractTableDataPane<EmbeddedTableDa
selectedChanged();
}
});
initOtherNorthPaneComponents(northPane);
// 添加表模型监听器以监听行列变化更新按钮状态
tableModel.addTableModelListener(new TableModelListener() {
@Override
public void tableChanged(TableModelEvent e) {
checkButtonEnabled();
}
});
initOtherNorthPaneComponents(northPane);
}
private void initOtherNorthPaneComponents(JPanel northPane) {
@ -156,8 +164,19 @@ public class EmbeddedTableDataPane extends AbstractTableDataPane<EmbeddedTableDa
}
});
// 初始化时更新按钮状态
checkButtonEnabled();
}
/**
* 更新按钮状态
*/
private void checkButtonEnabled() {
// 表设计没有插入字段时有默认序号列
insertRowButton.setEnabled(dataJTable.getColumnCount() > 1);
removeRowButton.setEnabled(dataJTable.getRowCount() > 0);
}
@Override
protected String title4PopupWindow() {
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_DS_Embedded_TableData");

11
designer-base/src/main/java/com/fr/design/dialog/mobile/MobileRadioCheckPane.java

@ -6,8 +6,7 @@ import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.stable.StringUtils;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Component;
import java.util.ArrayList;
import java.util.List;
@ -30,16 +29,12 @@ public class MobileRadioCheckPane extends BasicBeanPane<Boolean> {
UICheckBox checkBox = new UICheckBox(title);
checkBox.setSelected(false);
checkBoxes.add(checkBox);
Component[][] components = new Component[][]{
new Component[]{checkBox}
};
JPanel fitOpsPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
fitOpsPane.setBorder(BorderFactory.createEmptyBorder(5, 0, 10, 0));
this.add(fitOpsPane);
this.setLayout(new BorderLayout());
this.add(TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize));
}
public int getCurrentState() {

9
designer-base/src/main/java/com/fr/design/editor/editor/BooleanEditor.java

@ -7,8 +7,8 @@ import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.layout.FRGUIPaneFactory;
import javax.swing.*;
import java.awt.*;
import javax.swing.JComponent;
import java.awt.BorderLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
@ -106,6 +106,11 @@ public class BooleanEditor extends Editor<Boolean> {
return "type_bool";
}
@Override
public String getIconId() {
return "type_boolean";
}
@Override
public boolean accept(Object object) {
return object instanceof Boolean;

7
designer-base/src/main/java/com/fr/design/editor/editor/ColumnIndexEditor.java

@ -3,7 +3,7 @@ package com.fr.design.editor.editor;
import com.fr.design.gui.icombobox.IntComboBox;
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
@ -57,6 +57,11 @@ public class ColumnIndexEditor extends Editor<Object> {
return "ds_column_index";
}
@Override
public String getIconId(){
return "ds_column_index";
}
/**
* object参数是否是Integer
*

9
designer-base/src/main/java/com/fr/design/editor/editor/ColumnNameEditor.java

@ -5,8 +5,8 @@ import com.fr.design.gui.icombobox.UIComboBoxRenderer;
import com.fr.stable.ArrayUtils;
import com.fr.stable.StringUtils;
import javax.swing.*;
import java.awt.*;
import javax.swing.JList;
import java.awt.Component;
/**
* 列编辑器里面是列名
@ -76,4 +76,9 @@ public class ColumnNameEditor extends ColumnIndexEditor {
return "ds_column_name";
}
@Override
public String getIconId() {
return "ds_column_name";
}
}

5
designer-base/src/main/java/com/fr/design/editor/editor/ColumnRowEditor.java

@ -68,6 +68,11 @@ public class ColumnRowEditor extends Editor<ColumnRow> {
return "cell";
}
@Override
public String getIconId() {
return "cellelement";
}
@Override
public boolean accept(Object object) {
return object instanceof ColumnRow;

7
designer-base/src/main/java/com/fr/design/editor/editor/ColumnSelectedEditor.java

@ -10,7 +10,7 @@ import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.general.data.TableDataColumn;
import com.fr.stable.StringUtils;
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.List;
@ -87,6 +87,11 @@ public class ColumnSelectedEditor extends Editor<SimpleDSColumn> implements Prep
return "ds_column";
}
@Override
public String getIconId() {
return "ds_column";
}
@Override
public boolean accept(Object object) {
return object instanceof SimpleDSColumn;

5
designer-base/src/main/java/com/fr/design/editor/editor/DateEditor.java

@ -168,6 +168,11 @@ public class DateEditor extends Editor<Date> {
public String getIconName() {
return "type_date";
}
@Override
public String getIconId() {
return "date";
}
public void setUIDatePickerStyle(int style){
this.uiDatePicker.setStyle(style);

26
designer-base/src/main/java/com/fr/design/editor/editor/Editor.java

@ -3,10 +3,12 @@
*/
package com.fr.design.editor.editor;
import com.fine.theme.icon.LazyIcon;
import com.fr.base.BaseUtils;
import com.fr.stable.StringUtils;
import javax.swing.*;
import javax.swing.JComponent;
import javax.swing.Icon;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
@ -35,15 +37,21 @@ public abstract class Editor<T> extends JComponent {
// 约定图片的文件名为this.getName(),处理起来方便些
// b:这里国际化没有考虑
public Icon getIcon() {
if (StringUtils.isEmpty(this.getIconName())) {
return null;
}
String iconName = "com/fr/design/images/buttonicon/" + this.getIconName() + ".png";
try {
return BaseUtils.readIcon(iconName);
} catch (NullPointerException e) {
return null;
if(null == this.getIconId()){
if (StringUtils.isEmpty(this.getIconName())) {
return null;
}
try {
return BaseUtils.readIcon("com/fr/design/images/buttonicon/" + this.getIconName() + ".png");
} catch (NullPointerException e) {
return null;
}
}
return new LazyIcon(this.getIconId());
}
public String getIconId(){
return null;
}
public String getName() {

10
designer-base/src/main/java/com/fr/design/editor/editor/FormulaEditor.java

@ -10,9 +10,10 @@ import com.fr.design.formula.UIFormula;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory;
import javax.swing.*;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.event.DocumentListener;
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
@ -139,6 +140,11 @@ public class FormulaEditor extends Editor<BaseFormula> {
return "type_formula";
}
@Override
public String getIconId() {
return "formula";
}
/**
* object是否是公司类型对象
*

5
designer-base/src/main/java/com/fr/design/editor/editor/IntegerEditor.java

@ -35,6 +35,11 @@ public class IntegerEditor extends NumberEditor<Integer> {
return "type_int";
}
@Override
public String getIconId(){
return "ds_column_index";
}
@Override
public void setValue(Integer value) {
if (value == null) {

7
designer-base/src/main/java/com/fr/design/editor/editor/NumberEditor.java

@ -8,7 +8,7 @@ import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.stable.StringUtils;
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
@ -110,6 +110,11 @@ public abstract class NumberEditor<T extends Number> extends Editor<T> {
return "type_double";
}
@Override
public String getIconId(){
return "type_double";
}
/**
* Request focus
*/

12
designer-base/src/main/java/com/fr/design/editor/editor/OldColumnIndexEditor.java

@ -8,8 +8,11 @@ import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.stable.StringUtils;
import javax.swing.*;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.JList;
import javax.swing.ListCellRenderer;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
@ -102,6 +105,11 @@ public class OldColumnIndexEditor extends Editor {
return "ds_column";
}
@Override
public String getIconId() {
return "ds_column";
}
@Override
public boolean accept(Object object) {
return object instanceof Integer || object instanceof String;

8
designer-base/src/main/java/com/fr/design/editor/editor/ParameterEditor.java

@ -4,8 +4,7 @@ import com.fr.base.Parameter;
import com.fr.design.gui.icombobox.ParameterComboBox;
import com.fr.design.layout.FRGUIPaneFactory;
import java.awt.*;
import java.awt.BorderLayout;
/**
* 参数Editor
@ -57,6 +56,11 @@ public class ParameterEditor extends Editor<Parameter> {
return "parameter";
}
@Override
public String getIconId() {
return "param";
}
@Override
public boolean accept(Object object) {
return object instanceof Parameter;

7
designer-base/src/main/java/com/fr/design/editor/editor/SpinnerIntegerEditor.java

@ -6,7 +6,7 @@ import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.stable.StringUtils;
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
@ -47,6 +47,11 @@ public class SpinnerIntegerEditor extends Editor<Integer> {
return "type_int";
}
@Override
public String getIconId(){
return "ds_column_index";
}
KeyListener textKeyListener = new KeyAdapter() {
public void keyReleased(KeyEvent evt) {

5
designer-base/src/main/java/com/fr/design/editor/editor/TextEditor.java

@ -147,6 +147,11 @@ public class TextEditor extends Editor<String> {
return "type_string";
}
@Override
public String getIconId() {
return "ds_column_name";
}
/**
* 判断object是否是字符类型
*

16
designer-base/src/main/java/com/fr/design/formula/FormulaPane.java

@ -1438,26 +1438,26 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula {
DefaultMutableTreeNode bindCellNode = new DefaultMutableTreeNode(new TextUserObject("$$$"));
rootNode.add(bindCellNode);
}
// todo: 缺一些icon
// 数据项
rootNode.add(new TextFolderUserObject(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaD_Data_Fields"),
BaseUtils.readIcon("/com/fr/design/images/dialog/table.png"),
new LazyIcon("dataItem"),
variableResolver.resolveColumnNames()).createMutableTreeNode());
// Set cutReport Variable
rootNode.add(new TextFolderUserObject(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaPane_Variables"),
BaseUtils.readIcon("/com/fr/design/images/dialog/variable.png"),
new LazyIcon("variable"),
variableResolver.resolveCurReportVariables()).createMutableTreeNode());
// 数据集参数
rootNode.add(new TextFolderUserObject(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Parameter_Source_Type_Tabledata"),
BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"),
new LazyIcon("param_global"),
variableResolver.resolveTableDataParameterVariables()).createMutableTreeNode());
// 报表参数
rootNode.add(new TextFolderUserObject(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_ParameterD_Report_Parameter"),
new LazyIcon("param"),
variableResolver.resolveReportParameterVariables()).createMutableTreeNode());
// 全局参数
rootNode.add(new TextFolderUserObject(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_M_Server_Global_Parameters"),
BaseUtils.readIcon("/com/fr/design/images/dialog/parameter.gif"),
new LazyIcon("param_global"),
variableResolver.resolveGlobalParameterVariables()).createMutableTreeNode());
variableModel.reload();

16
designer-base/src/main/java/com/fr/design/formula/FunctionManagerPane.java

@ -1,7 +1,6 @@
package com.fr.design.formula;
import com.fine.theme.icon.LazyIcon;
import com.fr.base.svg.IconUtils;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.data.tabledata.tabledatapane.ClassNameSelectPane;
import com.fr.design.dialog.BasicDialog;
@ -16,7 +15,6 @@ import com.fr.design.gui.itextarea.DescriptionTextArea;
import com.fr.design.gui.itextarea.UITextArea;
import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.file.FunctionConfig;
import com.fr.general.NameObject;
@ -25,8 +23,13 @@ import com.fr.stable.project.ProjectConstants;
import com.fr.stable.script.FunctionDef;
import com.fr.workspace.WorkContext;
import javax.swing.*;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.BorderFactory;
import javax.swing.SwingUtilities;
import javax.swing.JScrollPane;
import java.awt.BorderLayout;
import java.awt.Dialog;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
@ -35,7 +38,6 @@ import java.util.List;
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.flex;
import static com.fine.swing.ui.layout.Layouts.column;
public class FunctionManagerPane extends BasicPane {
@ -102,9 +104,7 @@ public class FunctionManagerPane extends BasicPane {
@Override
public NameableCreator[] createNameableCreators() {
NameableCreator funcDef = new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Function"),
new LazyIcon("function_manage"),
FunctionDef.class,
FunctionContentPane.class);
new LazyIcon("param"), FunctionDef.class, FunctionContentPane.class);
return new NameableCreator[]{funcDef};
}

6
designer-base/src/main/java/com/fr/design/fun/PreviewProvider.java

@ -38,6 +38,12 @@ public interface PreviewProvider extends Mutable, Filter<JTemplate> {
*/
String iconPathForLarge();
/**
* 下拉弹出菜单的图标Id
* @return 图标Id
*/
String iconIdForPopupItem();
/**
* 点击下拉菜单时触发的事件
* @param jt 当前的模板对象

6
designer-base/src/main/java/com/fr/design/gui/controlpane/NameableSelfCreator.java

@ -3,19 +3,13 @@ package com.fr.design.gui.controlpane;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.gui.ilist.ListModelElement;
import com.fr.stable.Nameable;
import javax.swing.Icon;
public abstract class NameableSelfCreator extends AbstractNameableCreator {
public NameableSelfCreator(String menuName, Class clazz, Class<? extends BasicBeanPane> updatePane) {
super(menuName, clazz, updatePane);
}
public NameableSelfCreator(String menuName, String iconPath, Class clazz, Class<? extends BasicBeanPane> updatePane) {
super(menuName, iconPath, clazz, updatePane);
}
public NameableSelfCreator(String menuName, Icon icon, Class clazz, Class<? extends BasicBeanPane> updatePane) {
super(menuName, icon, clazz, updatePane);

6
designer-base/src/main/java/com/fr/design/gui/frpane/ObjectProperiesPane.java

@ -37,7 +37,7 @@ public class ObjectProperiesPane extends BasicBeanPane<ListMap> {
this.addButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Add") + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Property"),
new LazyIcon("add"));
buttonPane.add(this.addButton, BorderLayout.WEST);
buttonPane.setPreferredSize(new Dimension(0, 24));
buttonPane.setPreferredSize(FineUIScale.scale(new Dimension(0, 24)));
//this.add(buttonPane, BorderLayout.NORTH);
this.addButton.addActionListener(new ActionListener() {
@ -63,8 +63,8 @@ public class ObjectProperiesPane extends BasicBeanPane<ListMap> {
centerPane.add(selectedItemScrollPane);
//this.add(centerPane, BorderLayout.CENTER);
this.add(column(4,
cell(buttonPane).weight(92),
cell(centerPane).weight(465)
cell(buttonPane),
cell(centerPane).weight(1.0)
).getComponent());
}

12
designer-base/src/main/java/com/fr/design/gui/isplitpanedivider/UISplitPaneDivider.java

@ -1,5 +1,6 @@
package com.fr.design.gui.isplitpanedivider;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fr.design.utils.ThemeUtils;
import javax.swing.*;
@ -49,6 +50,17 @@ public class UISplitPaneDivider extends BasicSplitPaneDivider {
}
super.paint(g);
paintStyle( g, 0, 0, getWidth(), getHeight() );
}
protected void paintStyle( Graphics g, int x, int y, int width, int height ) {
Object[] oldRenderingHints = FlatUIUtils.setRenderingHints( g );
//g.setColor( gripColor );
//paintGrip( g, x, y, width, height );
FlatUIUtils.resetRenderingHints( g, oldRenderingHints );
}
/**

5
designer-base/src/main/java/com/fr/design/gui/style/FollowingThemePane.java

@ -1,5 +1,6 @@
package com.fr.design.gui.style;
import com.fine.theme.utils.FineUIScale;
import com.fr.base.theme.TemplateTheme;
import com.fr.design.dialog.BasicPane;
import com.fr.design.event.UIObserver;
@ -45,7 +46,7 @@ public class FollowingThemePane extends BasicPane implements UIObserver {
public FollowingThemePane(String name) {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
this.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 10));
followingThemeButtonGroup = new UIButtonGroup<>(FOLLOWING_THEME_STRING_ARRAYS);
followingThemeButtonGroup.setAutoFireStateChanged(false);
@ -74,7 +75,7 @@ public class FollowingThemePane extends BasicPane implements UIObserver {
double f = TableLayout.FILL;
JPanel followingThemePane =
TableLayoutHelper.createGapTableLayoutPane( new Component[][]{new Component[] { followingThemeLabel, FRGUIPaneFactory.createBorderLayoutNorthPaneWithComponent(followingThemeButtonGroup)}},
new double[] { p }, new double[] { SETTING_LABEL_WIDTH, f }, 10, 0);
new double[] { p }, new double[] {FineUIScale.scale(SETTING_LABEL_WIDTH), f }, 10, 0);
followingThemePane.setVisible(false);
add(followingThemePane, BorderLayout.NORTH);

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

@ -2,6 +2,7 @@ package com.fr.design.hyperlink;
import com.fine.theme.utils.FineUIUtils;
import com.fr.base.BaseUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.base.Parameter;
import com.fr.design.dialog.FineJOptionPane;
import com.fr.design.gui.frpane.ReportletParameterViewPane;
@ -119,7 +120,7 @@ public class ReportletHyperlinkPane extends AbstractHyperLinkPane<ReportletHyper
protected class HyperlinkParametersAction extends UITableEditAction {
public HyperlinkParametersAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Template_Parameter"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_report/p.gif"));
this.setSmallIcon(new LazyIcon("param"));
}
@Override

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

@ -1,8 +1,8 @@
package com.fr.design.hyperlink.popup;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIUtils;
import com.fr.base.BaseFormula;
import com.fr.base.BaseUtils;
import com.fr.base.Parameter;
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.DialogActionAdapter;
@ -20,15 +20,18 @@ import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.module.DesignModuleFactory;
import com.fr.design.parameter.ParameterReader;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.js.MobilePopupHyperlink;
import com.fr.stable.CommonUtils;
import com.fr.stable.FormulaProvider;
import com.fr.stable.ParameterProvider;
import com.fr.stable.StringUtils;
import javax.swing.*;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.ButtonGroup;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
@ -236,7 +239,7 @@ public class ContentSettingPane extends AbstractHyperLinkPane<MobilePopupHyperli
private class HyperlinkParametersAction extends UITableEditAction {
public HyperlinkParametersAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Template_Parameter"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_report/p.gif"));
this.setSmallIcon(new LazyIcon("param"));
}
@Override

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

@ -3,8 +3,12 @@ package com.fr.design.hyperlink.popup;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.mainframe.widget.UITitleSplitLine;
import javax.swing.*;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.JComponent;
import javax.swing.BorderFactory;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.cell;

3
designer-base/src/main/java/com/fr/design/javascript/EmailPane.java

@ -1,5 +1,6 @@
package com.fr.design.javascript;
import com.fine.theme.utils.FineUIStyle;
import com.fr.config.EmailServerConfig;
import com.fr.design.beans.FurtherBasicBeanPane;
import com.fr.design.constants.UIConstants;
@ -49,7 +50,7 @@ public class EmailPane extends FurtherBasicBeanPane<EmailJavaScript> {
this.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 10));
tipsPane1 = new UILabel();
tipsPane1.setHorizontalAlignment(SwingConstants.LEFT);
tipsPane1.setForeground(Color.gray);
FineUIStyle.setStyle(tipsPane1, FineUIStyle.LABEL_WARNING_TIP);
tipsPane2 = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_EmailPane_Tips"));
UILabel mainTextLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_EmailPane_Mail_Content"));

126
designer-base/src/main/java/com/fr/design/javascript/ExportJavaScriptPane.java

@ -1,9 +1,10 @@
package com.fr.design.javascript;
import com.fine.theme.utils.FineUIScale;
import com.fr.base.BaseFormula;
import com.fr.base.Parameter;
import com.fr.base.extension.FileExtension;
import com.fr.design.border.UITitledBorder;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.DialogActionAdapter;
@ -35,9 +36,12 @@ import com.fr.js.SingleJavaScript;
import com.fr.stable.ParameterProvider;
import com.fr.stable.StringUtils;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.CardLayout;
import java.awt.Component;
import javax.swing.AbstractButton;
import javax.swing.AbstractCellEditor;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JList;
@ -51,9 +55,6 @@ import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableCellRenderer;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
@ -67,6 +68,12 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
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.row;
import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.theme.utils.FineUIUtils.wrapComponentWithTitle;
public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript> {
private ExportRadioGroup templateRadioGroup;
@ -114,31 +121,22 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript
public CurrentTemplatePane() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(UITitledBorder.createBorderWithTitle(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Template_Current")));
JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
//导出方式
JPanel exportTypePane = initExportTypePane();
northPane.add(exportTypePane, BorderLayout.CENTER);
//导出文件名
JPanel fileNamePane = initFileNamePane();
northPane.add(fileNamePane, BorderLayout.SOUTH);
//参数
JPanel centerPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
JPanel paramsPane = initParamsPane();
centerPane.add(paramsPane);
this.add(northPane, BorderLayout.NORTH);
this.add(centerPane, BorderLayout.CENTER);
this.add(column(LayoutConstants.VERTICAL_GAP,
//导出方式
cell(initExportTypePane()),
//命名方式
cell(initFileNamePane()),
//参数
cell(initParamsPane())
).getComponent());
}
private JPanel initParamsPane() {
UILabel parameterLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Parameters_Setting") + ':');
UILabel parameterLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Parameters_Setting"));
extendParametersCheckBox = new UICheckBox(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Extend_Parameters"));
extendParametersCheckBox.setSelected(true);
parameterViewPane = new ReportletParameterViewPane(getChartParaType(), getValueEditorPane(), getValueEditorPane());
parameterViewPane.setPreferredSize(FineUIScale.scale(new Dimension(-1, 200)));
parameterViewPane.setVisible(false);
addListener(parameterViewPane);
extendParametersCheckBox.addItemListener(new ItemListener() {
@ -147,19 +145,14 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript
parameterViewPane.setVisible(e.getStateChange() == ItemEvent.DESELECTED);
}
});
JPanel paramsPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
Component[][] components = new Component[][]{{parameterLabel, extendParametersCheckBox}};
JPanel paramsCheckPane = TableLayoutHelper.createTableLayoutPane(components, new double[]{p}, new double[]{p, p});
paramsCheckPane.setBorder(BorderFactory.createEmptyBorder(0, 2, 5, 2));
JPanel dynamicPaneWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane();
dynamicPaneWrapper.add(parameterViewPane);
paramsPane.add(paramsCheckPane, BorderLayout.NORTH);
paramsPane.add(dynamicPaneWrapper, BorderLayout.CENTER);
return paramsPane;
return column(LayoutConstants.VERTICAL_GAP,
row(cell(parameterLabel).weight(0.1), cell(extendParametersCheckBox).weight(0.2), flex(0.7)),
cell(parameterViewPane)
).getComponent();
}
private JPanel initFileNamePane() {
UILabel nameLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Filename") + ":");
UILabel nameLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Filename"));
fileNameRadioGroup = new ExportRadioGroup();
defaultNameRadio = new UIRadioButton(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Filename_Default"));
defaultNameRadio.setSelected(true);
@ -184,18 +177,14 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript
}
}
});
Component[][] components = new Component[][]{{nameLabel, defaultNameRadio, customNameRadio, fileNameFormulaEditor}};
JPanel fileNameRadioPane = TableLayoutHelper.createTableLayoutPane(components, new double[]{p}, new double[]{p, p, p, p});
JPanel fileNameTipPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
fileNameTipPane.add(fileNameTipLabel);
JPanel fileNamePane = FRGUIPaneFactory.createBorderLayout_S_Pane();
fileNamePane.add(fileNameRadioPane, BorderLayout.NORTH);
fileNamePane.add(fileNameTipPane, BorderLayout.CENTER);
fileNameTipPane.setBorder(BorderFactory.createEmptyBorder(5, 2, 5, 2));
fileNamePane.setBorder(BorderFactory.createEmptyBorder(5, 2, 5, 2));
return fileNamePane;
return column(LayoutConstants.HORIZONTAL_GAP,
row(
cell(nameLabel).weight(0.1),
cell(defaultNameRadio).weight(0.15),
row(LayoutConstants.HGAP_LARGE, cell(customNameRadio), cell(fileNameFormulaEditor)).weight(0.75)
),
cell(fileNameTipLabel)
).getComponent();
}
public void updateSingleJavaScript(SingleJavaScript js){
js.setTemplatePath(DEFAULT);
@ -241,14 +230,10 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript
}
}
private JPanel initExportTypePane() {
UILabel typeLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Type") + ":");
UILabel typeLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Type"));
exportTypeComboBox = getComboBoxWithModel(new String[]{ExportJavaScript.EXPORT_PDF, ExportJavaScript.EXPORT_EXCEL_PAGE, ExportJavaScript.EXPORT_EXCEL_SIMPLE, ExportJavaScript.EXPORT_EXCEL_SHEET, ExportJavaScript.EXPORT_WORD, ExportJavaScript.EXPORT_IMAGE}
, EXPORT_TYPES_MAP);
Component[][] components = new Component[][]{{typeLabel, exportTypeComboBox}};
JPanel exportTypePane = TableLayoutHelper.createTableLayoutPane(components, new double[]{p}, new double[]{p, p});
exportTypePane.setBorder(BorderFactory.createEmptyBorder(5, 2, 5, 2));
return exportTypePane;
return row(cell(typeLabel).weight(0.1), cell(exportTypeComboBox).weight(0.5), flex(0.4)).getComponent();
}
@Override
@ -265,12 +250,10 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript
public OtherTemplatePane() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(UITitledBorder.createBorderWithTitle(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Template_Other")));
editorPane = new UITableEditorPane<>(new ExportJSTableModel());
editorPane.setHeaderResizing(false);
this.add(editorPane, BorderLayout.CENTER);
editorPane.setPreferredSize(FineUIScale.scale(new Dimension(-1,300)));
this.add(wrapComponentWithTitle(editorPane, Toolkit.i18nText("Fine-Design_Basic_Export_JS_Template_Other")));
}
public void reset() {
@ -769,14 +752,6 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript
}
private void initComponents() {
JPanel totalPanel = FRGUIPaneFactory.createBorderLayout_S_Pane();
totalPanel.setBorder(UITitledBorder.createBorderWithTitle(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Setting")));
// 导出模板
JPanel northPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
JPanel chooseTemplatePane = initChooseTemplatePane();
northPane.add(chooseTemplatePane, BorderLayout.NORTH);
// 默认当前模板
currentTemplatePane = new CurrentTemplatePane();
otherTemplatePane = new OtherTemplatePane();
@ -785,16 +760,18 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript
templatePanel.setLayout(card);
templatePanel.add(CURRENT_TEMPLATE, currentTemplatePane);
templatePanel.add(OTHER_TEMPLATE, otherTemplatePane);
totalPanel.add(northPane, BorderLayout.NORTH);
totalPanel.add(templatePanel, BorderLayout.CENTER);
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.add(totalPanel);
JPanel exportPanel = new JPanel(new BorderLayout());
exportPanel.add(column(LayoutConstants.VERTICAL_GAP, cell(initChooseTemplatePane()), cell(templatePanel)).getComponent());
this.add(wrapComponentWithTitle(exportPanel, Toolkit.i18nText("Fine-Design_Basic_Export_JS_Setting")), BorderLayout.CENTER);
}
/**
* 导出模板
* @return
*/
private JPanel initChooseTemplatePane() {
UILabel templateLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Template") + ":");
UILabel templateLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Template"));
templateRadioGroup = new ExportRadioGroup();
currentTemplateRadio = new UIRadioButton(Toolkit.i18nText("Fine-Design_Basic_Export_JS_Template_Current"));
currentTemplateRadio.setSelected(true);
@ -816,14 +793,7 @@ public class ExportJavaScriptPane extends AbstractHyperLinkPane<ExportJavaScript
}
}
});
Component[][] components = new Component[][]{{templateLabel, currentTemplateRadio, otherTemplateRadio}};
JPanel reportletRadioPane = TableLayoutHelper.createTableLayoutPane(components, new double[]{p}, new double[]{p, p, p});
JPanel chooseTemplatePane = FRGUIPaneFactory.createLeftFlowZeroGapBorderPane();
chooseTemplatePane.add(reportletRadioPane, BorderLayout.NORTH);
chooseTemplatePane.setBorder(BorderFactory.createEmptyBorder(0, 7, 5, 2));
return chooseTemplatePane;
return row(cell(templateLabel).weight(0.1), cell(currentTemplateRadio).weight(0.15), cell(otherTemplateRadio).weight(0.15), flex(0.6)).getComponent();
}
@Override

13
designer-base/src/main/java/com/fr/design/javascript/JSContentPane.java

@ -1,6 +1,7 @@
package com.fr.design.javascript;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.border.UIRoundedBorder;
@ -24,7 +25,6 @@ import com.fr.design.javascript.jsapi.JSImplPopulateAction;
import com.fr.design.javascript.jsapi.JSImplUpdateAction;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.DesignerContext;
import com.fr.general.IOUtils;
import com.fr.js.JavaScriptImpl;
import javax.swing.BorderFactory;
@ -100,7 +100,7 @@ public class JSContentPane extends BasicPane {
private void addNewPaneLabel(){
UILabel advancedEditorLabel = new UILabel(Toolkit.i18nText("Fine-Design_Advanced_Editor"), new LazyIcon("advanced_editor"), SwingConstants.LEFT);
UILabel advancedEditorLabel = new UILabel(Toolkit.i18nText("Fine-Design_Advanced_Editor"), new LazyIcon("edit"), SwingConstants.LEFT);
advancedEditorLabel.setCursor(new Cursor(Cursor.HAND_CURSOR));
advancedEditorLabel.addMouseListener(new MouseAdapter() {
@Override
@ -163,7 +163,7 @@ public class JSContentPane extends BasicPane {
}
protected JPanel createJSParaPane(){
UILabel label = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Format_JavaScript"), IOUtils.readIcon("com/fr/design/images/edit/format.png"), SwingConstants.LEFT);
UILabel label = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Format_JavaScript"), new LazyIcon("formatBrush"), SwingConstants.LEFT);
label.setCursor(new Cursor(Cursor.HAND_CURSOR));
label.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Format_JavaScript"));
label.addMouseListener(new MouseAdapter() {
@ -190,12 +190,13 @@ public class JSContentPane extends BasicPane {
labelPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10));
labelPane.add(label,BorderLayout.CENTER);
JPanel jsParaPane = new JPanel(new BorderLayout());
funNameLabel.setBackground(FineUIUtils.getUIColor("background.normal", "background.normal"));
UIScrollPane scrollPane = new UIScrollPane(funNameLabel);
scrollPane.setOpaque(true);
scrollPane.setBorder(new UIRoundedBorder(UIConstants.TITLED_BORDER_COLOR, 1, UIConstants.ARC));
jsParaPane.add(row(10,
cell(scrollPane).weight(0.6),
cell(labelPane).weight(0.4)
cell(scrollPane).weight(0.55),
cell(labelPane).weight(0.45)
).getComponent());
return jsParaPane;
}

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

@ -9,7 +9,6 @@ import com.fr.base.io.BaseBook;
import com.fr.base.iofile.attr.DesignBanCopyAttrMark;
import com.fr.base.iofile.attr.TemplateIdAttrMark;
import com.fr.base.iofile.attr.TemplateThemeAttrMark;
import com.fr.base.svg.IconUtils;
import com.fr.base.theme.TemplateTheme;
import com.fr.base.theme.TemplateThemeCompatible;
import com.fr.base.theme.TemplateThemeConfig;
@ -1459,8 +1458,7 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
*/
public Icon getPreviewLargeIcon() {
PreviewProvider provider = getPreviewType();
String iconPath = provider.iconPathForLarge();
return IconUtils.readIcon(iconPath);
return new LazyIcon(provider.iconIdForPopupItem(), 32);
}
/**

5
designer-base/src/main/java/com/fr/design/mainframe/widget/editors/DataBindingEditor.java

@ -156,4 +156,9 @@ public class DataBindingEditor extends Editor<DataBinding> {
public String getIconName() {
return "bind_ds_column";
}
@Override
public String getIconId() {
return "bind_column";
}
}

5
designer-base/src/main/java/com/fr/design/mainframe/widget/editors/DataTableEditor.java

@ -81,4 +81,9 @@ public class DataTableEditor extends Editor<DataTableConfig> {
return "bind_ds_column";
}
@Override
public String getIconId() {
return "bind_column";
}
}

1
designer-base/src/main/java/com/fr/design/parameter/ParameterArrayPane.java

@ -3,7 +3,6 @@ package com.fr.design.parameter;
import com.fine.theme.icon.LazyIcon;
import com.fr.base.Parameter;
import com.fr.base.ParameterConfig;
import com.fr.base.svg.IconUtils;
import com.fr.design.gui.controlpane.JListControlPane;
import com.fr.design.gui.controlpane.NameableCreator;
import com.fr.design.gui.controlpane.NameableSelfCreator;

5
designer-base/src/main/java/com/fr/design/preview/FormPreview.java

@ -26,6 +26,11 @@ public class FormPreview extends AbstractPreviewProvider {
return "/com/fr/design/standard/preview/run24.svg";
}
@Override
public String iconIdForPopupItem() {
return "default";
}
@Override
public int previewTypeCode() {
return PREVIEW_TYPE;

5
designer-base/src/main/java/com/fr/design/preview/MobilePreview.java

@ -27,6 +27,11 @@ public class MobilePreview extends AbstractPreviewProvider {
return "/com/fr/design/standard/preview/mobileb24.svg";
}
@Override
public String iconIdForPopupItem() {
return "preview_mobile";
}
@Override
public int previewTypeCode() {
return PREVIEW_TYPE;

5
designer-base/src/main/java/com/fr/design/preview/PagePlusPreview.java

@ -27,6 +27,11 @@ public class PagePlusPreview extends AbstractPreviewProvider {
return "com/fr/design/images/buttonicon/pageb24.png";
}
@Override
public String iconIdForPopupItem() {
return "default";
}
@Override
public int previewTypeCode() {
return CODE;

5
designer-base/src/main/java/com/fr/design/preview/PagePreview.java

@ -25,6 +25,11 @@ public class PagePreview extends AbstractPreviewProvider {
return "/com/fr/design/standard/preview/pageb24.svg";
}
@Override
public String iconIdForPopupItem() {
return "preview_paging";
}
@Override
public int previewTypeCode() {
return IOFile.DEFAULT_PREVIEW_TYPE;

5
designer-base/src/main/java/com/fr/design/preview/ViewPreview.java

@ -28,6 +28,11 @@ public class ViewPreview extends AbstractPreviewProvider {
return "/com/fr/design/standard/preview/anab24.svg";
}
@Override
public String iconIdForPopupItem() {
return "data_analysis";
}
@Override
public int previewTypeCode() {
return IOFile.ANA_PREVIEW_TYPE;

5
designer-base/src/main/java/com/fr/design/preview/WritePreview.java

@ -28,6 +28,11 @@ public class WritePreview extends AbstractPreviewProvider {
return "/com/fr/design/standard/preview/writeb24.svg";
}
@Override
public String iconIdForPopupItem() {
return "preview_write";
}
@Override
public int previewTypeCode() {
return IOFile.WRITE_PREVIEW_TYPE;

25
designer-base/src/main/java/com/fr/design/report/WatermarkPane.java

@ -2,7 +2,6 @@ package com.fr.design.report;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.BaseFormula;
@ -100,27 +99,15 @@ public class WatermarkPane extends BasicPane {
cell(previewPaneWrapper)
).getComponent();
// 分割线
JPanel separatorLine = new JPanel();
separatorLine.setBorder(FineBorderFactory.createDefaultUnderlineBorder());
//在预览与配置外创建一个大的外边框并设置边距
JPanel innerPanel = row(
LayoutConstants.HORIZONTAL_GAP,
cell(leftPane).weight(0.55),
cell(wrapComponentWithTitle(getRightPane(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Config"))).weight(0.45)
).with(it -> it.setBorder(new ScaledEmptyBorder(10,10,10,10))).getComponent();
JPanel outerPanel = new JPanel(new BorderLayout());
outerPanel.setBorder(new FineRoundBorder());
outerPanel.setBackground(FineUIUtils.getUIColor("fill.gray", "defaultBorderColor"));
outerPanel.add(innerPanel);
// 分割线下方,左侧预览,右侧配置
JPanel centerPanel = column(LayoutConstants.VERTICAL_GAP,
cell(separatorLine),
cell(outerPanel)
cell(new JPanel()).with(it -> it.setBorder(FineBorderFactory.createDefaultUnderlineBorder())),
row(LayoutConstants.HORIZONTAL_GAP,
cell(leftPane).weight(0.55),
cell(wrapComponentWithTitle(getRightPane(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Config"))).weight(0.45)
)
).with(it -> it.setBorder(new ScaledEmptyBorder(0, 10, 0, 10))
).getComponent();
centerPanel.setBorder(new ScaledEmptyBorder(0, 10, 0, 10));
this.add(centerPanel, BorderLayout.CENTER);
}

16
designer-base/src/main/java/com/fr/design/report/fit/FormFitConfigPane.java

@ -1,7 +1,7 @@
package com.fr.design.report.fit;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIStyle;
import com.fr.base.svg.SVGLoader;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.ibutton.UIRadioButton;
import com.fr.design.gui.ilable.UILabel;
@ -14,12 +14,10 @@ import com.fr.report.fit.ReportFitAttr;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
@ -29,10 +27,8 @@ import static com.fine.swing.ui.layout.Layouts.column;
public class FormFitConfigPane extends ReportFitConfigPane {
private static final int ICON_OFFSET_X = 25;
private static final int ICON_OFFSET_Y = 3;
private static final int ICON_OFFSET_Y = 2;
private static final int ICON_SIZE = 16;
//待调整
private static final Image HOVER_IMAGE = SVGLoader.load("/com/fr/design/icon/icon_ec_default_fit.svg");
private static final int DEFAULT_ITEM = 0;
private static final int CUSTOM_ITEM = 1;
@ -129,10 +125,14 @@ public class FormFitConfigPane extends ReportFitConfigPane {
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(HOVER_IMAGE, calculateStartX() + ICON_OFFSET_X, ICON_OFFSET_Y, null);
new LazyIcon("detail").paintIcon(this, g, calculateStartX() + ICON_OFFSET_X, ICON_OFFSET_Y);
}
private int calculateStartX() {
/**
* 默认文本宽度
* @return
*/
private int calculateStartX() {
FontMetrics metrics = this.getFontMetrics(this.getFont());
return metrics.stringWidth(this.getText());
}

3
designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java

@ -1,5 +1,6 @@
package com.fr.design.update.ui.dialog;
import com.fine.theme.utils.FineUIScale;
import com.fr.decision.update.data.UpdateConstants;
import com.fr.decision.update.info.UpdateCallBack;
import com.fr.decision.update.info.UpdateProgressCallBack;
@ -295,7 +296,7 @@ public class UpdateMainDialog extends UIDialog {
loadingLabel = new LoadingLabel();
loadingLabel.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Updater_Checking_Jar_Update"));
updateButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Updater_Update"));
updateButton.setPreferredSize(UPDATE_BUTTON);
updateButton.setPreferredSize(FineUIScale.scale(UPDATE_BUTTON));
updateButton.setEnabled(false);
double[] rowSize = {TableLayout.PREFERRED};

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

@ -43,16 +43,17 @@ public abstract class CustomJobPane extends BasicBeanPane {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
JPanel reportletNamePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane();
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"));
browserButton.setPreferredSize(new Dimension(
GraphHelper.getWidth(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Select")) + 40,
classNameTextField.getPreferredSize().height));
FineUIScale.scale(24)));
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,
classNameTextField.getPreferredSize().height));
FineUIScale.scale(24)));
UITextArea area = new UITextArea(2, 1);
@ -95,22 +96,21 @@ public abstract class CustomJobPane extends BasicBeanPane {
reportletNamePane.setLayout(new BorderLayout());
reportletNamePane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
reportletNamePane.setPreferredSize(new Dimension(0, FineUIScale.scale(24)));
//reportletNamePane.setPreferredSize(new Dimension(0, FineUIScale.scale(24)));
reportletNamePane.add(row(4,
cell(classNameTextField).weight(222),
cell(browserButton).weight(48),
cell(editButton).weight(48),
flex(139)
).getComponent());
cell(classNameTextField).weight(1.0),
cell(browserButton),
cell(editButton)
).getComponent(), BorderLayout.CENTER);
objectProperiesPane = new ObjectProperiesPane();
JPanel dsPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
dsPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
dsPane.add(area);
this.add(column(20,
cell(FineUIUtils.wrapComponentWithTitle(reportletNamePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Class_Name"))).weight(55),
cell(FineUIUtils.wrapComponentWithTitle(objectProperiesPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Property"))).weight(227),
cell(FineUIUtils.wrapComponentWithTitle(dsPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Custom_Job_Description"))).weight(71)
cell(FineUIUtils.wrapComponentWithTitle(reportletNamePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Class_Name"))),
cell(FineUIUtils.wrapComponentWithTitle(objectProperiesPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Property"))).weight(1.0),
cell(FineUIUtils.wrapComponentWithTitle(dsPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Custom_Job_Description")))
).getComponent());
checkAddButtonEnable();
}

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

@ -1,10 +1,11 @@
package com.fr.design.write.submit;
import com.fine.swing.ui.layout.Layouts;
import com.fine.theme.icon.LazyIcon;
import com.fine.swing.ui.layout.Spacer;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils;
import com.fr.base.BaseFormula;
import com.fr.base.BaseUtils;
import com.fr.base.Parameter;
import com.fr.data.DataConstants;
import com.fr.data.condition.JoinCondition;
@ -17,8 +18,10 @@ import com.fr.design.constants.UIConstants;
import com.fr.design.data.datapane.ChoosePaneSupportFormula;
import com.fr.design.data.datapane.DataBaseItems;
import com.fr.design.data.tabledata.tabledatapane.FormatExplanationPane;
import com.fr.design.dialog.AttrScrollPane;
import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.BasicScrollPane;
import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.dialog.FineJOptionPane;
import com.fr.design.editor.ValueEditorPane;
@ -95,14 +98,14 @@ import java.util.EventObject;
import java.util.List;
import java.util.stream.Collectors;
import static com.fine.swing.ui.layout.Layouts.fix;
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.column;
//august:这个东西应该分成两类,一类是有单元格的情况,一类是没有单元格的情况
public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
private static final Image ICODS_IMAGE = BaseUtils.readImage("/com/fr/web/core/css/images/icons.png");
private static final Icon HEIP_ICON = BaseUtils.createIcon(ICODS_IMAGE, 193, 1, 14, 14);
private static final Icon HEIP_ICON = new LazyIcon("jumpHelp");
private static final int DEFAULT_RETURN_VALUE = 4;
public KeyColumnNameValueTable keyColumnValuesTable;
private UIComboBox columnsComboBox; // 用于编辑ColumnName的Editor
@ -160,36 +163,42 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Choose_Submit_Type"))),
cell(dmlConfigComboBox)).getComponent());
chooseTable = new ChoosePaneSupportFormula();
chooseTable.setTableNameComboBoxPopSize(160, 320);
chooseTable.setTableNameComboBoxPopSize(FineUIScale.scale(160), FineUIScale.scale(320));
// peter:编辑的TablePane
JPanel editTablePane = FRGUIPaneFactory.createBorderLayout_S_Pane();
editTablePane.setBounds(0, 0, FineUIScale.scale(280), FineUIScale.scale(180));
keyColumnValuesTable = new KeyColumnNameValueTable();
editTablePane.add(new UIScrollPane(this.keyColumnValuesTable), BorderLayout.CENTER);
editTablePane.add(new UIScrollPane(keyColumnValuesTable), BorderLayout.CENTER);
keyColumnValuesTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
keyColumnValuesTable.setPreferredScrollableViewportSize(new Dimension(280, 150));
keyColumnValuesTable.setPreferredScrollableViewportSize(FineUIScale.scale(new Dimension(280, 150)));
keyColumnValuesTable.setShowHorizontalLines(true);
DefaultTableCellHeaderRenderer headerRenderer = new DefaultTableCellHeaderRenderer();
headerRenderer.setHorizontalAlignment(SwingConstants.LEFT);
keyColumnValuesTable.getTableHeader().setDefaultRenderer(headerRenderer);
northPane.add(column(10, true,
northPane.add(column(10,
cell(FineUIUtils.wrapComponentWithTitle(typePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Write_Submit_Type"))),
cell(FineUIUtils.wrapComponentWithTitle(chooseTable, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Table"))))
.getComponent());
this.add(column(10, true,
cell(northPane),
cell(FineUIUtils.wrapComponentWithTitle(editTablePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Value"))))
.getComponent());
JPanel bottomPane = initBottomPane();
this.add(new AttrScrollPane() {
@Override
protected JPanel createContentPane() {
JPanel contentPane = new JPanel(new BorderLayout());
contentPane.add(column(10,
cell(northPane),
cell(FineUIUtils.wrapComponentWithTitle(editTablePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Base_Value"))),
cell(bottomPane))
.getComponent(), BorderLayout.CENTER);
return contentPane;
}
});
initJTableColumn();
addButtons(editTablePane);
addBottomPane();
addListeners();
}
@ -257,18 +266,19 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
UpdateCheckBox.setEnabled(b);
}
private void addBottomPane() {
JPanel eventPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
eventPane.add(addEventButton());
private JPanel initBottomPane() {
JPanel eventPane = new JPanel(new BorderLayout());
eventPane.setPreferredSize(createControlBtnPanePreferredSize());
eventPane.add(addEventButton(), BorderLayout.WEST);
JPanel conditionPane = this.createConditionPane();
JPanel btPane = new JPanel(FRGUIPaneFactory.createBorderLayout());
btPane.add(column(
btPane.add(column(5,
cell(FineUIUtils.wrapComponentWithTitle(conditionPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Submit_Condition"))),
cell(eventPane)
).getComponent());
this.add(btPane, BorderLayout.SOUTH);
return btPane;
}
private UIButton addEventButton() {
@ -296,7 +306,6 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
private JPanel createConditionPane() {
JPanel conditionPane = new JPanel();
conditionPane.setPreferredSize(createConditionPanePreferredSize());
setBorderAndLayout(conditionPane);
@ -308,7 +317,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
DefaultTreeCellRenderer cr = (DefaultTreeCellRenderer) conditionsTree.getCellRenderer();
cr.setForeground(UIConstants.NORMAL_BACKGROUND);
JScrollPane jp = new JScrollPane(conditionsTree);
jp.setPreferredSize(FineUIScale.scale(new Dimension(0, 40)));
UIButton addSubmitConditionButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Set_Submit_Condition"));
addSubmitConditionButton.addActionListener(new ActionListener() {
@Override
@ -337,12 +346,12 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
});
JPanel controlBtnPane = new JPanel(new GridLayout(1, 1, 4, 4));
controlBtnPane.setPreferredSize(createControlBtnPanePreferredSize());
controlBtnPane.add(addSubmitConditionButton);
JPanel controlBtnPane = new JPanel(new BorderLayout());
controlBtnPane.setPreferredSize(FineUIScale.scale(new Dimension(122, 20)));
controlBtnPane.add(addSubmitConditionButton, BorderLayout.NORTH);
conditionPane.add(row(
cell(jp).weight(0.76),
column(cell(controlBtnPane).weight(0.4),cell(new UILabel()).weight(0.6)).weight(0.24)
cell(jp).weight(1.0),
cell(new Spacer(122).add(controlBtnPane))
).getComponent());
return conditionPane;
@ -358,7 +367,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
protected Dimension createConditionPanePreferredSize() {
return new Dimension(454, 80);
return FineUIScale.scale(new Dimension(454, 80));
}
protected Dimension createControlBtnPanePreferredSize() {

5
designer-base/src/main/java/com/fr/design/write/submit/SubmitJobListPane.java

@ -1,6 +1,7 @@
package com.fr.design.write.submit;
import com.fine.theme.icon.LazyIcon;
import com.fr.data.ClassSubmitJob;
import com.fr.data.SubmitJob;
import com.fr.design.gui.controlpane.NameObjectCreator;
@ -29,12 +30,12 @@ public class SubmitJobListPane extends ObjectJControlPane {
return new NameableCreator[] {
new NameObjectCreator(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Write_Submit_Event"),
"/com/fr/web/images/reportlet.png",
new LazyIcon("dataLink"),
DMLConfigJob.class,
DMLJobPane.class),
new NameObjectCreator(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Write_Custom_Event"),
"/com/fr/web/images/reportlet.png",
new LazyIcon("dataLink"),
ClassSubmitJob.class,
CustomSubmitJobPane.class)
};

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

@ -1,5 +1,9 @@
package com.fr.env.detect.ui;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.components.notification.NotificationDialog;
import com.fr.design.components.notification.NotificationDialogProperties;
@ -9,6 +13,7 @@ import com.fr.design.constants.DesignerColor;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ibutton.UIButtonUI;
import com.fr.design.gui.ibutton.UIToggleButton;
import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit;
@ -111,7 +116,7 @@ public class EnvDetectorDialog extends JDialog {
this.body = FRGUIPaneFactory.createBorderLayout_L_Pane();
Color backgroundColor = new Color(240, 240, 243, 1);
this.body.setBackground( backgroundColor);
//this.body.setBackground( backgroundColor);
this.headerPanel = createHeaderPanel();
body.add(headerPanel, BorderLayout.NORTH);
@ -141,7 +146,7 @@ public class EnvDetectorDialog extends JDialog {
JPanel headerPanel = FRGUIPaneFactory.createBorderLayout_S_Pane();
headerPanel.setBorder(BorderFactory.createEmptyBorder(5, 0, 12, 0));
this.detectButton = new UIButton(buttonStatus.getDesc()) {
this.detectButton = new UIToggleButton(buttonStatus.getDesc()) {
@Override
public ButtonUI getUI() {
@ -162,7 +167,6 @@ public class EnvDetectorDialog extends JDialog {
};
}
};
detectButton.setForeground(Color.WHITE);
detectButton.setToolTipText(buttonStatus.getDesc());
detectButton.addActionListener(event -> {
if (buttonStatus.isNotExecuting()) {
@ -171,9 +175,9 @@ public class EnvDetectorDialog extends JDialog {
stopDetecting(detectButton);
}
});
detectButton.setPreferredSize(new Dimension(68, 20));
detectButton.setBorderPainted(false);
detectButton.setContentAreaFilled(false);
detectButton.setForeground(Color.WHITE);
detectButton.setBackground(new Color(65, 155, 249));
headerPanel.add(detectButton, BorderLayout.WEST);
UILabel openUtilBoxLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Carton_Feedback_ToolBox"));

11
designer-base/src/main/resources/com/fine/theme/icon/dataLink.svg

@ -0,0 +1,11 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3 4.8C3 3.80589 3.77711 3 4.73571 3H27.2643C28.2229 3 29 3.80589 29 4.8V10.2C29 11.1941 28.2229 12 27.2643 12H4.73571C3.77711 12 3 11.1941 3 10.2V4.8Z" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M27.2643 4.3H4.73571C4.53923 4.3 4.3 4.47889 4.3 4.8V10.2C4.3 10.5211 4.53923 10.7 4.73571 10.7H27.2643C27.4608 10.7 27.7 10.5211 27.7 10.2V4.8C27.7 4.47889 27.4608 4.3 27.2643 4.3ZM4.73571 3C3.77711 3 3 3.80589 3 4.8V10.2C3 11.1941 3.77711 12 4.73571 12H27.2643C28.2229 12 29 11.1941 29 10.2V4.8C29 3.80589 28.2229 3 27.2643 3H4.73571Z" fill="#105DD1"/>
<path d="M3 21.8C3 20.8059 3.77711 20 4.73571 20H27.2643C28.2229 20 29 20.8059 29 21.8V27.2C29 28.1941 28.2229 29 27.2643 29H4.73571C3.77711 29 3 28.1941 3 27.2V21.8Z" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M27.2643 21.3H4.73571C4.53923 21.3 4.3 21.4789 4.3 21.8V27.2C4.3 27.5211 4.53923 27.7 4.73571 27.7H27.2643C27.4608 27.7 27.7 27.5211 27.7 27.2V21.8C27.7 21.4789 27.4608 21.3 27.2643 21.3ZM4.73571 20C3.77711 20 3 20.8059 3 21.8V27.2C3 28.1941 3.77711 29 4.73571 29H27.2643C28.2229 29 29 28.1941 29 27.2V21.8C29 20.8059 28.2229 20 27.2643 20H4.73571Z" fill="#105DD1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 11.25C8.41421 11.25 8.75 11.5858 8.75 12V15.25H23.75C24.3023 15.25 24.75 15.6977 24.75 16.25V20.5C24.75 20.9142 24.4142 21.25 24 21.25C23.5858 21.25 23.25 20.9142 23.25 20.5V16.75H8.25C7.69772 16.75 7.25 16.3023 7.25 15.75V12C7.25 11.5858 7.58579 11.25 8 11.25Z" fill="#105DD1"/>
<circle cx="7.5" cy="7.5" r="1" fill="white"/>
<rect x="10.5" y="6.69995" width="15" height="1.6" rx="0.8" fill="white"/>
<circle cx="7.5" cy="24.5" r="1" fill="white"/>
<rect x="10.5" y="23.7" width="15" height="1.6" rx="0.8" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

11
designer-base/src/main/resources/com/fine/theme/icon/dataLink_disable.svg

@ -0,0 +1,11 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3 4.8C3 3.80589 3.77711 3 4.73571 3H27.2643C28.2229 3 29 3.80589 29 4.8V10.2C29 11.1941 28.2229 12 27.2643 12H4.73571C3.77711 12 3 11.1941 3 10.2V4.8Z" fill="#B8BFCB"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M27.2643 4.3H4.73571C4.53923 4.3 4.3 4.47889 4.3 4.8V10.2C4.3 10.5211 4.53923 10.7 4.73571 10.7H27.2643C27.4608 10.7 27.7 10.5211 27.7 10.2V4.8C27.7 4.47889 27.4608 4.3 27.2643 4.3ZM4.73571 3C3.77711 3 3 3.80589 3 4.8V10.2C3 11.1941 3.77711 12 4.73571 12H27.2643C28.2229 12 29 11.1941 29 10.2V4.8C29 3.80589 28.2229 3 27.2643 3H4.73571Z" fill="#A3ADBD"/>
<path d="M3 21.8C3 20.8059 3.77711 20 4.73571 20H27.2643C28.2229 20 29 20.8059 29 21.8V27.2C29 28.1941 28.2229 29 27.2643 29H4.73571C3.77711 29 3 28.1941 3 27.2V21.8Z" fill="#B8BFCB"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M27.2643 21.3H4.73571C4.53923 21.3 4.3 21.4789 4.3 21.8V27.2C4.3 27.5211 4.53923 27.7 4.73571 27.7H27.2643C27.4608 27.7 27.7 27.5211 27.7 27.2V21.8C27.7 21.4789 27.4608 21.3 27.2643 21.3ZM4.73571 20C3.77711 20 3 20.8059 3 21.8V27.2C3 28.1941 3.77711 29 4.73571 29H27.2643C28.2229 29 29 28.1941 29 27.2V21.8C29 20.8059 28.2229 20 27.2643 20H4.73571Z" fill="#A3ADBD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 11.25C8.41421 11.25 8.75 11.5858 8.75 12V15.25H23.75C24.3023 15.25 24.75 15.6977 24.75 16.25V20.5C24.75 20.9142 24.4142 21.25 24 21.25C23.5858 21.25 23.25 20.9142 23.25 20.5V16.75H8.25C7.69772 16.75 7.25 16.3023 7.25 15.75V12C7.25 11.5858 7.58579 11.25 8 11.25Z" fill="#A3ADBD"/>
<circle cx="7.5" cy="7.5" r="1" fill="white"/>
<rect x="10.5" y="6.69995" width="15" height="1.6" rx="0.8" fill="white"/>
<circle cx="7.5" cy="24.5" r="1" fill="white"/>
<rect x="10.5" y="23.7" width="15" height="1.6" rx="0.8" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

3
designer-base/src/main/resources/com/fine/theme/icon/datail_distable.svg

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 28.8571C23.1008 28.8571 28.8571 23.1008 28.8571 16C28.8571 8.8992 23.1008 3.14286 16 3.14286C8.8992 3.14286 3.14286 8.8992 3.14286 16C3.14286 23.1008 8.8992 28.8571 16 28.8571ZM16 31C24.2843 31 31 24.2843 31 16C31 7.71573 24.2843 1 16 1C7.71573 1 1 7.71573 1 16C1 24.2843 7.71573 31 16 31ZM14.5 14.5C14.5 13.6716 15.1716 13 16 13C16.8284 13 17.5 13.6716 17.5 14.5V23.5C17.5 24.3284 16.8284 25 16 25C15.1716 25 14.5 24.3284 14.5 23.5V14.5ZM16 10C17.1046 10 18 9.10457 18 8C18 6.89543 17.1046 6 16 6C14.8954 6 14 6.89543 14 8C14 9.10457 14.8954 10 16 10Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 747 B

3
designer-base/src/main/resources/com/fine/theme/icon/detail.svg

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 28.8571C23.1008 28.8571 28.8571 23.1008 28.8571 16C28.8571 8.8992 23.1008 3.14286 16 3.14286C8.8992 3.14286 3.14286 8.8992 3.14286 16C3.14286 23.1008 8.8992 28.8571 16 28.8571ZM16 31C24.2843 31 31 24.2843 31 16C31 7.71573 24.2843 1 16 1C7.71573 1 1 7.71573 1 16C1 24.2843 7.71573 31 16 31ZM14.5 14.5C14.5 13.6716 15.1716 13 16 13C16.8284 13 17.5 13.6716 17.5 14.5V23.5C17.5 24.3284 16.8284 25 16 25C15.1716 25 14.5 24.3284 14.5 23.5V14.5ZM16 10C17.1046 10 18 9.10457 18 8C18 6.89543 17.1046 6 16 6C14.8954 6 14 6.89543 14 8C14 9.10457 14.8954 10 16 10Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 746 B

16
designer-base/src/main/resources/com/fine/theme/icon/editor/ds_column.svg

@ -0,0 +1,16 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_5516_63913)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 5H4V11H28V5ZM4 19V13H28V19H4ZM4 21V27H28V21H4ZM4 3C2.89543 3 2 3.89543 2 5V27C2 28.1046 2.89543 29 4 29H28C29.1046 29 30 28.1046 30 27V5C30 3.89543 29.1046 3 28 3H4Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M11 8C11 7.44772 11.4477 7 12 7H20C20.5523 7 21 7.44772 21 8C21 8.55228 20.5523 9 20 9H12C11.4477 9 11 8.55228 11 8Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M11 16C11 15.4477 11.4477 15 12 15H20C20.5523 15 21 15.4477 21 16C21 16.5523 20.5523 17 20 17H12C11.4477 17 11 16.5523 11 16Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M11 24C11 23.4477 11.4477 23 12 23H20C20.5523 23 21 23.4477 21 24C21 24.5523 20.5523 25 20 25H12C11.4477 25 11 24.5523 11 24Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M7 8C7 7.44772 7.44772 7 8 7C8.55228 7 9 7.44772 9 8C9 8.55228 8.55228 9 8 9C7.44772 9 7 8.55228 7 8Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M7 16C7 15.4477 7.44772 15 8 15C8.55228 15 9 15.4477 9 16C9 16.5523 8.55228 17 8 17C7.44772 17 7 16.5523 7 16Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M7 24C7 23.4477 7.44772 23 8 23C8.55228 23 9 23.4477 9 24C9 24.5523 8.55228 25 8 25C7.44772 25 7 24.5523 7 24Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
<defs>
<clipPath id="clip0_5516_63913">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

16
designer-base/src/main/resources/com/fine/theme/icon/editor/ds_column_disable.svg

@ -0,0 +1,16 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_5830_167149)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 5H4V11H28V5ZM4 19V13H28V19H4ZM4 21V27H28V21H4ZM4 3C2.89543 3 2 3.89543 2 5V27C2 28.1046 2.89543 29 4 29H28C29.1046 29 30 28.1046 30 27V5C30 3.89543 29.1046 3 28 3H4Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M11 8C11 7.44772 11.4477 7 12 7H20C20.5523 7 21 7.44772 21 8C21 8.55228 20.5523 9 20 9H12C11.4477 9 11 8.55228 11 8Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M11 16C11 15.4477 11.4477 15 12 15H20C20.5523 15 21 15.4477 21 16C21 16.5523 20.5523 17 20 17H12C11.4477 17 11 16.5523 11 16Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M11 24C11 23.4477 11.4477 23 12 23H20C20.5523 23 21 23.4477 21 24C21 24.5523 20.5523 25 20 25H12C11.4477 25 11 24.5523 11 24Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M7 8C7 7.44772 7.44772 7 8 7C8.55228 7 9 7.44772 9 8C9 8.55228 8.55228 9 8 9C7.44772 9 7 8.55228 7 8Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M7 16C7 15.4477 7.44772 15 8 15C8.55228 15 9 15.4477 9 16C9 16.5523 8.55228 17 8 17C7.44772 17 7 16.5523 7 16Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M7 24C7 23.4477 7.44772 23 8 23C8.55228 23 9 23.4477 9 24C9 24.5523 8.55228 25 8 25C7.44772 25 7 24.5523 7 24Z" fill="#0A1C38" fill-opacity="0.29"/>
</g>
<defs>
<clipPath id="clip0_5830_167149">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

4
designer-base/src/main/resources/com/fine/theme/icon/editor/type_boolean.svg

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 4H4V28H28V4ZM4 2C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H28C29.1046 30 30 29.1046 30 28V4C30 2.89543 29.1046 2 28 2H4Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 8H18V12H14C12.8954 12 12 12.8954 12 14V18H8L8 8ZM12 20H8C6.89543 20 6 19.1046 6 18V8C6 6.89543 6.89543 6 8 6H18C19.1046 6 20 6.89543 20 8V12H24C25.1046 12 26 12.8954 26 14V24C26 25.1046 25.1046 26 24 26H14C12.8954 26 12 25.1046 12 24V20ZM20 14H24V24H14V20H18C19.1046 20 20 19.1046 20 18V14ZM18 14V18H14V14H18Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 724 B

4
designer-base/src/main/resources/com/fine/theme/icon/editor/type_boolean_disable.svg

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 4H4V28H28V4ZM4 2C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H28C29.1046 30 30 29.1046 30 28V4C30 2.89543 29.1046 2 28 2H4Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 8H18V12H14C12.8954 12 12 12.8954 12 14V18H8L8 8ZM12 20H8C6.89543 20 6 19.1046 6 18V8C6 6.89543 6.89543 6 8 6H18C19.1046 6 20 6.89543 20 8V12H24C25.1046 12 26 12.8954 26 14V24C26 25.1046 25.1046 26 24 26H14C12.8954 26 12 25.1046 12 24V20ZM20 14H24V24H14V20H18C19.1046 20 20 19.1046 20 18V14ZM18 14V18H14V14H18Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 726 B

11
designer-base/src/main/resources/com/fine/theme/icon/editor/type_double.svg

@ -0,0 +1,11 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 28L28 28L28 4L4 4L4 28ZM28 30C29.1046 30 30 29.1046 30 28L30 4C30 2.89543 29.1046 2 28 2L4 2C2.89543 2 2 2.89543 2 4L2 28C2 29.1046 2.89543 30 4 30L28 30Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M24.3493 14.4376C25.0799 14.4376 25.6621 14.6348 26.1073 15.0292C26.4659 15.3492 26.7119 15.7989 26.8507 16.3783C26.9142 16.6431 26.7004 16.8828 26.4281 16.8828C26.2043 16.8828 26.019 16.7175 25.9566 16.5025C25.858 16.1624 25.7027 15.8948 25.4909 15.6996C25.1941 15.4367 24.8173 15.3184 24.3493 15.3184C23.7785 15.3184 23.3218 15.5682 22.9908 16.0677C22.6711 16.5541 22.4362 17.1719 22.4362 18.0001C22.4362 18.8283 22.5846 19.4856 22.9042 19.9589C23.2125 20.4321 23.6692 20.6819 24.2628 20.6819C25.1492 20.6819 25.7069 20.2213 25.9199 19.3092C25.971 19.0901 26.1562 18.9203 26.3812 18.9203C26.6536 18.9203 26.8637 19.1646 26.7969 19.4288C26.6388 20.0534 26.384 20.55 26.0209 20.9054C25.5757 21.3392 24.9934 21.5627 24.2628 21.5627C23.3723 21.5627 22.6873 21.2209 22.1964 20.5373C21.7283 19.8931 21.5 19.0518 21.5 18.0133C21.5 16.9747 21.8035 16.1729 22.2715 15.5156C22.7738 14.7925 23.4702 14.4376 24.3493 14.4376Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.3727 14.7298L26.3738 14.7307C26.8073 15.1176 27.0869 15.647 27.2398 16.2851C27.3714 16.8342 26.9243 17.2828 26.4282 17.2828C25.9948 17.2828 25.6751 16.9676 25.5725 16.6139C25.4901 16.3298 25.3686 16.1319 25.2228 15.9964C25.0174 15.8159 24.7447 15.7184 24.3494 15.7184C23.9192 15.7184 23.5851 15.8955 23.3247 16.2881C23.0452 16.7136 22.8362 17.2556 22.8362 18.0001C22.8362 18.789 22.9791 19.3549 23.2358 19.735L23.2395 19.7405L23.2395 19.7406C23.4723 20.098 23.8016 20.2819 24.2629 20.2819C24.6352 20.2819 24.8992 20.1865 25.0889 20.0295C25.2807 19.8707 25.4379 19.6145 25.5305 19.2182C25.6172 18.8467 25.9427 18.5203 26.3812 18.5203C26.8862 18.5203 27.3223 18.9834 27.1847 19.5269C27.0145 20.1995 26.7313 20.7698 26.3008 21.1912L26.3002 21.1919C25.7698 21.7087 25.0822 21.9627 24.2629 21.9627C23.2518 21.9627 22.4427 21.5653 21.8722 20.7715C21.3409 20.0398 21.1001 19.1082 21.1001 18.0133C21.1001 16.8894 21.4308 16.0076 21.9445 15.2854C22.5232 14.4536 23.3431 14.0376 24.3494 14.0376C25.1554 14.0376 25.8391 14.2571 26.3727 14.7298ZM22.2716 15.5156C21.8036 16.1729 21.5001 16.9747 21.5001 18.0133C21.5001 19.0518 21.7284 19.8931 22.1965 20.5373C22.6874 21.2209 23.3724 21.5627 24.2629 21.5627C24.9935 21.5627 25.5758 21.3392 26.021 20.9054C26.3841 20.55 26.6389 20.0534 26.797 19.4288C26.8638 19.1647 26.6537 18.9203 26.3812 18.9203C26.1563 18.9203 25.9711 19.0901 25.92 19.3092C25.707 20.2213 25.1493 20.6819 24.2629 20.6819C23.6693 20.6819 23.2126 20.4321 22.9043 19.9589C22.5847 19.4856 22.4362 18.8283 22.4362 18.0001C22.4362 17.1719 22.6712 16.5541 22.9909 16.0677C23.3219 15.5682 23.7786 15.3184 24.3494 15.3184C24.8174 15.3184 25.1941 15.4367 25.491 15.6996C25.7028 15.8948 25.8581 16.1624 25.9567 16.5025C26.0191 16.7175 26.2044 16.8828 26.4282 16.8828C26.7005 16.8828 26.9143 16.6431 26.8508 16.3784C26.712 15.7989 26.466 15.3492 26.1074 15.0292C25.6622 14.6348 25.08 14.4376 24.3494 14.4376C23.4703 14.4376 22.7739 14.7926 22.2716 15.5156Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M18.4284 14.4376C18.983 14.4376 19.4368 14.6226 19.7981 14.9927C20.1511 15.3628 20.3359 15.8595 20.3359 16.4632C20.3359 17.067 20.1342 17.6124 19.7477 18.0993C19.5376 18.3525 19.1258 18.7324 18.504 19.2193C17.7393 19.8133 17.3023 20.349 17.1931 20.8164H19.9889C20.1852 20.8164 20.3443 20.9756 20.3443 21.1719C20.3443 21.3682 20.1852 21.5274 19.9889 21.5274H17.3443C16.792 21.5274 16.3381 21.0677 16.5304 20.5499C16.6278 20.2874 16.7642 20.0298 16.941 19.8036C17.1763 19.492 17.6048 19.0732 18.2435 18.5668C18.7141 18.1773 19.025 17.8948 19.1847 17.7001C19.4872 17.3203 19.6469 16.9015 19.6469 16.4535C19.6469 16.025 19.5376 15.7036 19.3191 15.4699C19.1006 15.2362 18.7897 15.1193 18.4032 15.1193C17.9914 15.1193 17.6721 15.2751 17.4536 15.6062C17.2641 15.8572 17.1455 16.2092 17.1021 16.6572C17.0838 16.8461 16.9314 16.9989 16.7416 16.9989C16.5501 16.9989 16.3929 16.8433 16.4083 16.6523C16.458 16.033 16.6446 15.5265 16.9578 15.1388C17.3275 14.6713 17.8233 14.4376 18.4284 14.4376Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.0873 14.7167C20.5222 15.1727 20.7356 15.7738 20.7356 16.4633C20.7356 17.164 20.4991 17.7958 20.0607 18.3481L20.0553 18.3548C19.8169 18.6421 19.3774 19.0432 18.7503 19.5342L18.7491 19.5352C18.3182 19.8699 18.0232 20.1647 17.8354 20.4164H19.9886C20.4058 20.4164 20.7441 20.7547 20.7441 21.1719C20.7441 21.5891 20.4058 21.9274 19.9886 21.9274H17.3441C16.9604 21.9274 16.597 21.7684 16.3579 21.4974C16.111 21.2176 16.003 20.8202 16.1551 20.4107C16.2645 20.1162 16.419 19.8222 16.6235 19.5599C16.8886 19.2096 17.3459 18.7681 17.9914 18.256C18.4612 17.867 18.7413 17.6089 18.8733 17.4486C19.1258 17.1307 19.2466 16.7986 19.2466 16.4535C19.2466 16.0942 19.1566 15.8821 19.0266 15.7431L19.3188 15.4699C19.5373 15.7036 19.6466 16.025 19.6466 16.4535C19.6466 16.9015 19.4869 17.3203 19.1844 17.7001C19.0247 17.8948 18.7138 18.1773 18.2432 18.5668C17.6046 19.0732 17.176 19.492 16.9407 19.8036C16.764 20.0298 16.6276 20.2874 16.5301 20.5499C16.3378 21.0677 16.7918 21.5274 17.3441 21.5274H19.9886C20.1849 21.5274 20.3441 21.3682 20.3441 21.1719C20.3441 20.9756 20.1849 20.8164 19.9886 20.8164H17.1928C17.2228 20.6882 17.2774 20.5548 17.3567 20.4164C17.5665 20.0506 17.9488 19.6503 18.5037 19.2193C19.1256 18.7324 19.5373 18.3526 19.7474 18.0993C20.134 17.6124 20.3356 17.0671 20.3356 16.4633C20.3356 15.8595 20.1508 15.3628 19.7978 14.9927C19.4365 14.6226 18.9827 14.4376 18.4281 14.4376C17.823 14.4376 17.3272 14.6713 16.9575 15.1388C16.6443 15.5265 16.4577 16.033 16.408 16.6523C16.3926 16.8433 16.5498 16.9989 16.7414 16.9989C16.9311 16.9989 17.0835 16.8461 17.1018 16.6572C17.1452 16.2092 17.2638 15.8572 17.4533 15.6063C17.6718 15.2751 17.9911 15.1193 18.4029 15.1193C18.7894 15.1193 19.1004 15.2362 19.3188 15.4699L19.0266 15.7431C18.9009 15.6086 18.7065 15.5193 18.4029 15.5193C18.1101 15.5193 17.9235 15.6199 17.7872 15.8266L17.7802 15.8371L17.7725 15.8473C17.6423 16.0198 17.539 16.2924 17.4999 16.6958C17.4639 17.0677 17.1584 17.3989 16.7414 17.3989C16.3388 17.3989 15.9735 17.0659 16.0093 16.6203C16.064 15.9392 16.272 15.3517 16.645 14.889C17.0931 14.3235 17.7056 14.0376 18.4281 14.0376C19.0828 14.0376 19.6422 14.2608 20.084 14.7133L20.0873 14.7167Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M14.2078 19.8755C14.3914 19.8755 14.5636 19.9438 14.7013 20.0804C14.839 20.217 14.9078 20.3763 14.9078 20.5812C14.9078 20.7747 14.839 20.934 14.7013 21.0706C14.5636 21.2072 14.3914 21.2755 14.2078 21.2755C14.0013 21.2755 13.8406 21.2072 13.7144 21.0706C13.5767 20.934 13.5078 20.7747 13.5078 20.5812C13.5078 20.3763 13.5767 20.217 13.7144 20.0804C13.8406 19.9438 14.0013 19.8755 14.2078 19.8755Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.208 19.5755C14.4702 19.5755 14.7185 19.6747 14.9127 19.8674C15.1071 20.0601 15.208 20.2961 15.208 20.5812C15.208 20.8576 15.1051 21.0928 14.9127 21.2836C14.7185 21.4763 14.4702 21.5755 14.208 21.5755C13.9275 21.5755 13.686 21.4791 13.4987 21.2791C13.3093 21.089 13.208 20.8554 13.208 20.5812C13.208 20.2983 13.3074 20.0639 13.4987 19.8719C13.686 19.6719 13.9275 19.5755 14.208 19.5755ZM13.7146 20.0804C13.5769 20.217 13.508 20.3763 13.508 20.5812C13.508 20.7747 13.5769 20.934 13.7146 21.0706C13.8408 21.2072 14.0015 21.2755 14.208 21.2755C14.3916 21.2755 14.5637 21.2072 14.7015 21.0706C14.8392 20.934 14.908 20.7747 14.908 20.5812C14.908 20.3763 14.8392 20.217 14.7015 20.0804C14.5637 19.9438 14.3916 19.8755 14.208 19.8755C14.0015 19.8755 13.8408 19.9438 13.7146 20.0804Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M9.94933 9.32236C10.0822 9.1211 10.3072 9 10.5484 9C10.9449 9 11.2663 9.3214 11.2663 9.71786V17.0007H12.377C12.6822 17.0007 12.9296 17.2482 12.9296 17.5534C12.9296 17.8586 12.6822 18.106 12.377 18.106H11.2663V21.1549C11.2663 21.4638 11.0159 21.7141 10.707 21.7141C10.3982 21.7141 10.1478 21.4638 10.1478 21.1549V18.106H5.98954C5.44303 18.106 5 17.663 5 17.1164C5 16.9226 5.05693 16.733 5.16373 16.5713L9.94933 9.32236ZM10.1478 10.7651C10.1209 10.7651 10.0959 10.7786 10.0811 10.801L5.98941 17.0007H10.1478V10.7651Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0812 10.801C10.096 10.7786 10.121 10.7651 10.1479 10.7651V17.0007H5.98951L10.0812 10.801ZM9.7479 12.0322L6.73276 16.6007H9.7479V12.0322ZM11.2664 17.0007V9.71786C11.2664 9.3214 10.945 9.00001 10.5485 9.00001C10.3073 9.00001 10.0823 9.1211 9.94943 9.32236L5.16383 16.5713C5.05703 16.733 5.0001 16.9226 5.0001 17.1165C5.0001 17.663 5.44313 18.106 5.98964 18.106H10.1479V21.1549C10.1479 21.4638 10.3983 21.7141 10.7071 21.7141C11.016 21.7141 11.2664 21.4638 11.2664 21.1549V18.106H12.3771C12.6823 18.106 12.9297 17.8586 12.9297 17.5534C12.9297 17.2482 12.6823 17.0007 12.3771 17.0007H11.2664ZM11.6664 18.506V21.1549C11.6664 21.6847 11.2369 22.1141 10.7071 22.1141C10.1774 22.1141 9.7479 21.6847 9.7479 21.1549V18.506H5.98964C5.22222 18.506 4.6001 17.8839 4.6001 17.1165C4.6001 16.8443 4.68004 16.5781 4.83001 16.3509L9.61561 9.10198C9.82252 8.78858 10.173 8.60001 10.5485 8.60001C11.1659 8.60001 11.6664 9.10049 11.6664 9.71786V16.6007H12.3771C12.9032 16.6007 13.3297 17.0272 13.3297 17.5534C13.3297 18.0795 12.9032 18.506 12.3771 18.506H11.6664Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

11
designer-base/src/main/resources/com/fine/theme/icon/editor/type_double_disable.svg

@ -0,0 +1,11 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 28L28 28L28 4L4 4L4 28ZM28 30C29.1046 30 30 29.1046 30 28L30 4C30 2.89543 29.1046 2 28 2L4 2C2.89543 2 2 2.89543 2 4L2 28C2 29.1046 2.89543 30 4 30L28 30Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M24.3493 14.4376C25.0799 14.4376 25.6621 14.6348 26.1073 15.0292C26.4659 15.3492 26.7119 15.7989 26.8507 16.3783C26.9142 16.6431 26.7004 16.8828 26.4281 16.8828C26.2043 16.8828 26.019 16.7175 25.9566 16.5025C25.858 16.1624 25.7027 15.8948 25.4909 15.6996C25.1941 15.4367 24.8173 15.3184 24.3493 15.3184C23.7785 15.3184 23.3218 15.5682 22.9908 16.0677C22.6711 16.5541 22.4362 17.1719 22.4362 18.0001C22.4362 18.8283 22.5846 19.4856 22.9042 19.9589C23.2125 20.4321 23.6692 20.6819 24.2628 20.6819C25.1492 20.6819 25.7069 20.2213 25.9199 19.3092C25.971 19.0901 26.1562 18.9203 26.3812 18.9203C26.6536 18.9203 26.8637 19.1646 26.7969 19.4288C26.6388 20.0534 26.384 20.55 26.0209 20.9054C25.5757 21.3392 24.9934 21.5627 24.2628 21.5627C23.3723 21.5627 22.6873 21.2209 22.1964 20.5373C21.7283 19.8931 21.5 19.0518 21.5 18.0133C21.5 16.9747 21.8035 16.1729 22.2715 15.5156C22.7738 14.7925 23.4702 14.4376 24.3493 14.4376Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.3727 14.7298L26.3738 14.7307C26.8073 15.1176 27.0869 15.647 27.2398 16.2851C27.3714 16.8342 26.9243 17.2828 26.4282 17.2828C25.9948 17.2828 25.6751 16.9676 25.5725 16.6139C25.4901 16.3298 25.3686 16.1319 25.2228 15.9964C25.0174 15.8159 24.7447 15.7184 24.3494 15.7184C23.9192 15.7184 23.5851 15.8955 23.3247 16.2881C23.0452 16.7136 22.8362 17.2556 22.8362 18.0001C22.8362 18.789 22.9791 19.3549 23.2358 19.735L23.2395 19.7405L23.2395 19.7406C23.4723 20.098 23.8016 20.2819 24.2629 20.2819C24.6352 20.2819 24.8992 20.1865 25.0889 20.0295C25.2807 19.8707 25.4379 19.6145 25.5305 19.2182C25.6172 18.8467 25.9427 18.5203 26.3812 18.5203C26.8862 18.5203 27.3223 18.9834 27.1847 19.5269C27.0145 20.1995 26.7313 20.7698 26.3008 21.1912L26.3002 21.1919C25.7698 21.7087 25.0822 21.9627 24.2629 21.9627C23.2518 21.9627 22.4427 21.5653 21.8722 20.7715C21.3409 20.0398 21.1001 19.1082 21.1001 18.0133C21.1001 16.8894 21.4308 16.0076 21.9445 15.2854C22.5232 14.4536 23.3431 14.0376 24.3494 14.0376C25.1554 14.0376 25.8391 14.2571 26.3727 14.7298ZM22.2716 15.5156C21.8036 16.1729 21.5001 16.9747 21.5001 18.0133C21.5001 19.0518 21.7284 19.8931 22.1965 20.5373C22.6874 21.2209 23.3724 21.5627 24.2629 21.5627C24.9935 21.5627 25.5758 21.3392 26.021 20.9054C26.3841 20.55 26.6389 20.0534 26.797 19.4288C26.8638 19.1647 26.6537 18.9203 26.3812 18.9203C26.1563 18.9203 25.9711 19.0901 25.92 19.3092C25.707 20.2213 25.1493 20.6819 24.2629 20.6819C23.6693 20.6819 23.2126 20.4321 22.9043 19.9589C22.5847 19.4856 22.4362 18.8283 22.4362 18.0001C22.4362 17.1719 22.6712 16.5541 22.9909 16.0677C23.3219 15.5682 23.7786 15.3184 24.3494 15.3184C24.8174 15.3184 25.1941 15.4367 25.491 15.6996C25.7028 15.8948 25.8581 16.1624 25.9567 16.5025C26.0191 16.7175 26.2044 16.8828 26.4282 16.8828C26.7005 16.8828 26.9143 16.6431 26.8508 16.3784C26.712 15.7989 26.466 15.3492 26.1074 15.0292C25.6622 14.6348 25.08 14.4376 24.3494 14.4376C23.4703 14.4376 22.7739 14.7926 22.2716 15.5156Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M18.4284 14.4376C18.983 14.4376 19.4368 14.6226 19.7981 14.9927C20.1511 15.3628 20.3359 15.8595 20.3359 16.4632C20.3359 17.067 20.1342 17.6124 19.7477 18.0993C19.5376 18.3525 19.1258 18.7324 18.504 19.2193C17.7393 19.8133 17.3023 20.349 17.1931 20.8164H19.9889C20.1852 20.8164 20.3443 20.9756 20.3443 21.1719C20.3443 21.3682 20.1852 21.5274 19.9889 21.5274H17.3443C16.792 21.5274 16.3381 21.0677 16.5304 20.5499C16.6278 20.2874 16.7642 20.0298 16.941 19.8036C17.1763 19.492 17.6048 19.0732 18.2435 18.5668C18.7141 18.1773 19.025 17.8948 19.1847 17.7001C19.4872 17.3203 19.6469 16.9015 19.6469 16.4535C19.6469 16.025 19.5376 15.7036 19.3191 15.4699C19.1006 15.2362 18.7897 15.1193 18.4032 15.1193C17.9914 15.1193 17.6721 15.2751 17.4536 15.6062C17.2641 15.8572 17.1455 16.2092 17.1021 16.6572C17.0838 16.8461 16.9314 16.9989 16.7416 16.9989C16.5501 16.9989 16.3929 16.8433 16.4083 16.6523C16.458 16.033 16.6446 15.5265 16.9578 15.1388C17.3275 14.6713 17.8233 14.4376 18.4284 14.4376Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M20.0873 14.7167C20.5222 15.1727 20.7356 15.7738 20.7356 16.4633C20.7356 17.164 20.4991 17.7958 20.0607 18.3481L20.0553 18.3548C19.8169 18.6421 19.3774 19.0432 18.7503 19.5342L18.7491 19.5352C18.3182 19.8699 18.0232 20.1647 17.8354 20.4164H19.9886C20.4058 20.4164 20.7441 20.7547 20.7441 21.1719C20.7441 21.5891 20.4058 21.9274 19.9886 21.9274H17.3441C16.9604 21.9274 16.597 21.7684 16.3579 21.4974C16.111 21.2176 16.003 20.8202 16.1551 20.4107C16.2645 20.1162 16.419 19.8222 16.6235 19.5599C16.8886 19.2096 17.3459 18.7681 17.9914 18.256C18.4612 17.867 18.7413 17.6089 18.8733 17.4486C19.1258 17.1307 19.2466 16.7986 19.2466 16.4535C19.2466 16.0942 19.1566 15.8821 19.0266 15.7431L19.3188 15.4699C19.5373 15.7036 19.6466 16.025 19.6466 16.4535C19.6466 16.9015 19.4869 17.3203 19.1844 17.7001C19.0247 17.8948 18.7138 18.1773 18.2432 18.5668C17.6046 19.0732 17.176 19.492 16.9407 19.8036C16.764 20.0298 16.6276 20.2874 16.5301 20.5499C16.3378 21.0677 16.7918 21.5274 17.3441 21.5274H19.9886C20.1849 21.5274 20.3441 21.3682 20.3441 21.1719C20.3441 20.9756 20.1849 20.8164 19.9886 20.8164H17.1928C17.2228 20.6882 17.2774 20.5548 17.3567 20.4164C17.5665 20.0506 17.9488 19.6503 18.5037 19.2193C19.1256 18.7324 19.5373 18.3526 19.7474 18.0993C20.134 17.6124 20.3356 17.0671 20.3356 16.4633C20.3356 15.8595 20.1508 15.3628 19.7978 14.9927C19.4365 14.6226 18.9827 14.4376 18.4281 14.4376C17.823 14.4376 17.3272 14.6713 16.9575 15.1388C16.6443 15.5265 16.4577 16.033 16.408 16.6523C16.3926 16.8433 16.5498 16.9989 16.7414 16.9989C16.9311 16.9989 17.0835 16.8461 17.1018 16.6572C17.1452 16.2092 17.2638 15.8572 17.4533 15.6063C17.6718 15.2751 17.9911 15.1193 18.4029 15.1193C18.7894 15.1193 19.1004 15.2362 19.3188 15.4699L19.0266 15.7431C18.9009 15.6086 18.7065 15.5193 18.4029 15.5193C18.1101 15.5193 17.9235 15.6199 17.7872 15.8266L17.7802 15.8371L17.7725 15.8473C17.6423 16.0198 17.539 16.2924 17.4999 16.6958C17.4639 17.0677 17.1584 17.3989 16.7414 17.3989C16.3388 17.3989 15.9735 17.0659 16.0093 16.6203C16.064 15.9392 16.272 15.3517 16.645 14.889C17.0931 14.3235 17.7056 14.0376 18.4281 14.0376C19.0828 14.0376 19.6422 14.2608 20.084 14.7133L20.0873 14.7167Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M14.2078 19.8755C14.3914 19.8755 14.5636 19.9438 14.7013 20.0804C14.839 20.217 14.9078 20.3763 14.9078 20.5812C14.9078 20.7747 14.839 20.934 14.7013 21.0706C14.5636 21.2072 14.3914 21.2755 14.2078 21.2755C14.0013 21.2755 13.8406 21.2072 13.7144 21.0706C13.5767 20.934 13.5078 20.7747 13.5078 20.5812C13.5078 20.3763 13.5767 20.217 13.7144 20.0804C13.8406 19.9438 14.0013 19.8755 14.2078 19.8755Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.208 19.5755C14.4702 19.5755 14.7185 19.6747 14.9127 19.8674C15.1071 20.0601 15.208 20.2961 15.208 20.5812C15.208 20.8576 15.1051 21.0928 14.9127 21.2836C14.7185 21.4763 14.4702 21.5755 14.208 21.5755C13.9275 21.5755 13.686 21.4791 13.4987 21.2791C13.3093 21.089 13.208 20.8554 13.208 20.5812C13.208 20.2983 13.3074 20.0639 13.4987 19.8719C13.686 19.6719 13.9275 19.5755 14.208 19.5755ZM13.7146 20.0804C13.5769 20.217 13.508 20.3763 13.508 20.5812C13.508 20.7747 13.5769 20.934 13.7146 21.0706C13.8408 21.2072 14.0015 21.2755 14.208 21.2755C14.3916 21.2755 14.5637 21.2072 14.7015 21.0706C14.8392 20.934 14.908 20.7747 14.908 20.5812C14.908 20.3763 14.8392 20.217 14.7015 20.0804C14.5637 19.9438 14.3916 19.8755 14.208 19.8755C14.0015 19.8755 13.8408 19.9438 13.7146 20.0804Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M9.94933 9.32236C10.0822 9.1211 10.3072 9 10.5484 9C10.9449 9 11.2663 9.3214 11.2663 9.71786V17.0007H12.377C12.6822 17.0007 12.9296 17.2482 12.9296 17.5534C12.9296 17.8586 12.6822 18.106 12.377 18.106H11.2663V21.1549C11.2663 21.4638 11.0159 21.7141 10.707 21.7141C10.3982 21.7141 10.1478 21.4638 10.1478 21.1549V18.106H5.98954C5.44303 18.106 5 17.663 5 17.1164C5 16.9226 5.05693 16.733 5.16373 16.5713L9.94933 9.32236ZM10.1478 10.7651C10.1209 10.7651 10.0959 10.7786 10.0811 10.801L5.98941 17.0007H10.1478V10.7651Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0812 10.801C10.096 10.7786 10.121 10.7651 10.1479 10.7651V17.0007H5.98951L10.0812 10.801ZM9.7479 12.0322L6.73276 16.6007H9.7479V12.0322ZM11.2664 17.0007V9.71786C11.2664 9.3214 10.945 9.00001 10.5485 9.00001C10.3073 9.00001 10.0823 9.1211 9.94943 9.32236L5.16383 16.5713C5.05703 16.733 5.0001 16.9226 5.0001 17.1165C5.0001 17.663 5.44313 18.106 5.98964 18.106H10.1479V21.1549C10.1479 21.4638 10.3983 21.7141 10.7071 21.7141C11.016 21.7141 11.2664 21.4638 11.2664 21.1549V18.106H12.3771C12.6823 18.106 12.9297 17.8586 12.9297 17.5534C12.9297 17.2482 12.6823 17.0007 12.3771 17.0007H11.2664ZM11.6664 18.506V21.1549C11.6664 21.6847 11.2369 22.1141 10.7071 22.1141C10.1774 22.1141 9.7479 21.6847 9.7479 21.1549V18.506H5.98964C5.22222 18.506 4.6001 17.8839 4.6001 17.1165C4.6001 16.8443 4.68004 16.5781 4.83001 16.3509L9.61561 9.10198C9.82252 8.78858 10.173 8.60001 10.5485 8.60001C11.1659 8.60001 11.6664 9.10049 11.6664 9.71786V16.6007H12.3771C12.9032 16.6007 13.3297 17.0272 13.3297 17.5534C13.3297 18.0795 12.9032 18.506 12.3771 18.506H11.6664Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

3
designer-base/src/main/resources/com/fine/theme/icon/jumpHelp.svg

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.24687 23.3047C1.21273 17.3662 2.75654 9.28175 8.69507 5.24761C14.6336 1.21346 22.718 2.75727 26.7522 8.6958C30.7863 14.6343 29.2425 22.7188 23.304 26.7529C17.3655 30.7871 9.28102 29.2433 5.24687 23.3047ZM3.5925 24.4286C-1.06233 17.5764 0.719001 8.24806 7.57122 3.59323C14.4234 -1.0616 23.7517 0.719734 28.4066 7.57195C33.0614 14.4242 31.2801 23.7525 24.4279 28.4073C17.5756 33.0621 8.24733 31.2808 3.5925 24.4286ZM17.5 24.5C17.5 25.3284 16.8284 26 16 26C15.1716 26 14.5 25.3284 14.5 24.5C14.5 23.6716 15.1716 23 16 23C16.8284 23 17.5 23.6716 17.5 24.5ZM11.5529 13.4806C12.1537 13.4806 12.6201 12.9793 12.7368 12.39C13.1359 10.3744 14.8075 9.36148 16.6523 9.57434C18.3451 9.76965 19.2565 10.7137 19.3867 12.4064C19.2565 13.2527 18.5404 14.3269 17.2383 15.629C15.7409 17.1264 14.9922 18.4611 14.9922 19.6329V19.9747C14.9922 20.541 15.4513 21.0001 16.0176 21.0001H16.1641C16.6495 21.0001 17.043 20.6066 17.043 20.1212C17.043 19.0795 17.7917 17.8751 19.2891 16.5079C20.9167 15.0105 21.7305 13.6434 21.7305 12.4064C21.6003 9.21627 19.8099 7.55611 16.3594 7.4259C12.744 7.36663 10.8013 9.03395 10.5311 12.4278C10.4848 13.0102 10.9687 13.4806 11.5529 13.4806Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

3
designer-base/src/main/resources/com/fine/theme/icon/jumpHelp_disable.svg

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.24687 23.3047C1.21273 17.3662 2.75654 9.28175 8.69507 5.24761C14.6336 1.21346 22.718 2.75727 26.7522 8.6958C30.7863 14.6343 29.2425 22.7188 23.304 26.7529C17.3655 30.7871 9.28102 29.2433 5.24687 23.3047ZM3.5925 24.4286C-1.06233 17.5764 0.719001 8.24806 7.57122 3.59323C14.4234 -1.0616 23.7517 0.719734 28.4066 7.57195C33.0614 14.4242 31.2801 23.7525 24.4279 28.4073C17.5756 33.0621 8.24733 31.2808 3.5925 24.4286ZM17.5 24.5C17.5 25.3284 16.8284 26 16 26C15.1716 26 14.5 25.3284 14.5 24.5C14.5 23.6716 15.1716 23 16 23C16.8284 23 17.5 23.6716 17.5 24.5ZM11.5529 13.4806C12.1537 13.4806 12.6201 12.9793 12.7368 12.39C13.1359 10.3744 14.8075 9.36148 16.6523 9.57434C18.3451 9.76965 19.2565 10.7137 19.3867 12.4064C19.2565 13.2527 18.5404 14.3269 17.2383 15.629C15.7409 17.1264 14.9922 18.4611 14.9922 19.6329V19.9747C14.9922 20.541 15.4513 21.0001 16.0176 21.0001H16.1641C16.6495 21.0001 17.043 20.6066 17.043 20.1212C17.043 19.0795 17.7917 17.8751 19.2891 16.5079C20.9167 15.0105 21.7305 13.6434 21.7305 12.4064C21.6003 9.21627 19.8099 7.55611 16.3594 7.4259C12.744 7.36663 10.8013 9.03395 10.5311 12.4278C10.4848 13.0102 10.9687 13.4806 11.5529 13.4806Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

17
designer-base/src/main/resources/com/fine/theme/icon/preview/data_analysis.svg

@ -0,0 +1,17 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8035_95228)">
<path d="M2 4C2 2.89543 2.89543 2 4 2H26C27.1046 2 28 2.89543 28 4V28C28 29.1046 27.1046 30 26 30H4C2.89543 30 2 29.1046 2 28V4Z" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26 3.4H4C3.66863 3.4 3.4 3.66863 3.4 4V28C3.4 28.3314 3.66863 28.6 4 28.6H26C26.3314 28.6 26.6 28.3314 26.6 28V4C26.6 3.66863 26.3314 3.4 26 3.4ZM4 2C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H26C27.1046 30 28 29.1046 28 28V4C28 2.89543 27.1046 2 26 2H4Z" fill="#105DD1"/>
<rect x="6" y="20.5" width="8" height="2" rx="1" transform="rotate(-90 6 20.5)" fill="white"/>
<rect x="11" y="25" width="19" height="2" rx="1" transform="rotate(-90 11 25)" fill="white"/>
<rect x="16" y="23.5" width="13" height="2" rx="1" transform="rotate(-90 16 23.5)" fill="white"/>
<rect x="21" y="24" width="16" height="2" rx="1" transform="rotate(-90 21 24)" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28.4875 28.0011C30.2953 25.4747 30.0443 21.9163 27.7486 19.6206C25.1967 17.0687 21.0846 17.0433 18.564 19.564C16.0434 22.0846 16.0687 26.1967 18.6206 28.7486C20.9417 31.0697 24.5536 31.3006 27.0846 29.4267L28.6068 30.9489C28.9974 31.3394 29.6305 31.3395 30.021 30.9489C30.4116 30.5584 30.4116 29.9252 30.021 29.5347L28.4875 28.0011Z" fill="#F6F9FE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.8884 27.83L27.3489 27.1864C28.7574 25.218 28.5711 22.423 26.7586 20.6106C24.7419 18.5938 21.5163 18.5915 19.5539 20.5539C17.5915 22.5163 17.5939 25.7419 19.6106 27.7586C21.4433 29.5913 24.28 29.7612 26.2515 28.3015L26.8884 27.83ZM28.4875 28.0011L30.021 29.5347C30.4116 29.9252 30.4116 30.5584 30.021 30.9489C29.6305 31.3395 28.9974 31.3394 28.6068 30.9489L27.0846 29.4267C24.5536 31.3006 20.9417 31.0697 18.6206 28.7486C16.0687 26.1967 16.0434 22.0846 18.564 19.564C21.0846 17.0433 25.1967 17.0687 27.7486 19.6206C30.0443 21.9163 30.2953 25.4747 28.4875 28.0011Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
<defs>
<clipPath id="clip0_8035_95228">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

17
designer-base/src/main/resources/com/fine/theme/icon/preview/data_analysis_disable.svg

@ -0,0 +1,17 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8069_17458)">
<path d="M2 4C2 2.89543 2.89543 2 4 2H26C27.1046 2 28 2.89543 28 4V28C28 29.1046 27.1046 30 26 30H4C2.89543 30 2 29.1046 2 28V4Z" fill="#C1C8D3"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26 3.4H4C3.66863 3.4 3.4 3.66863 3.4 4V28C3.4 28.3314 3.66863 28.6 4 28.6H26C26.3314 28.6 26.6 28.3314 26.6 28V4C26.6 3.66863 26.3314 3.4 26 3.4ZM4 2C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H26C27.1046 30 28 29.1046 28 28V4C28 2.89543 27.1046 2 26 2H4Z" fill="#A3ADBD"/>
<rect x="6" y="20.5" width="8" height="2" rx="1" transform="rotate(-90 6 20.5)" fill="white"/>
<rect x="11" y="25" width="19" height="2" rx="1" transform="rotate(-90 11 25)" fill="white"/>
<rect x="16" y="23.5" width="13" height="2" rx="1" transform="rotate(-90 16 23.5)" fill="white"/>
<rect x="21" y="24" width="16" height="2" rx="1" transform="rotate(-90 21 24)" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28.4875 28.0011C30.2953 25.4747 30.0443 21.9163 27.7486 19.6206C25.1967 17.0687 21.0846 17.0433 18.564 19.564C16.0434 22.0846 16.0687 26.1967 18.6206 28.7486C20.9417 31.0697 24.5536 31.3006 27.0846 29.4267L28.6068 30.9489C28.9974 31.3394 29.6305 31.3395 30.021 30.9489C30.4116 30.5584 30.4116 29.9252 30.021 29.5347L28.4875 28.0011Z" fill="#DADEE7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.8884 27.83L27.3489 27.1864C28.7574 25.218 28.5711 22.423 26.7586 20.6106C24.7419 18.5938 21.5163 18.5915 19.5539 20.5539C17.5915 22.5163 17.5939 25.7419 19.6106 27.7586C21.4433 29.5913 24.28 29.7612 26.2515 28.3015L26.8884 27.83ZM28.4875 28.0011L30.021 29.5347C30.4116 29.9252 30.4116 30.5584 30.021 30.9489C29.6305 31.3395 28.9974 31.3394 28.6068 30.9489L27.0846 29.4267C24.5536 31.3006 20.9417 31.0697 18.6206 28.7486C16.0687 26.1967 16.0434 22.0846 18.564 19.564C21.0846 17.0433 25.1967 17.0687 27.7486 19.6206C30.0443 21.9163 30.2953 25.4747 28.4875 28.0011Z" fill="#A3ADBD"/>
</g>
<defs>
<clipPath id="clip0_8069_17458">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

17
designer-base/src/main/resources/com/fine/theme/icon/preview/preview_mobile.svg

@ -0,0 +1,17 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8035_95236)">
<path d="M3 4C3 2.89543 3.89543 2 5 2H24C25.1046 2 26 2.89543 26 4V28C26 29.1046 25.1046 30 24 30H5C3.89543 30 3 29.1046 3 28L3 23V4Z" fill="#84B1F6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24 3.4H5C4.66863 3.4 4.4 3.66863 4.4 4V28C4.4 28.3314 4.66863 28.6 5 28.6H24C24.3314 28.6 24.6 28.3314 24.6 28V4C24.6 3.66863 24.3314 3.4 24 3.4ZM5 2C3.89543 2 3 2.89543 3 4V28C3 29.1046 3.89543 30 5 30H24C25.1046 30 26 29.1046 26 28V4C26 2.89543 25.1046 2 24 2H5Z" fill="#105DD1"/>
<path d="M4.39844 20H25.0002V28.1016C25.0002 28.3777 24.7763 28.6016 24.5002 28.6016H4.89844C4.62229 28.6016 4.39844 28.3777 4.39844 28.1016V20Z" fill="#5493F2"/>
<path d="M4.39844 20H25.0002V28.1016C25.0002 28.3777 24.7763 28.6016 24.5002 28.6016H4.89844C4.62229 28.6016 4.39844 28.3777 4.39844 28.1016V20Z" stroke="black"/>
<rect x="10" y="24" width="8" height="2.07407" rx="1" fill="white"/>
<rect x="3" y="18.5927" width="23" height="1.4" fill="#105DD1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28.6137 27.1764C29.4845 26.0095 30.0001 24.5619 30.0001 22.9939C30.0001 19.1279 26.8661 15.9939 23.0001 15.9939C19.1341 15.9939 16.0001 19.1279 16.0001 22.9939C16.0001 26.8599 19.1341 29.9939 23.0001 29.9939C24.5768 29.9939 26.0317 29.4726 27.2019 28.593L28.9843 30.3754C29.3748 30.7659 30.008 30.7659 30.3985 30.3754C30.789 29.9848 30.789 29.3517 30.3985 28.9611L28.6137 27.1764Z" fill="#F6F9FE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.9361 26.9163L27.4116 26.2792C28.0957 25.3626 28.5001 24.2276 28.5001 22.9939C28.5001 19.9563 26.0376 17.4939 23.0001 17.4939C19.9625 17.4939 17.5001 19.9563 17.5001 22.9939C17.5001 26.0315 19.9625 28.4939 23.0001 28.4939C24.2406 28.4939 25.3813 28.085 26.3007 27.394L26.9361 26.9163ZM28.6137 27.1764L30.3985 28.9611C30.789 29.3517 30.789 29.9848 30.3985 30.3754C30.008 30.7659 29.3748 30.7659 28.9843 30.3754L27.2019 28.593C26.0317 29.4726 24.5768 29.9939 23.0001 29.9939C19.1341 29.9939 16.0001 26.8599 16.0001 22.9939C16.0001 19.1279 19.1341 15.9939 23.0001 15.9939C26.8661 15.9939 30.0001 19.1279 30.0001 22.9939C30.0001 24.5619 29.4845 26.0095 28.6137 27.1764Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
<defs>
<clipPath id="clip0_8035_95236">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

17
designer-base/src/main/resources/com/fine/theme/icon/preview/preview_mobile_disable.svg

@ -0,0 +1,17 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8069_17539)">
<path d="M3 4C3 2.89543 3.89543 2 5 2H24C25.1046 2 26 2.89543 26 4V28C26 29.1046 25.1046 30 24 30H5C3.89543 30 3 29.1046 3 28L3 23V4Z" fill="#DADEE7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24 3.4H5C4.66863 3.4 4.4 3.66863 4.4 4V28C4.4 28.3314 4.66863 28.6 5 28.6H24C24.3314 28.6 24.6 28.3314 24.6 28V4C24.6 3.66863 24.3314 3.4 24 3.4ZM5 2C3.89543 2 3 2.89543 3 4V28C3 29.1046 3.89543 30 5 30H24C25.1046 30 26 29.1046 26 28V4C26 2.89543 25.1046 2 24 2H5Z" fill="#A3ADBD"/>
<path d="M4.39844 20H25.0002V28.1016C25.0002 28.3777 24.7763 28.6016 24.5002 28.6016H4.89844C4.62229 28.6016 4.39844 28.3777 4.39844 28.1016V20Z" fill="#C1C8D3"/>
<path d="M4.39844 20H25.0002V28.1016C25.0002 28.3777 24.7763 28.6016 24.5002 28.6016H4.89844C4.62229 28.6016 4.39844 28.3777 4.39844 28.1016V20Z" stroke="black"/>
<rect x="10" y="24" width="8" height="2.07407" rx="1" fill="white"/>
<rect x="3" y="18.5927" width="23" height="1.4" fill="#A3ADBD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28.6137 27.1764C29.4845 26.0095 30.0001 24.5619 30.0001 22.9939C30.0001 19.1279 26.8661 15.9939 23.0001 15.9939C19.1341 15.9939 16.0001 19.1279 16.0001 22.9939C16.0001 26.8599 19.1341 29.9939 23.0001 29.9939C24.5768 29.9939 26.0317 29.4726 27.2019 28.593L28.9843 30.3754C29.3748 30.7659 30.008 30.7659 30.3985 30.3754C30.789 29.9848 30.789 29.3517 30.3985 28.9611L28.6137 27.1764Z" fill="#DADEE7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.9361 26.9163L27.4116 26.2792C28.0957 25.3626 28.5001 24.2276 28.5001 22.9939C28.5001 19.9563 26.0376 17.4939 23.0001 17.4939C19.9625 17.4939 17.5001 19.9563 17.5001 22.9939C17.5001 26.0315 19.9625 28.4939 23.0001 28.4939C24.2406 28.4939 25.3813 28.085 26.3007 27.394L26.9361 26.9163ZM28.6137 27.1764L30.3985 28.9611C30.789 29.3517 30.789 29.9848 30.3985 30.3754C30.008 30.7659 29.3748 30.7659 28.9843 30.3754L27.2019 28.593C26.0317 29.4726 24.5768 29.9939 23.0001 29.9939C19.1341 29.9939 16.0001 26.8599 16.0001 22.9939C16.0001 19.1279 19.1341 15.9939 23.0001 15.9939C26.8661 15.9939 30.0001 19.1279 30.0001 22.9939C30.0001 24.5619 29.4845 26.0095 28.6137 27.1764Z" fill="#A3ADBD"/>
</g>
<defs>
<clipPath id="clip0_8069_17539">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

18
designer-base/src/main/resources/com/fine/theme/icon/preview/preview_paging.svg

@ -0,0 +1,18 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8035_95212)">
<path d="M2 12C2 10.8954 2.89543 10 4 10H26C27.1046 10 28 10.8954 28 12V30H2V12Z" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26 11.4H4C3.66863 11.4 3.4 11.6686 3.4 12V28.6H26.6V12C26.6 11.6686 26.3314 11.4 26 11.4ZM4 10C2.89543 10 2 10.8954 2 12V30H28V12C28 10.8954 27.1046 10 26 10H4Z" fill="#105DD1"/>
<path d="M2 2H28V6.22222C28 7.32679 27.1046 8.22222 26 8.22222H4C2.89543 8.22222 2 7.32679 2 6.22222V2Z" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.6 3.4H3.4V6.22222C3.4 6.55359 3.66863 6.82222 4 6.82222H26C26.3314 6.82222 26.6 6.55359 26.6 6.22222V3.4ZM2 2V6.22222C2 7.32679 2.89543 8.22222 4 8.22222H26C27.1046 8.22222 28 7.32679 28 6.22222V2H2Z" fill="#105DD1"/>
<rect x="6" y="15" width="18" height="2" rx="1" fill="white"/>
<rect x="6" y="20" width="18" height="2" rx="1" fill="white"/>
<path d="M28.2266 27.7179L30.0323 29.5236C30.4228 29.9142 30.4228 30.5473 30.0323 30.9379C29.6418 31.3284 29.0086 31.3284 28.6181 30.9379L26.8123 29.1321L28.2266 27.7179Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M27.7486 19.6206C30.3004 22.1725 30.3258 26.2845 27.8052 28.8052C25.2846 31.3258 21.1725 31.3004 18.6206 28.7485C16.0687 26.1966 16.0434 22.0846 18.564 19.564C21.0846 17.0433 25.1967 17.0687 27.7486 19.6206Z" fill="#F6F9FE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.7445 27.7445C28.6671 25.822 28.6664 22.6597 26.6879 20.6812C24.7094 18.7028 21.5472 18.7021 19.6246 20.6246C17.7021 22.5471 17.7028 25.7094 19.6813 27.6879C21.6597 29.6663 24.822 29.667 26.7445 27.7445ZM27.8052 28.8052C30.3258 26.2845 30.3004 22.1725 27.7486 19.6206C25.1967 17.0687 21.0846 17.0433 18.564 19.564C16.0434 22.0846 16.0687 26.1966 18.6206 28.7485C21.1725 31.3004 25.2846 31.3258 27.8052 28.8052Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
<defs>
<clipPath id="clip0_8035_95212">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

17
designer-base/src/main/resources/com/fine/theme/icon/preview/preview_paging_disable.svg

@ -0,0 +1,17 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8035_95244)">
<path d="M2 12C2 10.8954 2.89543 10 4 10H26C27.1046 10 28 10.8954 28 12V30H2V12Z" fill="#C1C8D3"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26 11.4H4C3.66863 11.4 3.4 11.6686 3.4 12V28.6H26.6V12C26.6 11.6686 26.3314 11.4 26 11.4ZM4 10C2.89543 10 2 10.8954 2 12V30H28V12C28 10.8954 27.1046 10 26 10H4Z" fill="#A3ADBD"/>
<path d="M2 2H28V6.22222C28 7.32679 27.1046 8.22222 26 8.22222H4C2.89543 8.22222 2 7.32679 2 6.22222V2Z" fill="#C1C8D3"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.6 3.4H3.4V6.22222C3.4 6.55359 3.66863 6.82222 4 6.82222H26C26.3314 6.82222 26.6 6.55359 26.6 6.22222V3.4ZM2 2V6.22222C2 7.32679 2.89543 8.22222 4 8.22222H26C27.1046 8.22222 28 7.32679 28 6.22222V2H2Z" fill="#A3ADBD"/>
<rect x="6" y="15" width="18" height="2" rx="1" fill="white"/>
<rect x="6" y="20" width="18" height="2" rx="1" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28.4966 27.9883C30.2945 25.4627 30.0404 21.9124 27.7486 19.6206C25.1967 17.0687 21.0846 17.0433 18.564 19.564C16.0434 22.0846 16.0687 26.1967 18.6206 28.7486C20.9456 31.0735 24.5656 31.3014 27.0972 29.4173L28.6178 30.9379C29.0083 31.3285 29.6415 31.3285 30.032 30.9379C30.4226 30.5474 30.4226 29.9142 30.032 29.5237L28.4966 27.9883Z" fill="#DADEE7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.8972 27.821L27.3561 27.1764C28.7568 25.2086 28.568 22.4199 26.7586 20.6106C24.7419 18.5938 21.5163 18.5915 19.5539 20.5539C17.5915 22.5163 17.5939 25.7419 19.6106 27.7586C21.4463 29.5944 24.2894 29.7617 26.2614 28.2942L26.8972 27.821ZM28.4966 27.9883L30.032 29.5237C30.4226 29.9142 30.4226 30.5474 30.032 30.9379C29.6415 31.3285 29.0083 31.3285 28.6178 30.9379L27.0972 29.4173C24.5656 31.3014 20.9456 31.0735 18.6206 28.7486C16.0687 26.1967 16.0434 22.0846 18.564 19.564C21.0846 17.0433 25.1967 17.0687 27.7486 19.6206C30.0404 21.9124 30.2945 25.4627 28.4966 27.9883Z" fill="#A3ADBD"/>
</g>
<defs>
<clipPath id="clip0_8035_95244">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

18
designer-base/src/main/resources/com/fine/theme/icon/preview/preview_write.svg

@ -0,0 +1,18 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8082_87019)">
<path d="M2 4C2 2.89543 2.89543 2 4 2H26C27.1046 2 28 2.89543 28 4V28C28 29.1046 27.1046 30 26 30H4C2.89543 30 2 29.1046 2 28V4Z" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26 3.4H4C3.66863 3.4 3.4 3.66863 3.4 4V28C3.4 28.3314 3.66863 28.6 4 28.6H26C26.3314 28.6 26.6 28.3314 26.6 28V4C26.6 3.66863 26.3314 3.4 26 3.4ZM4 2C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H26C27.1046 30 28 29.1046 28 28V4C28 2.89543 27.1046 2 26 2H4Z" fill="#105DD1"/>
<rect x="6" y="7.00012" width="18" height="2" rx="1" fill="white"/>
<rect x="6" y="12.0001" width="18" height="2" rx="1" fill="white"/>
<rect x="6" y="17.0001" width="5.625" height="2" rx="1" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28.4875 28.0011C30.2953 25.4747 30.0443 21.9163 27.7486 19.6206C25.1967 17.0687 21.0846 17.0433 18.564 19.564C16.0434 22.0846 16.0687 26.1967 18.6206 28.7486C20.9417 31.0697 24.5536 31.3006 27.0846 29.4267L28.6068 30.9489C28.9974 31.3394 29.6305 31.3395 30.021 30.9489C30.4116 30.5584 30.4116 29.9252 30.021 29.5347L28.4875 28.0011Z" fill="#F6F9FE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.8884 27.83L27.3489 27.1864C28.7574 25.218 28.5711 22.423 26.7586 20.6106C24.7419 18.5938 21.5163 18.5915 19.5539 20.5539C17.5915 22.5163 17.5939 25.7419 19.6106 27.7586C21.4433 29.5913 24.28 29.7612 26.2515 28.3015L26.8884 27.83ZM28.4875 28.0011L30.021 29.5347C30.4116 29.9252 30.4116 30.5584 30.021 30.9489C29.6305 31.3395 28.9974 31.3394 28.6068 30.9489L27.0846 29.4267C24.5536 31.3006 20.9417 31.0697 18.6206 28.7486C16.0687 26.1967 16.0434 22.0846 18.564 19.564C21.0846 17.0433 25.1967 17.0687 27.7486 19.6206C30.0443 21.9163 30.2953 25.4747 28.4875 28.0011Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.3027 9.51985L26.0949 0.727641C26.4854 0.337117 27.1186 0.337116 27.5091 0.727641L30.3544 3.57295C30.7449 3.96347 30.7449 4.59664 30.3544 4.98716L21.5622 13.7794L17.9787 14.2173C17.3336 14.2961 16.7859 13.7484 16.8648 13.1034L17.3027 9.51985Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.6338 10.1686L18.3164 12.7656L20.9134 12.4482L29.0816 4.28005L26.802 2.00043L18.6338 10.1686ZM21.5622 13.7794L30.3544 4.98716C30.7449 4.59664 30.7449 3.96347 30.3544 3.57295L27.5091 0.727641C27.1186 0.337117 26.4854 0.337117 26.0949 0.727641L17.3027 9.51985L16.8648 13.1034C16.7859 13.7484 17.3336 14.2961 17.9787 14.2173L21.5622 13.7794Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
<defs>
<clipPath id="clip0_8082_87019">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

18
designer-base/src/main/resources/com/fine/theme/icon/preview/preview_write_disable.svg

@ -0,0 +1,18 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8082_87298)">
<path d="M2 4C2 2.89543 2.89543 2 4 2H26C27.1046 2 28 2.89543 28 4V28C28 29.1046 27.1046 30 26 30H4C2.89543 30 2 29.1046 2 28V4Z" fill="#C1C8D3"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26 3.4H4C3.66863 3.4 3.4 3.66863 3.4 4V28C3.4 28.3314 3.66863 28.6 4 28.6H26C26.3314 28.6 26.6 28.3314 26.6 28V4C26.6 3.66863 26.3314 3.4 26 3.4ZM4 2C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H26C27.1046 30 28 29.1046 28 28V4C28 2.89543 27.1046 2 26 2H4Z" fill="#A3ADBD"/>
<rect x="6" y="7.00012" width="18" height="2" rx="1" fill="white"/>
<rect x="6" y="12.0001" width="18" height="2" rx="1" fill="white"/>
<rect x="6" y="17.0001" width="5.625" height="2" rx="1" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28.4875 28.0011C30.2953 25.4747 30.0443 21.9163 27.7486 19.6206C25.1967 17.0687 21.0846 17.0433 18.564 19.564C16.0434 22.0846 16.0687 26.1967 18.6206 28.7486C20.9417 31.0697 24.5536 31.3006 27.0846 29.4267L28.6068 30.9489C28.9974 31.3394 29.6305 31.3395 30.021 30.9489C30.4116 30.5584 30.4116 29.9252 30.021 29.5347L28.4875 28.0011Z" fill="#DADEE7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M26.8884 27.83L27.3489 27.1864C28.7574 25.218 28.5711 22.423 26.7586 20.6106C24.7419 18.5938 21.5163 18.5915 19.5539 20.5539C17.5915 22.5163 17.5939 25.7419 19.6106 27.7586C21.4433 29.5913 24.28 29.7612 26.2515 28.3015L26.8884 27.83ZM28.4875 28.0011L30.021 29.5347C30.4116 29.9252 30.4116 30.5584 30.021 30.9489C29.6305 31.3395 28.9974 31.3394 28.6068 30.9489L27.0846 29.4267C24.5536 31.3006 20.9417 31.0697 18.6206 28.7486C16.0687 26.1967 16.0434 22.0846 18.564 19.564C21.0846 17.0433 25.1967 17.0687 27.7486 19.6206C30.0443 21.9163 30.2953 25.4747 28.4875 28.0011Z" fill="#A3ADBD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.3027 9.51985L26.0949 0.727641C26.4854 0.337117 27.1186 0.337116 27.5091 0.727641L30.3544 3.57295C30.7449 3.96347 30.7449 4.59664 30.3544 4.98716L21.5622 13.7794L17.9787 14.2173C17.3336 14.2961 16.7859 13.7484 16.8648 13.1034L17.3027 9.51985Z" fill="#DADEE7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.6338 10.1686L18.3164 12.7656L20.9134 12.4482L29.0816 4.28005L26.802 2.00043L18.6338 10.1686ZM21.5622 13.7794L30.3544 4.98716C30.7449 4.59664 30.7449 3.96347 30.3544 3.57295L27.5091 0.727641C27.1186 0.337117 26.4854 0.337117 26.0949 0.727641L17.3027 9.51985L16.8648 13.1034C16.7859 13.7484 17.3336 14.2961 17.9787 14.2173L21.5622 13.7794Z" fill="#A3ADBD"/>
</g>
<defs>
<clipPath id="clip0_8082_87298">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

3
designer-base/src/main/resources/com/fine/theme/icon/switch.svg

@ -0,0 +1,3 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M22.3137 5.11817C21.8268 4.66865 21.0676 4.69901 20.618 5.18599C20.1685 5.67297 20.1989 6.43217 20.6859 6.88169L24.9306 10.8L3.9998 10.8C3.33706 10.8 2.7998 11.3372 2.7998 12C2.7998 12.6627 3.33706 13.2 3.9998 13.2L27.4883 13.2C28.7627 13.2 29.3743 11.6357 28.4379 10.7713L22.3137 5.11817ZM9.68625 26.8818C10.1732 27.3314 10.9324 27.301 11.382 26.814C11.8315 26.327 11.8011 25.5678 11.3141 25.1183L7.06935 21.2L28.0002 21.2C28.6629 21.2 29.2002 20.6628 29.2002 20C29.2002 19.3373 28.6629 18.8 28.0002 18.8L4.51172 18.8C3.23729 18.8 2.62567 20.3643 3.56212 21.2287L9.68625 26.8818Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 770 B

7
designer-base/src/main/resources/com/fine/theme/icon/toolbar/appendRow.svg

@ -0,0 +1,7 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.13645 16.3728C6.95451 16.1669 6.95451 15.8331 7.13646 15.6272L10.2047 12.1555C10.4982 11.8234 11 12.0586 11 12.5282V15L14 15V17L11 17V19.4718C11 19.9414 10.4982 20.1766 10.2047 19.8445L7.13645 16.3728Z" fill="#34B3FA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 4H4V8H16V4ZM4 2C2.89543 2 2 2.89543 2 4V8C2 9.10457 2.89543 10 4 10H16C17.1046 10 18 9.10457 18 8V4C18 2.89543 17.1046 2 16 2H4Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 14H16V18H28V14ZM16 12C14.8954 12 14 12.8954 14 14V18C14 19.1046 14.8954 20 16 20H28C29.1046 20 30 19.1046 30 18V14C30 12.8954 29.1046 12 28 12H16Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 24H4V28H16V24ZM4 22C2.89543 22 2 22.8954 2 24V28C2 29.1046 2.89543 30 4 30H16C17.1046 30 18 29.1046 18 28V24C18 22.8954 17.1046 22 16 22H4Z" fill="#0A1C38" fill-opacity="0.9"/>
<rect x="16" y="14" width="12" height="4" fill="#C3F0FE"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

7
designer-base/src/main/resources/com/fine/theme/icon/toolbar/appendRow_disable.svg

@ -0,0 +1,7 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.13645 16.3728C6.95451 16.1669 6.95451 15.8331 7.13646 15.6272L10.2047 12.1555C10.4982 11.8234 11 12.0586 11 12.5282V15L14 15V17L11 17V19.4718C11 19.9414 10.4982 20.1766 10.2047 19.8445L7.13645 16.3728Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 4H4V8H16V4ZM4 2C2.89543 2 2 2.89543 2 4V8C2 9.10457 2.89543 10 4 10H16C17.1046 10 18 9.10457 18 8V4C18 2.89543 17.1046 2 16 2H4Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 14H16V18H28V14ZM16 12C14.8954 12 14 12.8954 14 14V18C14 19.1046 14.8954 20 16 20H28C29.1046 20 30 19.1046 30 18V14C30 12.8954 29.1046 12 28 12H16Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 24H4V28H16V24ZM4 22C2.89543 22 2 22.8954 2 24V28C2 29.1046 2.89543 30 4 30H16C17.1046 30 18 29.1046 18 28V24C18 22.8954 17.1046 22 16 22H4Z" fill="#0A1C38" fill-opacity="0.29"/>
<rect x="16" y="14" width="12" height="4" fill="#0A1C38" fill-opacity="0.2"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

7
designer-base/src/main/resources/com/fine/theme/icon/toolbar/deleteRow.svg

@ -0,0 +1,7 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 5H3C2.44772 5 2 4.55228 2 4Lnan nanL2 4C2 3.44772 2.44772 3 3 3H10C11.1046 3 12 3.89543 12 5V11H10V5Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 27H3C2.44772 27 2 27.4477 2 28Lnan nanL2 28C2 28.5523 2.44772 29 3 29H10C11.1046 29 12 28.1046 12 27V21H10V27Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M21 13H3C2.44772 13 2 12.5523 2 12Lnan nanL2 12C2 11.4477 2.44772 11 3 11H21C22.1046 11 23 11.8954 23 13V19C23 20.1046 22.1046 21 21 21H3C2.44772 21 2 20.5523 2 20Lnan nanL2 20C2 19.4477 2.44771 19 3 19H21V13Z" fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M3 13H21V19H3C2.44771 19 2 19.4477 2 20V12C2 12.5523 2.44772 13 3 13Z" fill="#9FE4FD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.8635 15.6272C30.0455 15.8331 30.0455 16.1669 29.8635 16.3728L26.7953 19.8445C26.5018 20.1766 26 19.9414 26 19.4718V17L23 17V15L26 15V12.5282C26 12.0586 26.5018 11.8234 26.7953 12.1555L29.8635 15.6272Z" fill="#34B3FA"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

7
designer-base/src/main/resources/com/fine/theme/icon/toolbar/deleteRow_disable.svg

@ -0,0 +1,7 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 5H3C2.44772 5 2 4.55228 2 4Lnan nanL2 4C2 3.44772 2.44772 3 3 3H10C11.1046 3 12 3.89543 12 5V11H10V5Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 27H3C2.44772 27 2 27.4477 2 28Lnan nanL2 28C2 28.5523 2.44772 29 3 29H10C11.1046 29 12 28.1046 12 27V21H10V27Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M21 13H3C2.44772 13 2 12.5523 2 12Lnan nanL2 12C2 11.4477 2.44772 11 3 11H21C22.1046 11 23 11.8954 23 13V19C23 20.1046 22.1046 21 21 21H3C2.44772 21 2 20.5523 2 20Lnan nanL2 20C2 19.4477 2.44771 19 3 19H21V13Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M3 13H21V19H3C2.44771 19 2 19.4477 2 20V12C2 12.5523 2.44772 13 3 13Z" fill="#0A1C38" fill-opacity="0.2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.8635 15.6272C30.0455 15.8331 30.0455 16.1669 29.8635 16.3728L26.7953 19.8445C26.5018 20.1766 26 19.9414 26 19.4718V17L23 17V15L26 15V12.5282C26 12.0586 26.5018 11.8234 26.7953 12.1555L29.8635 15.6272Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

4
designer-base/src/main/resources/com/fine/theme/icon/toolbar/showValue.svg

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="4" y="4" width="24" height="4" fill="#34B3FA"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 4H4V28H28V4ZM4 2C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H28C29.1046 30 30 29.1046 30 28V4C30 2.89543 29.1046 2 28 2H4Z" fill="#2089CF"/>
</svg>

After

Width:  |  Height:  |  Size: 363 B

4
designer-base/src/main/resources/com/fine/theme/icon/toolbar/showValue_disable.svg

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="4" y="4" width="24" height="4" fill="#0A1C38" fill-opacity="0.2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M28 4H4V28H28V4ZM4 2C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H28C29.1046 30 30 29.1046 30 28V4C30 2.89543 29.1046 2 28 2H4Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 402 B

7
designer-base/src/main/resources/com/fine/theme/icon/toolbar/stash.svg

@ -0,0 +1,7 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M22 28C25.3137 28 28 25.3137 28 22C28 18.6863 25.3137 16 22 16C18.6863 16 16 18.6863 16 22C16 25.3137 18.6863 28 22 28ZM22 30C26.4183 30 30 26.4183 30 22C30 17.5817 26.4183 14 22 14C17.5817 14 14 17.5817 14 22C14 26.4183 17.5817 30 22 30Z" fill="#2576EF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 4H8V10H20V4H22V10C22 11.1046 21.1046 12 20 12H8C6.89543 12 6 11.1046 6 10V4Z" fill="#4834AE"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 28H13.9993C14.5681 28.7572 15.2418 29.4311 15.999 30H4C2.89543 30 2 29.1046 2 28V4C2 2.89543 2.89543 2 4 2H23.0801C23.664 2 24.2187 2.25513 24.5986 2.69842L29.5185 8.43827C29.8292 8.80075 30 9.26243 30 9.73985V15.999C29.4311 15.2418 28.7572 14.5681 28 13.9993V9.73985L23.0801 4H4V28Z" fill="#4834AE"/>
<rect x="8" y="4" width="10" height="6" fill="#856CD8"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M21.0498 17.95C21.0498 17.4253 21.4751 17 21.9998 17C22.5245 17 22.9498 17.4253 22.9498 17.95V21.6065L24.6718 23.3284C25.0427 23.6994 25.0427 24.3009 24.6718 24.6719C24.3008 25.0429 23.6992 25.0429 23.3282 24.6719L21.6356 22.9793C21.2605 22.6042 21.0498 22.0955 21.0498 21.5651V17.95Z" fill="#2576EF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

7
designer-base/src/main/resources/com/fine/theme/icon/toolbar/stash_disable.svg

@ -0,0 +1,7 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M22 28C25.3137 28 28 25.3137 28 22C28 18.6863 25.3137 16 22 16C18.6863 16 16 18.6863 16 22C16 25.3137 18.6863 28 22 28ZM22 30C26.4183 30 30 26.4183 30 22C30 17.5817 26.4183 14 22 14C17.5817 14 14 17.5817 14 22C14 26.4183 17.5817 30 22 30Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 4H8V10H20V4H22V10C22 11.1046 21.1046 12 20 12H8C6.89543 12 6 11.1046 6 10V4Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 28H13.9993C14.5681 28.7572 15.2418 29.4311 15.999 30H4C2.89543 30 2 29.1046 2 28V4C2 2.89543 2.89543 2 4 2H23.0801C23.664 2 24.2187 2.25513 24.5986 2.69842L29.5185 8.43827C29.8292 8.80075 30 9.26243 30 9.73985V15.999C29.4311 15.2418 28.7572 14.5681 28 13.9993V9.73985L23.0801 4H4V28Z" fill="#0A1C38" fill-opacity="0.29"/>
<rect x="8" y="4" width="10" height="6" fill="#0A1C38" fill-opacity="0.2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M21.0498 17.95C21.0498 17.4253 21.4751 17 21.9998 17Lnan nanL21.9998 17C22.5245 17 22.9498 17.4253 22.9498 17.95V21.6065L24.6718 23.3284C25.0427 23.6994 25.0427 24.3009 24.6718 24.6719Lnan nanL24.6718 24.6719C24.3008 25.0429 23.6992 25.0429 23.3282 24.6719L21.6356 22.9793C21.2605 22.6042 21.0498 22.0955 21.0498 21.5651V17.95Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

9
designer-base/src/main/resources/com/fine/theme/icon/variable/dataItem.svg

@ -0,0 +1,9 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4 4H28V12H4V4Z" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 10.6V12H28V10.6H4Z" fill="#105DD1"/>
<rect x="4" y="12" width="24" height="16" fill="#B3CFF9"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.50039 14.4H11.5004C12.6602 14.4 13.6004 15.3402 13.6004 16.5V22.5C13.6004 23.6598 12.6602 24.6 11.5004 24.6H8.50039C7.34059 24.6 6.40039 23.6598 6.40039 22.5V16.5C6.40039 15.3402 7.34059 14.4 8.50039 14.4ZM8.50039 16C8.22425 16 8.00039 16.2239 8.00039 16.5V22.5C8.00039 22.7762 8.22425 23 8.50039 23H11.5004C11.7765 23 12.0004 22.7762 12.0004 22.5V16.5C12.0004 16.2239 11.7765 16 11.5004 16H8.50039Z" fill="#105DD1"/>
<rect x="16" y="16" width="10" height="1.6" rx="0.8" fill="#105DD1"/>
<rect x="16" y="21.6" width="10" height="1.6" rx="0.8" fill="#105DD1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99961 2.59998H26.9996C28.3251 2.59998 29.3996 3.67449 29.3996 4.99998V27C29.3996 28.3255 28.3251 29.4 26.9996 29.4H4.99961C3.67413 29.4 2.59961 28.3255 2.59961 27V4.99998C2.59961 3.67449 3.67413 2.59998 4.99961 2.59998ZM4.99961 3.99998C4.44732 3.99998 3.99961 4.44769 3.99961 4.99998V27C3.99961 27.5523 4.44733 28 4.99961 28H26.9996C27.5519 28 27.9996 27.5523 27.9996 27V4.99998C27.9996 4.44769 27.5519 3.99998 26.9996 3.99998H4.99961Z" fill="#105DD1"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

9
designer-base/src/main/resources/com/fine/theme/icon/variable/dataItem_disable.svg

@ -0,0 +1,9 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4 4H28V12H4V4Z" fill="#B8BFCB"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 10.6V12H28V10.6H4Z" fill="#A3ADBD"/>
<rect x="4" y="12" width="24" height="16" fill="#DADEE7"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.50039 14.4H11.5004C12.6602 14.4 13.6004 15.3402 13.6004 16.5V22.5C13.6004 23.6598 12.6602 24.6 11.5004 24.6H8.50039C7.34059 24.6 6.40039 23.6598 6.40039 22.5V16.5C6.40039 15.3402 7.34059 14.4 8.50039 14.4ZM8.50039 16C8.22425 16 8.00039 16.2239 8.00039 16.5V22.5C8.00039 22.7762 8.22425 23 8.50039 23H11.5004C11.7765 23 12.0004 22.7762 12.0004 22.5V16.5C12.0004 16.2239 11.7765 16 11.5004 16H8.50039Z" fill="#A3ADBD"/>
<rect x="16" y="16" width="10" height="1.6" rx="0.8" fill="#A3ADBD"/>
<rect x="16" y="21.6" width="10" height="1.6" rx="0.8" fill="#A3ADBD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99961 2.59998H26.9996C28.3251 2.59998 29.3996 3.67449 29.3996 4.99998V27C29.3996 28.3255 28.3251 29.4 26.9996 29.4H4.99961C3.67413 29.4 2.59961 28.3255 2.59961 27V4.99998C2.59961 3.67449 3.67413 2.59998 4.99961 2.59998ZM4.99961 3.99998C4.44732 3.99998 3.99961 4.44769 3.99961 4.99998V27C3.99961 27.5523 4.44733 28 4.99961 28H26.9996C27.5519 28 27.9996 27.5523 27.9996 27V4.99998C27.9996 4.44769 27.5519 3.99998 26.9996 3.99998H4.99961Z" fill="#A3ADBD"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

9
designer-base/src/main/resources/com/fine/theme/icon/variable/param_global.svg

@ -0,0 +1,9 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="4" y="10" width="24" height="18" fill="#B3CFF9"/>
<rect x="4" y="3.99988" width="24" height="8" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99961 2.59998H26.9996C28.3251 2.59998 29.3996 3.67449 29.3996 4.99998V27C29.3996 28.3255 28.3251 29.4 26.9996 29.4H4.99961C3.67413 29.4 2.59961 28.3255 2.59961 27V4.99998C2.59961 3.67449 3.67413 2.59998 4.99961 2.59998ZM4.99961 3.99998C4.44732 3.99998 3.99961 4.44769 3.99961 4.99998V27C3.99961 27.5523 4.44733 28 4.99961 28H26.9996C27.5519 28 27.9996 27.5523 27.9996 27V4.99998C27.9996 4.44769 27.5519 3.99998 26.9996 3.99998H4.99961Z" fill="#105DD1"/>
<rect x="3" y="11" width="26" height="1.4" fill="#105DD1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.6 26.3C16.6 26.6866 16.2866 27 15.9 27C15.5134 27 15.2 26.6866 15.2 26.3V24.4H14.6C13.7163 24.4 13 23.6837 13 22.8L13 19.2C13 18.3163 13.7163 17.6 14.6 17.6H15.2V16.7C15.2 16.3134 15.5134 16 15.9 16C16.2866 16 16.6 16.3134 16.6 16.7V17.6H17.4C18.2837 17.6 19 18.3163 19 19.2L19 22.8C19 23.6837 18.2837 24.4 17.4 24.4H16.6V26.3ZM16.6 19H15.2H14.6C14.4895 19 14.4 19.0895 14.4 19.2L14.4 22.8C14.4 22.9105 14.4895 23 14.6 23H17.4C17.5105 23 17.6 22.9105 17.6 22.8L17.6 19.2C17.6 19.0895 17.5105 19 17.4 19H16.6Z" fill="#105DD1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.6 24.3C8.6 24.6866 8.2866 25 7.9 25C7.5134 25 7.2 24.6866 7.2 24.3L7.2 22.4H6.6C5.71635 22.4 5 21.6837 5 20.8L5 17.2C5 16.3163 5.71634 15.6 6.6 15.6H7.2V14.7C7.2 14.3134 7.5134 14 7.9 14C8.2866 14 8.6 14.3134 8.6 14.7V15.6H9.4C10.2837 15.6 11 16.3163 11 17.2V20.8C11 21.6837 10.2837 22.4 9.4 22.4H8.6V24.3ZM8.6 17H7.2H6.6C6.48954 17 6.4 17.0895 6.4 17.2L6.4 20.8C6.4 20.9105 6.48954 21 6.6 21H9.4C9.51046 21 9.6 20.9105 9.6 20.8V17.2C9.6 17.0895 9.51046 17 9.4 17H8.6Z" fill="#105DD1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.6 24.3C24.6 24.6866 24.2866 25 23.9 25C23.5134 25 23.2 24.6866 23.2 24.3V22.4H22.6C21.7163 22.4 21 21.6837 21 20.8L21 17.2C21 16.3163 21.7163 15.6 22.6 15.6H23.2V14.7C23.2 14.3134 23.5134 14 23.9 14C24.2866 14 24.6 14.3134 24.6 14.7V15.6H25.4C26.2837 15.6 27 16.3163 27 17.2L27 20.8C27 21.6837 26.2837 22.4 25.4 22.4H24.6V24.3ZM24.6 17H23.2H22.6C22.4895 17 22.4 17.0895 22.4 17.2L22.4 20.8C22.4 20.9105 22.4895 21 22.6 21H25.4C25.5105 21 25.6 20.9105 25.6 20.8L25.6 17.2C25.6 17.0895 25.5105 17 25.4 17H24.6Z" fill="#105DD1"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

9
designer-base/src/main/resources/com/fine/theme/icon/variable/param_global_disable.svg

@ -0,0 +1,9 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="4" y="10" width="24" height="18" fill="#DADEE7"/>
<rect x="4" y="3.99988" width="24" height="8" fill="#B8BFCB"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99961 2.59998H26.9996C28.3251 2.59998 29.3996 3.67449 29.3996 4.99998V27C29.3996 28.3255 28.3251 29.4 26.9996 29.4H4.99961C3.67413 29.4 2.59961 28.3255 2.59961 27V4.99998C2.59961 3.67449 3.67413 2.59998 4.99961 2.59998ZM4.99961 3.99998C4.44732 3.99998 3.99961 4.44769 3.99961 4.99998V27C3.99961 27.5523 4.44733 28 4.99961 28H26.9996C27.5519 28 27.9996 27.5523 27.9996 27V4.99998C27.9996 4.44769 27.5519 3.99998 26.9996 3.99998H4.99961Z" fill="#A3ADBD"/>
<rect x="3" y="11" width="26" height="1.4" fill="#A3ADBD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.6 26.3C16.6 26.6866 16.2866 27 15.9 27C15.5134 27 15.2 26.6866 15.2 26.3V24.4H14.6C13.7163 24.4 13 23.6837 13 22.8L13 19.2C13 18.3163 13.7163 17.6 14.6 17.6H15.2V16.7C15.2 16.3134 15.5134 16 15.9 16C16.2866 16 16.6 16.3134 16.6 16.7V17.6H17.4C18.2837 17.6 19 18.3163 19 19.2L19 22.8C19 23.6837 18.2837 24.4 17.4 24.4H16.6V26.3ZM16.6 19H15.2H14.6C14.4895 19 14.4 19.0895 14.4 19.2L14.4 22.8C14.4 22.9105 14.4895 23 14.6 23H17.4C17.5105 23 17.6 22.9105 17.6 22.8L17.6 19.2C17.6 19.0895 17.5105 19 17.4 19H16.6Z" fill="#A3ADBD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.6 24.3C8.6 24.6866 8.2866 25 7.9 25C7.5134 25 7.2 24.6866 7.2 24.3L7.2 22.4H6.6C5.71635 22.4 5 21.6837 5 20.8L5 17.2C5 16.3163 5.71634 15.6 6.6 15.6H7.2V14.7C7.2 14.3134 7.5134 14 7.9 14C8.2866 14 8.6 14.3134 8.6 14.7V15.6H9.4C10.2837 15.6 11 16.3163 11 17.2V20.8C11 21.6837 10.2837 22.4 9.4 22.4H8.6V24.3ZM8.6 17H7.2H6.6C6.48954 17 6.4 17.0895 6.4 17.2L6.4 20.8C6.4 20.9105 6.48954 21 6.6 21H9.4C9.51046 21 9.6 20.9105 9.6 20.8V17.2C9.6 17.0895 9.51046 17 9.4 17H8.6Z" fill="#A3ADBD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24.6 24.3C24.6 24.6866 24.2866 25 23.9 25C23.5134 25 23.2 24.6866 23.2 24.3V22.4H22.6C21.7163 22.4 21 21.6837 21 20.8L21 17.2C21 16.3163 21.7163 15.6 22.6 15.6H23.2V14.7C23.2 14.3134 23.5134 14 23.9 14C24.2866 14 24.6 14.3134 24.6 14.7V15.6H25.4C26.2837 15.6 27 16.3163 27 17.2L27 20.8C27 21.6837 26.2837 22.4 25.4 22.4H24.6V24.3ZM24.6 17H23.2H22.6C22.4895 17 22.4 17.0895 22.4 17.2L22.4 20.8C22.4 20.9105 22.4895 21 22.6 21H25.4C25.5105 21 25.6 20.9105 25.6 20.8L25.6 17.2C25.6 17.0895 25.5105 17 25.4 17H24.6Z" fill="#A3ADBD"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/variable/variable.svg

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99961 2.59998H26.9996C28.3251 2.59998 29.3996 3.67449 29.3996 4.99998V27C29.3996 28.3255 28.3251 29.4 26.9996 29.4H4.99961C3.67413 29.4 2.59961 28.3255 2.59961 27V4.99998C2.59961 3.67449 3.67413 2.59998 4.99961 2.59998ZM4.99961 3.99998C4.44732 3.99998 3.99961 4.44769 3.99961 4.99998V27C3.99961 27.5523 4.44733 28 4.99961 28H26.9996C27.5519 28 27.9996 27.5523 27.9996 27V4.99998C27.9996 4.44769 27.5519 3.99998 26.9996 3.99998H4.99961Z" fill="#105DD1"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.0188 13.1426L7 26H11.8464L18.442 16.5971L16.0188 13.1426ZM19.5348 15.0392L25.1739 7H20.3275L17.1116 11.5847L19.5348 15.0392Z" fill="#5493F2"/>
<path d="M7 7H11.8464L25.1739 26H20.3275L7 7Z" fill="#105DD1"/>
</svg>

After

Width:  |  Height:  |  Size: 869 B

5
designer-base/src/main/resources/com/fine/theme/icon/variable/variable_disable.svg

@ -0,0 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99961 2.59998H26.9996C28.3251 2.59998 29.3996 3.67449 29.3996 4.99998V27C29.3996 28.3255 28.3251 29.4 26.9996 29.4H4.99961C3.67413 29.4 2.59961 28.3255 2.59961 27V4.99998C2.59961 3.67449 3.67413 2.59998 4.99961 2.59998ZM4.99961 3.99998C4.44732 3.99998 3.99961 4.44769 3.99961 4.99998V27C3.99961 27.5523 4.44733 28 4.99961 28H26.9996C27.5519 28 27.9996 27.5523 27.9996 27V4.99998C27.9996 4.44769 27.5519 3.99998 26.9996 3.99998H4.99961Z" fill="#A3ADBD"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.0188 13.1426L7 26H11.8464L18.442 16.5971L16.0188 13.1426ZM19.5348 15.0392L25.1739 7H20.3275L17.1116 11.5847L19.5348 15.0392Z" fill="#CFD4DC"/>
<path d="M7 7H11.8464L25.1739 26H20.3275L7 7Z" fill="#A3ADBD"/>
</svg>

After

Width:  |  Height:  |  Size: 869 B

24
designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json

@ -17,6 +17,10 @@
"remove": "remove.svg",
"search": "search.svg",
"add": "add.svg",
"detail": "detail.svg",
"dataLink": "dataLink.svg",
"jumpHelp": "jumpHelp.svg",
"switch": "switch.svg",
"drag_left": "drag_left.svg",
"drag_right": "drag_right.svg",
"down_arrow": "down_arrow.svg",
@ -26,7 +30,6 @@
"time": "time.svg",
"logo": "logo.svg",
"pages": "pages.svg",
"page": "page.svg",
"digitalPlatform": "digitalPlatform.svg",
"tables": "tables.svg",
"views": "views.svg",
@ -143,12 +146,15 @@
"image": "insert/image.svg",
"bias": "insert/bias.svg",
"sub_report": "insert/sub_report.svg",
"float_normal": "insert/float_normal.svg",
"popup": {
"normal": "popup/popup.svg"
},
"clear": "clear.svg",
"clear_hover": "clear_hover.svg",
"stash": "toolbar/stash.svg",
"appendRow": "toolbar/appendRow.svg",
"deleteRow": "toolbar/deleteRow.svg",
"showValue": "toolbar/showValue.svg",
"tool_copy": "toolbar/copy.svg",
"move_down": "toolbar/move_down.svg",
"move_up": "toolbar/move_up.svg",
@ -302,9 +308,15 @@
"widget_tree": "widget/tree.svg",
"ds_column_name": "editor/ds_column_name.svg",
"ds_column_index": "editor/ds_column_index.svg",
"user_widget": "widget/user_widget.svg",
"advanced_editor": "param/advanced_editor.svg",
"function_manage": "function_manage.svg",
"newline": "newline.svg"
"ds_column": "editor/ds_column.svg",
"type_double": "editor/type_double.svg",
"type_boolean": "editor/type_boolean.svg",
"preview_mobile": "preview/preview_mobile.svg",
"preview_paging": "preview/preview_paging.svg",
"preview_write": "preview/preview_write.svg",
"data_analysis": "preview/data_analysis.svg",
"variable": "variable/variable.svg",
"dataItem": "variable/dataItem.svg",
"param_global": "variable/param_global.svg"
}
}

4
designer-chart/src/main/java/com/fr/design/chartx/component/MapAreaMatchPane.java

@ -1,6 +1,6 @@
package com.fr.design.chartx.component;
import com.fr.base.BaseUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.chartx.TwoTuple;
import com.fr.data.TableDataSource;
import com.fr.data.TableDataSourceTailor;
@ -140,7 +140,7 @@ public class MapAreaMatchPane extends BasicBeanPane<MapMatchResult> {
}
private void initRefreshLabel() {
Icon refreshImage = BaseUtils.readIcon("/com/fr/design/images/control/refresh.png");
Icon refreshImage = new LazyIcon("refresh");
refreshLabel = new UILabel(refreshImage);
refreshLabel.addMouseListener(new MouseAdapter() {
boolean mouseEntered = false;

10
designer-chart/src/main/java/com/fr/design/module/ChartHyperlinkGroup.java

@ -1,6 +1,6 @@
package com.fr.design.module;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.chart.web.ChartHyperPoplink;
import com.fr.chart.web.ChartHyperRelateCellLink;
import com.fr.chart.web.ChartHyperRelateFloatLink;
@ -42,10 +42,10 @@ public class ChartHyperlinkGroup extends BaseHyperlinkGroup {
FormHyperlinkProvider formHyperlink = StableFactory.getMarkedInstanceObjectFromClass(FormHyperlinkProvider.XML_TAG, FormHyperlinkProvider.class);
NameableCreator[] related4ChartHyper = {
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Float_Chart"), ChartHyperPoplink.class, ChartHyperPoplinkPane.ChartNoRename.class),
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Cell"), ChartHyperRelateCellLink.class, ChartHyperRelateCellLinkPane.ChartNoRename.class),
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Float"), ChartHyperRelateFloatLink.class, ChartHyperRelateFloatLinkPane.ChartNoRename.class),
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Hyperlink_Form_Link"), formHyperlink.getClass(), FormHyperlinkPane.class)};
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Float_Chart"), new LazyIcon("cellHyperLinkAttr"), ChartHyperPoplink.class, ChartHyperPoplinkPane.ChartNoRename.class),
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Cell"), new LazyIcon("cellHyperLinkAttr"), ChartHyperRelateCellLink.class, ChartHyperRelateCellLinkPane.ChartNoRename.class),
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Float"), new LazyIcon("cellHyperLinkAttr"), ChartHyperRelateFloatLink.class, ChartHyperRelateFloatLinkPane.ChartNoRename.class),
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Hyperlink_Form_Link"), new LazyIcon("cellHyperLinkAttr"), formHyperlink.getClass(), FormHyperlinkPane.class)};
return ArrayUtils.addAll(super.getHyperlinkCreators(), related4ChartHyper);
}

4
designer-form/src/main/java/com/fr/design/designer/beans/actions/ChangeNameAction.java

@ -3,7 +3,7 @@
*/
package com.fr.design.designer.beans.actions;
import com.fr.base.BaseUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.mainframe.FormDesigner;
import com.fr.design.designer.creator.XWidgetCreator;
@ -19,7 +19,7 @@ public class ChangeNameAction extends FormUndoableAction {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Change_Widget_Name"));
this.setMnemonic('G');
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/control/refresh.png"));
this.setSmallIcon(new LazyIcon("refresh"));
}
/**

3
designer-form/src/main/java/com/fr/design/mainframe/JForm.java

@ -6,7 +6,6 @@ import com.fr.base.Parameter;
import com.fr.base.Releasable;
import com.fr.base.extension.FileExtension;
import com.fr.base.iofile.attr.ExtendSharableAttrMark;
import com.fr.base.svg.IconUtils;
import com.fr.base.theme.FineColorSynchronizer;
import com.fr.base.theme.FormTheme;
import com.fr.base.theme.TemplateTheme;
@ -840,7 +839,7 @@ public class JForm extends JTemplate<Form, FormUndoState> implements BaseJForm<F
List<UIMenuItem> menuItems = new ArrayList<UIMenuItem>();
PreviewProvider[] previewProviders = supportPreview();
for (final PreviewProvider provider : previewProviders) {
UIMenuItem item = new UIMenuItem(provider.nameForPopupItem(), IconUtils.readIcon(provider.iconPathForPopupItem()));
UIMenuItem item = new UIMenuItem(provider.nameForPopupItem(), new LazyIcon(provider.iconIdForPopupItem()));
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

5
designer-form/src/main/java/com/fr/design/preview/DeveloperPreview.java

@ -36,6 +36,11 @@ public class DeveloperPreview extends AbstractPreviewProvider {
return "/com/fr/design/standard/preview/developer_preview24.svg";
}
@Override
public String iconIdForPopupItem() {
return "default";
}
@Override
public int previewTypeCode() {
return PREVIEW_TYPE;

5
designer-form/src/main/java/com/fr/design/preview/FormAdaptivePreview.java

@ -26,6 +26,11 @@ public class FormAdaptivePreview extends AbstractPreviewProvider {
return "com/fr/design/images/buttonicon/run24.png";
}
@Override
public String iconIdForPopupItem() {
return "default";
}
@Override
public int previewTypeCode() {
return PREVIEW_TYPE;

6
designer-realize/src/main/java/com/fr/design/actions/columnrow/InsertColumnAction.java

@ -3,7 +3,7 @@
*/
package com.fr.design.actions.columnrow;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.CellSelectionAction;
import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.menu.MenuKeySet;
@ -11,7 +11,7 @@ import com.fr.design.menu.MenuKeySet;
import com.fr.grid.selection.CellSelection;
import com.fr.report.elementcase.ElementCase;
import javax.swing.*;
import javax.swing.KeyStroke;
/**
* Insert Column
@ -27,7 +27,7 @@ public class InsertColumnAction extends CellSelectionAction {
this.setName(name);
this.setMnemonic(INSERT_COLUMN.getMnemonic());
this.setSmallIcon("/com/fr/design/images/m_insert/insertColumn");
this.setSmallIcon(new LazyIcon("vertical_expand"));
}
public static final MenuKeySet INSERT_COLUMN = new MenuKeySet() {

6
designer-realize/src/main/java/com/fr/design/actions/columnrow/InsertRowAction.java

@ -3,7 +3,7 @@
*/
package com.fr.design.actions.columnrow;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.CellSelectionAction;
import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.menu.MenuKeySet;
@ -11,7 +11,7 @@ import com.fr.design.menu.MenuKeySet;
import com.fr.grid.selection.CellSelection;
import com.fr.report.elementcase.ElementCase;
import javax.swing.*;
import javax.swing.KeyStroke;
/**
* Insert Row
@ -26,7 +26,7 @@ public class InsertRowAction extends CellSelectionAction {
super(t);
this.setName(name);
this.setMnemonic(INSERT_ROW.getMnemonic());
this.setSmallIcon("/com/fr/design/images/m_insert/insertRow");
this.setSmallIcon(new LazyIcon("horizontal_expand"));
}
public static final MenuKeySet INSERT_ROW = new MenuKeySet() {

36
designer-realize/src/main/java/com/fr/design/javascript/ListenerEditPane.java

@ -1,8 +1,10 @@
package com.fr.design.javascript;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.ExtraDesignClassManager;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.beans.FurtherBasicBeanPane;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.fun.JavaScriptActionProvider;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel;
@ -18,9 +20,7 @@ import com.fr.js.JavaScript;
import com.fr.report.web.util.ReportEngineEventMapping;
import com.fr.write.JavaScriptResourceInfo;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
@ -30,8 +30,9 @@ import java.util.List;
import java.util.Set;
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.column;
import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.theme.utils.FineUIUtils.wrapComponentWithTitle;
public class ListenerEditPane extends BasicBeanPane<Listener> {
@ -68,9 +69,7 @@ public class ListenerEditPane extends BasicBeanPane<Listener> {
public void initComponents(String[] defaultArgs) {
cards = new ArrayList<>();
this.setLayout(FRGUIPaneFactory.createBorderLayout());
JPanel namePane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();
nameText = new UITextField(8);
nameText = new UITextField();
nameText.setEditable(false);
final List<String> style = new ArrayList<>(Arrays.asList(JS, DBCOMMIT, CUSTOMACTION, EMAIL, MOBILEPOPUP));
styleBox = new UIComboBox(style.toArray());
@ -79,12 +78,16 @@ public class ListenerEditPane extends BasicBeanPane<Listener> {
style.add(EXPORT);
}
styleBox = new UIComboBox(style.toArray());
JPanel eventName = row(10, cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Name"))), cell(nameText)).getComponent();
JPanel eventType = row(10, cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Type"))), cell(styleBox)).getComponent();
namePane = row(cell(eventName).weight(0.3), cell(eventType).weight(0.4), flex(0.3)).getComponent();
this.add(wrapComponentWithTitle(namePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Name_Type")), BorderLayout.NORTH);
//事件名
JPanel eventName = row(LayoutConstants.HGAP_LARGE,
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Name"))),
cell(nameText).weight(1)
).getComponent();
//事件类型
JPanel eventType = row(LayoutConstants.HGAP_LARGE,
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Type"))),
cell(styleBox)).getComponent();
JPanel namePane = row(cell(eventName).weight(0.3), flex(0.1), cell(eventType).weight(0.5), flex(0.1)).getComponent();
card = new CardLayout();
hyperlinkPane = FRGUIPaneFactory.createCardLayout_S_Pane();
@ -120,8 +123,13 @@ public class ListenerEditPane extends BasicBeanPane<Listener> {
}
//其他事件
addOtherEvent();
hyperlinkPane.setBorder(BorderFactory.createTitledBorder(Toolkit.i18nText("Fine-Design_Report_JavaScript_Set")));
this.add(hyperlinkPane);
//整体布局
this.add(column(LayoutConstants.VERTICAL_GAP,
cell(wrapComponentWithTitle(namePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Event_Name_Type"))),
cell(hyperlinkPane).weight(1)
).with(it -> it.setBorder(new ScaledEmptyBorder(0, 10, 0, 10))).getComponent());
styleBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {

2
designer-realize/src/main/java/com/fr/design/mainframe/ElementCasePaneDelegate.java

@ -186,7 +186,7 @@ public class ElementCasePaneDelegate extends ElementCasePane<WorkSheet> {
private void addInsertFloatMenuDef(MenuDef menuDef) {
// 悬浮元素菜单
MenuDef subMenuDef = new MenuDef(KeySetUtils.INSERT_FLOAT.getMenuName());
subMenuDef.setIcon(new LazyIcon("float_normal"));
subMenuDef.setIcon(new LazyIcon("floatelement"));
menuDef.addShortCut(subMenuDef);
UpdateAction[] actions = ActionFactory.createFloatInsertAction(ElementCasePane.class, this);
for (int i = 0; i < actions.length; i++) {

6
designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java

@ -6,7 +6,6 @@ import com.fr.base.Parameter;
import com.fr.base.ScreenResolution;
import com.fr.base.TRL;
import com.fr.base.extension.FileExtension;
import com.fr.base.svg.IconUtils;
import com.fr.base.theme.FineColorSynchronizer;
import com.fr.base.theme.ReportTheme;
import com.fr.base.theme.TemplateTheme;
@ -983,7 +982,7 @@ public class JWorkBook extends JTemplate<WorkBook, WorkBookUndoState> {
List<UIMenuItem> menuItems = new ArrayList<UIMenuItem>();
PreviewProvider[] previewProviders = supportPreview();
for (final PreviewProvider provider : previewProviders) {
UIMenuItem item = new UIMenuItem(provider.nameForPopupItem(), IconUtils.readIcon(provider.iconPathForPopupItem()));
UIMenuItem item = new UIMenuItem(provider.nameForPopupItem(), new LazyIcon(provider.iconIdForPopupItem()));
item.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@ -1089,8 +1088,7 @@ public class JWorkBook extends JTemplate<WorkBook, WorkBookUndoState> {
*/
public Icon getPreviewLargeIcon() {
PreviewProvider provider = getPreviewType();
String iconPath = provider.iconPathForLarge();
return IconUtils.readIcon(iconPath);
return new LazyIcon(provider.iconIdForPopupItem(), 32);
}
/**

8
designer-realize/src/main/java/com/fr/design/report/NewReportBackgroundPane.java

@ -118,14 +118,14 @@ public class NewReportBackgroundPane extends BasicPane {
JPanel uiLabelPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
UILabel uiLabel = new UILabel(Toolkit.i18nText("Fine-Design_Report_Background_Fill"));
uiLabel.setPreferredSize(new Dimension(24,24));
uiLabel.setPreferredSize(FineUIScale.scale(new Dimension(24,24)));
uiLabelPane.add(uiLabel, BorderLayout.NORTH);
uiLabelPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
backgroundPane = new ReportBackgroundSpecialPane();
backgroundPane.setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
backgroundPane.setBorder(new ScaledEmptyBorder(10, 0, 0, 10));
backgroundLabeledPane = TableLayoutHelper.createCommonTableLayoutPane(
new Component[][]{ new Component[] { uiLabelPane, backgroundPane } },
new double[] { p }, new double[] { SETTING_LABEL_WIDTH, f}, IntervalConstants.INTERVAL_L1
new double[] { p }, new double[] { FineUIScale.scale(SETTING_LABEL_WIDTH), f}, IntervalConstants.INTERVAL_L1
);
themePane.addFollowThemePane(backgroundLabeledPane, new FollowingThemePane.FollowingThemeActionChangeListener() {
@Override
@ -148,7 +148,7 @@ public class NewReportBackgroundPane extends BasicPane {
10,
Layouts.row(10, Layouts.cell(createLeftPane()), Layouts.cell(createRightPane()))
).getComponent();
contentContainer.setPreferredSize(new Dimension(600, 540));
contentContainer.setPreferredSize(FineUIScale.scale(new Dimension(600, 540)));
addAttributeChangeListener(new AttributeChangeListener() {
@Override

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

@ -26,6 +26,8 @@ import javax.swing.ButtonGroup;
import javax.swing.JSpinner;
import javax.swing.SpinnerNumberModel;
import javax.swing.JFormattedTextField;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.frpane.FineTabbedPane;
@ -683,7 +685,7 @@ public class PageSetupPane extends BasicPane {
public ShowPagePane() {
this.setSize(pane_width, pane_height);
this.setPreferredSize(new Dimension(pane_width, pane_height));
this.setPreferredSize(FineUIScale.scale(new Dimension(pane_width, pane_height)));
this.setBackground(new Color(128, 128, 128));// background
// color.
this.setOpaque(false);

5
designer-realize/src/main/java/com/fr/design/report/VerifierListPane.java

@ -1,5 +1,6 @@
package com.fr.design.report;
import com.fine.theme.icon.LazyIcon;
import com.fr.data.Verifier;
import com.fr.design.ExtraDesignClassManager;
import com.fr.design.fun.VerifyDefineProvider;
@ -35,7 +36,7 @@ public class VerifierListPane extends ObjectJControlPane {
public NameableCreator[] createNameableCreators() {
NameableCreator[] creators = new NameableCreator[]{
new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_BuildIn_Verify"),
"/com/fr/web/images/reportlet.png",
new LazyIcon("dataLink"),
ValueVerifier.class,
BuildInVerifierPane.class)
};
@ -51,7 +52,7 @@ public class VerifierListPane extends ObjectJControlPane {
}
creators = ArrayUtils.add(creators, new NameObjectCreator(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Custom_Verify"),
"/com/fr/web/images/reportlet.png",
new LazyIcon("dataLink"),
WClassVerifier.class,
CustomVerifierPane.class));
return creators;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save