Browse Source

Merge remote-tracking branch 'origin/newui' into newui

newui
lemon 5 months ago
parent
commit
2ab0ed726e
  1. 4
      designer-base/src/main/java/com/fr/design/actions/file/OpenRecentReportMenuDef.java
  2. 4
      designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java
  3. 4
      designer-base/src/main/java/com/fr/design/constants/LayoutConstants.java
  4. 4
      designer-base/src/main/java/com/fr/design/data/datapane/TableDataCreatorProducer.java
  5. 46
      designer-base/src/main/java/com/fr/design/data/datapane/TreeTableDataDictPane.java
  6. 2
      designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/FileTableDataPane.java
  7. 9
      designer-base/src/main/java/com/fr/design/dialog/AbstractTemplateServerSettingPane.java
  8. 10
      designer-base/src/main/java/com/fr/design/dialog/BasicPane.java
  9. 19
      designer-base/src/main/java/com/fr/design/editor/ValueEditorPane.java
  10. 9
      designer-base/src/main/java/com/fr/design/gui/frpane/EditingStringListPane.java
  11. 8
      designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ImageBackgroundQuickPane.java
  12. 17
      designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/TextureBackgroundQuickPane.java
  13. 34
      designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java
  14. 4
      designer-base/src/main/java/com/fr/design/remote/action/RemoteDesignAuthManagerAction.java
  15. 5
      designer-base/src/main/java/com/fr/design/report/WatermarkPane.java
  16. 5
      designer-base/src/main/java/com/fr/env/EnvListPane.java
  17. 16
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellSelect.svg
  18. 16
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellSelect_disable.svg
  19. 8
      designer-base/src/main/resources/com/fine/theme/icon/filetree/filetype/txtFile_disable.svg
  20. 12
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/createCpt.svg
  21. 12
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/createCpt_disable.svg
  22. 9
      designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
  23. 3
      designer-form/src/main/java/com/fr/design/actions/NewFormAction.java
  24. 3
      designer-form/src/main/java/com/fr/design/mainframe/JForm.java
  25. 4
      designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/OnlineWidgetPopupPreviewPane.java
  26. 4
      designer-realize/src/main/java/com/fr/design/actions/file/export/ExcelExportAction.java
  27. 4
      designer-realize/src/main/java/com/fr/design/actions/file/export/PageExcelExportAction.java
  28. 4
      designer-realize/src/main/java/com/fr/design/actions/file/export/PageToSheetExcelExportAction.java
  29. 4
      designer-realize/src/main/java/com/fr/design/actions/file/export/TextExportAction.java
  30. 4
      designer-realize/src/main/java/com/fr/design/actions/server/TemplateThemeManagerAction.java
  31. 2
      designer-realize/src/main/java/com/fr/design/expand/ExpandFatherPane.java
  32. 6
      designer-realize/src/main/java/com/fr/design/headerfooter/HeaderFooterPane.java
  33. 6
      designer-realize/src/main/java/com/fr/design/mainframe/JWorkBook.java
  34. 11
      designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellExpandAttrPane.java
  35. 8
      designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java
  36. 5
      designer-realize/src/main/java/com/fr/design/sort/common/SortColumnRowPane.java
  37. 14
      designer-realize/src/main/java/com/fr/design/sort/common/SortUIExpandablePane.java
  38. 10
      designer-realize/src/main/java/com/fr/design/sort/expressionpane/CustomSequencePane.java
  39. 17
      designer-realize/src/main/java/com/fr/design/webattr/PageToolBarPane.java
  40. 18
      designer-realize/src/main/java/com/fr/design/webattr/PageWebSettingPane.java
  41. 1
      designer-realize/src/main/java/com/fr/design/webattr/ServerFitAttrPane.java
  42. 8
      designer-realize/src/main/java/com/fr/design/webattr/WebCssPane.java
  43. 5
      designer-realize/src/main/java/com/fr/design/webattr/WebJsPane.java
  44. 9
      designer-realize/src/main/java/com/fr/design/webattr/WriteToolBarPane.java
  45. 13
      designer-realize/src/main/java/com/fr/start/MainDesigner.java

4
designer-base/src/main/java/com/fr/design/actions/file/OpenRecentReportMenuDef.java

@ -1,10 +1,10 @@
package com.fr.design.actions.file; package com.fr.design.actions.file;
import com.fine.theme.icon.LazyIcon;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
import com.fr.base.BaseUtils;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.gui.imenu.UIMenu; import com.fr.design.gui.imenu.UIMenu;
@ -62,7 +62,7 @@ public class OpenRecentReportMenuDef extends MenuDef {
public OpenRecentReportAction(String cptName) { public OpenRecentReportAction(String cptName) {
this.setName(cptName); this.setName(cptName);
this.setSmallIcon(BaseUtils.readIcon("/com/fr/base/images/oem/logo.png")); this.setSmallIcon(new LazyIcon("logo"));
} }
/** /**

4
designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java

@ -46,11 +46,11 @@ public class SwitchExistEnv extends MenuDef {
DesignerWorkspaceInfo env = DesignerEnvManager.getEnvManager().getWorkspaceInfo(envName); DesignerWorkspaceInfo env = DesignerEnvManager.getEnvManager().getWorkspaceInfo(envName);
switch (env.getType()) { switch (env.getType()) {
case Local: { case Local: {
this.setSmallIcon("com/fr/design/images/data/bind/localconnect"); this.setSmallIcon(new LazyIcon("localConnect"));
break; break;
} }
case Remote: { case Remote: {
this.setSmallIcon("com/fr/design/images/data/bind/distanceconnect"); this.setSmallIcon(new LazyIcon("remoteConnect"));
break; break;
} }
} }

4
designer-base/src/main/java/com/fr/design/constants/LayoutConstants.java

@ -17,6 +17,10 @@ public class LayoutConstants {
* 水平间隙 * 水平间隙
*/ */
public static final int HGAP_SMALL = 1; public static final int HGAP_SMALL = 1;
/**
* 水平间隙
*/
public static final int HGAP_MEDIUM = 2;
/** /**
* 水平间隙 * 水平间隙
*/ */

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

@ -84,6 +84,10 @@ public class TableDataCreatorProducer {
return merge(creators, ExtraDesignClassManager.getInstance().getReportTableDataCreators()); return merge(creators, ExtraDesignClassManager.getInstance().getReportTableDataCreators());
} }
/**
* 服务器数据集
* @return TableDataNameObjectCreator[]
*/
public TableDataNameObjectCreator[] createServerTableDataCreator() { public TableDataNameObjectCreator[] createServerTableDataCreator() {
TableDataNameObjectCreator dataBase = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_DS_Database_Query"), TableDataNameObjectCreator dataBase = new TableDataNameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_DS_Database_Query"),
new LazyIcon("server_database"), DBTableData.class, new LazyIcon("server_database"), DBTableData.class,

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

@ -34,6 +34,7 @@ import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column; import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.flex; import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.fix;
public class TreeTableDataDictPane extends BasicPane implements Previewable { public class TreeTableDataDictPane extends BasicPane implements Previewable {
@ -52,6 +53,7 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable {
private ValueEditorPane originFieldDependsOnParentPane; private ValueEditorPane originFieldDependsOnParentPane;
private ValueEditorPane parentFieldPane; private ValueEditorPane parentFieldPane;
private ValueEditorPane originFieldDependsOnLengthPane; private ValueEditorPane originFieldDependsOnLengthPane;
private static final double TITLE_RATIO = 0.2;
public TreeTableDataDictPane() { public TreeTableDataDictPane() {
this(StringUtils.EMPTY); this(StringUtils.EMPTY);
@ -69,13 +71,13 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable {
} }
}); });
JPanel tableFlowPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel tableFlowPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
tableFlowPane.add(row(LayoutConstants.HGAP_LARGE, tableFlowPane.add(row(
cell(selectTableDataLabel).weight(0.12), cell(selectTableDataLabel).weight(TITLE_RATIO),
row(LayoutConstants.HGAP_LARGE, row(LayoutConstants.HGAP_LARGE,
cell(tableDataNameComboBox).weight(0.9), cell(tableDataNameComboBox).weight(1),
cell(new PreviewLabel(this)).weight(0.1) cell(new PreviewLabel(this))
).weight(0.3), ).weight(0.4),
flex(0.58) flex(0.6 - TITLE_RATIO)
).getComponent()); ).getComponent());
//中心面板 //中心面板
@ -118,23 +120,27 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable {
makeParentEnable(); makeParentEnable();
//树数据集面板 //树数据集面板
centerPane.add(column(10, centerPane.add(column(
cell(parentMarkRadio), cell(parentMarkRadio),
row(LayoutConstants.HGAP_LARGE, fix(10),
cell(originFieldDependsOnParentLabel).weight(0.12), row(
cell(originFieldDependsOnParentPane).weight(0.3), cell(originFieldDependsOnParentLabel).weight(TITLE_RATIO),
flex(0.58) cell(originFieldDependsOnParentPane).weight(0.4),
flex(0.6 - TITLE_RATIO)
), ),
row(LayoutConstants.HGAP_LARGE, fix(6),
cell(parentFieldLabel).weight(0.12), row(
cell(parentFieldPane).weight(0.3), cell(parentFieldLabel).weight(TITLE_RATIO),
flex(0.58) cell(parentFieldPane).weight(0.4),
flex(0.6 - TITLE_RATIO)
), ),
fix(20),
cell(lengthMarkRadio), cell(lengthMarkRadio),
row(LayoutConstants.HGAP_LARGE, fix(10),
cell(originFieldDependsOnLengthLabel).weight(0.12), row(
cell(originFieldDependsOnLengthPane).weight(0.3), cell(originFieldDependsOnLengthLabel).weight(TITLE_RATIO),
flex(0.58) cell(originFieldDependsOnLengthPane).weight(0.4),
flex(0.6 - TITLE_RATIO)
) )
).getComponent()); ).getComponent());
@ -172,7 +178,7 @@ public class TreeTableDataDictPane extends BasicPane implements Previewable {
} }
}); });
this.add(column(LayoutConstants.VERTICAL_GAP, cell(tableFlowPane),cell(centerPane), cell(previewPanel)).getComponent()); this.add(column(LayoutConstants.VGAP_HUGER, cell(tableFlowPane),cell(centerPane), cell(previewPanel)).getComponent());
} }
protected void setTableDataNameComboBox(String treeName) { protected void setTableDataNameComboBox(String treeName) {

2
designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/FileTableDataPane.java

@ -219,7 +219,7 @@ public class FileTableDataPane extends AbstractTableDataPane<FileTableData> {
cell(urlText).weight(urlWidthRatio), cell(urlText).weight(urlWidthRatio),
cell(testConnection).weight(0.75 - urlWidthRatio) cell(testConnection).weight(0.75 - urlWidthRatio)
), ),
cell(tips).weight(1) cell(tips)
).with(it -> it.setBorder(new ScaledEmptyBorder(0,0,0,10))).getComponent(); ).with(it -> it.setBorder(new ScaledEmptyBorder(0,0,0,10))).getComponent();
} }

