Browse Source

Pull request #13472: REPORT-107973 修改渐变色滑块UI实现、弹窗图标,北区背景、报表块边框 翻新

Merge in DESIGN/design from ~LEO.QIN/design:newui to newui

* commit '28d17fdd8f7dfeed44e89f2da473337bb941dee6':
  REPORT-107973 弹窗图标,北区背景、报表块边框 翻新
  REPORT-107973 修改渐变色滑块UI实现
newui
Leo.Qin-覃宇攀 12 months ago
parent
commit
502bd2f678
  1. 35
      designer-base/src/main/java/com/fine/theme/light/ui/FineGradientBarUI.java
  2. 19
      designer-base/src/main/java/com/fine/theme/light/ui/FineLightIconSet.java
  3. 28
      designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentBorder.java
  4. 40
      designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentCompositeUI.java
  5. 7
      designer-base/src/main/java/com/fr/design/file/DefaultTemplateTreeDefineProcessor.java
  6. 6
      designer-base/src/main/java/com/fr/design/gui/imenu/UIHeadMenu.java
  7. 5
      designer-base/src/main/java/com/fr/design/gui/imenu/UIMenuItem.java
  8. 15
      designer-base/src/main/java/com/fr/design/mainframe/CenterRegionContainerPane.java
  9. 1
      designer-base/src/main/java/com/fr/design/mainframe/DesktopCardPane.java
  10. 69
      designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java
  11. 4
      designer-base/src/main/java/com/fr/design/mainframe/NorthRegionContainerPane.java
  12. 60
      designer-base/src/main/java/com/fr/design/mainframe/loghandler/LogMessageBar.java
  13. 14
      designer-base/src/main/java/com/fr/design/menu/MenuDef.java
  14. 4
      designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterPane.java
  15. 13
      designer-base/src/main/java/com/fr/design/style/background/gradient/AbstractComponentPopBox.java
  16. 2
      designer-base/src/main/java/com/fr/design/style/background/gradient/GradientBar.java
  17. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellClear.svg
  18. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellClear_disable.svg
  19. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellConditionalAttr.svg
  20. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellConditionalAttr_disable.svg
  21. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellElementAttr.svg
  22. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellElementAttr_disable.svg
  23. 11
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellExpandAttr.svg
  24. 11
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellExpandAttr_disable.svg
  25. 14
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellHyperLinkAttr.svg
  26. 14
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellHyperLinkAttr_disable.svg
  27. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellOtherAttr.svg
  28. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellOtherAttr_disable.svg
  29. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellPresentAttr.svg
  30. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellPresentAttr_disable.svg
  31. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellStyleAttr.svg
  32. 5
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellStyleAttr_disable.svg
  33. 7
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellWidgetAttr.svg
  34. 7
      designer-base/src/main/resources/com/fine/theme/icon/cell/cellWidgetAttr_disable.svg
  35. 5
      designer-base/src/main/resources/com/fine/theme/icon/filetree/monochrome_copy.svg
  36. 5
      designer-base/src/main/resources/com/fine/theme/icon/filetree/monochrome_copy_disable.svg
  37. 5
      designer-base/src/main/resources/com/fine/theme/icon/filetree/monochrome_paste.svg
  38. 5
      designer-base/src/main/resources/com/fine/theme/icon/filetree/monochrome_paste_disable.svg
  39. 5
      designer-base/src/main/resources/com/fine/theme/icon/filetree/move.svg
  40. 5
      designer-base/src/main/resources/com/fine/theme/icon/filetree/move_disable.svg
  41. 5
      designer-base/src/main/resources/com/fine/theme/icon/log/logMsg.svg
  42. 5
      designer-base/src/main/resources/com/fine/theme/icon/log/logMsg_disable.svg
  43. 8
      designer-base/src/main/resources/com/fine/theme/icon/log/logMsg_dot.svg
  44. 8
      designer-base/src/main/resources/com/fine/theme/icon/log/logMsg_dot_disable.svg
  45. 1
      designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLaf.properties
  46. 27
      designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties
  47. 4
      designer-realize/src/main/java/com/fr/design/actions/cell/CellAttributeAction.java
  48. 4
      designer-realize/src/main/java/com/fr/design/actions/cell/CellExpandAttrAction.java
  49. 5
      designer-realize/src/main/java/com/fr/design/actions/cell/CellStyleAttrAction.java
  50. 4
      designer-realize/src/main/java/com/fr/design/actions/cell/CellWidgetAttrAction.java
  51. 4
      designer-realize/src/main/java/com/fr/design/actions/cell/ConditionAttributesAction.java
  52. 4
      designer-realize/src/main/java/com/fr/design/actions/cell/EditCellAction.java
  53. 4
      designer-realize/src/main/java/com/fr/design/actions/edit/HyperlinkAction.java
  54. 12
      designer-realize/src/main/java/com/fr/design/actions/utils/DeprecatedActionManager.java
  55. 1
      designer-realize/src/main/java/com/fr/design/cell/bar/DynamicScrollBar.java
  56. 20
      designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java
  57. 72
      designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java
  58. 4
      designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java
  59. 15
      designer-realize/src/main/java/com/fr/design/mainframe/bbs/UserInfoLabel.java
  60. 4
      designer-realize/src/main/java/com/fr/design/mainframe/bbs/UserInfoPane.java
  61. 12
      designer-realize/src/main/java/com/fr/grid/GridCorner.java

35
designer-base/src/main/java/com/fine/theme/light/ui/FineGradientBarUI.java