9
designer-base/src/main/java/com/fr/design/dialog/AbstractTemplateServerSettingPane.java

@ -1,8 +1,6 @@
package com.fr.design.dialog; package com.fr.design.dialog;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUICoreUtils;
@ -15,6 +13,7 @@ import java.awt.event.ItemListener;
import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column; import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.flex;
/** /**
* 封装了"为该模版单独设置、采用服务器设置"选项功能的设置面板 * 封装了"为该模版单独设置、采用服务器设置"选项功能的设置面板
@ -42,10 +41,10 @@ public abstract class AbstractTemplateServerSettingPane extends BasicPane {
chooseComboBox.addItemListener(itemListener); chooseComboBox.addItemListener(itemListener);
//以下设置,部分面板通用 //以下设置,部分面板通用
UILabel belowSetLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Blow_Set")); UILabel belowSetLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Blow_Set"));
buttonPane = row( buttonPane = row(32,
FineUIScale.scale(32),
cell(belowSetLabel), cell(belowSetLabel),
cell(chooseComboBox) cell(chooseComboBox).weight(1),
flex()
).with(it -> it.setBorder(new ScaledEmptyBorder(0,10,0,0))).getComponent(); ).with(it -> it.setBorder(new ScaledEmptyBorder(0,10,0,0))).getComponent();
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
this.contentPane = getContentPane(); this.contentPane = getContentPane();

10
designer-base/src/main/java/com/fr/design/dialog/BasicPane.java

@ -4,6 +4,7 @@ import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.common.annotations.Open; import com.fr.common.annotations.Open;
import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.LayoutConstants;
import com.fr.design.data.tabledata.tabledatapane.TreeTableDataPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.i18n.DesignSizeI18nManager; import com.fr.design.i18n.DesignSizeI18nManager;
@ -305,6 +306,11 @@ public abstract class BasicPane extends JPanel {
private PropertyChangeAdapter changeListener; private PropertyChangeAdapter changeListener;
public NamePane(BasicPane bPane) { public NamePane(BasicPane bPane) {
double titleRatio = 0.12;
// 树数据集标题较长,权重设置为0.2保证列对齐
if(bPane instanceof TreeTableDataPane){
titleRatio = 0.2;
}
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
nameTextField = new UITextField(); nameTextField = new UITextField();
Name = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Name")); Name = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Name"));
@ -312,8 +318,8 @@ public abstract class BasicPane extends JPanel {
northPane.setBorder(new ScaledEmptyBorder(0,10,0,10)); northPane.setBorder(new ScaledEmptyBorder(0,10,0,10));
northPane.add(row( northPane.add(row(
LayoutConstants.HGAP_LARGE, LayoutConstants.HGAP_LARGE,
cell(Name).weight(0.12), cell(Name).weight(titleRatio),
cell(nameTextField).weight(0.58), cell(nameTextField).weight(0.7 - titleRatio),
cell(showfield = new UILabel(" ")).weight(0.3) cell(showfield = new UILabel(" ")).weight(0.3)
).getComponent()); ).getComponent());
showfield.setForeground(new Color(204, 0, 1)); showfield.setForeground(new Color(204, 0, 1));

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

@ -1,5 +1,6 @@
package com.fr.design.editor; package com.fr.design.editor;
import com.fine.theme.utils.FineUIScale;
import com.fr.base.BaseFormula; import com.fr.base.BaseFormula;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
@ -22,8 +23,16 @@ import com.fr.general.ComparatorUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import javax.swing.*; import javax.swing.JPanel;
import java.awt.*; import javax.swing.JPopupMenu;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Color;
import java.awt.Rectangle;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
@ -61,13 +70,13 @@ public class ValueEditorPane extends BasicPane implements UIObserver, GlobalName
this.cards = cards; this.cards = cards;
// Frank:布局 // Frank:布局
this.setLayout(new BorderLayout(2, 0)); this.setLayout(new BorderLayout());
centerPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); centerPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
arrowButton = new UIButton(); arrowButton = new UIButton();
arrowButton.set4ToolbarButton(); arrowButton.set4ToolbarButton();
setCurrentEditor(0); setCurrentEditor(0);
centerPane.setPreferredSize(new Dimension(centerPaneWidth, centerPane.getPreferredSize().height)); centerPane.setPreferredSize(new Dimension(FineUIScale.scale(centerPaneWidth), centerPane.getPreferredSize().height));
arrowButton.setPreferredSize(new Dimension(20, centerPane.getPreferredSize().height)); arrowButton.setPreferredSize(new Dimension(FineUIScale.scale(24), centerPane.getPreferredSize().height));
final Color beforeColor = arrowButton.getBackground(); final Color beforeColor = arrowButton.getBackground();
menu = createPopMenu(); menu = createPopMenu();

9
designer-base/src/main/java/com/fr/design/gui/frpane/EditingStringListPane.java

@ -98,13 +98,8 @@ public abstract class EditingStringListPane extends BasicBeanPane<List<String>>
moveDownButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Move_Down"), new LazyIcon("move_down")); moveDownButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Move_Down"), new LazyIcon("move_down"));
moveDownButton.setDisabledIcon(new LazyIcon("move_down").disabled()); moveDownButton.setDisabledIcon(new LazyIcon("move_down").disabled());
return row(LayoutConstants.HORIZONTAL_GAP, return row(flex(),
flex(), row(6, cell(addButton), cell(modifyButton), cell(removeButton), cell(moveUpButton), cell(moveDownButton))
cell(addButton),
cell(modifyButton),
cell(removeButton),
cell(moveUpButton),
cell(moveDownButton)
).getComponent(); ).getComponent();
} }

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

@ -1,10 +1,10 @@
package com.fr.design.mainframe.backgroundpane; package com.fr.design.mainframe.backgroundpane;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.utils.FineUIScale;
import com.fr.base.Style; import com.fr.base.Style;
import com.fr.base.background.ImageFileBackground; import com.fr.base.background.ImageFileBackground;
import com.fr.base.frpx.pack.PictureCollection; import com.fr.base.frpx.pack.PictureCollection;
import com.fr.design.border.UIRoundedBorder;
import com.fr.design.constants.UIConstants;
import com.fr.design.event.UIObserverListener; import com.fr.design.event.UIObserverListener;
import com.fr.design.gui.frpane.ImgChooseWrapper; import com.fr.design.gui.frpane.ImgChooseWrapper;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
@ -52,8 +52,8 @@ public class ImageBackgroundQuickPane extends BackgroundQuickPane {
previewPane = new ImagePreviewPane(); previewPane = new ImagePreviewPane();
JPanel borderPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel borderPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
borderPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, 5)); borderPane.setBorder(new FineRoundBorder());
borderPane.setPreferredSize(new Dimension(0, 145)); borderPane.setPreferredSize(FineUIScale.scale(new Dimension(0, 145)));
borderPane.add(previewPane, BorderLayout.CENTER); borderPane.add(previewPane, BorderLayout.CENTER);
this.add(borderPane, BorderLayout.NORTH); this.add(borderPane, BorderLayout.NORTH);
previewPane.addChangeListener(imageSizeChangeListener); previewPane.addChangeListener(imageSizeChangeListener);

17
designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/TextureBackgroundQuickPane.java

@ -1,19 +1,28 @@
package com.fr.design.mainframe.backgroundpane; package com.fr.design.mainframe.backgroundpane;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fr.base.GraphHelper; import com.fr.base.GraphHelper;
import com.fr.base.background.TextureBackground; import com.fr.base.background.TextureBackground;
import com.fr.design.constants.UIConstants; import com.fr.design.constants.UIConstants;
import com.fr.design.border.UIRoundedBorder;
import com.fr.design.event.UIObserverListener; import com.fr.design.event.UIObserverListener;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.general.Background; import com.fr.general.Background;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import javax.swing.*; import javax.swing.JPanel;
import javax.swing.ButtonGroup;
import javax.swing.JToggleButton;
import javax.swing.BorderFactory;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import java.awt.*; import java.awt.TexturePaint;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.Dimension;
import java.awt.Cursor;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.geom.Rectangle2D; import java.awt.geom.Rectangle2D;
@ -27,7 +36,7 @@ public class TextureBackgroundQuickPane extends BackgroundQuickPane {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
JPanel borderPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel borderPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
borderPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, 5)); borderPane.setBorder(new FineRoundBorder());
JPanel contentPane = new JPanel(); JPanel contentPane = new JPanel();
borderPane.add(contentPane, BorderLayout.NORTH); borderPane.add(contentPane, BorderLayout.NORTH);
this.add(borderPane, BorderLayout.NORTH); this.add(borderPane, BorderLayout.NORTH);

34
designer-base/src/main/java/com/fr/design/mainframe/toolbar/ToolBarMenuDock.java

@ -406,8 +406,8 @@ public abstract class ToolBarMenuDock {
insertMenu(menuDef, MenuHandler.FILE); insertMenu(menuDef, MenuHandler.FILE);
return menuDef; return menuDef;
} }
// 文件
MenuDef menuDef = new MenuDef(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File"), 'F'); MenuDef menuDef = new MenuDef(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_File"), 'F');
ShortCut[] scs = new ShortCut[0]; ShortCut[] scs = new ShortCut[0];
if (!DesignerMode.isAuthorityEditing()) { if (!DesignerMode.isAuthorityEditing()) {
scs = createNewFileShortCuts(); scs = createNewFileShortCuts();
@ -415,12 +415,13 @@ public abstract class ToolBarMenuDock {
if (!ArrayUtils.isEmpty(scs)) { if (!ArrayUtils.isEmpty(scs)) {
menuDef.addShortCut(scs); menuDef.addShortCut(scs);
} }
// 打开
menuDef.addShortCut(openTemplateAction()); menuDef.addShortCut(openTemplateAction());
// 最近打开的
menuDef.addShortCut(new OpenRecentReportMenuDef()); menuDef.addShortCut(new OpenRecentReportMenuDef());
if (!DesignModeContext.isDuchampMode()) { if (!DesignModeContext.isDuchampMode()) {
// 关闭
addCloseCurrentTemplateAction(menuDef); addCloseCurrentTemplateAction(menuDef);
} }
@ -491,31 +492,24 @@ public abstract class ToolBarMenuDock {
protected MenuDef createServerMenuDef(ToolBarMenuDockPlus plus) { protected MenuDef createServerMenuDef(ToolBarMenuDockPlus plus) {
MenuDef menuDef = new MenuDef(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic__M_Server"), 'S'); MenuDef menuDef = new MenuDef(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic__M_Server"), 'S');
if (!DesignerMode.isAuthorityEditing()) { if (!DesignerMode.isAuthorityEditing()) {
menuDef.addShortCut( // 定义数据连接、服务器数据集
new ConnectionListAction(), menuDef.addShortCut(new ConnectionListAction(), createGlobalTDAction());
createGlobalTDAction()
);
} }
// 报表平台管理
menuDef.addShortCut(new PlatformManagerAction());
menuDef.addShortCut(
new PlatformManagerAction()
);
if (shouldShowRemoteAuth()) { if (shouldShowRemoteAuth()) {
// 远程设计权限管理
menuDef.addShortCut(new RemoteDesignAuthManagerAction()); menuDef.addShortCut(new RemoteDesignAuthManagerAction());
} }
if (!DesignerMode.isAuthorityEditing()) { if (!DesignerMode.isAuthorityEditing()) {
// 插件管理
addPluginManagerAction(menuDef); addPluginManagerAction(menuDef);
// 函数管理器
menuDef.addShortCut(new FunctionManagerAction()); menuDef.addShortCut(new FunctionManagerAction());
// 全局参数
menuDef.addShortCut(new GlobalParameterAction()); menuDef.addShortCut(new GlobalParameterAction());
} }
return menuDef; return menuDef;
} }
@ -530,9 +524,7 @@ public abstract class ToolBarMenuDock {
} }
} }
if (shouldShowPlugin()) { if (shouldShowPlugin()) {
menuDef.addShortCut( menuDef.addShortCut(new PluginManagerAction());
new PluginManagerAction()
);
} }
} }

4
designer-base/src/main/java/com/fr/design/remote/action/RemoteDesignAuthManagerAction.java

@ -1,6 +1,6 @@
package com.fr.design.remote.action; package com.fr.design.remote.action;
import com.fr.base.svg.IconUtils; import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicDialog;
import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.DialogActionAdapter;
@ -27,7 +27,7 @@ public class RemoteDesignAuthManagerAction extends UpdateAction {
public RemoteDesignAuthManagerAction() { public RemoteDesignAuthManagerAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Authority_Manager")); this.setName(Toolkit.i18nText("Fine-Design_Basic_Remote_Design_Authority_Manager"));
// 远程设计权限管理 // 远程设计权限管理
this.setSmallIcon("com/fr/design/remote/images/icon_Remote_Design_Auth_Manager_normal@1x"); this.setSmallIcon(new LazyIcon("remoteDesignAuthManager"));
} }

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

@ -1,7 +1,6 @@
package com.fr.design.report; package com.fr.design.report;
import com.fine.theme.light.ui.FineRoundBorder; import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.ui.FlatUIUtils; import com.formdev.flatlaf.ui.FlatUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.BaseFormula; import com.fr.base.BaseFormula;
@ -52,7 +51,6 @@ import static com.fine.theme.utils.FineUIUtils.wrapComponentWithTitle;
* Created by plough on 2018/5/15. * Created by plough on 2018/5/15.
*/ */
public class WatermarkPane extends BasicPane { public class WatermarkPane extends BasicPane {
private static final int MAX_WIDTH = 216;
// 水印预览面板 // 水印预览面板
private WatermarkPreviewPane watermarkPreviewPane; private WatermarkPreviewPane watermarkPreviewPane;
@ -88,7 +86,6 @@ public class WatermarkPane extends BasicPane {
JPanel previewPaneWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel previewPaneWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane();
//预览外边框,宽度跟随全局权重 //预览外边框,宽度跟随全局权重
previewPaneWrapper.setBorder(new FineRoundBorder()); previewPaneWrapper.setBorder(new FineRoundBorder());
previewPaneWrapper.setPreferredSize(FineUIScale.scale(new Dimension(-1,415)));
previewPaneWrapper.setBackground(FlatUIUtils.getUIColor("background.normal", Color.WHITE)); previewPaneWrapper.setBackground(FlatUIUtils.getUIColor("background.normal", Color.WHITE));
watermarkPreviewPane = new WatermarkPreviewPane(); watermarkPreviewPane = new WatermarkPreviewPane();
watermarkPreviewPane.setOpaque(false); watermarkPreviewPane.setOpaque(false);
@ -96,7 +93,7 @@ public class WatermarkPane extends BasicPane {
leftPane = column( leftPane = column(
LayoutConstants.VGAP_SMALL, LayoutConstants.VGAP_SMALL,
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Style_Preview"))), cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Style_Preview"))),
cell(previewPaneWrapper) cell(previewPaneWrapper).weight(1)
).getComponent(); ).getComponent();
// 分割线下方,左侧预览,右侧配置 // 分割线下方,左侧预览,右侧配置

5
designer-base/src/main/java/com/fr/env/EnvListPane.java vendored

@ -1,5 +1,6 @@
package com.fr.env; package com.fr.env;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.dialog.FineJOptionPane; import com.fr.design.dialog.FineJOptionPane;
import com.fr.design.env.DesignerWorkspaceInfo; import com.fr.design.env.DesignerWorkspaceInfo;
@ -57,9 +58,9 @@ public class EnvListPane extends JListControlPane {
*/ */
@Override @Override
public NameableCreator[] createNameableCreators() { public NameableCreator[] createNameableCreators() {
NameableCreator local = new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Local_Workspace"), "com/fr/design/images/data/bind/localconnect.png", NameableCreator local = new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Local_Workspace"), new LazyIcon("localConnect"),
LocalDesignerWorkspaceInfo.class, LocalEnvPane.class); LocalDesignerWorkspaceInfo.class, LocalEnvPane.class);
NameableCreator remote = new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Env_Remote_Server"), "com/fr/design/images/data/bind/distanceconnect.png", NameableCreator remote = new NameObjectCreator(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Env_Remote_Server"), new LazyIcon("remoteConnect"),
RemoteDesignerWorkspaceInfo.class, RemoteEnvPane.class); RemoteDesignerWorkspaceInfo.class, RemoteEnvPane.class);
return new NameableCreator[]{local, remote}; return new NameableCreator[]{local, remote};
} }

16
designer-base/src/main/resources/com/fine/theme/icon/cell/cellSelect.svg

@ -0,0 +1,16 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M2 28V26H4L4 28H6V30H4C2.89543 30 2 29.1046 2 28Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M4 2H6V4L4 4V6H2V4C2 2.89543 2.89543 2 4 2Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M2 24V20H4V24H2Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M2 18V14H4V18H2Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M2 12V8H4V12H2Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M8 2H12V4H8V2Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M14 2H18V4H14V2Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M20 2H24V4H20V2Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M26 2H28C29.1046 2 30 2.89543 30 4V6H28V4H26V2Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M30 8V12H28V8H30Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M30 14V17H28V14H30Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M17 28H14V30H17V28Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M12 30H8V28H12V30Z" fill="#0A1C38" fill-opacity="0.9"/>
<path d="M15.2941 15.8491C15.1365 15.3925 15.5865 14.9581 16.0595 15.1103L31.091 19.9468C31.6493 20.1265 31.6402 20.8919 31.0778 21.0591L24.0287 23.1549C23.8374 23.2118 23.6875 23.3564 23.6286 23.5412L21.4569 30.346C21.2837 30.889 20.4908 30.8977 20.3047 30.3588L15.2941 15.8491Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

16
designer-base/src/main/resources/com/fine/theme/icon/cell/cellSelect_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">
<path d="M2 28V26H4L4 28H6V30H4C2.89543 30 2 29.1046 2 28Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M4 2H6V4L4 4V6H2V4C2 2.89543 2.89543 2 4 2Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M2 24V20H4V24H2Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M2 18V14H4V18H2Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M2 12V8H4V12H2Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M8 2H12V4H8V2Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M14 2H18V4H14V2Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M20 2H24V4H20V2Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M26 2H28C29.1046 2 30 2.89543 30 4V6H28V4H26V2Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M30 8V12H28V8H30Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M30 14V17H28V14H30Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M17 28H14V30H17V28Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M12 30H8V28H12V30Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M15.2941 15.8491C15.1365 15.3925 15.5865 14.9581 16.0595 15.1103L31.091 19.9468C31.6493 20.1265 31.6402 20.8919 31.0778 21.0591L24.0287 23.1549C23.8374 23.2118 23.6875 23.3564 23.6286 23.5412L21.4569 30.346C21.2837 30.889 20.4908 30.8977 20.3047 30.3588L15.2941 15.8491Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