@ -1,6 +1,7 @@
package com.fine.theme.light.ui;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatPanelUI;
import com.fr.design.style.background.gradient.GradientBar;
import com.fr.design.style.background.gradient.SelectColorPointBtn;
import com.fr.stable.AssistUtils;
@ -31,7 +32,7 @@ import java.util.List;
* @since 11.0
* Created on 2023/12/19
*/
public class FineGradientBarUI extends ComponentUI {
public class FineGradientBarUI extends FlatPanelUI {
private int directionalShapeSize;
private int recHeight;
@ -54,6 +55,10 @@ public class FineGradientBarUI extends ComponentUI {
boolean[] hoverStatus;
protected FineGradientBarUI(boolean shared) {
super(shared);
}
/**
* 创建UI
@ -62,7 +67,7 @@ public class FineGradientBarUI extends ComponentUI {
* @return UI
*/
public static ComponentUI createUI(JComponent c) {
return new FineGradientBarUI();
return new FineGradientBarUI(false);
}
@Override
@ -71,10 +76,6 @@ public class FineGradientBarUI extends ComponentUI {
installDefaults(c);
gradientBar = (GradientBar) c;
list = gradientBar.getList();
p1 = gradientBar.getSelectColorPointBtnP1();
p2 = gradientBar.getSelectColorPointBtnP2();
hoverStatus = new boolean[list.size()];
mouseMotionListener = new TrackMotionListener();
mouseListener = new TrackMouseListener();
gradientBar.addMouseMotionListener(mouseMotionListener);
@ -143,7 +144,6 @@ public class FineGradientBarUI extends ComponentUI {
int halfSize = directionalShapeSize / 2;
boolean x = e.getX() <= gradientBar.getWidth() - halfSize && e.getX() >= halfSize;
if (x) {
list.get(index).setX(e.getX());
list.get(index).setStartPosition((double) (e.getX() - halfSize) / (gradientBar.getWidth() - directionalShapeSize));
gradientBar.repaint();
}
@ -201,6 +201,15 @@ public class FineGradientBarUI extends ComponentUI {
public void paint(Graphics g, JComponent c) {
Graphics2D g2 = (Graphics2D) g;
gradientBar = (GradientBar) c;
list = gradientBar.getList();
p1 = gradientBar.getSelectColorPointBtnP1();
p2 = gradientBar.getSelectColorPointBtnP2();
if (hoverStatus == null) {
hoverStatus = new boolean[list.size()];
}
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);
@ -232,6 +241,13 @@ public class FineGradientBarUI extends ComponentUI {
colors[i] = btnList.get(i).getColorInner();
}
float[] dist = getColorFloats(c, btnList);
LinearGradientPaint paint = new LinearGradientPaint(start, end, dist, colors);
g2d.setPaint(paint);
g2d.fillRect(halfSize + borderWidth, borderWidth, c.getWidth() - directionalShapeSize - borderWidth * 2, recHeight - borderWidth * 2);
}
private float[] getColorFloats(GradientBar c, List<SelectColorPointBtn> btnList) {
float[] dist = new float[btnList.size()];
for (int i = 0; i < btnList.size(); i++) {
if (btnList.get(i).getStartPosition() < 0) {
@ -243,6 +259,7 @@ public class FineGradientBarUI extends ComponentUI {
}
btnList.get(i).setX(dist[i] * (c.getWidth() - directionalShapeSize) + (double) directionalShapeSize / 2);
btnList.get(i).setY(recHeight);
}
float dist1 = dist[btnList.size() - 1];
@ -250,9 +267,7 @@ public class FineGradientBarUI extends ComponentUI {
if (AssistUtils.equals(dist1, dist2)) {
dist[btnList.size() - 1] = (float) (dist2 + offset);
}
LinearGradientPaint paint = new LinearGradientPaint(start, end, dist, colors);
g2d.setPaint(paint);
g2d.fillRect(halfSize + borderWidth, borderWidth, c.getWidth() - directionalShapeSize - borderWidth * 2, recHeight - borderWidth * 2);
return dist;
}
private void paintBorder(Graphics2D g2d, GradientBar c) {

19
designer-base/src/main/java/com/fine/theme/light/ui/FineLightIconSet.java

@ -220,7 +220,24 @@ public class FineLightIconSet extends AbstractIconSet {
new SvgIconSource("dot", "com/fine/theme/icon/dot.svg", true),
new SvgIconSource("expand_popup", "com/fine/theme/icon/popup/expand_popup.svg"),
new SvgIconSource("collapse_popup", "com/fine/theme/icon/popup/collapse_popup.svg")
new SvgIconSource("collapse_popup", "com/fine/theme/icon/popup/collapse_popup.svg"),
new SvgIconSource("logMsg", "com/fine/theme/icon/log/logMsg.svg", true),
new SvgIconSource("logMsg_dot", "com/fine/theme/icon/log/logMsg_dot.svg", true),
// 右键弹窗
new SvgIconSource("cellClear", "com/fine/theme/icon/cell/cellClear.svg", true),
new SvgIconSource("cellExpandAttr", "com/fine/theme/icon/cell/cellExpandAttr.svg", true),
new SvgIconSource("cellStyleAttr", "com/fine/theme/icon/cell/cellStyleAttr.svg", true),
new SvgIconSource("cellOtherAttr", "com/fine/theme/icon/cell/cellOtherAttr.svg", true),
new SvgIconSource("cellWidgetAttr", "com/fine/theme/icon/cell/cellWidgetAttr.svg", true),
new SvgIconSource("cellConditionalAttr", "com/fine/theme/icon/cell/cellConditionalAttr.svg", true),
new SvgIconSource("cellHyperLinkAttr", "com/fine/theme/icon/cell/cellHyperLinkAttr.svg", true),
new SvgIconSource("cellPresentAttr", "com/fine/theme/icon/cell/cellPresentAttr.svg", true),
new SvgIconSource("cellElementAttr", "com/fine/theme/icon/cell/cellElementAttr.svg", true),
new SvgIconSource("move", "com/fine/theme/icon/filetree/move.svg", true),
new SvgIconSource("monochrome_copy", "com/fine/theme/icon/filetree/monochrome_copy.svg", true),
new SvgIconSource("monochrome_paste", "com/fine/theme/icon/filetree/monochrome_paste.svg", true)
);
}
}

28
designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentBorder.java

@ -0,0 +1,28 @@
package com.fine.theme.light.ui;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatRoundBorder;
import javax.swing.UIManager;
import java.awt.Color;
import java.awt.Component;
/**
* 报表编辑区域边框
*
* @author Leo.Qin
* @since 11.0
* Created on 2024/1/2
*/
public class FineReportComponentBorder extends FlatRoundBorder {
@Override
protected int getArc(Component c) {
return FineUIUtils.getAndScaleInt("Center.arc", 10);
}
@Override
protected Color getBorderColor(Component c) {
return UIManager.getColor("Center.ZoneBorderColor");
}
}

40
designer-base/src/main/java/com/fine/theme/light/ui/FineReportComponentCompositeUI.java

@ -0,0 +1,40 @@
package com.fine.theme.light.ui;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatPanelUI;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.plaf.ComponentUI;
/**
* 报表编辑区域UI
*
* @author Leo.Qin
* @since 11.0
* Created on 2024/1/2
*/
public class FineReportComponentCompositeUI extends FlatPanelUI {
/**
* @param shared
* @since 2
*/
protected FineReportComponentCompositeUI(boolean shared) {
super(shared);
}
/**
* 创建UI
*/
public static ComponentUI createUI(JComponent c) {
return new FineReportComponentCompositeUI(false);
}
@Override
protected void installDefaults(JPanel p) {
super.installDefaults(p);
this.arc = FineUIUtils.getAndScaleInt("Center.arc", 10);
}
}

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

@ -1,5 +1,6 @@
package com.fr.design.file;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.UpdateAction;
import com.fr.design.actions.file.DelFileAction;
import com.fr.design.actions.file.LocateAction;
@ -147,7 +148,7 @@ public class DefaultTemplateTreeDefineProcessor extends AbstractTemplateTreeDefi
public CopyAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Copy"));
this.setMnemonic('C');
this.setSmallIcon("/com/fr/design/images/m_edit/copy");
this.setSmallIcon(new LazyIcon("monochrome_copy"));
}
@Override
@ -190,7 +191,7 @@ public class DefaultTemplateTreeDefineProcessor extends AbstractTemplateTreeDefi
public PasteAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Action_Paste_Name"));
this.setMnemonic('P');
this.setSmallIcon("/com/fr/design/images/m_edit/paste");
this.setSmallIcon(new LazyIcon("monochrome_paste"));
}
@Override
@ -315,7 +316,7 @@ public class DefaultTemplateTreeDefineProcessor extends AbstractTemplateTreeDefi
public MoveAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Move"));
this.setSmallIcon("/com/fr/design/images/m_edit/move");
this.setSmallIcon(new LazyIcon("move"));
}
@Override

6
designer-base/src/main/java/com/fr/design/gui/imenu/UIHeadMenu.java

@ -1,15 +1,15 @@
package com.fr.design.gui.imenu;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils;
import javax.swing.Action;
import javax.swing.JButton;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.MenuElement;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import java.awt.Component;
import java.awt.Insets;
/**
* @author null
@ -20,7 +20,7 @@ public class UIHeadMenu extends UIMenu {
public UIHeadMenu(String name) {
super(name);
setBorder(new EmptyBorder(FineUIScale.scale(UIManager.getInsets("HeadMenu.borderMargins"))));
setBorder(new EmptyBorder(FineUIUtils.getAndScaleUIInsets("HeadMenu.borderMargins", new Insets(5, 9, 5, 10))));
}
@Override

5
designer-base/src/main/java/com/fr/design/gui/imenu/UIMenuItem.java

@ -33,9 +33,4 @@ public class UIMenuItem extends JMenuItem{
setAction(action);
}
@Override
public String getText() {
return StringUtils.BLANK + super.getText();
}
}

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

@ -1,6 +1,5 @@
package com.fr.design.mainframe;
import com.fine.theme.utils.FineClientProperties;
import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.DesignState;
import com.fr.design.base.mode.DesignModeContext;
@ -17,7 +16,6 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.UIManager;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
@ -26,6 +24,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import static com.fine.theme.utils.FineClientProperties.setStyle;
/**
* @author shine
@ -69,9 +69,8 @@ public class CenterRegionContainerPane extends JPanel {
public CenterRegionContainerPane() {
toolbarPane = new JPanel();
toolbarPane.setBorder(new ScaledEmptyBorder(6, 0, 10, 0));
toolbarPane.setBorder(new ScaledEmptyBorder(6, 0, 0, 0));
toolbarPane.setLayout(FRGUIPaneFactory.createBorderLayout());
toolbarPane.setBackground(UIManager.getColor("Center.SpaceColor"));
eastPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
largeToolbar = getToolBarMenuDock().createLargeToolbar();
eastCenterPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
@ -86,9 +85,9 @@ public class CenterRegionContainerPane extends JPanel {
this.setLayout(new BorderLayout());
this.add(centerTemplateCardPane = new DesktopCardPane(), BorderLayout.CENTER);
centerTemplateCardPane.setBorder(new ScaledEmptyBorder(0, 10, 10, 10));
centerTemplateCardPane.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
this.add(toolbarPane, BorderLayout.NORTH);
this.setBackground(UIManager.getColor("Center.SpaceColor"));
setStyle(this, "NormalColorPane");
}
public ToolBarMenuDock getToolBarMenuDock() {
@ -100,7 +99,7 @@ public class CenterRegionContainerPane extends JPanel {
*/
private void combineUpTooBar() {
combineUp = new UIToolbar(FlowLayout.LEFT);
FineClientProperties.setStyle(combineUp, "topTools");
setStyle(combineUp, "topTools");
combineUp.setBorder(new ScaledEmptyBorder(10, 10, 10, 10));
combineUp.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 2));
setUpUpToolBar(null);
@ -222,7 +221,7 @@ public class CenterRegionContainerPane extends JPanel {
// 颜色,字体那些按钮的工具栏
toolbarPane.add(toolbarComponent = ad.resetToolBar(toolbarComponent, plus), BorderLayout.CENTER);
FineClientProperties.setStyle(toolbarComponent, "topTools");
setStyle(toolbarComponent, "topTools");
toolbarComponent.setBorder(new ScaledEmptyBorder(0, 10, 10, 10));
JPanel customNorthPane = strategy.customNorthPane(toolbarPane, plus);
if (!isExist(customNorthPane)) {

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

@ -54,6 +54,7 @@ public class DesktopCardPane extends BasicPane implements TargetModifiedListener
protected DesktopCardPane() {
setLayout(new BorderLayout());
setOpaque(false);
layeredPane.add(transparentPane, TRANSPARENT_LAYER);
layeredPane.add(failedPane, FAILED_LAYER);
layeredPane.add(forbiddenPane, FORBIDDEN_LAYER);

69
designer-base/src/main/java/com/fr/design/mainframe/JFormSliderPane.java

@ -2,7 +2,9 @@ package com.fr.design.mainframe;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIScale;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.FlatDarculaLaf;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fr.base.BaseUtils;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ilable.UILabel;
@ -16,7 +18,6 @@ import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.plaf.basic.BasicSliderUI;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
@ -26,7 +27,6 @@ import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusEvent;
@ -34,8 +34,11 @@ import java.awt.event.FocusListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.geom.Path2D;
import java.math.BigDecimal;
import static com.fine.theme.utils.FineClientProperties.setStyle;
/**
* Created by MoMeak on 2017/7/13.
*/
@ -65,6 +68,7 @@ public class JFormSliderPane extends JPanel {
public JFormSliderPane() {
this.setLayout(new BorderLayout());
setStyle(this, "LightGreyPanel");
initSlider();
initDownUpButton();
initShowValField();
@ -76,7 +80,7 @@ public class JFormSliderPane extends JPanel {
UILabel uiLabel = new UILabel(SUFFIX);
uiLabel.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 4));
panel.add(uiLabel);
// panel.setBackground(BACK_COLOR);
panel.setOpaque(false);
this.add(panel, BorderLayout.NORTH);
}
@ -222,6 +226,15 @@ public class JFormSliderPane extends JPanel {
return result;
}
@Override
public void paintComponent(Graphics g) {
int arc = FineUIUtils.getAndScaleInt("Center.arc", 10) / 2;
Path2D roundedPath = FineUIUtils.createPartRoundRectangle(0, 0, this.getWidth(), this.getHeight(), 0, 0, arc, 0);
FlatUIUtils.setRenderingHints(g);
Graphics2D g2 = (Graphics2D) g;
g2.setColor(getBackground());
g2.fill(roundedPath);
}
public static double divide(double v1, double v2, int scale) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
@ -282,56 +295,6 @@ public class JFormSliderPane extends JPanel {
this.slider.addChangeListener(changeListener);
}
class JSliderPaneUI extends BasicSliderUI {
private static final int THUMB_XOFFSET = 8;
private static final int THUMB_YOFFSET = 3;
private static final int FOUR = 4;
private static final int FIVE = 5;
private static final int SIX = 6;
private static final int MID_X_SHIFT = 2; // 中点标记的水平位置偏移
public JSliderPaneUI(UISlider b) {
super(b);
}
/**
* 绘制指示物
*/
public void paintThumb(Graphics g) {
Rectangle knobBounds = thumbRect;
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(APPFIT_V0, knobBounds.x - THUMB_XOFFSET, knobBounds.y + THUMB_YOFFSET, null);
g2d.dispose();
}
/**
* 绘制刻度轨迹
*/
public void paintTrack(Graphics g) {
int cy, cw;
Rectangle trackBounds = trackRect;
if (slider.getOrientation() == UISlider.HORIZONTAL) {
Graphics2D g2 = (Graphics2D) g;
cy = (trackBounds.height / 2);
cw = trackBounds.width;
// g2.setPaint(BACK_COLOR);
g2.fillRect(0, -cy, cw + 10, cy * 4);
g.setColor(new Color(216, 216, 216));
g.drawLine(0, cy, cw + 3, cy);
g.drawLine(MID_X_SHIFT + cw / 2, cy - FOUR, MID_X_SHIFT + cw / 2, cy + FOUR);
} else {
super.paintTrack(g);
}
}
public void setThumbLocation(int x, int y) {
super.setThumbLocation(x, y);
slider.repaint();
}
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel( new FlatDarculaLaf() );

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

@ -69,6 +69,7 @@ public class NorthRegionContainerPane extends JPanel {
this.setLayout(new BorderLayout());
this.add(initNorthEastPane(ad), BorderLayout.EAST);
this.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIManager.getColor("North.border")));
setStyle(this, "MenuBar");
}
/**
@ -79,6 +80,7 @@ public class NorthRegionContainerPane extends JPanel {
//hugh: private修改为protected方便oem的时候修改右上的组件构成
//顶部日志+登陆按钮
final JPanel northEastPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
northEastPane.setOpaque(false);
initPluginListener(northEastPane, ad);
refreshNorthEastPane(northEastPane, ad);
return northEastPane;
@ -142,7 +144,6 @@ public class NorthRegionContainerPane extends JPanel {
northEastPane.removeAll();
northEastPane.setLayout(new FlowLayout(FlowLayout.RIGHT, 0, 0));
northEastPane.add(LogMessageBar.getInstance());
TitlePlaceProcessor processor = ExtraDesignClassManager.getInstance().getSingle(TitlePlaceProcessor.MARK_STRING);
if (processor != null) {
final Component[] bbsLoginPane = {null};
@ -161,6 +162,7 @@ public class NorthRegionContainerPane extends JPanel {
/// 新手引导功能,暂时屏蔽
// northEastPane.add(ad.createGuideEntryPane());
northEastPane.add(ad.createNotificationCenterPane());
northEastPane.add(LogMessageBar.getInstance());
OSSupportCenter.buildAction(new OSBasedAction() {
@Override

60
designer-base/src/main/java/com/fr/design/mainframe/loghandler/LogMessageBar.java

@ -1,22 +1,25 @@
package com.fr.design.mainframe.loghandler;
import com.fr.design.gui.ilable.UILabel;
import com.fr.stable.StringUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.ibutton.UIButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class LogMessageBar extends JPanel {
/**
* 日志消息
*
* @author Leo.Qin
* @Created on 2023/12/28
* @since 11.0
*/
public class LogMessageBar extends BasicPane {
private static final String LOG_MARK = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Log");
private UILabel messageLabel;
private int width = 600;
private UIButton logButton;
private static volatile LogMessageBar THIS;
private JFrame dlg = new LogDetailPane().showDialog();
@ -31,18 +34,14 @@ public class LogMessageBar extends JPanel {
return THIS;
}
public static LogMessageBar getInstance(int width) {
LogMessageBar bar = LogMessageBar.getInstance();
bar.setLoggerBarWidth(width);
return bar;
}
private LogMessageBar() {
messageLabel = new UILabel();
setLayout(new BorderLayout());
add(messageLabel, BorderLayout.CENTER);
messageLabel.setForeground(UIManager.getColor("North.messageLabel.foreground"));
addMouseListener(new MouseAdapter() {
setOpaque(false);
logButton = new UIButton(new LazyIcon("logMsg"));
logButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Show_Log_Message"));
logButton.set4ToolbarButton();
add(logButton);
logButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (dlg != null && dlg.isVisible()) {
@ -57,25 +56,11 @@ public class LogMessageBar extends JPanel {
}
public void setMessage(String message) {
if (message == null) {
return;
}
messageLabel.setText(LOG_MARK + " | " + message);
repaint();
logButton.setIcon(new LazyIcon("logMsg_dot"));
}
public void clear() {
messageLabel.setText(StringUtils.EMPTY);
repaint();
}
public void setLoggerBarWidth(int width) {
this.width = width;
}
@Override
public Dimension getPreferredSize() {
return new Dimension(width, 24);
logButton.setIcon(new LazyIcon("logMsg"));
}
/**
@ -91,4 +76,9 @@ public class LogMessageBar extends JPanel {
public JFrame getLogFrame() {
return dlg;
}
@Override
protected String title4PopupWindow() {
return "LogCenter";
}
}

14
designer-base/src/main/java/com/fr/design/menu/MenuDef.java

@ -1,5 +1,6 @@
package com.fr.design.menu;
import com.fine.theme.icon.LazyIcon;
import com.fr.base.svg.IconUtils;
import com.fr.design.file.HistoryTemplateListCache;
import com.fr.design.gui.ibutton.UIButton;
@ -14,6 +15,7 @@ import com.fr.design.mainframe.JTemplate;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.stable.StringUtils;
import javax.swing.Icon;
import javax.swing.JMenu;
import javax.swing.JPopupMenu;
import javax.swing.JToolBar;
@ -64,6 +66,7 @@ public class MenuDef extends ShortCut {
protected JPopupMenu popupMenu;
protected boolean hasScrollSubMenu;
protected boolean isHeadMenu;
private Icon icon;
private String anchor;
@ -199,7 +202,9 @@ public class MenuDef extends ShortCut {
*/
public UIButton createUIButton() {
if (createdButton == null) {
if (iconPath != null) {
if (icon != null) {
createdButton = new UIButton(icon);
} else if (iconPath != null) {
createdButton = new UIButton(IconUtils.readIcon(iconPath));
if(needDisabled) {
createdButton.setDisabledIcon(IconUtils.readIcon(iconPath + IconUtils.ICON_TYPE_DISABLED));
@ -230,7 +235,9 @@ public class MenuDef extends ShortCut {
if (createdJMenu == null) {
createdJMenu = createJMenu0();
createdJMenu.setMnemonic(this.getMnemonic());
if (this.iconPath != null) {
if (icon != null) {
createdJMenu.setIcon(icon);
} else if (this.iconPath != null) {
createdJMenu.setIcon(IconUtils.readIcon(iconPath));
}
MenuListener menuListener = createMenuListener();
@ -510,4 +517,7 @@ public class MenuDef extends ShortCut {
}
public void setIcon(LazyIcon icon) {
this.icon = icon;
}
}

4
designer-base/src/main/java/com/fr/design/notification/ui/NotificationCenterPane.java

@ -8,7 +8,6 @@ import com.fr.design.mainframe.DesignerContext;
import com.fr.design.notification.NotificationCenter;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
@ -17,13 +16,12 @@ public class NotificationCenterPane extends BasicPane {
private static UIButton notificationCenterButton;
private NotificationCenterPane() {
setPreferredSize(new Dimension(24, 24));
setLayout(new BorderLayout());
setOpaque(false);
notificationCenterButton = new UIButton();
notificationCenterButton.setIcon(new LazyIcon("notification"));
notificationCenterButton.setToolTipText(Toolkit.i18nText("Fine-Design_Basic_Show_Notification"));
notificationCenterButton.set4ToolbarButton();
notificationCenterButton.setRolloverEnabled(false);
this.add(notificationCenterButton);
notificationCenterButton.addMouseListener(new MouseAdapter() {
@Override

13
designer-base/src/main/java/com/fr/design/style/background/gradient/AbstractComponentPopBox.java

@ -4,14 +4,11 @@ import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.style.background.BackgroundJComponent;
import com.fr.general.Background;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.JWindow;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.util.ArrayList;
import java.util.List;
import java.awt.AWTEvent;
import java.awt.Dimension;
import java.awt.Point;
@ -21,13 +18,17 @@ import java.awt.Window;
import java.awt.event.AWTEventListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
/**
* 渐变色弹出窗口
*
* @author Bjorn
* @version 10.0
* Created by Bjorn on 2021-08-24
* @since 10.0
* Created on 2021-08-24
*/
public abstract class AbstractComponentPopBox extends JComponent {
public abstract class AbstractComponentPopBox extends JPanel {
protected BackgroundJComponent displayComponent;

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

@ -1,6 +1,5 @@
package com.fr.design.style.background.gradient;
import com.fine.theme.light.ui.FineGradientBarUI;
import com.fine.theme.utils.FineUIUtils;
import com.fr.base.background.ColorBackground;
import com.fr.design.event.UIObserver;
@ -86,7 +85,6 @@ public class GradientBar extends AbstractComponentPopBox implements UIObserver,
p2.setStartPosition(1);
addMouseClickListener();
iniListener();
setUI(new FineGradientBarUI());
}
public List<SelectColorPointBtn> getList() {

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellClear.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="M18.8709 5.04419L29.4989 15.6722L19.6207 25.5504L8.99269 14.9224L18.8709 5.04419ZM7.57848 16.3366L2.87158 21.0435L8.82809 27H18.1711L18.2065 26.9646L7.57848 16.3366ZM30.9131 17.0864L20.9995 27H29C29.5523 27 30 27.4477 30 28C30 28.5523 29.5523 29 29 29H8.8284C8.29798 29 7.78929 28.7893 7.41422 28.4142L1.45737 22.4577C0.676321 21.6767 0.676319 20.4103 1.45737 19.6293L17.4567 3.62998C18.2377 2.84893 19.504 2.84893 20.2851 3.62998L30.9131 14.258C31.6942 15.039 31.6942 16.3054 30.9131 17.0864Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 707 B

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellClear_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="M18.8709 5.04419L29.4989 15.6722L19.6207 25.5504L8.99269 14.9224L18.8709 5.04419ZM7.57848 16.3366L2.87158 21.0435L8.82809 27H18.1711L18.2065 26.9646L7.57848 16.3366ZM30.9131 17.0864L20.9995 27H29C29.5523 27 30 27.4477 30 28C30 28.5523 29.5523 29 29 29H8.8284C8.29798 29 7.78929 28.7893 7.41422 28.4142L1.45737 22.4577C0.676321 21.6767 0.676319 20.4103 1.45737 19.6293L17.4567 3.62998C18.2377 2.84893 19.504 2.84893 20.2851 3.62998L30.9131 14.258C31.6942 15.039 31.6942 16.3054 30.9131 17.0864Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 708 B

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellConditionalAttr.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="M25 4H10V12H25V4ZM10 2C8.89543 2 8 2.89543 8 4V7H4C2.89543 7 2 7.89543 2 9V23C2 24.1046 2.89543 25 4 25H8V28C8 29.1046 8.89543 30 10 30H28C29.1046 30 30 29.1046 30 28V20C30 18.8954 29.1046 18 28 18H10C8.89543 18 8 18.8954 8 20V23H4L4 9H8V12C8 13.1046 8.89543 14 10 14H25C26.1046 14 27 13.1046 27 12V4C27 2.89543 26.1046 2 25 2H10ZM10 25L10 28H28V20H10V23V25Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 572 B

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellConditionalAttr_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="M10 2C8.89543 2 8 2.89543 8 4V7H4C2.89543 7 2 7.89543 2 9V23C2 24.1046 2.89543 25 4 25H8V28C8 29.1046 8.89543 30 10 30H28C29.1046 30 30 29.1046 30 28V20C30 18.8954 29.1046 18 28 18H10C8.89543 18 8 18.8954 8 20V23H4L4 9H8V12C8 13.1046 8.89543 14 10 14H25C26.1046 14 27 13.1046 27 12V4C27 2.89543 26.1046 2 25 2H10ZM25 4H10V12H25V4ZM10 28H28V20H10L10 28Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 567 B

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellElementAttr.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="M2 4C2 2.89543 2.89543 2 4 2H23H29C29.5523 2 30 2.44772 30 3C30 3.55228 29.5523 4 29 4H24V12H29C29.5523 12 30 12.4477 30 13C30 13.5523 29.5523 14 29 14L24 14V22H29C29.5523 22 30 22.4477 30 23C30 23.5523 29.5523 24 29 24H24V29C24 29.5523 23.5523 30 23 30C22.4477 30 22 29.5523 22 29V24H14V28.9995V29C14 29.5523 13.5523 30 13 30C12.4477 30 12 29.5523 12 29V24H4L4 29C4 29.5523 3.55228 30 3 30C2.44772 30 2 29.5523 2 29V4ZM4 22H13H22V13L22 4H4L4 22Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 660 B

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellElementAttr_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="M2 4C2 2.89543 2.89543 2 4 2H23H29C29.5523 2 30 2.44772 30 3C30 3.55228 29.5523 4 29 4H24V12H29C29.5523 12 30 12.4477 30 13C30 13.5523 29.5523 14 29 14L24 14V22H29C29.5523 22 30 22.4477 30 23C30 23.5523 29.5523 24 29 24H24V29C24 29.5523 23.5523 30 23 30C22.4477 30 22 29.5523 22 29V24H14V28.9995V29C14 29.5523 13.5523 30 13 30C12.4477 30 12 29.5523 12 29V24H4L4 29C4 29.5523 3.55228 30 3 30C2.44772 30 2 29.5523 2 29V4ZM4 22H13H22V13L22 4H4L4 22Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 661 B

11
designer-base/src/main/resources/com/fine/theme/icon/cell/cellExpandAttr.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="M14 14V28H28V14H14ZM12 14C12 12.8954 12.8954 12 14 12H23V9H9V23H12V14ZM4 17L4 4H17V7H9C7.89543 7 7 7.89543 7 9V17H4ZM12 25V28C12 29.1046 12.8954 30 14 30H28C29.1046 30 30 29.1046 30 28V14C30 12.8954 29.1046 12 28 12H25V9C25 7.89543 24.1046 7 23 7H19V4C19 2.89543 18.1046 2 17 2H4C2.89543 2 2 2.89543 2 4V17C2 18.1046 2.89543 19 4 19H7V23C7 24.1046 7.89543 25 9 25H12Z"
fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M19 19V23H23V19H19ZM18 17C17.4477 17 17 17.4477 17 18V24C17 24.5523 17.4477 25 18 25H24C24.5523 25 25 24.5523 25 24V18C25 17.4477 24.5523 17 24 17H18Z"
fill="#0A1C38" fill-opacity="0.9"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M29 10C29.5523 10 30 9.55228 30 9V4C30 2.89543 29.1046 2 28 2H23C22.4477 2 22 2.44772 22 3C22 3.55228 22.4477 4 23 4H28V9C28 9.55228 28.4477 10 29 10Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

11
designer-base/src/main/resources/com/fine/theme/icon/cell/cellExpandAttr_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="M14 14V28H28V14H14ZM12 14C12 12.8954 12.8954 12 14 12H23V9H9V23H12V14ZM4 17L4 4H17V7H9C7.89543 7 7 7.89543 7 9V17H4ZM12 25V28C12 29.1046 12.8954 30 14 30H28C29.1046 30 30 29.1046 30 28V14C30 12.8954 29.1046 12 28 12H25V9C25 7.89543 24.1046 7 23 7H19V4C19 2.89543 18.1046 2 17 2H4C2.89543 2 2 2.89543 2 4V17C2 18.1046 2.89543 19 4 19H7V23C7 24.1046 7.89543 25 9 25H12Z"
fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M19 19V23H23V19H19ZM18 17C17.4477 17 17 17.4477 17 18V24C17 24.5523 17.4477 25 18 25H24C24.5523 25 25 24.5523 25 24V18C25 17.4477 24.5523 17 24 17H18Z"
fill="#0A1C38" fill-opacity="0.29"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M29 10C29.5523 10 30 9.55228 30 9V4C30 2.89543 29.1046 2 28 2H23C22.4477 2 22 2.44772 22 3C22 3.55228 22.4477 4 23 4H28V9C28 9.55228 28.4477 10 29 10Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

14
designer-base/src/main/resources/com/fine/theme/icon/cell/cellHyperLinkAttr.svg

@ -0,0 +1,14 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_5338_73074)">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M19.5064 9.60648C19.8969 9.21596 19.8969 8.58279 19.5064 8.19227L15.9708 4.65673C12.8466 1.53254 7.7813 1.53254 4.65711 4.65673C1.53292 7.78093 1.53292 12.8462 4.65711 15.9704L8.19264 19.506C8.58317 19.8965 9.21633 19.8965 9.60686 19.506C9.99738 19.1154 9.99738 18.4823 9.60686 18.0918L6.07132 14.5562C3.72818 12.2131 3.72818 8.41409 6.07132 6.07095C8.41447 3.7278 12.2135 3.7278 14.5566 6.07095L18.0921 9.60648C18.4827 9.997 19.1158 9.997 19.5064 9.60648ZM12.4353 22.3344C12.8258 21.9439 13.459 21.9439 13.8495 22.3344L17.385 25.8699C19.7282 28.2131 23.5272 28.2131 25.8703 25.8699C28.2135 23.5268 28.2135 19.7278 25.8703 17.3847L22.3348 13.8491C21.9443 13.4586 21.9443 12.8254 22.3348 12.4349C22.7253 12.0444 23.3585 12.0444 23.749 12.4349L27.2845 15.9704C30.4087 19.0946 30.4087 24.16 27.2845 27.2841C24.1603 30.4083 19.095 30.4083 15.9708 27.2841L12.4353 23.7486C12.0448 23.3581 12.0448 22.7249 12.4353 22.3344Z"
fill="#0A1C38" fill-opacity="0.9"/>
<path d="M10.3432 10.3432C10.7337 9.95263 11.3669 9.95263 11.7574 10.3432L21.6569 20.2426C22.0474 20.6332 22.0474 21.2663 21.6569 21.6569C21.2664 22.0474 20.6332 22.0474 20.2427 21.6569L10.3432 11.7574C9.95266 11.3668 9.95266 10.7337 10.3432 10.3432Z"
fill="#0A1C38" fill-opacity="0.9"/>
</g>
<defs>
<clipPath id="clip0_5338_73074">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

14
designer-base/src/main/resources/com/fine/theme/icon/cell/cellHyperLinkAttr_disable.svg

@ -0,0 +1,14 @@
<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_165810)">
<path fill-rule="evenodd" clip-rule="evenodd"
d="M19.5059 9.60648C19.8964 9.21596 19.8964 8.58279 19.5059 8.19227L15.9703 4.65673C12.8461 1.53254 7.78082 1.53254 4.65662 4.65673C1.53243 7.78093 1.53243 12.8462 4.65662 15.9704L8.19216 19.506C8.58268 19.8965 9.21585 19.8965 9.60637 19.506C9.99689 19.1154 9.99689 18.4823 9.60637 18.0918L6.07084 14.5562C3.72769 12.2131 3.72769 8.41409 6.07084 6.07095C8.41398 3.7278 12.213 3.7278 14.5561 6.07095L18.0917 9.60648C18.4822 9.997 19.1153 9.997 19.5059 9.60648ZM12.4348 22.3344C12.8253 21.9439 13.4585 21.9439 13.849 22.3344L17.3845 25.8699C19.7277 28.2131 23.5267 28.2131 25.8698 25.8699C28.213 23.5268 28.213 19.7278 25.8698 17.3847L22.3343 13.8491C21.9438 13.4586 21.9438 12.8254 22.3343 12.4349C22.7248 12.0444 23.358 12.0444 23.7485 12.4349L27.284 15.9704C30.4082 19.0946 30.4082 24.16 27.284 27.2841C24.1598 30.4083 19.0945 30.4083 15.9703 27.2841L12.4348 23.7486C12.0443 23.3581 12.0443 22.7249 12.4348 22.3344Z"
fill="#0A1C38" fill-opacity="0.29"/>
<path d="M10.3427 10.3432C10.7332 9.95263 11.3664 9.95263 11.7569 10.3432L21.6564 20.2426C22.0469 20.6332 22.0469 21.2663 21.6564 21.6569C21.2659 22.0474 20.6327 22.0474 20.2422 21.6569L10.3427 11.7574C9.95217 11.3668 9.95217 10.7337 10.3427 10.3432Z"
fill="#0A1C38" fill-opacity="0.29"/>
</g>
<defs>
<clipPath id="clip0_5830_165810">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellOtherAttr.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="M24.91 8.18866C25.6103 8.2132 26.2941 8.14341 26.9486 7.99026C27.4879 8.75096 27.9521 9.56958 28.3304 10.4349C26.9607 11.8731 26.1146 13.8356 26.1146 16C26.1146 18.1644 26.9607 20.1269 28.3304 21.5651C27.9181 22.5082 27.4038 23.3958 26.8014 24.2135C26.2191 24.0738 25.6126 24 24.9907 24C21.4558 24 18.4665 26.3699 17.4739 29.6335C16.9904 29.6869 16.4987 29.7143 16 29.7143C15.5012 29.7143 15.0093 29.6868 14.5257 29.6335C13.5331 26.3699 10.5438 24 7.00888 24C6.38716 24 5.78082 24.0738 5.19858 24.2134C4.59619 23.3957 4.08189 22.508 3.66955 21.5648C5.03905 20.1266 5.88509 18.1643 5.88509 16C5.88509 13.8357 5.03904 11.8734 3.66955 10.4352C4.08189 9.492 4.59619 8.6043 5.19858 7.78663C5.78084 7.92625 6.3872 8 7.00893 8C10.5438 8 13.5332 5.63011 14.5257 2.36653C15.0094 2.31316 15.5012 2.28571 16 2.28571C16.5463 2.28571 17.0843 2.31863 17.6122 2.38247C18.5213 5.63526 21.4083 8.06597 24.91 8.18866ZM27.7004 5.30233C29.1784 6.97295 30.3155 8.96181 31 11.1556C29.4157 12.166 28.3623 13.9579 28.3623 16C28.3623 18.0421 29.4157 19.834 31 20.8444C30.2881 23.1259 29.0868 25.1858 27.5214 26.8966C26.7608 26.5058 25.901 26.2857 24.9907 26.2857C22.0097 26.2857 19.5709 28.6461 19.383 31.6293C18.2934 31.872 17.1614 32 16 32C14.8385 32 13.7064 31.872 12.6165 31.6291C12.4286 28.6461 9.98983 26.2857 7.00888 26.2857C6.09868 26.2857 5.23902 26.5058 4.47855 26.8964C2.91319 25.1856 1.71188 23.1257 1 20.8442C2.58415 19.8337 3.63737 18.0419 3.63737 16C3.63737 13.9581 2.58415 12.1663 1 11.1558C1.71188 8.87426 2.9132 6.81435 4.47856 5.10354C5.23904 5.49422 6.09872 5.71429 7.00893 5.71429C9.98988 5.71429 12.4287 3.35392 12.6166 0.370841C13.7064 0.127984 14.8385 0 16 0C17.2263 0 18.4198 0.142658 19.5654 0.412546C19.6744 3.38 22.0231 5.80044 24.9874 5.9043C25.9617 5.93844 26.8866 5.71823 27.7004 5.30233ZM19.3714 16C19.3714 17.8936 17.8619 19.4286 15.9998 19.4286C14.1378 19.4286 12.6282 17.8936 12.6282 16C12.6282 14.1065 14.1378 12.5714 15.9998 12.5714C17.8619 12.5714 19.3714 14.1065 19.3714 16ZM21.6191 16C21.6191 19.1559 19.1033 21.7143 15.9998 21.7143C12.8964 21.7143 10.3805 19.1559 10.3805 16C10.3805 12.8441 12.8964 10.2857 15.9998 10.2857C19.1033 10.2857 21.6191 12.8441 21.6191 16Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellOtherAttr_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="M24.91 8.18866C25.6103 8.2132 26.2941 8.14341 26.9486 7.99026C27.4879 8.75096 27.9521 9.56958 28.3304 10.4349C26.9607 11.8731 26.1146 13.8356 26.1146 16C26.1146 18.1644 26.9607 20.1269 28.3304 21.5651C27.9181 22.5082 27.4038 23.3958 26.8014 24.2135C26.2191 24.0738 25.6126 24 24.9907 24C21.4558 24 18.4665 26.3699 17.4739 29.6335C16.9904 29.6869 16.4987 29.7143 16 29.7143C15.5012 29.7143 15.0093 29.6868 14.5257 29.6335C13.5331 26.3699 10.5438 24 7.00888 24C6.38716 24 5.78082 24.0738 5.19858 24.2134C4.59619 23.3957 4.08189 22.508 3.66955 21.5648C5.03905 20.1266 5.88509 18.1643 5.88509 16C5.88509 13.8357 5.03904 11.8734 3.66955 10.4352C4.08189 9.492 4.59619 8.6043 5.19858 7.78663C5.78084 7.92625 6.3872 8 7.00893 8C10.5438 8 13.5332 5.63011 14.5257 2.36653C15.0094 2.31316 15.5012 2.28571 16 2.28571C16.5463 2.28571 17.0843 2.31863 17.6122 2.38247C18.5213 5.63526 21.4083 8.06597 24.91 8.18866ZM27.7004 5.30233C29.1784 6.97295 30.3155 8.96181 31 11.1556C29.4157 12.166 28.3623 13.9579 28.3623 16C28.3623 18.0421 29.4157 19.834 31 20.8444C30.2881 23.1259 29.0868 25.1858 27.5214 26.8966C26.7608 26.5058 25.901 26.2857 24.9907 26.2857C22.0097 26.2857 19.5709 28.6461 19.383 31.6293C18.2934 31.872 17.1614 32 16 32C14.8385 32 13.7064 31.872 12.6165 31.6291C12.4286 28.6461 9.98983 26.2857 7.00888 26.2857C6.09868 26.2857 5.23902 26.5058 4.47855 26.8964C2.91319 25.1856 1.71188 23.1257 1 20.8442C2.58415 19.8337 3.63737 18.0419 3.63737 16C3.63737 13.9581 2.58415 12.1663 1 11.1558C1.71188 8.87426 2.9132 6.81435 4.47856 5.10354C5.23904 5.49422 6.09872 5.71429 7.00893 5.71429C9.98988 5.71429 12.4287 3.35392 12.6166 0.370841C13.7064 0.127984 14.8385 0 16 0C17.2263 0 18.4198 0.142658 19.5654 0.412546C19.6744 3.38 22.0231 5.80044 24.9874 5.9043C25.9617 5.93844 26.8866 5.71823 27.7004 5.30233ZM19.3714 16C19.3714 17.8936 17.8619 19.4286 15.9998 19.4286C14.1378 19.4286 12.6282 17.8936 12.6282 16C12.6282 14.1065 14.1378 12.5714 15.9998 12.5714C17.8619 12.5714 19.3714 14.1065 19.3714 16ZM21.6191 16C21.6191 19.1559 19.1033 21.7143 15.9998 21.7143C12.8964 21.7143 10.3805 19.1559 10.3805 16C10.3805 12.8441 12.8964 10.2857 15.9998 10.2857C19.1033 10.2857 21.6191 12.8441 21.6191 16Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellPresentAttr.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="M6 4C6 3.44772 6.44772 3 7 3C7.55228 3 8 3.44772 8 4V6H10C10 4.89543 10.8954 4 12 4H28C29.1046 4 30 4.89543 30 6V8C30 9.10457 29.1046 10 28 10H12C10.8954 10 10 9.10457 10 8H8V10C8 10.5523 7.55228 11 7 11C6.44772 11 6 10.5523 6 10V8H4V23H10V21C10 19.8954 10.8954 19 12 19H28C29.1046 19 30 19.8954 30 21V27C30 28.1046 29.1046 29 28 29H12C10.8954 29 10 28.1046 10 27V25H4C2.89543 25 2 24.1046 2 23V8C2 6.89543 2.89543 6 4 6H6V4ZM12 6H28V8L12 8V6ZM12 21H28V27H12V21Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 676 B

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellPresentAttr_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="M6 4C6 3.44772 6.44772 3 7 3C7.55228 3 8 3.44772 8 4V6H10C10 4.89543 10.8954 4 12 4H28C29.1046 4 30 4.89543 30 6V8C30 9.10457 29.1046 10 28 10H12C10.8954 10 10 9.10457 10 8H8V10C8 10.5523 7.55228 11 7 11C6.44772 11 6 10.5523 6 10V8H4V23H10V21C10 19.8954 10.8954 19 12 19H28C29.1046 19 30 19.8954 30 21V27C30 28.1046 29.1046 29 28 29H12C10.8954 29 10 28.1046 10 27V25H4C2.89543 25 2 24.1046 2 23V8C2 6.89543 2.89543 6 4 6H6V4ZM12 6H28V8L12 8V6ZM12 21H28V27H12V21Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 677 B

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellStyleAttr.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="M9.9703 1.93973C9.81501 1.51309 9.39958 1.25634 8.96834 1.28343C8.93881 1.2808 8.90892 1.27946 8.87871 1.27946H6.87871C6.84864 1.27946 6.81888 1.28079 6.78948 1.28339C6.35844 1.25657 5.94331 1.51328 5.78809 1.93973L1.34183 14.1557C1.15294 14.6747 1.42052 15.2486 1.9395 15.4374C2.45848 15.6263 3.03232 15.3588 3.22122 14.8398L4.51706 11.2795L11.2413 11.2795L12.5372 14.8398C12.7261 15.3588 13.2999 15.6263 13.8189 15.4374C14.3379 15.2486 14.6055 14.6747 14.4166 14.1557L9.9703 1.93973ZM7.42882 3.27947L8.32957 3.27947L10.5134 9.27946H5.245L7.42882 3.27947ZM29.3776 29.4924L26.4829 21.5808H16.0699L13.1816 29.4749C12.9955 29.9835 12.4328 30.2454 11.9239 30.0602C11.4138 29.8745 11.1512 29.3102 11.3377 28.8004L18.2223 9.98372C18.2551 9.89397 18.2997 9.81191 18.3536 9.73863C18.4686 9.3131 18.8573 9 19.3191 9L23.2057 9C23.6529 9 24.0314 9.29342 24.1594 9.6982C24.2343 9.78526 24.2951 9.88702 24.3369 10.0012L31.2215 28.8179C31.408 29.3277 31.1454 29.892 30.6353 30.0777C30.1264 30.2629 29.5636 30.001 29.3776 29.4924ZM22.6116 11L19.9412 11L16.8017 19.5808H25.7511L22.6116 11Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/cell/cellStyleAttr_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="M9.9703 1.93973C9.81501 1.51309 9.39958 1.25634 8.96834 1.28343C8.93881 1.2808 8.90892 1.27946 8.87871 1.27946H6.87871C6.84864 1.27946 6.81888 1.28079 6.78948 1.28339C6.35844 1.25657 5.94331 1.51328 5.78809 1.93973L1.34183 14.1557C1.15294 14.6747 1.42052 15.2486 1.9395 15.4374C2.45848 15.6263 3.03232 15.3588 3.22122 14.8398L4.51706 11.2795L11.2413 11.2795L12.5372 14.8398C12.7261 15.3588 13.2999 15.6263 13.8189 15.4374C14.3379 15.2486 14.6055 14.6747 14.4166 14.1557L9.9703 1.93973ZM7.42882 3.27947L8.32957 3.27947L10.5134 9.27946H5.245L7.42882 3.27947ZM29.3776 29.4924L26.4829 21.5808H16.0699L13.1816 29.4749C12.9955 29.9835 12.4328 30.2454 11.9239 30.0602C11.4138 29.8745 11.1512 29.3102 11.3377 28.8004L18.2223 9.98372C18.2551 9.89397 18.2997 9.81191 18.3536 9.73863C18.4686 9.3131 18.8573 9 19.3191 9L23.2057 9C23.6529 9 24.0314 9.29342 24.1594 9.6982C24.2343 9.78526 24.2951 9.88702 24.3369 10.0012L31.2215 28.8179C31.408 29.3277 31.1454 29.892 30.6353 30.0777C30.1264 30.2629 29.5636 30.001 29.3776 29.4924ZM22.6116 11L19.9412 11L16.8017 19.5808H25.7511L22.6116 11Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

7
designer-base/src/main/resources/com/fine/theme/icon/cell/cellWidgetAttr.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="M29 6H3L3 26L29 26V6ZM3 4C1.89543 4 1 4.89543 1 6V26C1 27.1046 1.89543 28 3 28H29C30.1046 28 31 27.1046 31 26V6C31 4.89543 30.1046 4 29 4H3Z"
fill="#0A1C38" fill-opacity="0.9"/>
<path d="M21.4403 15.1464C21.6356 15.3417 21.9522 15.3417 22.1474 15.1464L25.4403 11.8536C25.7553 11.5386 25.5322 11 25.0868 11H18.501C18.0556 11 17.8325 11.5386 18.1474 11.8536L21.4403 15.1464Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 600 B

7
designer-base/src/main/resources/com/fine/theme/icon/cell/cellWidgetAttr_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="M29 6H3L3 26L29 26V6ZM3 4C1.89543 4 1 4.89543 1 6V26C1 27.1046 1.89543 28 3 28H29C30.1046 28 31 27.1046 31 26V6C31 4.89543 30.1046 4 29 4H3Z"
fill="#0A1C38" fill-opacity="0.29"/>
<path d="M21.4403 15.1464C21.6356 15.3417 21.9522 15.3417 22.1474 15.1464L25.4403 11.8536C25.7553 11.5386 25.5322 11 25.0868 11H18.501C18.0556 11 17.8325 11.5386 18.1474 11.8536L21.4403 15.1464Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 602 B

5
designer-base/src/main/resources/com/fine/theme/icon/filetree/monochrome_copy.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="M19.2 8.36027V21C19.2 21.1105 19.1105 21.2 19 21.2H4C3.88954 21.2 3.8 21.1105 3.8 21V4C3.8 3.88954 3.88954 3.8 4 3.8H14.3974C14.4486 3.8 14.4978 3.81961 14.535 3.85481L19.1375 8.21508C19.1774 8.25285 19.2 8.30535 19.2 8.36027ZM2 4C2 2.89543 2.89543 2 4 2H14.3974C14.9092 2 15.4014 2.19615 15.7729 2.54808L20.3755 6.90836C20.7742 7.28606 21 7.81108 21 8.36027V9.13967H23.3974C23.9091 9.13967 24.4014 9.33582 24.7729 9.68776L29.3755 14.048C29.7742 14.4257 30 14.9508 30 15.4999V28C30 29.1046 29.1046 30 28 30H13C11.8954 30 11 29.1046 11 28V23H4C2.89543 23 2 22.1046 2 21V4ZM12.8 23V28C12.8 28.1105 12.8895 28.2001 13 28.2001H28C28.1105 28.2001 28.2 28.1105 28.2 28V15.4999C28.2 15.445 28.1774 15.3925 28.1375 15.3548L23.535 10.9945C23.4978 10.9593 23.4486 10.9397 23.3974 10.9397H21V21C21 22.1046 20.1046 23 19 23H12.8Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/filetree/monochrome_copy_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="M19.2 8.36027V21C19.2 21.1105 19.1105 21.2 19 21.2H4C3.88954 21.2 3.8 21.1105 3.8 21V4C3.8 3.88954 3.88954 3.8 4 3.8H14.3974C14.4486 3.8 14.4978 3.81961 14.535 3.85481L19.1375 8.21508C19.1774 8.25285 19.2 8.30535 19.2 8.36027ZM2 4C2 2.89543 2.89543 2 4 2H14.3974C14.9092 2 15.4014 2.19615 15.7729 2.54808L20.3755 6.90836C20.7742 7.28606 21 7.81108 21 8.36027V9.13972H23.3974C23.9091 9.13972 24.4014 9.33587 24.7729 9.6878L29.3755 14.0481C29.7742 14.4258 30 14.9508 30 15.5V28.0001C30 29.1047 29.1046 30.0001 28 30.0001H13C11.8954 30.0001 11 29.1047 11 28.0001V23H4C2.89543 23 2 22.1046 2 21V4ZM12.8 23V28.0001C12.8 28.1105 12.8895 28.2001 13 28.2001H28C28.1105 28.2001 28.2 28.1105 28.2 28.0001V15.5C28.2 15.4451 28.1774 15.3926 28.1375 15.3548L23.535 10.9945C23.4978 10.9593 23.4486 10.9397 23.3974 10.9397H21V21C21 22.1046 20.1046 23 19 23H12.8Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/filetree/monochrome_paste.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="M24.5 6V10.1424C24.9746 10.1667 25.4263 10.3595 25.7729 10.6878L30.3755 15.0481C30.7742 15.4258 31 15.9508 31 16.5V29C31 29.7403 30.5978 30.3866 30 30.7324C29.7058 30.9026 29.3643 31 29 31H14C12.8954 31 12 30.1046 12 29H4C2.89543 29 2 28.1046 2 27V6C2 4.89543 2.89543 4 4 4H9.62112C9.76374 4 9.90481 3.98477 10.0422 3.95519C10.3038 2.28094 11.7523 1 13.5 1C15.2632 1 16.7219 2.3038 16.9645 3.9999L16.9845 4H22.5C23.6046 4 24.5 4.89543 24.5 6ZM14 10.1397H22.7V6C22.7 5.88954 22.6105 5.8 22.5 5.8H19.5V6V7H18.5H18H8H7V6V5.8H4C3.88954 5.8 3.8 5.88954 3.8 6V27C3.8 27.1105 3.88954 27.2 4 27.2H12V12.1397C12 11.0352 12.8954 10.1397 14 10.1397ZM13.5 5C14.0523 5 14.5 4.55228 14.5 4C14.5 3.44772 14.0523 3 13.5 3C12.9477 3 12.5 3.44772 12.5 4C12.5 4.55228 12.9477 5 13.5 5ZM29.2 29V16.5C29.2 16.4451 29.1774 16.3926 29.1375 16.3548L24.535 11.9945C24.4978 11.9593 24.4486 11.9397 24.3974 11.9397H14C13.8895 11.9397 13.8 12.0293 13.8 12.1397V29C13.8 29.1105 13.8895 29.2 14 29.2H29C29.1105 29.2 29.2 29.1105 29.2 29Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/filetree/monochrome_paste_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="M24.5 6V10.1424C24.9746 10.1667 25.4263 10.3595 25.7729 10.6878L30.3755 15.0481C30.7742 15.4258 31 15.9508 31 16.5V29C31 29.7403 30.5978 30.3866 30 30.7324C29.7058 30.9026 29.3643 31 29 31H14C12.8954 31 12 30.1046 12 29H4C2.89543 29 2 28.1046 2 27V6C2 4.89543 2.89543 4 4 4H9.62112C9.76374 4 9.90481 3.98477 10.0422 3.95519C10.3038 2.28094 11.7523 1 13.5 1C15.2632 1 16.7219 2.3038 16.9645 3.9999L16.9845 4H22.5C23.6046 4 24.5 4.89543 24.5 6ZM14 10.1397H22.7V6C22.7 5.88954 22.6105 5.8 22.5 5.8H19.5V6V7H18.5H18H8H7V6V5.8H4C3.88954 5.8 3.8 5.88954 3.8 6V27C3.8 27.1105 3.88954 27.2 4 27.2H12V12.1397C12 11.0352 12.8954 10.1397 14 10.1397ZM13.5 5C14.0523 5 14.5 4.55228 14.5 4C14.5 3.44772 14.0523 3 13.5 3C12.9477 3 12.5 3.44772 12.5 4C12.5 4.55228 12.9477 5 13.5 5ZM29.2 29V16.5C29.2 16.4451 29.1774 16.3926 29.1375 16.3548L24.535 11.9945C24.4978 11.9593 24.4486 11.9397 24.3974 11.9397H14C13.8895 11.9397 13.8 12.0293 13.8 12.1397V29C13.8 29.1105 13.8895 29.2 14 29.2H29C29.1105 29.2 29.2 29.1105 29.2 29Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/filetree/move.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="M15.2925 1.29311C15.4901 1.09555 15.7498 0.997928 16.0087 1.00025C16.2616 1.00251 16.5139 1.10012 16.7068 1.29311L20.7068 5.29311C21.0974 5.68363 21.0974 6.3168 20.7068 6.70732C20.3163 7.09785 19.6831 7.09785 19.2926 6.70732L16.9999 4.41461L16.9999 15L27.5856 15L25.2925 12.7069C24.902 12.3164 24.902 11.6832 25.2925 11.2927C25.6831 10.9022 26.3162 10.9022 26.7068 11.2927L30.7068 15.2927C30.7129 15.2988 30.7189 15.305 30.7248 15.3112C30.7582 15.3464 30.7886 15.3834 30.8159 15.4219C31.0931 15.8123 31.0568 16.3571 30.7068 16.707L26.7068 20.707C26.3163 21.0975 25.6831 21.0975 25.2926 20.707C24.9021 20.3165 24.9021 19.6833 25.2926 19.2928L27.5855 17L16.9999 16.9999L16.9999 27.5859L19.293 25.2928C19.6835 24.9022 20.3167 24.9022 20.7072 25.2928C21.0977 25.6833 21.0977 26.3165 20.7072 26.707L16.7072 30.707C16.5516 30.8626 16.3575 30.9562 16.1555 30.9878C16.0724 31.0008 15.9879 31.0033 15.9042 30.9953C15.6811 30.974 15.4638 30.8779 15.2929 30.707L11.2929 26.707C10.9024 26.3165 10.9024 25.6833 11.2929 25.2928C11.6834 24.9022 12.3166 24.9022 12.7071 25.2928L14.9999 27.5856L15 16.9999L4.41396 16.9999L6.70718 19.2931C7.09771 19.6837 7.09771 20.3168 6.70718 20.7074C6.31666 21.0979 5.6835 21.0979 5.29297 20.7074L1.29297 16.7074C1.28687 16.7013 1.28086 16.6951 1.27495 16.6889C1.26281 16.6761 1.25107 16.6631 1.23974 16.6499C0.903257 16.257 0.920973 15.665 1.29289 15.2931L5.29289 11.2931C5.68341 10.9025 6.31658 10.9025 6.7071 11.2931C7.09763 11.6836 7.09763 12.3168 6.7071 12.7073L4.41439 15L15 15L15 4.41409L12.7068 6.70732C12.3162 7.09785 11.6831 7.09785 11.2925 6.70732C10.902 6.3168 10.902 5.68363 11.2925 5.29311L15.2925 1.29311Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/filetree/move_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="M15.2925 1.29311C15.4901 1.09555 15.7498 0.997928 16.0087 1.00025C16.2616 1.00251 16.5139 1.10012 16.7068 1.29311L20.7068 5.29311C21.0974 5.68363 21.0974 6.3168 20.7068 6.70732C20.3163 7.09785 19.6831 7.09785 19.2926 6.70732L16.9999 4.41461L16.9999 15L27.5856 15L25.2925 12.7069C24.902 12.3164 24.902 11.6832 25.2925 11.2927C25.6831 10.9022 26.3162 10.9022 26.7068 11.2927L30.7068 15.2927C30.7129 15.2988 30.7189 15.305 30.7248 15.3112C30.7582 15.3464 30.7886 15.3834 30.8159 15.4219C31.0931 15.8123 31.0568 16.3571 30.7068 16.707L26.7068 20.707C26.3163 21.0975 25.6831 21.0975 25.2926 20.707C24.9021 20.3165 24.9021 19.6833 25.2926 19.2928L27.5855 17L16.9999 16.9999L16.9999 27.5859L19.293 25.2928C19.6835 24.9022 20.3167 24.9022 20.7072 25.2928C21.0977 25.6833 21.0977 26.3165 20.7072 26.707L16.7072 30.707C16.5516 30.8626 16.3575 30.9562 16.1555 30.9878C16.0724 31.0008 15.9879 31.0033 15.9042 30.9953C15.6811 30.974 15.4638 30.8779 15.2929 30.707L11.2929 26.707C10.9024 26.3165 10.9024 25.6833 11.2929 25.2928C11.6834 24.9022 12.3166 24.9022 12.7071 25.2928L14.9999 27.5856L15 16.9999L4.41396 16.9999L6.70718 19.2931C7.09771 19.6837 7.09771 20.3168 6.70718 20.7074C6.31666 21.0979 5.6835 21.0979 5.29297 20.7074L1.29297 16.7074C1.28687 16.7013 1.28086 16.6951 1.27495 16.6889C1.26281 16.6761 1.25107 16.6631 1.23974 16.6499C0.903257 16.257 0.920973 15.665 1.29289 15.2931L5.29289 11.2931C5.68341 10.9025 6.31658 10.9025 6.7071 11.2931C7.09763 11.6836 7.09763 12.3168 6.7071 12.7073L4.41439 15L15 15L15 4.41409L12.7068 6.70732C12.3162 7.09785 11.6831 7.09785 11.2925 6.70732C10.902 6.3168 10.902 5.68363 11.2925 5.29311L15.2925 1.29311Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/log/logMsg.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="M25 4H4L4 28H12.5143C13.141 28.7589 13.8676 29.4322 14.6738 30H4C2.89543 30 2 29.1046 2 28V4C2 2.89543 2.89543 2 4 2H25C26.1046 2 27 2.89543 27 4V11.7789C26.3745 11.3711 25.7049 11.0252 25 10.7499V4ZM28 21C28 24.866 24.866 28 21 28C17.134 28 14 24.866 14 21C14 17.134 17.134 14 21 14C24.866 14 28 17.134 28 21ZM30 21C30 25.9706 25.9706 30 21 30C16.0294 30 12 25.9706 12 21C12 16.0294 16.0294 12 21 12C25.9706 12 30 16.0294 30 21ZM19 17C19 16.4477 19.4477 16 20 16C20.5523 16 21 16.4477 21 17V21H25C25.5523 21 26 21.4477 26 22C26 22.5523 25.5523 23 25 23H20C19.4477 23 19 22.5523 19 22V17ZM7 10C6.44772 10 6 9.55229 6 9C6 8.44772 6.44772 8 7 8L17 8C17.5523 8 18 8.44772 18 9C18 9.55228 17.5523 10 17 10L7 10ZM6 15C6 15.5523 6.44772 16 7 16H11C11.5523 16 12 15.5523 12 15C12 14.4477 11.5523 14 11 14H7C6.44772 14 6 14.4477 6 15Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/log/logMsg_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="M25 4H4L4 28H12.5143C13.141 28.7589 13.8676 29.4322 14.6738 30H4C2.89543 30 2 29.1046 2 28V4C2 2.89543 2.89543 2 4 2H25C26.1046 2 27 2.89543 27 4V11.7789C26.3745 11.3711 25.7049 11.0252 25 10.7499V4ZM28 21C28 24.866 24.866 28 21 28C17.134 28 14 24.866 14 21C14 17.134 17.134 14 21 14C24.866 14 28 17.134 28 21ZM30 21C30 25.9706 25.9706 30 21 30C16.0294 30 12 25.9706 12 21C12 16.0294 16.0294 12 21 12C25.9706 12 30 16.0294 30 21ZM19 17C19 16.4477 19.4477 16 20 16C20.5523 16 21 16.4477 21 17V21H25C25.5523 21 26 21.4477 26 22C26 22.5523 25.5523 23 25 23H20C19.4477 23 19 22.5523 19 22V17ZM7 10C6.44772 10 6 9.55229 6 9C6 8.44772 6.44772 8 7 8L17 8C17.5523 8 18 8.44772 18 9C18 9.55228 17.5523 10 17 10L7 10ZM6 15C6 15.5523 6.44772 16 7 16H11C11.5523 16 12 15.5523 12 15C12 14.4477 11.5523 14 11 14H7C6.44772 14 6 14.4477 6 15Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

8
designer-base/src/main/resources/com/fine/theme/icon/log/logMsg_dot.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 16C6.44772 16 6 15.5523 6 15C6 14.4477 6.44772 14 7 14L11 14C11.5523 14 12 14.4477 12 15C12 15.5523 11.5523 16 11 16L7 16Z"
fill="#0A1C38" fill-opacity="0.9"/>
<rect x="20" y="1" width="10" height="10" rx="5" fill="#F1393C"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M21.4075 12.0091C21.2724 12.003 21.1366 12 21 12C16.0294 12 12 16.0294 12 21C12 25.9706 16.0294 30 21 30C25.9706 30 30 25.9706 30 21C30 17.5162 28.0206 14.4948 25.1251 12.9989C25.0835 12.9996 25.0418 13 25 13C23.6866 13 22.4577 12.6383 21.4075 12.0091ZM19.2547 2H4C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H14.6738C13.8676 29.4322 13.141 28.7589 12.5143 28H4L4 4H18.2899C18.5049 3.27757 18.8334 2.60401 19.2547 2ZM28 21C28 24.866 24.866 28 21 28C17.134 28 14 24.866 14 21C14 17.134 17.134 14 21 14C24.866 14 28 17.134 28 21ZM19 17C19 16.4477 19.4477 16 20 16C20.5523 16 21 16.4477 21 17V21H25C25.5523 21 26 21.4477 26 22C26 22.5523 25.5523 23 25 23H20C19.4477 23 19 22.5523 19 22V17ZM7 10C6.44772 10 6 9.55229 6 9C6 8.44772 6.44772 8 7 8L17 8C17.5523 8 18 8.44772 18 9C18 9.55228 17.5523 10 17 10L7 10Z"
fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

8
designer-base/src/main/resources/com/fine/theme/icon/log/logMsg_dot_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 16C6.44772 16 6 15.5523 6 15C6 14.4477 6.44772 14 7 14L11 14C11.5523 14 12 14.4477 12 15C12 15.5523 11.5523 16 11 16L7 16Z"
fill="#0A1C38" fill-opacity="0.29"/>
<rect opacity="0.4" x="20" y="1" width="10" height="10" rx="5" fill="#F1393C"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M21.4075 12.0091C21.2724 12.003 21.1366 12 21 12C16.0294 12 12 16.0294 12 21C12 25.9706 16.0294 30 21 30C25.9706 30 30 25.9706 30 21C30 17.5162 28.0206 14.4948 25.1251 12.9989C25.0835 12.9996 25.0418 13 25 13C23.6866 13 22.4577 12.6383 21.4075 12.0091ZM19.2547 2H4C2.89543 2 2 2.89543 2 4V28C2 29.1046 2.89543 30 4 30H14.6738C13.8676 29.4322 13.141 28.7589 12.5143 28H4L4 4H18.2899C18.5049 3.27757 18.8334 2.60401 19.2547 2ZM28 21C28 24.866 24.866 28 21 28C17.134 28 14 24.866 14 21C14 17.134 17.134 14 21 14C24.866 14 28 17.134 28 21ZM19 17C19 16.4477 19.4477 16 20 16C20.5523 16 21 16.4477 21 17V21H25C25.5523 21 26 21.4477 26 22C26 22.5523 25.5523 23 25 23H20C19.4477 23 19 22.5523 19 22V17ZM7 10C6.44772 10 6 9.55229 6 9C6 8.44772 6.44772 8 7 8L17 8C17.5523 8 18 8.44772 18 9C18 9.55228 17.5523 10 17 10L7 10Z"
fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

1
designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLaf.properties

@ -50,4 +50,5 @@ CombinationButtonUI=com.fine.theme.light.ui.FineCombinationButtonUI
InputUI=com.fine.theme.light.ui.FineInputUI
GradientBarUI=com.fine.theme.light.ui.FineGradientBarUI
TemplateTabPaneUI=com.fine.theme.light.ui.FineTemplateTabPaneUI
ReportComponentCompositeUI=com.fine.theme.light.ui.FineReportComponentCompositeUI
ColorButtonUI=com.fine.theme.light.ui.FineColorButtonUI

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

@ -459,7 +459,7 @@ Menu.background = @menuBackground
MenuBar.borderColor = $Separator.foreground
MenuBar.border = com.formdev.flatlaf.ui.FlatMenuBarBorder
MenuBar.background = @menuBackground
MenuBar.background=#eaeff5
MenuBar.hoverBackground = @menuHoverBackground
MenuBar.itemMargins = 3,8,3,8
MenuBar.selectionInsets = $MenuItem.selectionInsets
@ -471,7 +471,7 @@ MenuBar.selectionArc = $MenuItem.selectionArc
MenuItem.border = com.formdev.flatlaf.ui.FlatMenuItemBorder
MenuItem.arrowIcon = com.formdev.flatlaf.icons.FlatMenuItemArrowIcon
MenuItem.checkIcon = null
MenuItem.margin = @menuItemMargin
MenuItem.margin=0,10,0,10
MenuItem.opaque = false
MenuItem.borderPainted = true
MenuItem.verticallyAlignText = true
@ -483,11 +483,14 @@ MenuItem.minimumIconSize = 16,16
MenuItem.iconTextGap = 6
MenuItem.textAcceleratorGap = 24
MenuItem.textNoAcceleratorGap = 6
MenuItem.acceleratorArrowGap = 2
MenuItem.acceleratorArrowGap=4
MenuItem.acceleratorDelimiter = "+"
[mac]MenuItem.acceleratorDelimiter = ""
MenuItem.selectionInsets = 0,0,0,0
MenuItem.selectionArc = 0
MenuItem.selectionBackground=$brand.normal
MenuItem.selectionForeground=$text.white
MenuItem.disabledForeground=fade(@foreground,29%)
# for MenuItem.selectionType = underline
MenuItem.underlineSelectionBackground = @menuHoverBackground
@ -563,7 +566,7 @@ PopupMenu.arc=$Component.arc
PopupMenuSeparator.height = 9
PopupMenuSeparator.stripeWidth = 1
PopupMenuSeparator.stripeIndent = 4
PopupMenuSeparator.stripeIndent=2
#---- ProgressBar ----
@ -683,7 +686,7 @@ TreeSearchToolbarPane.borderInsets=0, 8, 0, 8
Separator.height = 3
Separator.stripeWidth = 1
Separator.stripeIndent = 1
Separator.foreground = shade(@background,15%)
Separator.foreground=$fill.hover
#---- Slider ----
@ -1156,8 +1159,6 @@ North.userinfoLabel.borderMargins=2, 16, 2, 16
North.userinfoLabel.width=80
North.userinfoLabel.height=24
North.border = $defaultBorderColor
North.userinfoLabel.foreground=$text.white
North.userinfoLabel.background=$brand.normal
North.messageLabel.foreground=$text.placeholder
North.coverPane.background = #0a1c38
North.coverPane.radius = 8
@ -1169,6 +1170,8 @@ Center.ZoneBorderColor = #E6E9EF
Center.GridColumnRowColor = #F8F9FC
Center.SpaceColor = #FFF
Center.border = 0, 10, 10, 10
Center.arc=10
#---- CellOtherSetPane ----
CellOtherSetPane.height=$Component.defaultHeight
@ -1233,6 +1236,16 @@ CellOtherSetPane.height=$Component.defaultHeight
[style]ToolBar.topTools = \
background: #fff
[style]Panel.NormalColorPane=\
background: $fill.normal
[style]Panel.LightGreyPanel=\
background: $Center.OuterShadowColor
[style]Panel.MenuBar=\
background: $MenuBar.background
[style]Label.BrandColorLabel=\
background: $brand.normal;\
foreground: $text.white;\
opaque: true
#---- clearButton ----
# for clear/cancel button in text fields

4
designer-realize/src/main/java/com/fr/design/actions/cell/CellAttributeAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.cell;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.menu.KeySetUtils;
@ -12,7 +12,7 @@ public class CellAttributeAction extends CellAttributeTableAction {
this.setMenuKeySet(KeySetUtils.CELL_OTHER_ATTR);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon("/com/fr/design/images/m_format/cellAttr");
this.setSmallIcon(new LazyIcon("cellOtherAttr"));
}
@Override

4
designer-realize/src/main/java/com/fr/design/actions/cell/CellExpandAttrAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.cell;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.menu.KeySetUtils;
@ -11,7 +11,7 @@ public class CellExpandAttrAction extends CellAttributeTableAction{
this.setMenuKeySet(KeySetUtils.CELL_EXPAND_ATTR);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon("/com/fr/design/images/expand/cellAttr");
this.setSmallIcon(new LazyIcon("cellExpandAttr"));
}

5
designer-realize/src/main/java/com/fr/design/actions/cell/CellStyleAttrAction.java

@ -1,9 +1,8 @@
package com.fr.design.actions.cell;
import com.fr.base.BaseUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.i18n.Toolkit;
import com.fr.design.menu.KeySetUtils;
import com.fr.general.IOUtils;
/**
* @author Starryi
@ -16,7 +15,7 @@ public class CellStyleAttrAction extends CellAttributeTableAction {
this.setMenuKeySet(KeySetUtils.GLOBAL_STYLE);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_format/cell.png"));
this.setSmallIcon(new LazyIcon("cellStyleAttr"));
}
@Override

4
designer-realize/src/main/java/com/fr/design/actions/cell/CellWidgetAttrAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.cell;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.UpdateAction;
import com.fr.design.mainframe.EastRegionContainerPane;
import com.fr.design.menu.KeySetUtils;
@ -16,7 +16,7 @@ public class CellWidgetAttrAction extends UpdateAction {
this.setMenuKeySet(KeySetUtils.CELL_WIDGET_ATTR);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon("/com/fr/design/images/m_format/modified");
this.setSmallIcon(new LazyIcon("cellWidgetAttr"));
}
@Override

4
designer-realize/src/main/java/com/fr/design/actions/cell/ConditionAttributesAction.java

@ -3,7 +3,7 @@
*/
package com.fr.design.actions.cell;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.UpdateAction;
import com.fr.design.mainframe.EastRegionContainerPane;
import com.fr.design.menu.KeySetUtils;
@ -18,7 +18,7 @@ public class ConditionAttributesAction extends UpdateAction {
this.setMenuKeySet(KeySetUtils.CONDITION_ATTR);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon("/com/fr/design/images/m_format/highlight");
this.setSmallIcon(new LazyIcon("cellConditionalAttr"));
}
@Override

4
designer-realize/src/main/java/com/fr/design/actions/cell/EditCellAction.java

@ -4,7 +4,7 @@
package com.fr.design.actions.cell;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.ElementCaseAction;
import com.fr.design.mainframe.ElementCasePane;
@ -20,7 +20,7 @@ public class EditCellAction extends ElementCaseAction {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Edit"));
this.setMnemonic('I');
this.setSmallIcon("/com/fr/design/images/control/edit");
this.setSmallIcon(new LazyIcon("edit"));
}
@Override

4
designer-realize/src/main/java/com/fr/design/actions/edit/HyperlinkAction.java

@ -3,7 +3,7 @@
*/
package com.fr.design.actions.edit;
import com.fr.base.svg.IconUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.UpdateAction;
import com.fr.design.mainframe.EastRegionContainerPane;
import com.fr.design.menu.KeySetUtils;
@ -19,7 +19,7 @@ public class HyperlinkAction extends UpdateAction {
this.setMenuKeySet(KeySetUtils.HYPER_LINK);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon("/com/fr/design/images/m_insert/hyperLink");
this.setSmallIcon(new LazyIcon("cellHyperLinkAttr"));
}
@Override

12
designer-realize/src/main/java/com/fr/design/actions/utils/DeprecatedActionManager.java

@ -1,7 +1,7 @@
package com.fr.design.actions.utils;
import com.fr.base.BaseUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.base.present.DictPresent;
import com.fr.base.present.FormulaPresent;
import com.fr.design.ExtraDesignClassManager;
@ -46,7 +46,7 @@ public class DeprecatedActionManager {
*/
public static UIMenu getClearMenu(ElementCasePane ePane) {
UIMenu clearMenu = new UIMenu(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_M_Edit_Clear"));
clearMenu.setIcon(BaseUtils.readIcon("/com/fr/design/images/control/clear.png"));
clearMenu.setIcon(new LazyIcon("cellClear"));
clearMenu.setMnemonic('a');
ClearAction ReportComponentAction = new ClearAllAction(ePane);
@ -71,7 +71,7 @@ public class DeprecatedActionManager {
public static MenuDef getCellMenu(final ElementCasePane ePane) {
// 单元格菜单
final MenuDef subMenuDef = new MenuDef(KeySetUtils.CELL_ELEMENT.getMenuName());
subMenuDef.setIconPath("/com/fr/design/images/m_insert/cell");
subMenuDef.setIcon(new LazyIcon("cellElementAttr"));
UpdateAction[] actions = ActionFactory.createCellInsertAction(ElementCasePane.class, ePane);
for (UpdateAction action : actions) {
@ -95,7 +95,7 @@ public class DeprecatedActionManager {
public static MenuDef getPresentMenu(final ElementCasePane ePane) {
final MenuDef presentMenu = new MenuDef(KeySetUtils.PRESENT.getMenuKeySetName());
presentMenu.setIconPath("com/fr/design/images/data/source/dataDictionary");
presentMenu.setIcon(new LazyIcon("cellPresentAttr"));
presentMenu.setMnemonic(KeySetUtils.PRESENT.getMnemonic());
NewPresentAction dataDictAction = new NewPresentAction(ePane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_M_Format_Data_Map"), DictPresent.class.getName());
dataDictAction.setMnemonic('D');
@ -138,7 +138,7 @@ public class DeprecatedActionManager {
public static UIMenu getDeleteMenu(ElementCasePane ePane) {
UIMenu deleteMenu = new UIMenu(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_M_Edit_Delete"));
deleteMenu.setIcon(BaseUtils.readIcon("/com/fr/design/images/control/remove.png"));
deleteMenu.setIcon(new LazyIcon("remove"));
deleteMenu.setMnemonic('d');
deleteMenu.add(new DeleteRowAction(ePane).createMenuItem());
@ -149,7 +149,7 @@ public class DeprecatedActionManager {
public static UIMenu getInsertMenu(ElementCasePane ePane) {
UIMenu deleteMenu = new UIMenu(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Insert") + "(I)");
deleteMenu.setIcon(BaseUtils.readIcon("/com/fr/base/images/cell/control/add.png"));
deleteMenu.setIcon(new LazyIcon("add"));
deleteMenu.setMnemonic('i');
deleteMenu.add(new InsertRowAction(ePane).createMenuItem());

1
designer-realize/src/main/java/com/fr/design/cell/bar/DynamicScrollBar.java

@ -31,6 +31,7 @@ public class DynamicScrollBar extends JScrollBar {
this.reportPane = reportPane;
this.dpi = dpi;
this.setOpaque(false);
//init some values.h
this.setMinimum(0);

20
designer-realize/src/main/java/com/fr/design/mainframe/ReportComponentComposite.java

@ -1,5 +1,6 @@
package com.fr.design.mainframe;
import com.fine.theme.light.ui.FineReportComponentBorder;
import com.fr.base.ScreenResolution;
import com.fr.base.TRL;
import com.fr.design.actions.replace.ui.ITReplaceMainDialog;
@ -16,10 +17,8 @@ import com.fr.main.impl.WorkBook;
import com.fr.report.report.TemplateReport;
import com.fr.stable.StringUtils;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.BorderLayout;
@ -28,10 +27,18 @@ import java.util.ArrayList;
/**
* 整个报表编辑区域 包括滚动条中间的grid或者聚合块下面的sheetTab
*
* @editor zhou
* @since 2012-3-27下午12:12:05
* @author zhou
* @since 11.0
* Created on 2012-3-27
*/
public class ReportComponentComposite extends JComponent implements RemoveListener {
public class ReportComponentComposite extends JPanel implements RemoveListener {
private static final String UI_CLASS_ID = "ReportComponentCompositeUI";
@Override
public String getUIClassID() {
return UI_CLASS_ID;
}
private static final int MAX = 400;
private static final int HUND = 100;
@ -65,7 +72,7 @@ public class ReportComponentComposite extends JComponent implements RemoveListen
CellElementRegion = FRGUIPaneFactory.createBorderLayout_S_Pane();
this.add(CellElementRegion, BorderLayout.NORTH);
this.add(createSouthControlPane(), BorderLayout.SOUTH);
this.setBorder(BorderFactory.createLineBorder(UIManager.getColor("Center.ZoneBorderColor")));
this.setBorder(new FineReportComponentBorder());
jSliderContainer.addValueChangeListener(showValSpinnerChangeListener);
}
@ -228,6 +235,7 @@ public class ReportComponentComposite extends JComponent implements RemoveListen
southPane.add(sheetNameTab, BorderLayout.CENTER);
}
southPane.add(jSliderContainer, BorderLayout.EAST);
southPane.setOpaque(false);
return southPane;
}

72
designer-realize/src/main/java/com/fr/design/mainframe/SheetNameTabPane.java

@ -1,6 +1,7 @@
package com.fr.design.mainframe;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.utils.FineUIUtils;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fr.base.GraphHelper;
import com.fr.base.svg.IconUtils;
@ -27,17 +28,16 @@ import com.fr.report.report.TemplateReport;
import com.fr.report.worksheet.WorkSheet;
import javax.swing.Icon;
import javax.swing.JComponent;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import java.awt.BasicStroke;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FontMetrics;
import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
@ -49,22 +49,26 @@ import java.awt.event.ComponentListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Path2D;
import java.awt.geom.RoundRectangle2D;
import java.util.ArrayList;
import java.util.List;
import static com.fine.theme.utils.FineClientProperties.setStyle;
/**
* NameTabPane of sheets
*
* @editor zhou
* @since 2012-3-26下午1:45:53
* @author zhou
* @since 11.0
* Created on 2012-3-26
*/
public class SheetNameTabPane extends JComponent implements MouseListener, MouseMotionListener, RemoveListener {
public class SheetNameTabPane extends JPanel implements MouseListener, MouseMotionListener, RemoveListener {
private static final Color BORDER_COLOR = UIManager.getColor("Center.ZoneBorderColor");
private static final Color BACKGROUND_COLOR = UIManager.getColor("Center.OuterShadowColor");
private static final Color SELECTED_COLOR = UIManager.getColor("South.SheetSelectedColor");
private static final Color FONT_COLOR = UIManager.getColor("DarkenedFontColor");
private Color borderColor = UIManager.getColor("Center.ZoneBorderColor");
private Color backgroundColor = UIManager.getColor("Center.OuterShadowColor");
private Color selectedColor = UIManager.getColor("South.SheetSelectedColor");
private Color fontColor = UIManager.getColor("DarkenedFontColor");
private static final Icon ADD_WORK_SHEET = new LazyIcon("add_worksheet");
protected static final Icon ADD_POLY_SHEET = new LazyIcon("add_polysheet");
@ -81,12 +85,12 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
private static final int POLY_TOSHEET_LEFT = 30; // 添加poly按钮左侧距sheet面板右侧的距离
private static final int POLY_TOSHEET_RIGHT = 50; // 添加poly按钮右侧距sheet面板右侧的距离
private static final int ICON_SEP_DISTANCE = UIManager.getInt("South.SheetIconSepDistance");
private static final int SHEET_ICON_GAP = UIManager.getInt("South.SheetIconGap"); // 每个sheet图标之间的距离
private static final int TOOLBAR_HEIGHT = UIManager.getInt("South.SheetBarHeight");
private static final int ADD_WIDTH_BY_SHEETNAME = UIManager.getInt("South.SheetAddWidth"); //sheet名字的文本到图标边框的距离
private static final int TAB_BUTTON_GAP = UIManager.getInt("South.SheetTabButtonGap"); // 两个添加按钮与其他组件预留的间隔
private static final int SHEET_TAB_RADIUS = UIManager.getInt("South.SheetTabRadius"); // sheet标签栏圆角属性
private int iconSepDistance = UIManager.getInt("South.SheetIconSepDistance");
private int sheetIconGap = UIManager.getInt("South.SheetIconGap"); // 每个sheet图标之间的距离
private int toolbarHeight = UIManager.getInt("South.SheetBarHeight");
private int addWidthBySheetname = UIManager.getInt("South.SheetAddWidth"); //sheet名字的文本到图标边框的距离
private int tabButtonGap = UIManager.getInt("South.SheetTabButtonGap"); // 两个添加按钮与其他组件预留的间隔
private int sheetTabRadius = UIManager.getInt("South.SheetTabRadius"); // sheet标签栏圆角属性
/**
* 左移和右移按钮
@ -160,12 +164,12 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
this.addMouseListener(this);
this.addMouseMotionListener(this);
this.setBorder(null);
this.setForeground(FONT_COLOR);
this.setBackground(BACKGROUND_COLOR);
this.setForeground(fontColor);
setStyle(this, "LightGreyPanel");
leftButton = new UIButton(LEFT_ICON) {
@Override
public Dimension getPreferredSize() {
return new Dimension(super.getPreferredSize().width, TOOLBAR_HEIGHT);
return new Dimension(super.getPreferredSize().width, toolbarHeight);
}
};
leftButton.set4ToolbarButton();
@ -173,7 +177,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
rightButton = new UIButton(RIGHT_ICON) {
@Override
public Dimension getPreferredSize() {
return new Dimension(super.getPreferredSize().width, TOOLBAR_HEIGHT);
return new Dimension(super.getPreferredSize().width, toolbarHeight);
}
};
rightButton.set4ToolbarButton();
@ -332,7 +336,6 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
*/
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
isAuthorityEditing = DesignerMode.isAuthorityEditing();
showCount = 0;
// 开始画那些Tab.
@ -343,7 +346,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
double textHeight = this.getSize().getHeight() - 1;
widthArray = calculateWidthArray();
int operationWidth = TAB_BUTTON_GAP + getAddWorkSheet().getIconWidth() + ICON_SEP_DISTANCE + ADD_POLY_SHEET.getIconWidth();
int operationWidth = tabButtonGap + getAddWorkSheet().getIconWidth() + iconSepDistance + ADD_POLY_SHEET.getIconWidth();
double maxWidth = getWidth() - operationWidth - buttonPane.getWidth();// 最大宽度
paintBackgroundAndLine(g2d, textHeight, maxWidth, charWidth, textAscent);
checkButton(showCount < widthArray.length);
@ -361,11 +364,18 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
}
private void paintBackgroundAndLine(Graphics2D g2d, double textHeight, double maxWidth, int charWidth, int textAscent) {
int arc = FineUIUtils.getAndScaleInt("Center.arc", 10) / 2;
Path2D roundedPath = FineUIUtils.createPartRoundRectangle(0, 0, this.getWidth(), this.getHeight(), 0, 0, 0, arc);
FlatUIUtils.setRenderingHints(g2d);
g2d.setColor(getBackground());
g2d.fill(roundedPath);
showCount = 0;
int addIconlocation = 0;
WorkBook workBook = reportComposite.getEditingWorkBook();
int reportCount = workBook.getReportCount();
double textX = SHEET_ICON_GAP;
double textX = sheetIconGap;
for (int i = scrollIndex; i < reportCount; i++) {
lastOneIndex = i;
TemplateReport templateReport = workBook.getTemplateReport(i);
@ -397,20 +407,20 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
}
// 画两个添加sheet图标
iconLocation = isOvertakeWidth ? (int) (maxWidth) : addIconlocation + TAB_BUTTON_GAP;
iconLocation = isOvertakeWidth ? (int) (maxWidth) : addIconlocation + tabButtonGap;
paintAddButton(g2d);
}
protected void paintAddButton(Graphics2D g2d){
getAddWorkSheet().paintIcon(this, g2d, iconLocation, 3);
ADD_POLY_SHEET.paintIcon(this, g2d, iconLocation + getAddWorkSheet().getIconWidth() + ICON_SEP_DISTANCE, 3);
ADD_POLY_SHEET.paintIcon(this, g2d, iconLocation + getAddWorkSheet().getIconWidth() + iconSepDistance, 3);
}
private void paintTab(Graphics2D g2d, double textHeight, double textX, String sheetName, int charWidth, int textAscent, int i, boolean isNeedPaintAuthority, boolean isSelected) {
Color backgroundColor = isSelected ? SELECTED_COLOR: (isNeedPaintAuthority ? UIConstants.AUTHORITY_SHEET_UNSELECTED : getBackground());
Color backgroundColor = isSelected ? selectedColor : (isNeedPaintAuthority ? UIConstants.AUTHORITY_SHEET_UNSELECTED : getBackground());
g2d.setColor(backgroundColor);
// 绘制圆角矩形背景
@ -418,11 +428,11 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
FlatUIUtils.setRenderingHints(g2d);
int width = widthArray[i];
int height = (int) textHeight + SHEET_TAB_RADIUS;
RoundRectangle2D.Double backgroundRect = new RoundRectangle2D.Double(textX, -10, width, height, SHEET_TAB_RADIUS, SHEET_TAB_RADIUS);
int height = (int) textHeight + sheetTabRadius;
RoundRectangle2D.Double backgroundRect = new RoundRectangle2D.Double(textX, -10, width, height, sheetTabRadius, sheetTabRadius);
g2d.fill(backgroundRect);
g2d.setColor(BORDER_COLOR);
g2d.setColor(borderColor);
g2d.setStroke(new BasicStroke(1));
g2d.draw(backgroundRect);
}
@ -475,7 +485,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
int[] widthArray = new int[reportCount];
for (int i = 0; i < reportCount; i++) {
String sheetName = workBook.getReportName(i);
widthArray[i] = fm.stringWidth(sheetName) + charWidth * 2 - 1 + ADD_WIDTH_BY_SHEETNAME;
widthArray[i] = fm.stringWidth(sheetName) + charWidth * 2 - 1 + addWidthBySheetname;
}
return widthArray;
}
@ -595,7 +605,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
this.setReleasedXY(e.getX(), e.getY());
int width = 0;
for (int w : widthArray) {
width = width + w + SHEET_ICON_GAP;
width = width + w + sheetIconGap;
}
if (isAuthorityEditing) {
return;
@ -759,7 +769,7 @@ public class SheetNameTabPane extends JComponent implements MouseListener, Mouse
widthArray = calculateWidthArray();
int width = widthArray[i];
textX += width + 1;
int operationWidth = TAB_BUTTON_GAP + getAddWorkSheet().getIconWidth() + ICON_SEP_DISTANCE + ADD_POLY_SHEET.getIconWidth();
int operationWidth = tabButtonGap + getAddWorkSheet().getIconWidth() + iconSepDistance + ADD_POLY_SHEET.getIconWidth();
double maxWidth = getWidth() - operationWidth - buttonPane.getWidth();// 最大宽度
if (i < widthArray.length - 1 && textX + widthArray[i + 1] + 1 > maxWidth) {
isOvertakeWidth = true;

4
designer-realize/src/main/java/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java

@ -9,7 +9,6 @@ import com.fr.design.mainframe.alphafine.AlphaFineHelper;
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@ -25,13 +24,12 @@ public class AlphaFinePane extends BasicPane {
}
public AlphaFinePane() {
setPreferredSize(new Dimension(24, 24));
setOpaque(false);
setLayout(new BorderLayout());
UIButton refreshButton = new UIButton();
refreshButton.setIcon(new LazyIcon(("search")));
refreshButton.setToolTipText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_AlphaFine_Learn_More_About"));
refreshButton.set4ToolbarButton();
refreshButton.setRolloverEnabled(false);
this.add(refreshButton);
refreshButton.addActionListener(new ActionListener() {
@Override

15
designer-realize/src/main/java/com/fr/design/mainframe/bbs/UserInfoLabel.java

@ -5,7 +5,6 @@ package com.fr.design.mainframe.bbs;
import com.fr.design.DesignerEnvManager;
import com.fr.design.bbs.BBSLoginUtils;
import com.fr.design.constants.UIConstants;
import com.fr.design.dialog.FineJOptionPane;
import com.fr.design.extra.LoginContextListener;
import com.fr.design.extra.UserLoginContext;
@ -31,6 +30,7 @@ import com.fr.general.locale.LocaleMark;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.EncodeConstants;
import com.fr.stable.StringUtils;
import javax.swing.JOptionPane;
import javax.swing.SwingConstants;
import java.awt.Cursor;
@ -48,6 +48,8 @@ import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import static com.fine.theme.utils.FineClientProperties.setStyle;
/**
* @author neil
* @date: 2015-3-4-上午9:05:52
@ -78,16 +80,6 @@ public class UserInfoLabel extends UILabel {
@Override
public void mouseEntered(MouseEvent e) {
UserInfoLabel.this.setCursor(new Cursor(Cursor.HAND_CURSOR));
if (StringUtils.isEmpty(DesignerEnvManager.getEnvManager().getDesignerLoginUsername())) {
UserInfoLabel.this.setBackground(UIConstants.DESIGNER_LOGIN_BACKGROUND_ONCLICK);
}
}
@Override
public void mouseExited(MouseEvent e) {
if (StringUtils.isEmpty(DesignerEnvManager.getEnvManager().getDesignerLoginUsername())) {
UserInfoLabel.this.setBackground(UIConstants.DESIGNER_LOGIN_BACKGROUND);
}
}
@Override
@ -159,6 +151,7 @@ public class UserInfoLabel extends UILabel {
public UserInfoLabel(UserInfoPane userInfoPane) {
init(userInfoPane);
setStyle(this, "BrandColorLabel");
}
/**

4
designer-realize/src/main/java/com/fr/design/mainframe/bbs/UserInfoPane.java

@ -104,9 +104,6 @@ public class UserInfoPane extends BasicPane {
*/
public void markUnSignIn() {
this.userInfoLabel.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Designer_Login_Onclick"));
this.userInfoLabel.setForeground(UIManager.getColor("North.userinfoLabel.foreground"));
this.userInfoLabel.setOpaque(true);
this.userInfoLabel.setBackground(UIManager.getColor("North.userinfoLabel.background"));
this.userInfoLabel.resetUserName();
}
@ -118,7 +115,6 @@ public class UserInfoPane extends BasicPane {
public void markSignIn(String userName) {
this.userInfoLabel.setText(userName);
this.userInfoLabel.setUserName(userName);
this.userInfoLabel.setOpaque(true);
}
@Override

12
designer-realize/src/main/java/com/fr/grid/GridCorner.java

@ -4,14 +4,15 @@
package com.fr.grid;
import com.fr.base.GraphHelper;
import com.fr.design.constants.UIConstants;
import com.fr.design.mainframe.DesignerUIModeConfig;
import com.fr.design.mainframe.ElementCasePane;
import javax.swing.event.MouseInputListener;
import java.awt.*;
import java.awt.geom.Rectangle2D;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
/**
* GridCorner used to paint and edit grid cornor.
@ -19,7 +20,7 @@ import java.awt.geom.Rectangle2D;
public class GridCorner extends BaseGridComponent {
public GridCorner() {
this.setOpaque(true);
this.setOpaque(false);
//james 清除所有的Key Action
this.getInputMap().clear();
this.getActionMap().clear();
@ -39,9 +40,6 @@ public class GridCorner extends BaseGridComponent {
float time = (float) reportPane.getResolution() / DesignerUIModeConfig.getInstance().getScreenResolution();
//size
Dimension size = this.getSize();
Rectangle2D rect2D = new Rectangle2D.Double(0, 0, size.getWidth(), size.getHeight());
g2d.setPaint(reportPane.getGrid().getBackground());
GraphHelper.fill(g2d, rect2D);
paintArc(g2d, size, time);

Loading…
Cancel
Save