8
designer-base/src/main/resources/com/fine/theme/icon/filetree/filetype/txtFile_disable.svg

@ -0,0 +1,8 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7 28V4H23L29 10.5V28H7Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24 11.1H3C2.77909 11.1 2.6 11.2791 2.6 11.5V20.5C2.6 20.7209 2.77909 20.9 3 20.9H24C24.2209 20.9 24.4 20.7209 24.4 20.5V11.5C24.4 11.2791 24.2209 11.1 24 11.1ZM3 9.5C1.89543 9.5 1 10.3954 1 11.5V20.5C1 21.6046 1.89543 22.5 3 22.5H24C25.1046 22.5 26 21.6046 26 20.5V11.5C26 10.3954 25.1046 9.5 24 9.5H3Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29 10.7515V28H7V22.5H5V28C5 29.1046 5.89543 30 7 30H29C30.1046 30 31 29.1046 31 28V10.7515C31 10.267 30.8242 9.79904 30.5052 9.43446L24.5976 2.68299C24.2178 2.24896 23.6692 2 23.0925 2H7C5.89543 2 5 2.89543 5 4V9.5H7V4H23.0925L29 10.7515Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.99961 11.1H23.9996C24.2205 11.1 24.3996 11.2791 24.3996 11.5V20.5C24.3996 20.7209 24.2205 20.9 23.9996 20.9H2.99961C2.7787 20.9 2.59961 20.7209 2.59961 20.5V11.5C2.59961 11.2791 2.7787 11.1 2.99961 11.1Z" fill="#0A1C38" fill-opacity="0.2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.1897 13.1865C16.4054 12.9492 16.7726 12.9317 17.0099 13.1474C17.2472 13.3631 17.2647 13.7303 17.049 13.9676L14.9849 16.2381L17.0492 18.5088C17.2649 18.7461 17.2474 19.1133 17.0101 19.329C16.7728 19.5447 16.4056 19.5272 16.1899 19.29L14.2002 17.1013L12.2104 19.29C11.9947 19.5272 11.6275 19.5447 11.3903 19.329C11.153 19.1133 11.1355 18.7461 11.3512 18.5088L13.4155 16.2381L11.3514 13.9676C11.1357 13.7303 11.1532 13.3631 11.3904 13.1474C11.6277 12.9317 11.9949 12.9492 12.2106 13.1865L14.2002 15.375L16.1897 13.1865Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.6 13C4.26863 13 4 13.2686 4 13.6C4 13.9314 4.26863 14.2 4.6 14.2H6.40039V19C6.40039 19.3314 6.66902 19.6 7.00039 19.6C7.33176 19.6 7.60039 19.3314 7.60039 19V14.2H9.4C9.73137 14.2 10 13.9314 10 13.6C10 13.2686 9.73137 13 9.4 13H4.6ZM18.6 13C18.2686 13 18 13.2686 18 13.6C18 13.9314 18.2686 14.2 18.6 14.2H20.4004V19C20.4004 19.3314 20.669 19.6 21.0004 19.6C21.3318 19.6 21.6004 19.3314 21.6004 19V14.2H23.4C23.7314 14.2 24 13.9314 24 13.6C24 13.2686 23.7314 13 23.4 13H18.6Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

12
designer-base/src/main/resources/com/fine/theme/icon/toolbar/createCpt.svg

@ -1,11 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <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" <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"/>
d="M21 11V4H28V11H21ZM21 13H28V19H21V13ZM21 21V28H28V21H21ZM4 13H19L19 28C19 29.1046 19.8954 30 21 30H28C29.1046 30 30 29.1046 30 28L30 11.0015V11V4C30 2.89543 29.1046 2 28 2H21H4C2.89543 2 2 2.89543 2 4V11C2 12.1046 2.89543 13 4 13ZM19 4V11H12.7691V4H19ZM10.6152 4V11H4V4H10.6152Z" <path fill-rule="evenodd" clip-rule="evenodd" d="M13 14.3167H17.9C17.9552 14.3167 18 14.3599 18 14.4133V19.0533C18 19.1067 17.9552 19.15 17.9 19.15H13V23.4033C13 23.4567 12.9552 23.5 12.9 23.5H8.6C8.54477 23.5 8.5 23.4567 8.5 23.4033V12.3833C8.5 10.5148 10.067 9 12 9H12.9C12.9552 9 13 9.04328 13 9.09667V14.3167Z" fill="#2576EF"/>
fill="#0A1C38" fill-opacity="0.9"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M23.5 9.09667V20.1167C23.5 21.9852 21.933 23.5 20 23.5H19V13.35H14.1C14.0448 13.35 14 13.3067 14 13.2533V9.09667C14 9.04328 14.0448 9 14.1 9H23.4C23.4552 9 23.5 9.04328 23.5 9.09667Z" fill="#34B3FA"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M6.26316 20.5H10.9053C10.9576 20.5 11 20.5448 11 20.6V25.4C11 25.4552 10.9576 25.5 10.9053 25.5H6.26316V29.9C6.26316 29.9552 6.22074 30 6.16842 30H2.09474C2.04242 30 2 29.9552 2 29.9V18.5C2 16.567 3.48453 15 5.31579 15H6.16842C6.22074 15 6.26316 15.0448 6.26316 15.1V20.5Z"
fill="#2576EF"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M17 15.1V26.5C17 28.433 15.5155 30 13.6842 30H12.7368V19.5H8.09474C8.04242 19.5 8 19.4552 8 19.4V15.1C8 15.0448 8.04242 15 8.09474 15H16.9053C16.9576 15 17 15.0448 17 15.1Z"
fill="#34B3FA"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 907 B

12
designer-base/src/main/resources/com/fine/theme/icon/toolbar/createCpt_disable.svg

@ -1,11 +1,5 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <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" <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"/>
d="M21 11V4H28V11H21ZM21 13H28V19H21V13ZM21 21V28H28V21H21ZM4 13H19L19 28C19 29.1046 19.8954 30 21 30H28C29.1046 30 30 29.1046 30 28L30 11.0015V11V4C30 2.89543 29.1046 2 28 2H21H4C2.89543 2 2 2.89543 2 4V11C2 12.1046 2.89543 13 4 13ZM19 4V11H12.7691V4H19ZM10.6152 4V11H4V4H10.6152Z" <path fill-rule="evenodd" clip-rule="evenodd" d="M12.8575 13.8667H18.1467C18.2063 13.8667 18.2546 13.9144 18.2546 13.9733V19.0933C18.2546 19.1522 18.2063 19.2 18.1467 19.2H12.8575V23.8933C12.8575 23.9522 12.8091 24 12.7495 24H8.10794C8.04833 24 8 23.9522 8 23.8933V11.7333C8 9.67147 9.69148 8 11.778 8H12.7495C12.8091 8 12.8575 8.04776 12.8575 8.10667V13.8667Z" fill="#0A1C38" fill-opacity="0.29"/>
fill="#0A1C38" fill-opacity="0.29"/> <path opacity="0.8" fill-rule="evenodd" clip-rule="evenodd" d="M23.9997 8.10667V20.2667C23.9997 22.3285 22.3083 24 20.2217 24H19.1423V12.8H13.8531C13.7934 12.8 13.7451 12.7522 13.7451 12.6933V8.10667C13.7451 8.04776 13.7934 8 13.8531 8H23.8918C23.9514 8 23.9997 8.04776 23.9997 8.10667Z" fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M6.26316 20.5H10.9053C10.9576 20.5 11 20.5448 11 20.6V25.4C11 25.4552 10.9576 25.5 10.9053 25.5H6.26316V29.9C6.26316 29.9552 6.22074 30 6.16842 30H2.09474C2.04242 30 2 29.9552 2 29.9V18.5C2 16.567 3.48453 15 5.31579 15H6.16842C6.22074 15 6.26316 15.0448 6.26316 15.1V20.5Z"
fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M17 15.1V26.5C17 28.433 15.5155 30 13.6842 30H12.7368V19.5H8.09474C8.04242 19.5 8 19.4552 8 19.4V15.1C8 15.0448 8.04242 15 8.09474 15H16.9053C16.9576 15 17 15.0448 17 15.1Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

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

@ -96,6 +96,7 @@
"xmlFile": "filetree/filetype/xmlFile.svg", "xmlFile": "filetree/filetype/xmlFile.svg",
"csvFile": "filetree/filetype/csvFile.svg", "csvFile": "filetree/filetype/csvFile.svg",
"svgFile": "filetree/filetype/svgFile.svg", "svgFile": "filetree/filetype/svgFile.svg",
"txtFile": "filetree/filetype/txtFile.svg",
"cellattr": "propertiestab/cellattr.svg", "cellattr": "propertiestab/cellattr.svg",
"cellattr_disabled": "propertiestab/cellattr_disabled.svg", "cellattr_disabled": "propertiestab/cellattr_disabled.svg",
"cellattr_selected": "propertiestab/cellattr_selected.svg", "cellattr_selected": "propertiestab/cellattr_selected.svg",
@ -106,6 +107,7 @@
"conditionattr_disabled": "propertiestab/conditionattr_disabled.svg", "conditionattr_disabled": "propertiestab/conditionattr_disabled.svg",
"conditionattr_selected": "propertiestab/conditionattr_selected.svg", "conditionattr_selected": "propertiestab/conditionattr_selected.svg",
"floatelement": "propertiestab/floatelement.svg", "floatelement": "propertiestab/floatelement.svg",
"floatelement_disabled": "propertiestab/floatelement_disabled.svg",
"floatelement_popup": "propertiestab/floatelement_popup.svg", "floatelement_popup": "propertiestab/floatelement_popup.svg",
"floatelement_selected": "propertiestab/floatelement_selected.svg", "floatelement_selected": "propertiestab/floatelement_selected.svg",
"hyperlink": "propertiestab/hyperlink.svg", "hyperlink": "propertiestab/hyperlink.svg",
@ -195,9 +197,13 @@
"notification": "notification/notification.svg", "notification": "notification/notification.svg",
"notification_dot": "notification/notification_dot.svg", "notification_dot": "notification/notification_dot.svg",
"createCpt": "toolbar/createCpt.svg", "createCpt": "toolbar/createCpt.svg",
"createFvs": "toolbar/createFvs.svg",
"createOther": "toolbar/createOther.svg", "createOther": "toolbar/createOther.svg",
"createFrm": "toolbar/createFrm.svg",
"openTemplate": "toolbar/openTemplate.svg", "openTemplate": "toolbar/openTemplate.svg",
"switchEnv": "toolbar/switchEnv.svg", "switchEnv": "toolbar/switchEnv.svg",
"localConnect": "toolbar/localConnect.svg",
"remoteConnect": "toolbar/remoteConnect.svg",
"export": "toolbar/export.svg", "export": "toolbar/export.svg",
"monochrome_undo": "toolbar/monochrome_undo.svg", "monochrome_undo": "toolbar/monochrome_undo.svg",
"monochrome_redo": "toolbar/monochrome_redo.svg", "monochrome_redo": "toolbar/monochrome_redo.svg",
@ -227,6 +233,7 @@
"replace": "toolbar/replace.svg", "replace": "toolbar/replace.svg",
"monochromeServerDatabase": "toolbar/monochromeServerDatabase.svg", "monochromeServerDatabase": "toolbar/monochromeServerDatabase.svg",
"platform": "toolbar/platform.svg", "platform": "toolbar/platform.svg",
"remoteDesignAuthManager": "toolbar/remoteDesignAuthManager.svg",
"pluginManager": "toolbar/pluginManager.svg", "pluginManager": "toolbar/pluginManager.svg",
"functionManager": "toolbar/functionManager.svg", "functionManager": "toolbar/functionManager.svg",
"serverConfigManager": "toolbar/serverConfigManager.svg", "serverConfigManager": "toolbar/serverConfigManager.svg",
@ -263,6 +270,7 @@
"pages": "toolbar/pages.svg", "pages": "toolbar/pages.svg",
"new_line": "toolbar/newLine.svg", "new_line": "toolbar/newLine.svg",
"selected_all": "toolbar/selectedAll.svg", "selected_all": "toolbar/selectedAll.svg",
"templateThemeManager": "toolbar/templateThemeManager.svg",
"cellelement_small": "cellelement.svg", "cellelement_small": "cellelement.svg",
"forbid": "expand/forbid.svg", "forbid": "expand/forbid.svg",
"horizontal_expand": "expand/horizontal.svg", "horizontal_expand": "expand/horizontal.svg",
@ -300,6 +308,7 @@
"cellHyperLinkAttr": "cell/cellHyperLinkAttr.svg", "cellHyperLinkAttr": "cell/cellHyperLinkAttr.svg",
"cellPresentAttr": "cell/cellPresentAttr.svg", "cellPresentAttr": "cell/cellPresentAttr.svg",
"cellElementAttr": "cell/cellElementAttr.svg", "cellElementAttr": "cell/cellElementAttr.svg",
"cellSelect": "cell/cellSelect.svg",
"move": "filetree/move.svg", "move": "filetree/move.svg",
"monochrome_copy": "filetree/monochrome_copy.svg", "monochrome_copy": "filetree/monochrome_copy.svg",
"monochrome_paste": "filetree/monochrome_paste.svg", "monochrome_paste": "filetree/monochrome_paste.svg",

3
designer-form/src/main/java/com/fr/design/actions/NewFormAction.java

@ -1,6 +1,7 @@
package com.fr.design.actions; package com.fr.design.actions;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.menu.MenuKeySet; import com.fr.design.menu.MenuKeySet;
import com.fr.design.widget.ui.designer.NewFormPane; import com.fr.design.widget.ui.designer.NewFormPane;
@ -12,7 +13,7 @@ public class NewFormAction extends UpdateAction {
public NewFormAction() { public NewFormAction() {
this.setMenuKeySet(NEW_FORM); this.setMenuKeySet(NEW_FORM);
this.setName(getMenuKeySet().getMenuName()); this.setName(getMenuKeySet().getMenuName());
this.setSmallIcon("/com/fr/design/images/buttonicon/new_form3"); this.setSmallIcon(new LazyIcon("createFrm"));
this.setAccelerator(getMenuKeySet().getKeyStroke()); this.setAccelerator(getMenuKeySet().getKeyStroke());
} }

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

@ -291,9 +291,8 @@ public class JForm extends JTemplate<Form, FormUndoState> implements BaseJForm<F
private MenuDef createWorkBookExportMenu() { private MenuDef createWorkBookExportMenu() {
MenuDef exportMenuDef = new MenuDef(KeySetUtils.EXPORT.getMenuName()); MenuDef exportMenuDef = new MenuDef(KeySetUtils.EXPORT.getMenuName());
exportMenuDef.setIconPath("/com/fr/design/images/m_file/export"); exportMenuDef.setIcon(new LazyIcon("export"));
exportMenuDef.addShortCut(new EmbeddedFormExportExportAction(this)); exportMenuDef.addShortCut(new EmbeddedFormExportExportAction(this));
return exportMenuDef; return exportMenuDef;
} }

4
designer-form/src/main/java/com/fr/design/mainframe/share/ui/online/OnlineWidgetPopupPreviewPane.java

@ -1,5 +1,6 @@
package com.fr.design.mainframe.share.ui.online; package com.fr.design.mainframe.share.ui.online;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.designer.IntervalConstants; import com.fr.design.designer.IntervalConstants;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
@ -8,7 +9,6 @@ import com.fr.design.mainframe.share.ui.block.PreviewWidgetBlock;
import com.fr.design.mainframe.share.ui.constants.ColorConstants; import com.fr.design.mainframe.share.ui.constants.ColorConstants;
import com.fr.form.share.bean.OnlineShareWidget; import com.fr.form.share.bean.OnlineShareWidget;
import com.fr.general.FRFont; import com.fr.general.FRFont;
import com.fr.general.IOUtils;
import com.fr.plugin.basic.version.Version; import com.fr.plugin.basic.version.Version;
import com.fr.plugin.basic.version.VersionInterval; import com.fr.plugin.basic.version.VersionInterval;
import com.fr.plugin.basic.version.VersionIntervalFactory; import com.fr.plugin.basic.version.VersionIntervalFactory;
@ -65,7 +65,7 @@ public class OnlineWidgetPopupPreviewPane extends AbstractWidgetPopupPreviewPane
suitableThemeNameLabel.setUI(new BasicLabelUI()); suitableThemeNameLabel.setUI(new BasicLabelUI());
suitableThemeNameLabel.setOpaque(false); suitableThemeNameLabel.setOpaque(false);
suitableThemeNameLabel.setBackground(null); suitableThemeNameLabel.setBackground(null);
suitableThemeNameLabel.setIcon(IOUtils.readIcon("/com/fr/design/icon/icon_predefined_style.png")); suitableThemeNameLabel.setIcon(new LazyIcon("templateThemeManager"));
suitableThemeNameLabel.setIconTextGap(IntervalConstants.INTERVAL_L6); suitableThemeNameLabel.setIconTextGap(IntervalConstants.INTERVAL_L6);
JPanel content = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel content = FRGUIPaneFactory.createBorderLayout_S_Pane();

4
designer-realize/src/main/java/com/fr/design/actions/file/export/ExcelExportAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.file.export; package com.fr.design.actions.file.export;
import com.fr.base.BaseUtils; import com.fine.theme.icon.LazyIcon;
import com.fr.design.mainframe.JWorkBook; import com.fr.design.mainframe.JWorkBook;
import com.fr.design.menu.KeySetUtils; import com.fr.design.menu.KeySetUtils;
import com.fr.io.exporter.DesignExportType; import com.fr.io.exporter.DesignExportType;
@ -14,7 +14,7 @@ public class ExcelExportAction extends AbstractExcelExportAction {
this.setMenuKeySet(KeySetUtils.SIMPLE_EXCEL_EXPORT); this.setMenuKeySet(KeySetUtils.SIMPLE_EXCEL_EXPORT);
this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/excel.png")); this.setSmallIcon(new LazyIcon("excel_import"));
} }
@Override @Override

4
designer-realize/src/main/java/com/fr/design/actions/file/export/PageExcelExportAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.file.export; package com.fr.design.actions.file.export;
import com.fr.base.BaseUtils; import com.fine.theme.icon.LazyIcon;
import com.fr.design.mainframe.JWorkBook; import com.fr.design.mainframe.JWorkBook;
import com.fr.design.menu.KeySetUtils; import com.fr.design.menu.KeySetUtils;
import com.fr.io.exporter.DesignExportType; import com.fr.io.exporter.DesignExportType;
@ -12,7 +12,7 @@ public class PageExcelExportAction extends AbstractExcelExportAction {
this.setMenuKeySet(KeySetUtils.PAGE_EXCEL_EXPORT); this.setMenuKeySet(KeySetUtils.PAGE_EXCEL_EXPORT);
this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/excel.png")); this.setSmallIcon(new LazyIcon("excel_import"));
} }
@Override @Override

4
designer-realize/src/main/java/com/fr/design/actions/file/export/PageToSheetExcelExportAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.file.export; package com.fr.design.actions.file.export;
import com.fr.base.BaseUtils; import com.fine.theme.icon.LazyIcon;
import com.fr.base.extension.FileExtension; import com.fr.base.extension.FileExtension;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.mainframe.JWorkBook; import com.fr.design.mainframe.JWorkBook;
@ -16,7 +16,7 @@ public class PageToSheetExcelExportAction extends AbstractExcelExportAction {
this.setMenuKeySet(KeySetUtils.PAGETOSHEET_EXCEL_EXPORT); this.setMenuKeySet(KeySetUtils.PAGETOSHEET_EXCEL_EXPORT);
this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/excel.png")); this.setSmallIcon(new LazyIcon("excel_import"));
} }

4
designer-realize/src/main/java/com/fr/design/actions/file/export/TextExportAction.java

@ -3,7 +3,7 @@
*/ */
package com.fr.design.actions.file.export; package com.fr.design.actions.file.export;
import com.fr.base.BaseUtils; import com.fine.theme.icon.LazyIcon;
import com.fr.base.extension.FileExtension; import com.fr.base.extension.FileExtension;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.mainframe.JWorkBook; import com.fr.design.mainframe.JWorkBook;
@ -21,7 +21,7 @@ public class TextExportAction extends AbstractWorkBookExportAction {
this.setMenuKeySet(KeySetUtils.TEXT_EXPORT); this.setMenuKeySet(KeySetUtils.TEXT_EXPORT);
this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/text.png")); this.setSmallIcon(new LazyIcon("txtFile"));
} }
@Override @Override

4
designer-realize/src/main/java/com/fr/design/actions/server/TemplateThemeManagerAction.java

@ -1,12 +1,12 @@
package com.fr.design.actions.server; package com.fr.design.actions.server;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.mainframe.theme.TemplateThemeGridPagesPane; import com.fr.design.mainframe.theme.TemplateThemeGridPagesPane;
import com.fr.design.mainframe.theme.dialog.TemplateThemeManageDialog; import com.fr.design.mainframe.theme.dialog.TemplateThemeManageDialog;
import com.fr.design.menu.MenuKeySet; import com.fr.design.menu.MenuKeySet;
import com.fr.design.menu.SnapChatUpdateAction; import com.fr.design.menu.SnapChatUpdateAction;
import com.fr.design.notification.SnapChatAllTypes; import com.fr.design.notification.SnapChatAllTypes;
import com.fr.general.IOUtils;
import javax.swing.KeyStroke; import javax.swing.KeyStroke;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
@ -23,7 +23,7 @@ public class TemplateThemeManagerAction extends SnapChatUpdateAction {
this.setMenuKeySet(TEMPLATE_THEMES_MANAGER); this.setMenuKeySet(TEMPLATE_THEMES_MANAGER);
this.setName(getMenuKeySet().getMenuKeySetName() + "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/icon/icon_predefined_style.png")); this.setSmallIcon(new LazyIcon("templateThemeManager"));
this.generateAndSetSearchText(TemplateThemeGridPagesPane.class.getName()); this.generateAndSetSearchText(TemplateThemeGridPagesPane.class.getName());
} }

2
designer-realize/src/main/java/com/fr/design/expand/ExpandFatherPane.java

@ -49,7 +49,7 @@ public abstract class ExpandFatherPane extends JPanel implements GlobalNameObser
} }
}; };
UIButton imageButton = new UIButton(new LazyIcon("select")); UIButton imageButton = new UIButton(new LazyIcon("cellSelect"));
JPanel cc = new JPanel(new BorderLayout(LayoutConstants.HGAP_SMALL, 0)); JPanel cc = new JPanel(new BorderLayout(LayoutConstants.HGAP_SMALL, 0));
cc.add(customParentColumnRowPane, BorderLayout.CENTER); cc.add(customParentColumnRowPane, BorderLayout.CENTER);
cc.add(imageButton, BorderLayout.EAST); cc.add(imageButton, BorderLayout.EAST);

6
designer-realize/src/main/java/com/fr/design/headerfooter/HeaderFooterPane.java

@ -203,10 +203,10 @@ public abstract class HeaderFooterPane extends BasicPane {
super.getListCellRendererComponent(list, value, index, isSelected, super.getListCellRendererComponent(list, value, index, isSelected,
cellHasFocus); cellHasFocus);
if (value != null && value instanceof Integer) { if (value instanceof Integer) {
int reportHFType = (Integer) value; int reportHFType = (Integer) value;
this.setIcon(new LazyIcon("cpt_icon")); this.setIcon(new LazyIcon("logo"));
if (reportHFType == ReportConstants.REPORTPAGE_DEFAULT) { if (reportHFType == ReportConstants.REPORTPAGE_DEFAULT) {
this.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_HF_Default_Page")); this.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_HF_Default_Page"));
} else if (reportHFType == ReportConstants.REPORTPAGE_FIRST) { } else if (reportHFType == ReportConstants.REPORTPAGE_FIRST) {
@ -222,7 +222,7 @@ public abstract class HeaderFooterPane extends BasicPane {
if (reportHFHash != null) { if (reportHFHash != null) {
Object obj = reportHFHash.get(new Integer(reportHFType)); Object obj = reportHFHash.get(new Integer(reportHFType));
if (obj == null) { if (obj == null) {
this.setIcon(new LazyIcon("cpt_icon").disabled()); this.setIcon(new LazyIcon("logo").disabled());
} }
} }
} }

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

@ -707,9 +707,9 @@ public class JWorkBook extends JTemplate<WorkBook, WorkBookUndoState> {
private MenuDef createWorkBookExportMenu() { private MenuDef createWorkBookExportMenu() {
MenuDef excelExportMenuDef = new MenuDef(KeySetUtils.EXCEL_EXPORT.getMenuKeySetName(), KeySetUtils.EXCEL_EXPORT.getMnemonic()); MenuDef excelExportMenuDef = new MenuDef(KeySetUtils.EXCEL_EXPORT.getMenuKeySetName(), KeySetUtils.EXCEL_EXPORT.getMnemonic());
excelExportMenuDef.setIcon(new LazyIcon("excel_icon")); excelExportMenuDef.setIcon(new LazyIcon("excelFile"));
excelExportMenuDef // 分页导出、原样导出、分页分Sheet导出
.addShortCut(new PageExcelExportAction(this), new ExcelExportAction(this), new PageToSheetExcelExportAction(this)); excelExportMenuDef.addShortCut(new PageExcelExportAction(this), new ExcelExportAction(this), new PageToSheetExcelExportAction(this));
// Export - MenuDef // Export - MenuDef
MenuDef exportMenuDef = new MenuDef(KeySetUtils.EXPORT.getMenuName()); MenuDef exportMenuDef = new MenuDef(KeySetUtils.EXPORT.getMenuName());
exportMenuDef.setIcon(new LazyIcon("export")); exportMenuDef.setIcon(new LazyIcon("export"));

11
designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellExpandAttrPane.java

@ -14,7 +14,6 @@ import com.fr.design.i18n.Toolkit;
import com.fr.design.mainframe.theme.utils.DefaultThemedTemplateCellElementCase; import com.fr.design.mainframe.theme.utils.DefaultThemedTemplateCellElementCase;
import com.fr.design.sort.cellexpand.CellExpandSortPane; import com.fr.design.sort.cellexpand.CellExpandSortPane;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.IOUtils;
import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.TemplateCellElement;
import com.fr.report.cell.cellattr.CellExpandAttr; import com.fr.report.cell.cellattr.CellExpandAttr;
import com.fr.report.elementcase.TemplateElementCase; import com.fr.report.elementcase.TemplateElementCase;
@ -30,6 +29,7 @@ import java.awt.Rectangle;
import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.fix; import static com.fine.swing.ui.layout.Layouts.fix;
/** /**
@ -110,12 +110,17 @@ public class CellExpandAttrPane extends AbstractCellAttrPane {
UILabel up = new UILabel(Toolkit.i18nText("Fine-Design_Report_ExpandD_Up_Father_Cell"), SwingConstants.LEFT); UILabel up = new UILabel(Toolkit.i18nText("Fine-Design_Report_ExpandD_Up_Father_Cell"), SwingConstants.LEFT);
return Layouts.column(LayoutConstants.VERTICAL_GAP, return Layouts.column(LayoutConstants.VERTICAL_GAP,
row(cell(direction).weight(1.2), cell(expandDirectionButton).weight(3.0)), row(cell(direction).weight(1.2), cell(expandDirectionButton).weight(3.0)),
row(cell(left).weight(1.2), cell(leftFatherPane).weight(3.0)), row(cell(getTopAlignLabelPane(left)).weight(1.2), cell(leftFatherPane).weight(3.0)),
row(cell(up).weight(1.2), cell(rightFatherPane).weight(3.0)) row(cell(getTopAlignLabelPane(up)).weight(1.2), cell(rightFatherPane).weight(3.0))
).with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, 10, 0)) ).with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, 10, 0))
).getComponent(); ).getComponent();
} }
private JPanel getTopAlignLabelPane(UILabel label) {
return column(LayoutConstants.VERTICAL_GAP, cell(label))
.with(it -> it.setBorder(new ScaledEmptyBorder(3, 0, 0, 0))).getComponent();
}
private JPanel seniorPane() { private JPanel seniorPane() {
return Layouts.column(LayoutConstants.VERTICAL_GAP, return Layouts.column(LayoutConstants.VERTICAL_GAP,
cell(horizontalExpandableCheckBox), cell(horizontalExpandableCheckBox),

8
designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java

@ -1,6 +1,7 @@
package com.fr.design.mainframe.cell.settingpane; package com.fr.design.mainframe.cell.settingpane;
import com.fine.swing.ui.layout.Layouts; import com.fine.swing.ui.layout.Layouts;
import com.fine.theme.utils.FineUIStyle;
import com.fine.theme.utils.FineUIUtils; import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.Style; import com.fr.base.Style;
@ -151,10 +152,11 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
JPanel scopePane = initScopePane(); JPanel scopePane = initScopePane();
// 带超链的提示信息 // 带超链的提示信息
UILabel label = new UILabel(); UILabel label = new UILabel(Toolkit.i18nText("Fine-Design_Report_Desensitization_Tip"));
FineUIStyle.setStyle(label, FineUIStyle.LABEL_TIP);
LocaleMark<String> dataMaskMark = LocaleCenter.getMark(DataMaskMark.class); LocaleMark<String> dataMaskMark = LocaleCenter.getMark(DataMaskMark.class);
MessageWithLink hyperlink = new MessageWithLink( MessageWithLink hyperlink = new MessageWithLink(
Toolkit.i18nText("Fine-Design_Report_Desensitization_Tip"), "",
Toolkit.i18nText("Fine-Design_Report_Desensitization_Hyperlink"), Toolkit.i18nText("Fine-Design_Report_Desensitization_Hyperlink"),
dataMaskMark.getValue(), dataMaskMark.getValue(),
StringUtils.EMPTY, StringUtils.EMPTY,
@ -166,7 +168,7 @@ public class CellOtherSetPane extends AbstractCellAttrPane {
groupsPane = new CellDesensitizationGroupsPane(this); groupsPane = new CellDesensitizationGroupsPane(this);
return Layouts.column(LayoutConstants.VERTICAL_GAP, return Layouts.column(LayoutConstants.VERTICAL_GAP,
cell(scopePane), cell(scopePane),
cell(hyperlink), row(cell(label), cell(hyperlink)),
cell(groupsPane) cell(groupsPane)
).getComponent(); ).getComponent();
} }

5
designer-realize/src/main/java/com/fr/design/sort/common/SortColumnRowPane.java

@ -4,7 +4,6 @@ import com.fine.swing.ui.layout.Layouts;
import com.fine.theme.icon.LazyIcon; import com.fine.theme.icon.LazyIcon;
import com.fr.base.Style; import com.fr.base.Style;
import com.fr.base.background.ColorBackground; import com.fr.base.background.ColorBackground;
import com.fr.base.svg.IconUtils;
import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserver;
import com.fr.design.event.UIObserverListener; import com.fr.design.event.UIObserverListener;
import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.file.HistoryTemplateListCache;
@ -48,8 +47,8 @@ public class SortColumnRowPane extends JPanel implements UIObserver {
private CellSelection oldSelection; private CellSelection oldSelection;
private SelectionListener gridSelectionChangeListener; private SelectionListener gridSelectionChangeListener;
UIObserverListener uiObserverListener; UIObserverListener uiObserverListener;
private final static Icon DISABLED_ICON = IconUtils.readIcon("/com/fr/design/images/buttonicon/select_disabled.svg"); private final static Icon DISABLED_ICON = new LazyIcon("cellSelect").disabled();
private final static Icon ENABLE_ICON = IconUtils.readIcon("/com/fr/design/images/buttonicon/select_normal.svg"); private final static Icon ENABLE_ICON = new LazyIcon("cellSelect");
private boolean enabled; private boolean enabled;
SelectActionListener selectActionListener; SelectActionListener selectActionListener;

14
designer-realize/src/main/java/com/fr/design/sort/common/SortUIExpandablePane.java

@ -2,7 +2,6 @@ package com.fr.design.sort.common;
import com.fine.swing.ui.layout.Layouts; import com.fine.swing.ui.layout.Layouts;
import com.fine.theme.icon.LazyIcon; import com.fine.theme.icon.LazyIcon;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.utils.FineUIScale; import com.fine.theme.utils.FineUIScale;
import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.border.FineBorderFactory; import com.fr.design.border.FineBorderFactory;
@ -12,13 +11,17 @@ import com.fr.design.event.UIObserverListener;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import javax.swing.*; import javax.swing.JPanel;
import java.awt.*; import javax.swing.BorderFactory;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.flex; import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.swing.ui.layout.Layouts.fix;
public class SortUIExpandablePane extends JPanel { public class SortUIExpandablePane extends JPanel {
@ -42,7 +45,6 @@ public class SortUIExpandablePane extends JPanel {
this.contentPane = contentPane; this.contentPane = contentPane;
initComponents(); initComponents();
wrapPane.setBorder(FineBorderFactory.createWrappedRoundBorder()); wrapPane.setBorder(FineBorderFactory.createWrappedRoundBorder());
wrapPane.setBackground(Color.WHITE);
} }
@ -103,7 +105,9 @@ public class SortUIExpandablePane extends JPanel {
}); });
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
this.add(Layouts.row( this.add(Layouts.row(
cell(iconUiLabel), cell(tipUILabel), flex(), cell(closeButton) fix(LayoutConstants.HGAP_LARGE),
cell(iconUiLabel), fix(LayoutConstants.HGAP_MEDIUM), cell(tipUILabel), flex(), cell(closeButton),
fix(LayoutConstants.HGAP_LARGE)
) )
.getComponent(), BorderLayout.CENTER); .getComponent(), BorderLayout.CENTER);
this.setPreferredSize(new Dimension(contentPane.sortItemPaneWidth + FineUIScale.scale(7), FineUIScale.scale(24))); this.setPreferredSize(new Dimension(contentPane.sortItemPaneWidth + FineUIScale.scale(7), FineUIScale.scale(24)));

10
designer-realize/src/main/java/com/fr/design/sort/expressionpane/CustomSequencePane.java

@ -3,19 +3,23 @@ package com.fr.design.sort.expressionpane;
import com.fine.swing.ui.layout.Layouts; import com.fine.swing.ui.layout.Layouts;
import com.fine.theme.icon.LazyIcon; import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale; import com.fine.theme.utils.FineUIScale;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.report.core.sort.sortexpression.CustomSequenceSortExpression; import com.fr.report.core.sort.sortexpression.CustomSequenceSortExpression;
import javax.swing.*; import javax.swing.JPanel;
import java.awt.*; import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.util.List; import java.util.List;
import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.fix;
public class CustomSequencePane extends JPanel { public class CustomSequencePane extends JPanel {
@ -51,7 +55,7 @@ public class CustomSequencePane extends JPanel {
button.addMouseListener(mouseAdapter); button.addMouseListener(mouseAdapter);
textField.addMouseListener(mouseAdapter); textField.addMouseListener(mouseAdapter);
this.add(Layouts.row( this.add(Layouts.row(
cell(textField).weight(6), cell(button).weight(1) cell(textField).weight(6), fix(LayoutConstants.HGAP_LARGE), cell(button).weight(1)
).getComponent()); ).getComponent());
} }

17
designer-realize/src/main/java/com/fr/design/webattr/PageToolBarPane.java

@ -28,7 +28,6 @@ import com.fr.web.attr.ReportWebAttr;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import java.awt.BorderLayout; import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.InputMethodEvent; import java.awt.event.InputMethodEvent;
@ -48,6 +47,7 @@ import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column; import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.flex; import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.fix;
import static com.fine.theme.utils.FineUIUtils.wrapBoldLabelWithUnderline; import static com.fine.theme.utils.FineUIUtils.wrapBoldLabelWithUnderline;
public class PageToolBarPane extends AbstractEditToolBarPane { public class PageToolBarPane extends AbstractEditToolBarPane {
@ -110,23 +110,16 @@ public class PageToolBarPane extends AbstractEditToolBarPane {
JPanel northPanel = column(LayoutConstants.VERTICAL_GAP, JPanel northPanel = column(LayoutConstants.VERTICAL_GAP,
//报表显示位置:居中展示-左展示 //报表显示位置:居中展示-左展示
row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Show_Location"))).weight(0.15), row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Show_Location"))).weight(0.15),
cell(centerRadioButton).weight(0.2), row(cell(centerRadioButton), fix(12), cell(leftRadioButton), flex()).weight(0.85)
cell(leftRadioButton).weight(0.15),
flex(0.5)
), ),
//页面:以图片方式显示-iframe嵌入时自动缩放-重方式输出格子 //页面:以图片方式显示-iframe嵌入时自动缩放-重方式输出格子
row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_PageSetup_Page"))).weight(0.15), row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_PageSetup_Page"))).weight(0.15),
cell(isShowAsImageBox).weight(0.2), row(cell(isShowAsImageBox), fix(12), cell(isAutoScaleBox), fix(12), cell(isTDHeavyBox),flex()).weight(0.85)
cell(isAutoScaleBox).weight(0.25),
cell(isTDHeavyBox).weight(0.2),
flex(0.2)
), ),
//分页设置:按行分页-每页显示行数 //分页设置:按行分页-每页显示行数
row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paging_Settings"))).weight(0.15), row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paging_Settings"))).weight(0.15),
cell(isPageFixedRowBox).weight(0.2), row(cell(isPageFixedRowBox), fix(20), cell(new UILabel(Toolkit.i18nText("Fine-Design_Report_Rows_Per_Page"))),
cell(new UILabel(Toolkit.i18nText("Fine-Design_Report_Rows_Per_Page"))).weight(0.15), fix(10), cell(pageFixedRowCountTextField),flex()).weight(0.85)
cell(pageFixedRowCountTextField).weight(0.2),
flex(0.3)
), ),
//提示 //提示
cell(tipLabel), cell(tipLabel),

18
designer-realize/src/main/java/com/fr/design/webattr/PageWebSettingPane.java

@ -33,6 +33,7 @@ import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column; import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.flex; import static com.fine.swing.ui.layout.Layouts.flex;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.fix;
public class PageWebSettingPane extends WebSettingPane<WebPage> { public class PageWebSettingPane extends WebSettingPane<WebPage> {
private UIRadioButton centerRadioButton; private UIRadioButton centerRadioButton;
@ -110,23 +111,18 @@ public class PageWebSettingPane extends WebSettingPane<WebPage> {
//报表显示位置 //报表显示位置
row( row(
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Show_Location"))).weight(0.15), cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Show_Location"))).weight(0.15),
cell(centerRadioButton).weight(0.2), row( cell(centerRadioButton), fix(12), cell(leftRadioButton), flex()).weight(0.85)
cell(leftRadioButton).weight(0.15),
flex(0.5)
), ),
//页面 //页面
row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_PageSetup_Page"))).weight(0.15), row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_PageSetup_Page"))).weight(0.15),
cell(isShowAsImageBox).weight(0.2), row(cell(isShowAsImageBox), fix(12), cell(isAutoScaleBox), fix(12), cell(isTDHeavyBox), flex()).weight(0.85)
cell(isAutoScaleBox).weight(0.25),
cell(isTDHeavyBox).weight(0.2),
flex(0.2)
), ),
//分页设置 //分页设置
row( row(
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paging_Settings"))).weight(0.15), cell(isPageFixedRowBox).weight(0.2), cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paging_Settings"))).weight(0.15),
cell(new UILabel(Toolkit.i18nText("Fine-Design_Report_Rows_Per_Page"))).weight(0.15), row(cell(isPageFixedRowBox), fix(20), cell(new UILabel(Toolkit.i18nText("Fine-Design_Report_Rows_Per_Page")))
cell(pageFixedRowCountTextField).weight(0.2), , fix(12), cell(pageFixedRowCountTextField), flex()).weight(0.85)
flex(0.3)
), ),
//提示 //提示
cell(tipLabel) cell(tipLabel)

1
designer-realize/src/main/java/com/fr/design/webattr/ServerFitAttrPane.java

@ -13,7 +13,6 @@ import com.fr.report.fit.ReportFitConfig;
import com.fr.transaction.Configurations; import com.fr.transaction.Configurations;
import com.fr.transaction.Worker; import com.fr.transaction.Worker;
import java.awt.*;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import java.awt.event.ItemListener;

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

@ -29,6 +29,7 @@ import java.util.List;
import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column; import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.fix;
public class WebCssPane extends BasicPane { public class WebCssPane extends BasicPane {
private UITextField localText; private UITextField localText;
@ -63,9 +64,10 @@ public class WebCssPane extends BasicPane {
JPanel workPanel = new JPanel(new BorderLayout()); JPanel workPanel = new JPanel(new BorderLayout());
workPanel.add(column(LayoutConstants.VERTICAL_GAP, workPanel.add(column(LayoutConstants.VERTICAL_GAP,
row(LayoutConstants.VERTICAL_GAP, row(cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Disk_File"))),
cell(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Disk_File"))), fix(LayoutConstants.HORIZONTAL_GAP),
cell(localText).weight(0.8), cell(localText).weight(1),
fix(LayoutConstants.HGAP_LARGE),
cell(chooseFile) cell(chooseFile)
), ),
cell(info), cell(info),

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

@ -43,6 +43,7 @@ import java.util.List;
import static com.fine.swing.ui.layout.Layouts.cell; import static com.fine.swing.ui.layout.Layouts.cell;
import static com.fine.swing.ui.layout.Layouts.column; import static com.fine.swing.ui.layout.Layouts.column;
import static com.fine.swing.ui.layout.Layouts.row; import static com.fine.swing.ui.layout.Layouts.row;
import static com.fine.swing.ui.layout.Layouts.fix;
public class WebJsPane extends BasicPane { public class WebJsPane extends BasicPane {
private UITextField localText; private UITextField localText;
@ -98,9 +99,9 @@ public class WebJsPane extends BasicPane {
info2 = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JS_WARNING2", ProjectConstants.WEBAPP_NAME)); info2 = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_JS_WARNING2", ProjectConstants.WEBAPP_NAME));
FineUIStyle.setStyle(info2, FineUIStyle.LABEL_WARNING_TIP); FineUIStyle.setStyle(info2, FineUIStyle.LABEL_WARNING_TIP);
JPanel outNorth = column(LayoutConstants.VERTICAL_GAP, JPanel outNorth = column(LayoutConstants.VERTICAL_GAP,
row(LayoutConstants.HORIZONTAL_GAP, cell(localFileRadioButton), cell(localText).weight(0.8), cell(chooseFile)), row(cell(localFileRadioButton), fix(LayoutConstants.HORIZONTAL_GAP), cell(localText).weight(1), fix(LayoutConstants.HGAP_LARGE), cell(chooseFile)),
cell(info1), cell(info1),
row(LayoutConstants.HORIZONTAL_GAP, cell(urlFileRadioButton), cell(urlText).weight(0.8), cell(testConnection)), row(cell(urlFileRadioButton), fix(LayoutConstants.HORIZONTAL_GAP), cell(urlText).weight(1), fix(LayoutConstants.HGAP_LARGE), cell(testConnection)),
cell(info2) cell(info2)
).getComponent(); ).getComponent();
JPanel workPanel = new JPanel(new BorderLayout()); JPanel workPanel = new JPanel(new BorderLayout());

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

@ -1,7 +1,6 @@
package com.fr.design.webattr; package com.fr.design.webattr;
import com.fine.theme.icon.LazyIcon; import com.fine.theme.icon.LazyIcon;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.base.ConfigManager; import com.fr.base.ConfigManager;
import com.fr.config.Configuration; import com.fr.config.Configuration;
import com.fr.design.ExtraDesignClassManager; import com.fr.design.ExtraDesignClassManager;
@ -27,9 +26,11 @@ import com.fr.transaction.Configurations;
import com.fr.transaction.Worker; import com.fr.transaction.Worker;
import com.fr.web.attr.ReportWebAttr; import com.fr.web.attr.ReportWebAttr;
import javax.swing.*; import javax.swing.ButtonGroup;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import java.awt.*; import java.awt.BorderLayout;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.util.ArrayList; import java.util.ArrayList;
@ -89,7 +90,7 @@ public class WriteToolBarPane extends AbstractEditToolBarPane {
colorBox.setSelected(false); colorBox.setSelected(false);
colorBox.addActionListener(colorListener); colorBox.addActionListener(colorListener);
colorButton = new UINoThemeColorButton(new LazyIcon("background")); colorButton = new UINoThemeColorButton(new LazyIcon("background"));
JPanel backgroundPane = row(cell(colorBox), fix(LayoutConstants.HGAP_SMALL), cell(colorButton)).getComponent(); JPanel backgroundPane = row(cell(colorBox), fix(LayoutConstants.HGAP_LARGE), cell(colorButton)).getComponent();
//勾选框 //勾选框
unloadCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Unload_Check")); unloadCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Unload_Check"));

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

@ -250,18 +250,17 @@ public class MainDesigner extends BaseDesigner {
if (!DesignerMode.isAuthorityEditing()) { if (!DesignerMode.isAuthorityEditing()) {
menuDef.addShortCut(SeparatorDef.DEFAULT); menuDef.addShortCut(SeparatorDef.DEFAULT);
if (WorkContext.getCurrent().isRoot()) { if (WorkContext.getCurrent().isRoot()) {
menuDef.addShortCut( // 服务器配置
new ServerConfigManagerAction() menuDef.addShortCut(new ServerConfigManagerAction());
);
JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate();
if (JTemplate.isValid(jt)) { if (JTemplate.isValid(jt)) {
// 模板主题管理
menuDef.addShortCut(new TemplateThemeManagerAction()); menuDef.addShortCut(new TemplateThemeManagerAction());
} }
menuDef.addShortCut( // 控件管理
new WidgetManagerAction() menuDef.addShortCut(new WidgetManagerAction());
); // 图标预定义配色、图标空数据提示、地图配置
menuDef.addShortCut(new ChartPreStyleAction(), new ChartEmptyDataStyleAction(), new ChartMapEditorAction()); menuDef.addShortCut(new ChartPreStyleAction(), new ChartEmptyDataStyleAction(), new ChartMapEditorAction());
} }

Loading…
Cancel
Save