Browse Source

Pull request #13294: REPORT-107972 设计器样式翻新-翻新超链/控件列表面板、颜色选择框、按钮组

Merge in DESIGN/design from ~LEVY.XIE/design:newui to newui

* commit '6a16d98dbe8714e25af2dc23686bc0f49e3d90ee':
  REPORT-107972 设计器样式翻新-更新圆角边框边距
  REPORT-107972 设计器样式翻新-翻新按钮组
  REPORT-107972 设计器样式翻新-翻新按钮组
  REPORT-107972 设计器样式翻新-翻新超链/控件列表面板
  REPORT-107972 设计器样式翻新-翻新图标
newui
Levy.Xie-解安森 12 months ago
parent
commit
44e189e87e
  1. 9
      designer-base/src/main/java/com/fine/theme/light/ui/FineLightIconSet.java
  2. 16
      designer-base/src/main/java/com/fine/theme/light/ui/RectangleButtonUI.java
  3. 9
      designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java
  4. 12
      designer-base/src/main/java/com/fr/design/gui/controlpane/UIListControlPane.java
  5. 3
      designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java
  6. 43
      designer-base/src/main/java/com/fr/design/gui/controlpane/UINameableListCellRenderer.java
  7. 17
      designer-base/src/main/java/com/fr/design/gui/controlpane/shortcutfactory/AbstractShortCutFactory.java
  8. 176
      designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java
  9. 15
      designer-base/src/main/java/com/fr/design/gui/ibutton/UITabGroup.java
  10. 4
      designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
  11. 3
      designer-base/src/main/java/com/fr/design/mainframe/theme/edit/cell/CellStyleEditPane.java
  12. 357
      designer-base/src/main/java/com/fr/design/style/AbstractSelectBox.java
  13. 5
      designer-base/src/main/java/com/fr/design/style/background/BackgroundJComponent.java
  14. 11
      designer-base/src/main/resources/com/fine/theme/icon/propertiestab/authorityedit.svg
  15. 14
      designer-base/src/main/resources/com/fine/theme/icon/propertiestab/authorityedit_disabled.svg
  16. 14
      designer-base/src/main/resources/com/fine/theme/icon/propertiestab/authorityedit_selected.svg
  17. 15
      designer-base/src/main/resources/com/fine/theme/icon/propertiestab/configuredroles.svg
  18. 15
      designer-base/src/main/resources/com/fine/theme/icon/propertiestab/configuredroles_disabled.svg
  19. 16
      designer-base/src/main/resources/com/fine/theme/icon/propertiestab/configuredroles_selected.svg
  20. 5
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/copy.svg
  21. 5
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/copy_disable.svg
  22. 8
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/edit.svg
  23. 8
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/edit_disable.svg
  24. 5
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/edit_white.svg
  25. 5
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/move_down.svg
  26. 5
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/move_down_disable.svg
  27. 3
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/move_up.svg
  28. 3
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/move_up_disable.svg
  29. 8
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/sort_asc.svg
  30. 8
      designer-base/src/main/resources/com/fine/theme/icon/toolbar/sort_asc_disable.svg
  31. 27
      designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLightLaf.properties
  32. 2
      designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartCustomPlotUITabGroup.java
  33. 46
      designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/style/CustomStylePane.java
  34. 4
      designer-realize/src/main/java/com/fr/design/report/ReportColumnsPane.java
  35. 6
      designer-realize/src/main/java/com/fr/design/sort/common/AbstractSortPane.java

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

@ -91,7 +91,6 @@ public class FineLightIconSet extends AbstractIconSet {
new SvgIconSource("widgetsettings", "com/fine/theme/icon/propertiestab/widgetsettings.svg", false, 18),
new SvgIconSource("widgetsettings_disabled", "com/fine/theme/icon/propertiestab/widgetsettings_disabled.svg", false, 18),
new SvgIconSource("widgetsettings_selected", "com/fine/theme/icon/propertiestab/widgetsettings_selected.svg", false, 18),
// TODO: 视觉未提供,先用旧的,待视觉提供后替换
new SvgIconSource("configuredroles", "com/fine/theme/icon/propertiestab/configuredroles.svg", false, 18),
new SvgIconSource("configuredroles_selected", "com/fine/theme/icon/propertiestab/configuredroles_selected.svg", false, 18),
new SvgIconSource("configuredroles_disabled", "com/fine/theme/icon/propertiestab/configuredroles_disabled.svg", false, 18),
@ -139,6 +138,14 @@ public class FineLightIconSet extends AbstractIconSet {
new SvgIconSource("popup", "com/fine/theme/icon/popup/popup.svg", true),
new SvgIconSource("clear", "com/fine/theme/icon/clear.svg", true),
// 工具栏
new SvgIconSource("tool_copy", "com/fine/theme/icon/toolbar/copy.svg", true),
new SvgIconSource("move_down", "com/fine/theme/icon/toolbar/move_down.svg", true),
new SvgIconSource("move_up", "com/fine/theme/icon/toolbar/move_up.svg", true),
new SvgIconSource("sort_asc", "com/fine/theme/icon/toolbar/sort_asc.svg", true),
new SvgIconSource("tool_edit", "com/fine/theme/icon/toolbar/edit.svg", true),
new SvgIconSource("tool_edit_white", "com/fine/theme/icon/toolbar/edit_white.svg", true),
// 参数面板
new SvgIconSource("param_edit", "com/fine/theme/icon/param/edit.svg", true, 24),
new SvgIconSource("param_edit_pressed", "com/fine/theme/icon/param/edit_pressed.svg", true, 24),

16
designer-base/src/main/java/com/fine/theme/light/ui/PropertiesItemUI.java → designer-base/src/main/java/com/fine/theme/light/ui/RectangleButtonUI.java

@ -7,31 +7,31 @@ import javax.swing.JComponent;
import java.awt.*;
/**
* 东区属性面板属性按钮UI
* 矩形按钮UI忽略圆角属性
*
* @author Levy.Xie
* @since 11.0
* Created on 2023/11/30
*/
public class PropertiesItemUI extends FlatButtonUI {
public class RectangleButtonUI extends FlatButtonUI {
public PropertiesItemUI(boolean shared) {
public RectangleButtonUI(boolean shared) {
super(shared);
}
@Override
protected void paintBackground(Graphics g, JComponent c) {
Color background = getBackground( c );
if( background == null ) {
Color background = getBackground(c);
if (background == null) {
return;
}
Graphics2D g2 = (Graphics2D) g.create();
try {
FlatUIUtils.setRenderingHints( g2 );
FlatUIUtils.setRenderingHints(g2);
g2.setColor(FlatUIUtils.deriveColor(background, getBackgroundBase(c, true)));
float focusWidth = FlatUIUtils.getBorderFocusWidth( c );
FlatUIUtils.paintComponentBackground( g2, 0, 0, c.getWidth(), c.getHeight(), focusWidth, 0 );
float focusWidth = FlatUIUtils.getBorderFocusWidth(c);
FlatUIUtils.paintComponentBackground(g2, 0, 0, c.getWidth(), c.getHeight(), focusWidth, 0);
} finally {
g2.dispose();
}

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

@ -111,14 +111,6 @@ public abstract class UIControlPane extends JControlPane {
@Override
protected void initToolBar() {
super.initToolBar();
// toolBar.setUI(new UIToolBarUI() {
// @Override
// public void paint(Graphics g, JComponent c) {
// Graphics2D g2 = (Graphics2D) g;
// g2.setColor(Color.WHITE);
// g2.fillRect(0, 0, c.getWidth(), c.getHeight());
// }
// });
}
protected JPanel getLeftPane() {
@ -139,7 +131,6 @@ public abstract class UIControlPane extends JControlPane {
// 封装一层,加边框
JPanel toolBarPane = new JPanel(new BorderLayout());
toolBarPane.add(toolBar, BorderLayout.CENTER);
toolBarPane.setBorder(BorderFactory.createMatteBorder(1, 1, 0, 1, UIConstants.RULER_LINE_COLOR));
leftContentPane.add(toolBarPane, BorderLayout.NORTH);

12
designer-base/src/main/java/com/fr/design/gui/controlpane/UIListControlPane.java

@ -1,7 +1,7 @@
package com.fr.design.gui.controlpane;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilist.JNameEdList;
import com.fr.design.gui.ilist.ListModelElement;
@ -10,8 +10,10 @@ import com.fr.form.event.Listener;
import com.fr.stable.ArrayUtils;
import com.fr.stable.Nameable;
import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListDataEvent;
import javax.swing.event.ListDataListener;
@ -40,7 +42,6 @@ public abstract class UIListControlPane extends UIControlPane implements ListCon
public UIListControlPane() {
super();
}
private ListControlPaneHelper getHelper() {
@ -75,9 +76,10 @@ public abstract class UIListControlPane extends UIControlPane implements ListCon
protected void initLeftPane(JPanel leftPane) {
nameableList = createJNameList();
nameableList.setName(LIST_NAME);
nameableList.setSelectionBackground(UIConstants.ATTRIBUTE_PRESS);
leftPane.add(new UIScrollPane(nameableList), BorderLayout.CENTER);
UIScrollPane scrollPane = new UIScrollPane(nameableList);
scrollPane.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0, UIManager.getColor("defaultBorderColor")));
leftPane.add(scrollPane, BorderLayout.CENTER);
leftPane.setBorder(new FineRoundBorder());
nameableList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
nameableList.addMouseListener(getHelper().getListMouseListener(nameableList, this));

3
designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java

@ -24,6 +24,7 @@ import javax.swing.DefaultListModel;
import javax.swing.JPanel;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
import javax.swing.UIManager;
import javax.swing.event.ListDataEvent;
import javax.swing.event.ListDataListener;
import javax.swing.event.ListSelectionEvent;
@ -541,7 +542,7 @@ public abstract class UIListGroupControlPane extends UIControlPane implements Li
label.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 0));
label.setOpaque(true);
label.setBackground(Color.WHITE);
label.setForeground(Color.decode("#333334"));
label.setForeground(UIManager.getColor("List.wrapper.text.fontColor"));
label.setFont(label.getFont().deriveFont(11F));
//预留 10px 的纵向滚动条的宽度
label.setPreferredSize(new Dimension(214, 26));

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

@ -1,6 +1,6 @@
package com.fr.design.gui.controlpane;
import com.fr.design.constants.UIConstants;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ilist.ListModelElement;
import com.fr.stable.Nameable;
@ -8,7 +8,6 @@ import sun.swing.DefaultLookup;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.EmptyBorder;
import java.awt.*;
/**
@ -19,18 +18,19 @@ import java.awt.*;
public class UINameableListCellRenderer extends
JPanel implements ListCellRenderer {
private static final Border SAFE_NO_FOCUS_BORDER = new EmptyBorder(1, 1, 1, 1);
private static final Border DEFAULT_NO_FOCUS_BORDER = new EmptyBorder(1, 1, 1, 1);
private static final Color BORDER_COLOR = new Color(201, 198, 184);
protected static Border noFocusBorder = DEFAULT_NO_FOCUS_BORDER;
private static final int BUTTON_WIDTH = 25;
private static final Color BORDER_COLOR = UIManager.getColor("defaultBorderColor");
private static final int BUTTON_WIDTH = UIManager.getInt("List.cellRender.button.width");
private static final int BUTTON_HEIGHT = UIManager.getInt("List.cellRender.button.height");
private UILabel editButton; // "编辑按钮",实际上是一个 UILabel,由列表项(UIListControlPane)统一处理点击事件
private UILabel label;
private boolean isNewStyle;
private NameableCreator[] creators;
private Color initialLabelForeground;
public UINameableListCellRenderer( boolean isNewStyle, NameableCreator[] creators) {
private static final Icon LIST_EDIT_ICON = new LazyIcon("tool_edit");
private static final Icon CPT_ICON = new LazyIcon("cpt_icon");
public UINameableListCellRenderer(boolean isNewStyle, NameableCreator[] creators) {
super();
this.isNewStyle = isNewStyle;
this.creators = creators;
@ -43,11 +43,11 @@ public class UINameableListCellRenderer extends
private void initComponents() {
editButton = new UILabel() {
public Dimension getPreferredSize() {
return new Dimension(BUTTON_WIDTH, BUTTON_WIDTH);
return new Dimension(BUTTON_WIDTH, BUTTON_HEIGHT);
}
};
editButton.setIcon(isNewStyle ? UIConstants.LIST_EDIT_ICON : UIConstants.CPT_ICON);
editButton.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, UIConstants.LIST_ITEM_SPLIT_LINE));
editButton.setIcon(isNewStyle ? LIST_EDIT_ICON : CPT_ICON);
editButton.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 1, BORDER_COLOR));
editButton.setHorizontalAlignment(SwingConstants.CENTER);
label = new UILabel();
label.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
@ -58,7 +58,7 @@ public class UINameableListCellRenderer extends
}
private Border getNoFocusBorder() {
return BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.LIST_ITEM_SPLIT_LINE);
return BorderFactory.createMatteBorder(0, 0, 1, 0, BORDER_COLOR);
}
private void setText(String t) {
@ -87,18 +87,13 @@ public class UINameableListCellRenderer extends
if (isSelected) {
setBackground(bg == null ? list.getSelectionBackground() : bg);
setForeground(fg == null ? list.getSelectionForeground() : fg);
label.setForeground(Color.WHITE);
if (isNewStyle) {
editButton.setIcon(UIConstants.LIST_EDIT_WHITE_ICON);
}
}
else {
setBackground(list.getBackground());
} else {
setBackground(UIManager.getColor("List.cellRender.background"));
setForeground(list.getForeground());
label.setForeground(initialLabelForeground);
if (isNewStyle) {
editButton.setIcon(UIConstants.LIST_EDIT_ICON);
}
}
if (isNewStyle) {
editButton.setIcon(LIST_EDIT_ICON);
}
setText((value == null) ? "" : value.toString());
@ -107,11 +102,11 @@ public class UINameableListCellRenderer extends
setFont(list.getFont());
if (value instanceof ListModelElement) {
Nameable wrappee = ((ListModelElement) value).wrapper;
Nameable wrapper = ((ListModelElement) value).wrapper;
this.setText(((ListModelElement) value).wrapper.getName());
for (NameableCreator creator : creators) {
if (creator.menuIcon() != null && creator.acceptObject2Populate(wrappee) != null) {
if (creator.menuIcon() != null && creator.acceptObject2Populate(wrapper) != null) {
this.setToolTipText(creator.createTooltip());
break;
}

17
designer-base/src/main/java/com/fr/design/gui/controlpane/shortcutfactory/AbstractShortCutFactory.java

@ -1,6 +1,6 @@
package com.fr.design.gui.controlpane.shortcutfactory;
import com.fr.base.BaseUtils;
import com.fine.theme.icon.LazyIcon;
import com.fr.design.actions.UpdateAction;
import com.fr.design.gui.controlpane.NameableCreator;
import com.fr.design.gui.controlpane.ShortCut4JControlPane;
@ -99,8 +99,7 @@ public abstract class AbstractShortCutFactory {
RemoveItemAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText(("Fine-Design_Basic_Action_Remove")));
this.setMnemonic('R');
this.setSmallIcon(BaseUtils
.readIcon("/com/fr/base/images/cell/control/remove.png"));
this.setSmallIcon(new LazyIcon("remove"));
}
@Override
@ -116,8 +115,7 @@ public abstract class AbstractShortCutFactory {
CopyItemAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Action_Copy"));
this.setMnemonic('C');
this.setSmallIcon(BaseUtils
.readIcon("/com/fr/design/images/m_edit/copy.png"));
this.setSmallIcon(new LazyIcon("tool_copy"));
}
@Override
@ -133,8 +131,7 @@ public abstract class AbstractShortCutFactory {
MoveUpItemAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Move_Up"));
this.setMnemonic('U');
this.setSmallIcon(BaseUtils
.readIcon("/com/fr/design/images/control/up.png"));
this.setSmallIcon(new LazyIcon("move_up"));
}
@Override
@ -150,8 +147,7 @@ public abstract class AbstractShortCutFactory {
MoveDownItemAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Move_Down"));
this.setMnemonic('D');
this.setSmallIcon(BaseUtils
.readIcon("/com/fr/design/images/control/down.png"));
this.setSmallIcon(new LazyIcon("move_down"));
}
@Override
@ -166,8 +162,7 @@ public abstract class AbstractShortCutFactory {
SortItemAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Action_Sort"));
this.setMnemonic('S');
this.setSmallIcon(BaseUtils
.readIcon("/com/fr/design/images/control/sortAsc.png"));
this.setSmallIcon(new LazyIcon("sort_asc"));
}
@Override

176
designer-base/src/main/java/com/fr/design/gui/ibutton/UIButtonGroup.java

@ -1,6 +1,8 @@
package com.fr.design.gui.ibutton;
import com.fr.design.constants.UIConstants;
import com.fine.theme.light.ui.FineRoundBorder;
import com.fine.theme.light.ui.RectangleButtonUI;
import com.formdev.flatlaf.ui.FlatUIUtils;
import com.fr.design.event.GlobalNameListener;
import com.fr.design.event.GlobalNameObserver;
import com.fr.design.event.UIObserver;
@ -15,14 +17,14 @@ import javax.swing.JPanel;
import javax.swing.border.Border;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.UIManager;
import javax.swing.JComponent;
import javax.swing.plaf.ComponentUI;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Insets;
import java.awt.LayoutManager;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
@ -44,6 +46,7 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
private String buttonGroupName = StringUtils.EMPTY;
private boolean isToolBarComponent = false;
private boolean isClick;
protected int totalButtonSize = 0;
private UIObserverListener uiObserverListener;
private boolean autoFireStateChanged = true;
@ -65,6 +68,7 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
this.objectList = Arrays.asList(objects);
}
labelButtonList = new ArrayList<UIToggleButton>(iconArray.length);
totalButtonSize = iconArray.length;
this.setLayout(getGridLayout(iconArray.length));
this.setBorder(getGroupBorder());
for (int i = 0; i < iconArray.length; i++) {
@ -92,7 +96,7 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
return false;
}
};
initButton(labelButton);
initButton(labelButton, i);
}
}
@ -100,6 +104,7 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
if (!ArrayUtils.isEmpty(objects) && iconArray.length == objects.length) {
this.objectList = Arrays.asList(objects);
}
totalButtonSize = iconArray.length;
labelButtonList = new ArrayList<UIToggleButton>(iconArray.length);
this.setLayout(getGridLayout(iconArray.length));
this.setBorder(getGroupBorder());
@ -128,7 +133,7 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
return false;
}
};
initButton(labelButton);
initButton(labelButton, i);
}
}
@ -143,15 +148,14 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
public void setForToolBarButtonGroup(boolean isToolBarComponent) {
this.isToolBarComponent = isToolBarComponent;
if (isToolBarComponent) {
for (int i = 0; i < labelButtonList.size(); i++) {
labelButtonList.get(i).set4ToolbarButton();
for (UIToggleButton uiToggleButton : labelButtonList) {
uiToggleButton.set4ToolbarButton();
}
}
repaint();
}
/**
* setEnabled
*
@ -168,6 +172,7 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
if (!ArrayUtils.isEmpty(objects) && textArray.length == objects.length) {
this.objectList = Arrays.asList(objects);
}
totalButtonSize = textArray.length;
currentButtonSize = textArray.length;
labelButtonList = new ArrayList<UIToggleButton>(textArray.length);
this.setLayout(getGridLayout(textArray.length));
@ -191,51 +196,102 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
};
}
@Override
public Insets getInsets() {
return new Insets(0, 2, 0, 2);
}
public boolean shouldResponseNameListener() {
return false;
}
};
// labelButton.setUI(new UIButtonUI() {
// protected void paintText(Graphics g, AbstractButton b, String text, Rectangle textRec) {
// View v = (View) b.getClientProperty(BasicHTML.propertyKey);
// if (v != null) {
// v.paint(g, textRec);
// return;
// }
// FontMetrics fm = SwingUtilities2.getFontMetrics(b, g);
// int mnemonicIndex = b.getDisplayedMnemonicIndex();
// if (isPressed(b)) {
// g.setColor(Color.white);
// } else {
// g.setColor(b.isEnabled() ? Color.black : UIConstants.LINE_COLOR);
// }
//
// SwingUtilities2.drawStringUnderlineCharAt(b, g, text, mnemonicIndex, textRec.x + getTextShiftOffset(), textRec.y + fm.getAscent() + getTextShiftOffset());
// }
// });
initButton(labelButton);
initButton(labelButton, i);
}
}
private static class TabButtonUI extends RectangleButtonUI {
protected int minimumWidth;
protected int minimumHeight;
protected TabButtonUI(boolean shared) {
super(shared);
}
public static ComponentUI createUI(JComponent c) {
return new TabButtonUI(false);
}
@Override
public void installUI(JComponent c) {
super.installUI(c);
background = UIManager.getColor("Button.group.background");
pressedBackground = UIManager.getColor("Button.group.pressedBackground");
selectedBackground = UIManager.getColor("Button.group.selectedBackground");
pressedForeground = UIManager.getColor("Button.group.pressedForeground");
selectedForeground = UIManager.getColor("Button.group.selectedForeground");
minimumWidth = UIManager.getInt("Button.group.minimumWidth");
minimumHeight = UIManager.getInt("Button.group.minimumHeight");
}
@Override
public Dimension getMinimumSize(JComponent c) {
return new Dimension(minimumWidth, minimumHeight);
}
}
public void setGlobalName(String name) {
buttonGroupName = name;
}
protected void initButton(UIToggleButton labelButton) {
labelButton.setBorderPainted(false);
adjustButton(labelButton);
initButton(labelButton, 0);
}
protected void initButton(UIToggleButton labelButton, int buttonIndex) {
labelButton.setUI(new TabButtonUI(false));
paintInnerBorder(labelButton, buttonIndex);
adjustButton(labelButton, buttonIndex);
UIComponentUtils.setLineWrap(labelButton);
labelButtonList.add(labelButton);
this.add(labelButton);
}
private void adjustButton(UIToggleButton labelButton) {
/**
* 绘制按钮组内边框
*
* @param labelButton 按钮
* @param index 按钮序号
*/
protected void paintInnerBorder(UIToggleButton labelButton, int index) {
LayoutManager layout = getLayout();
int leftBorder = 0;
int bottomBorder = 0;
if (layout instanceof GridLayout) {
GridLayout gridLayout = (GridLayout) layout;
int rows = gridLayout.getRows();
int columns = gridLayout.getColumns();
rows = getActualColumnRow(rows, columns, totalButtonSize);
columns = getActualColumnRow(columns, rows, totalButtonSize);
int columnIndex = index % columns;
int rowIndex = index / columns;
// 非首列,绘制左边框
leftBorder = (columnIndex != 0) ? 1 : 0;
// 非末行,绘制底边框
bottomBorder = (rows > 1 && rowIndex < rows - 1) ? 1 : 0;
} else {
leftBorder = (index != 0) ? 1 : 0;
}
labelButton.setBorderPainted((leftBorder | bottomBorder) != 0);
labelButton.setBorder((leftBorder | bottomBorder) != 0 ?
BorderFactory.createMatteBorder(0, leftBorder, bottomBorder, 0, UIManager.getColor("defaultBorderColor")) :
null);
}
private int getActualColumnRow(int origin, int divider, int total) {
return (origin == 0 || divider == 0) ? (int) Math.ceil((double) total / divider) : origin;
}
private void adjustButton(UIToggleButton labelButton, int index) {
if (labelButton.getText().length() > TEXT_LENGTH && currentButtonSize > BUTTON_SIZE) {
Dimension dimension = labelButton.getPreferredSize();
dimension.height <<= 1;
@ -244,24 +300,20 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
}
protected Border getGroupBorder() {
return BorderFactory.createEmptyBorder(1, 1, 1, 1);
return new FineRoundBorder();
}
protected LayoutManager getGridLayout(int number) {
return new GridLayout(0, number, 0, 0);
}
/**
* paintComponent
*
* @param g
*/
public void paintComponents(Graphics g) {
@Override
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
Shape oldClip = g2d.getClip();
g2d.clip(new RoundRectangle2D.Double(1, 1, getWidth(), getHeight(), UIConstants.ARC, UIConstants.ARC));
super.paintComponents(g);
g2d.setClip(oldClip);
FlatUIUtils.setRenderingHints(g2d);
int arc = UIManager.getInt("Button.group.arc");
g2d.clip(new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), arc, arc));
super.paint(g);
}
public void setAutoFireStateChanged(boolean autoFireStateChanged) {
@ -353,7 +405,7 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
/**
* 给所有的Button添加Tips
*
* @param tips
* @param tips 标签
*/
public void setAllToolTips(String[] tips) {
for (int i = 0; i < labelButtonList.size(); i++) {
@ -438,34 +490,6 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver, UIOb
fireStateChanged();
}
/**
* 重载Border画法
*
* @param g
*/
@Override
protected void paintBorder(Graphics g) {
if (isToolBarComponent) {
return;
}
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(UIConstants.SHADOW_GREY);
int width = 0;
for (int i = 0; i < labelButtonList.size() - 1; i++) {
width += labelButtonList.get(i).getWidth() + 1;
int height = labelButtonList.get(i).getHeight();
g.drawLine(width, 0, width, height);
}
width += labelButtonList.get(labelButtonList.size() - 1).getWidth() + 1;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.drawRoundRect(0, 0, width, getHeight() - 1, UIConstants.BUTTON_GROUP_ARC, UIConstants.BUTTON_GROUP_ARC);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
}
/**
* main
*

15
designer-base/src/main/java/com/fr/design/gui/ibutton/UITabGroup.java

@ -1,7 +1,6 @@
package com.fr.design.gui.ibutton;
import javax.swing.*;
import javax.swing.border.Border;
import java.awt.*;
public class UITabGroup extends UIButtonGroup<Integer> {
@ -9,8 +8,6 @@ public class UITabGroup extends UIButtonGroup<Integer> {
private boolean isDrawLine = true;
private static final int BUTTON_NUMBER = 5;
private static final int SEVEN_NUMBER = 7;
private static final int ORIGINAL_WIDTH = 10;
private static final int GAP = 11;
/**
* 标签页改变
@ -18,7 +15,7 @@ public class UITabGroup extends UIButtonGroup<Integer> {
* @param index 序号
*/
public void tabChanged(int index) {
return;
}
public UITabGroup(Icon[] iconArray) {
@ -38,7 +35,7 @@ public class UITabGroup extends UIButtonGroup<Integer> {
} else if (number == BUTTON_NUMBER || number == SEVEN_NUMBER) {
return new FiveButtonLayout(2);
} else {
return new GridLayout(2, 3, 1, 1);
return new GridLayout(2, 3, 0, 0);
}
}
@ -54,14 +51,6 @@ public class UITabGroup extends UIButtonGroup<Integer> {
this.isDrawLine = isDrawLine;
}
@Override
protected Border getGroupBorder() {
if (!isDrawLine) {
return BorderFactory.createEmptyBorder(0, 0, 0, 0);
}
return BorderFactory.createEmptyBorder(1, GAP, 1, GAP);
}
@Override
public void setSelectedIndex(int newSelectedIndex, boolean fireChanged) {
super.setSelectedIndex(newSelectedIndex, false);

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

@ -1,7 +1,7 @@
package com.fr.design.mainframe;
import com.fine.theme.icon.LazyIcon;
import com.fine.theme.light.ui.PropertiesItemUI;
import com.fine.theme.light.ui.RectangleButtonUI;
import com.formdev.flatlaf.FlatDarkLaf;
import com.formdev.flatlaf.ui.FlatLineBorder;
import com.fr.base.FRContext;
@ -1004,7 +1004,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
};
button.setDisabledIcon(new LazyIcon(btnIconName + ICON_SUFFIX_DISABLED));
button.set4LargeToolbarButton();
button.setUI(new PropertiesItemUI(false));
button.setUI(new RectangleButtonUI(false));
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

3
designer-base/src/main/java/com/fr/design/mainframe/theme/edit/cell/CellStyleEditPane.java

@ -4,10 +4,8 @@ import com.fr.base.CellBorderStyle;
import com.fr.base.Style;
import com.fr.base.theme.settings.ThemedCellStyle;
import com.fr.design.cell.CellRectangleStylePreviewPane;
import com.fr.design.constants.UIConstants;
import com.fr.design.dialog.AttrScrollPane;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.BasicScrollPane;
import com.fr.design.dialog.MultiTabPane;
import com.fr.design.gui.frpane.AbstractAttrNoScrollPane;
import com.fr.design.gui.frpane.AttributeChangeListener;
@ -46,7 +44,6 @@ public class CellStyleEditPane extends MultiTabPane<ThemedCellStyle> {
super();
tabPane.setOneLineTab(true);
tabPane.setDrawLine(false);
tabPane.setBorder(BorderFactory.createLineBorder(UIConstants.SHADOW_GREY));
tabPane.setLayout(new GridLayout(1, 3, 0, 0));
}

357
designer-base/src/main/java/com/fr/design/style/AbstractSelectBox.java

@ -1,29 +1,24 @@
package com.fr.design.style;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ibutton.UIButtonUI;
import com.fine.theme.light.ui.FineRoundBorder;
import com.formdev.flatlaf.ui.FlatArrowButton;
import com.fr.design.event.HoverAware;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.style.background.BackgroundJComponent;
import com.fr.design.utils.gui.GUIPaintUtils;
import com.fr.stable.Constants;
import javax.swing.AbstractButton;
import javax.swing.JPanel;
import javax.swing.JWindow;
import javax.swing.border.AbstractBorder;
import javax.swing.JButton;
import javax.swing.UIManager;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;
import javax.swing.plaf.ButtonUI;
import javax.swing.SwingConstants;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
@ -33,175 +28,171 @@ import java.awt.event.MouseListener;
* @version 创建时间2011-10-31 下午03:28:31 类说明: 抽象出来的弹出box. 可以弹出颜色选择, 图案选择, 纹理选择.
* 主要是 弹出界面的不同
*/
public abstract class AbstractSelectBox<T> extends AbstractPopBox implements MouseListener {
private static final long serialVersionUID = 2355250206956896774L;
private UIButton triggleButton;
protected void initBox(int preWidth) {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
displayComponent = new BackgroundJComponent();
displayComponent.setEmptyBackground();
triggleButton = new UIButton(UIConstants.ARROW_DOWN_ICON) {
public boolean shouldResponseChangeListener() {
return false;
}
@Override
public ButtonUI getUI() {
return new UIButtonUI() {
@Override
protected boolean isPressed(AbstractButton b) {
return model.isArmed() && model.isPressed();
}
@Override
protected void doExtraPainting(UIButton b, Graphics2D g2d, int w, int h, String selectedRoles) {
if (isPressed(b) && b.isPressedPainted()) {
GUIPaintUtils.fillPressed(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), UIConstants.COMBOBOX_BTN_PRESS);
} else if (isRollOver(b)) {
GUIPaintUtils.fillRollOver(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted(), UIConstants.COMBOBOX_BTN_ROLLOVER);
} else if (b.isNormalPainted()) {
GUIPaintUtils.fillNormal(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted(), UIConstants.COMBOBOX_BTN_NORMAL);
}
}
};
}
};
triggleButton.setPreferredSize(new Dimension(20, 20));
triggleButton.setRoundBorder(true, Constants.LEFT);
JPanel displayPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
displayPane.add(displayComponent, BorderLayout.CENTER);
displayComponent.setPreferredSize(new Dimension(preWidth, displayPane.getPreferredSize().height));
displayComponent.addMouseListener(mouseListener);
triggleButton.addMouseListener(mouseListener);
displayComponent.addMouseListener(this);
triggleButton.addMouseListener(this);
this.add(displayPane, BorderLayout.CENTER);
this.add(triggleButton, BorderLayout.EAST);
this.addAncestorListener(new AncestorListener() {
public void ancestorAdded(AncestorEvent event) {
}
public void ancestorRemoved(AncestorEvent evt) {
hidePopupMenu();
}
public void ancestorMoved(AncestorEvent event) {
hidePopupMenu();
}
});
displayComponent.addMouseListener(new MouseAdapter() {
@Override
public void mouseExited(MouseEvent e) {
if (!isPopupVisible()) {
//如果弹出框==null 或者 弹出框不可见 直接return
return;
}
Point popMenuP = getControlWindow().getLocation();
Point displayComponentP = displayComponent.getLocationOnScreen();
if (popMenuP.getX() < displayComponentP.getX() - 1) {
//如果 弹出框横向超出屏幕 往左调整了 和displayComponent横向错开 就不处理了
return;
}
Rectangle rectangle = displayComponent.getBounds();
boolean bottomPopAndExitTop = displayComponentP.getY() < popMenuP.getY() && e.getY() <= rectangle.y;
boolean topPopAndExitBottom = displayComponentP.getY() > popMenuP.getY() && e.getY() >= rectangle.y + rectangle.getHeight();
boolean exitLeftOrRight = rectangle.x > e.getX() || rectangle.x + rectangle.getWidth() < e.getX();
if (bottomPopAndExitTop || topPopAndExitBottom || exitLeftOrRight) {
//弹出框在displayComponent下面 且 鼠标是从displayComponent上面离开的,隐藏弹出界面。
//弹出框在displayComponent上面 且 鼠标是从displayComponent下面离开的,隐藏弹出界面。
//鼠标从displayComponent左边 或者 右边 离开,隐藏弹出界面。
hidePopupMenu();
}
}
});
}
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
displayComponent.setEnabled(enabled);
triggleButton.setEnabled(enabled);
}
@Override
public JPanel initWindowPane(double preWidth) {
// TODO Auto-generated method stub
return null;
}
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D)g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setColor(UIConstants.POP_DIALOG_BORDER);
g2d.drawRoundRect(0, 0, this.getWidth() - 1 , this.getHeight() - 1, 4, 4);
triggleButton.setSelected(isPopupVisible());
}
public void addDemoPaneMouseListener(MouseListener l) {
displayComponent.addMouseListener(l);
triggleButton.addMouseListener(l);
}
public abstract T getSelectObject();
public abstract void setSelectObject(T t);
private class TriggleLineBorder extends AbstractBorder {
private static final long serialVersionUID = 1065857667981063530L;
protected Insets borderInsets = new Insets(0, 0, 0, 0);
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
g.translate(x, y);
g.setColor(UIConstants.POP_DIALOG_BORDER);
g.translate(-x, -y);
}
public Insets getBorderInsets(Component c) {
return borderInsets;
}
}
@Override
public void mouseEntered(MouseEvent e) {
triggleButton.getModel().setRollover(true);
}
@Override
public void mouseExited(MouseEvent e) {
triggleButton.getModel().setRollover(false);
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
public abstract class AbstractSelectBox<T> extends AbstractPopBox implements MouseListener, HoverAware {
private static final long serialVersionUID = 2355250206956896774L;
private boolean rollOver;
private JButton triggerButton;
private final int boxSize = UIManager.getInt("ComboBox.comboHeight");
private final int buttonOffsetX = UIManager.getInt("ComboBox.selectBox.button.offsetX");
protected void initBox(int preWidth) {
// 初始化面板布局
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(new FineRoundBorder());
this.setPreferredSize(new Dimension(getWidth(), boxSize));
// 初始化组件
displayComponent = new BackgroundJComponent();
triggerButton = new SelectBoxButton();
// 初始化组件布局
JPanel displayPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
displayPane.setBorder(null);
displayPane.add(displayComponent, BorderLayout.CENTER);
displayComponent.setPreferredSize(new Dimension(preWidth, displayPane.getPreferredSize().height));
// 添加事件监听
displayComponent.addMouseListener(mouseListener);
triggerButton.addMouseListener(mouseListener);
displayComponent.addMouseListener(this);
triggerButton.addMouseListener(this);
this.add(displayPane, BorderLayout.CENTER);
this.add(triggerButton, BorderLayout.EAST);
this.addAncestorListener(new AncestorListener() {
public void ancestorAdded(AncestorEvent event) {
}
public void ancestorRemoved(AncestorEvent evt) {
hidePopupMenu();
}
public void ancestorMoved(AncestorEvent event) {
hidePopupMenu();
}
});
displayComponent.addMouseListener(new MouseAdapter() {
@Override
public void mouseExited(MouseEvent e) {
if (!isPopupVisible()) {
//如果弹出框==null 或者 弹出框不可见 直接return
return;
}
Point popMenuP = getControlWindow().getLocation();
Point displayComponentP = displayComponent.getLocationOnScreen();
if (popMenuP.getX() < displayComponentP.getX() - 1) {
//如果 弹出框横向超出屏幕 往左调整了 和displayComponent横向错开 就不处理了
return;
}
Rectangle rectangle = displayComponent.getBounds();
boolean bottomPopAndExitTop = displayComponentP.getY() < popMenuP.getY() && e.getY() <= rectangle.y;
boolean topPopAndExitBottom = displayComponentP.getY() > popMenuP.getY() && e.getY() >= rectangle.y + rectangle.getHeight();
boolean exitLeftOrRight = rectangle.x > e.getX() || rectangle.x + rectangle.getWidth() < e.getX();
if (bottomPopAndExitTop || topPopAndExitBottom || exitLeftOrRight) {
//弹出框在displayComponent下面 且 鼠标是从displayComponent上面离开的,隐藏弹出界面。
//弹出框在displayComponent上面 且 鼠标是从displayComponent下面离开的,隐藏弹出界面。
//鼠标从displayComponent左边 或者 右边 离开,隐藏弹出界面。
hidePopupMenu();
}
}
});
}
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
displayComponent.setEnabled(enabled);
triggerButton.setEnabled(enabled);
}
@Override
public JPanel initWindowPane(double preWidth) {
return null;
}
@Override
public void paint(Graphics g) {
super.paint(g);
triggerButton.setSelected(isPopupVisible());
}
/**
* 应用于SelectBox的右侧按钮
*/
protected class SelectBoxButton extends FlatArrowButton {
protected SelectBoxButton() {
this(SwingConstants.SOUTH,
UIManager.getString("Component.arrowType"),
UIManager.getColor("ComboBox.buttonArrowColor"),
UIManager.getColor("ComboBox.buttonDisabledArrowColor"),
null, null, null, null);
}
protected SelectBoxButton(int direction, String type, Color foreground, Color disabledForeground,
Color hoverForeground, Color hoverBackground, Color pressedForeground, Color pressedBackground) {
super(direction, type, foreground, disabledForeground,
hoverForeground, hoverBackground, pressedForeground, pressedBackground);
}
@Override
protected void paintArrow(Graphics2D g) {
if (isPopupVisible()) {
setDirection(SwingConstants.NORTH);
} else {
setDirection(SwingConstants.SOUTH);
}
super.paintArrow(g);
}
@Override
public Dimension getPreferredSize() {
return new Dimension(boxSize, boxSize);
}
@Override
public float getXOffset() {
return buttonOffsetX;
}
}
public abstract T getSelectObject();
public abstract void setSelectObject(T t);
@Override
public void mouseEntered(MouseEvent e) {
rollOver = true;
repaint();
}
@Override
public void mouseExited(MouseEvent e) {
rollOver = false;
repaint();
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public boolean isHovered() {
return rollOver;
}
}

5
designer-base/src/main/java/com/fr/design/style/background/BackgroundJComponent.java

@ -1,12 +1,9 @@
package com.fr.design.style.background;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.geom.Rectangle2D;
import javax.swing.JComponent;
import com.fr.design.border.UIRoundedBorder;
import com.fr.general.Background;
/**
@ -20,7 +17,6 @@ public class BackgroundJComponent extends JComponent {
protected Background background ;
public BackgroundJComponent() {
this.setBorder(new UIRoundedBorder(Color.decode("#999999"), 2, 2));
}
public BackgroundJComponent(Background background) {
@ -37,7 +33,6 @@ public class BackgroundJComponent extends JComponent {
}
public void setEmptyBackground() {
this.background = null;
}

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

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon_属性_权限编辑_normal</title>
<g id="icon_属性_权限编辑_normal" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M9,0 C10.4036177,1.03323193 12.1509417,1.63103242 14.0038909,1.63103242 C14.3296318,1.63103242 14.7913276,1.56301051 15.3889782,1.4269667 C15.6582471,1.36562643 15.9262313,1.53422973 15.9875275,1.80350869 C15.9958164,1.83992242 16,1.87715012 16,1.91449535 L16,9.08215842 C16,9.77619285 15.7342394,10.6415117 15.2314445,11.584522 C14.7050914,12.5717347 13.9159202,13.645573 12.9492231,14.6900054 C12.1057303,15.6013435 11.1135511,16.5015748 10.1554738,17.2249214 C9.74266787,17.5365673 9.39859373,17.7693418 9.12860813,17.9378543 C8.99842505,18.0191043 8.83359313,18.0208462 8.70184453,17.9421247 C8.43538605,17.7829022 8.09483905,17.5590619 7.68650327,17.2536904 C6.75785014,16.5592065 5.78988933,15.6718988 4.96093887,14.7552039 C4.02753262,13.7230208 3.26367368,12.6506248 2.75195723,11.6539535 C2.26002664,10.695847 2,9.80651646 2,9.0821584 L2,1.91446377 C2,1.63833384 2.22387007,1.4144863 2.5,1.4144863 C2.53734105,1.4144863 2.57456457,1.41866951 2.61097419,1.42695767 C3.20863679,1.56300751 3.67034214,1.63103242 3.99609024,1.63103242 C5.84903947,1.63103242 7.59636348,1.03323193 9,0 Z M9,2.36417668 C7.4854345,3.18748636 5.7676434,3.63037957 4,3.6310317 L4,9.0821584 C4,9.45104665 4.17312121,10.0431453 4.5311549,10.7404681 C4.95854929,11.5729051 5.62212701,12.5045187 6.44436469,13.4137689 C7.1880488,14.236172 8.06071333,15.0361293 8.88429196,15.6520343 C8.91798794,15.6531625 8.93413837,15.641016 8.95037407,15.628759 C9.81328106,14.9772657 10.7176871,14.1566565 11.4814426,13.3314693 C12.3377436,12.4063102 13.0263882,11.4692542 13.4666268,10.6435552 C13.8275377,9.96665349 14,9.40512489 14,9.08215841 L14,3.63103171 C12.23235,3.63038272 10.514552,3.18748928 9,2.36417668 Z M9,5 C10.1045695,5 11,5.8954305 11,7 C11,7.7398375 10.5982846,8.38584934 10.0010775,8.73181186 L10,11 C10,11.5522847 9.55228475,12 9,12 C8.44771525,12 8,11.5522847 8,11 L7.99992752,8.73239368 C7.40216612,8.38657394 7,7.74025244 7,7 C7,5.8954305 7.8954305,5 9,5 Z" id="Combined-Shape" fill="#62646E" fill-rule="nonzero"></path>
</g>
<svg width="28" height="31" viewBox="0 0 28 31" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Group 626415">
<path id="Subtract" fill-rule="evenodd" clip-rule="evenodd" d="M21.9884 10.6897V17.4853C21.9884 23.3914 17.5164 28.1793 12 28.1793C6.48356 28.1793 2.0116 23.3914 2.0116 17.4853V4.81144C2.14079 4.81366 2.27027 4.81477 2.40005 4.81477C5.88766 4.81477 9.17519 4.01163 12.0001 2.59058C13.5498 3.37015 15.2387 3.96376 17.0236 4.34083L18.8833 2.48106C16.5625 2.17028 14.4013 1.4679 12.5029 0.458946C12.1888 0.292005 11.8116 0.292005 11.4974 0.458945C8.87564 1.85237 5.75244 2.66105 2.40005 2.66105C2.27022 2.66105 2.14073 2.65984 2.0116 2.65743C1.71243 2.65184 1.41519 2.63981 1.12007 2.62149C0.522564 2.58442 0 3.04699 0 3.64565V17.4853C0 24.5809 5.37258 30.333 12 30.333C18.6274 30.333 24 24.5809 24 17.4853V8.67809L21.9884 10.6897Z" fill="#0A1C38" fill-opacity="0.9"/>
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M10.2676 14.0208L21.8512 2.43717L24.6796 5.26559L13.0961 16.8491L13.0964 16.8494H10.768C10.4919 16.8494 10.268 16.6256 10.268 16.3494L10.268 14.0213L10.2676 14.0208ZM26.0939 3.85138L23.2654 1.02295L23.7026 0.585787C24.4836 -0.195262 25.75 -0.195262 26.531 0.585787C27.3121 1.36684 27.3121 2.63317 26.531 3.41421L26.0939 3.85138Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

14
designer-base/src/main/resources/com/fine/theme/icon/propertiestab/authorityedit_disabled.svg

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon_属性_权限编辑_disabled</title>
<g id="icon_属性_权限编辑_disabled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.3">
<path d="M9,5 C10.1045695,5 11,5.8954305 11,7 C11,7.7398375 10.5982846,8.38584934 10.0010775,8.73181186 L10,11 C10,11.5522847 9.55228475,12 9,12 C8.44771525,12 8,11.5522847 8,11 L7.99992752,8.73239368 C7.40216612,8.38657394 7,7.74025244 7,7 C7,5.8954305 7.8954305,5 9,5 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
<path d="M9,2.36417668 C7.4854345,3.18748636 5.7676434,3.63037957 4,3.6310317 L4,9.0821584 C4,9.45104665 4.17312121,10.0431453 4.5311549,10.7404681 C4.95854929,11.5729051 5.62212701,12.5045187 6.44436469,13.4137689 C7.1880488,14.236172 8.06071333,15.0361293 8.88429196,15.6520343 C8.91798794,15.6531625 8.93413837,15.641016 8.95037407,15.628759 C9.81328106,14.9772657 10.7176871,14.1566565 11.4814426,13.3314693 C12.3377436,12.4063102 13.0263882,11.4692542 13.4666268,10.6435552 C13.8275377,9.96665349 14,9.40512489 14,9.08215841 L14,3.63103171 C12.23235,3.63038272 10.514552,3.18748928 9,2.36417668 Z M14.0038909,1.63103242 C14.3296318,1.63103242 14.7913276,1.56301051 15.3889782,1.4269667 C15.6582471,1.36562643 15.9262313,1.53422973 15.9875275,1.80350869 C15.9958164,1.83992242 16,1.87715012 16,1.91449535 L16,9.08215842 C16,9.77619285 15.7342394,10.6415117 15.2314445,11.584522 C14.7050914,12.5717347 13.9159202,13.645573 12.9492231,14.6900054 C12.1057303,15.6013435 11.1135511,16.5015748 10.1554738,17.2249214 C9.74266787,17.5365673 9.39859373,17.7693418 9.12860813,17.9378543 C8.99842505,18.0191043 8.83359313,18.0208462 8.70184453,17.9421247 C8.43538605,17.7829022 8.09483905,17.5590619 7.68650327,17.2536904 C6.75785014,16.5592065 5.78988933,15.6718988 4.96093887,14.7552039 C4.02753262,13.7230208 3.26367368,12.6506248 2.75195723,11.6539535 C2.26002664,10.695847 2,9.80651646 2,9.0821584 L2,1.91446377 C2,1.63833384 2.22387007,1.4144863 2.5,1.4144863 C2.53734105,1.4144863 2.57456457,1.41866951 2.61097419,1.42695767 C3.20863679,1.56300751 3.67034214,1.63103242 3.99609024,1.63103242 C5.84903947,1.63103242 7.59636348,1.03323193 9,0 C10.4036177,1.03323193 12.1509417,1.63103242 14.0038909,1.63103242 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
<svg width="32" height="33" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#230;&#157;&#131;&#233;&#153;&#144;&#231;&#188;&#150;&#232;&#190;&#145;">
<g id="Group 626415">
<path id="Subtract" fill-rule="evenodd" clip-rule="evenodd" d="M24.9884 12.1897V18.9853C24.9884 24.8914 20.5164 29.6793 15 29.6793C9.48356 29.6793 5.0116 24.8914 5.0116 18.9853V6.31144C5.14079 6.31366 5.27027 6.31477 5.40005 6.31477C8.88766 6.31477 12.1752 5.51163 15.0001 4.09058C16.5498 4.87015 18.2387 5.46376 20.0236 5.84083L21.8833 3.98106C19.5625 3.67028 17.4013 2.9679 15.5029 1.95895C15.1888 1.79201 14.8116 1.79201 14.4974 1.95895C11.8756 3.35237 8.75244 4.16105 5.40005 4.16105C5.27022 4.16105 5.14073 4.15984 5.0116 4.15743C4.71243 4.15184 4.41519 4.13981 4.12007 4.12149C3.52256 4.08442 3 4.54699 3 5.14565V18.9853C3 26.0809 8.37258 31.833 15 31.833C21.6274 31.833 27 26.0809 27 18.9853V10.1781L24.9884 12.1897Z" fill="#0A1C38" fill-opacity="0.29"/>
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M13.2676 15.5208L24.8512 3.93717L27.6796 6.76559L16.0961 18.3491L16.0964 18.3494H13.768C13.4919 18.3494 13.268 18.1256 13.268 17.8494L13.268 15.5213L13.2676 15.5208ZM29.0939 5.35138L26.2654 2.52295L26.7026 2.08579C27.4836 1.30474 28.75 1.30474 29.531 2.08579C30.3121 2.86684 30.3121 4.13317 29.531 4.91421L29.0939 5.35138Z" fill="#0A1C38" fill-opacity="0.29"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

14
designer-base/src/main/resources/com/fine/theme/icon/propertiestab/authorityedit_selected.svg

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon_属性_权限编辑_selected</title>
<g id="icon_属性_权限编辑_selected" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M9,0 C10.4036177,1.03323193 12.1509417,1.63103242 14.0038909,1.63103242 C14.3296318,1.63103242 14.7913276,1.56301051 15.3889782,1.4269667 C15.6582471,1.36562643 15.9262313,1.53422973 15.9875275,1.80350869 C15.9958164,1.83992242 16,1.87715012 16,1.91449535 L16,9.08215842 C16,9.77619285 15.7342394,10.6415117 15.2314445,11.584522 C14.7050914,12.5717347 13.9159202,13.645573 12.9492231,14.6900054 C12.1057303,15.6013435 11.1135511,16.5015748 10.1554738,17.2249214 C9.74266787,17.5365673 9.39859373,17.7693418 9.12860813,17.9378543 C8.99842505,18.0191043 8.83359313,18.0208462 8.70184453,17.9421247 C8.43538605,17.7829022 8.09483905,17.5590619 7.68650327,17.2536904 C6.75785014,16.5592065 5.78988933,15.6718988 4.96093887,14.7552039 C4.02753262,13.7230208 3.26367368,12.6506248 2.75195723,11.6539535 C2.26002664,10.695847 2,9.80651646 2,9.0821584 L2,1.91446377 C2.00002254,1.63833384 2.22387007,1.4144863 2.5,1.4144863 C2.53734105,1.4144863 2.57456457,1.41866951 2.61097419,1.42695767 C3.20863679,1.56300751 3.67034214,1.63103242 3.99609024,1.63103242 C5.84903947,1.63103242 7.59636348,1.03323193 9,0 Z M9,5 C7.8954305,5 7,5.8954305 7,7 C7,7.7398375 7.40171539,8.38584934 7.9989225,8.73181186 L8,11 C8,11.5522847 8.44771525,12 9,12 C9.55228475,12 10,11.5522847 10,11 L10,11 L10.0000725,8.73239368 C10.5978339,8.38657394 11,7.74025244 11,7 C11,5.8954305 10.1045695,5 9,5 Z" id="Combined-Shape" fill="#419BF9" fill-rule="nonzero"></path>
</g>
<svg width="32" height="33" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#230;&#157;&#131;&#233;&#153;&#144;&#231;&#188;&#150;&#232;&#190;&#145;">
<g id="Group 626415">
<path id="Subtract" fill-rule="evenodd" clip-rule="evenodd" d="M20.5665 5.30105L11.5036 14.364V17.5208C11.5036 18.9015 12.6229 20.0208 14.0036 20.0208H17.1605L26 11.1813V18.8492C26 25.2031 21.0751 30.3539 15 30.3539C8.92487 30.3539 4 25.2031 4 18.8492V6.57084C4 5.97326 4.5208 5.51116 5.11745 5.5445C5.35814 5.55794 5.60036 5.56694 5.84397 5.57139C5.96234 5.57355 6.08103 5.57464 6.20004 5.57464C9.25893 5.57464 12.1096 4.85714 14.5061 3.61992C14.8158 3.46003 15.1845 3.46003 15.4942 3.61992C17.0217 4.40852 18.7337 4.98597 20.5665 5.30105Z" fill="#5493F2"/>
<path id="Subtract_2" fill-rule="evenodd" clip-rule="evenodd" d="M24.9884 12.1897V18.9853C24.9884 24.8914 20.5164 29.6793 15 29.6793C9.48356 29.6793 5.0116 24.8914 5.0116 18.9853V6.31144C5.14079 6.31366 5.27027 6.31477 5.40005 6.31477C8.88766 6.31477 12.1752 5.51163 15.0001 4.09058C16.5498 4.87015 18.2387 5.46376 20.0236 5.84083L21.8833 3.98106C19.5625 3.67028 17.4013 2.9679 15.5029 1.95895C15.1888 1.79201 14.8116 1.79201 14.4974 1.95895C11.8756 3.35237 8.75244 4.16105 5.40005 4.16105C5.27022 4.16105 5.14073 4.15984 5.0116 4.15743C4.71243 4.15184 4.41519 4.13981 4.12007 4.12149C3.52256 4.08442 3 4.54699 3 5.14565V18.9853C3 26.0809 8.37258 31.833 15 31.833C21.6274 31.833 27 26.0809 27 18.9853V10.1781L24.9884 12.1897Z" fill="#105DD1"/>
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M13.2676 15.5208L24.8512 3.93717L27.6796 6.76559L16.0961 18.3491L16.0964 18.3494H13.768C13.4919 18.3494 13.268 18.1256 13.268 17.8494L13.268 15.5213L13.2676 15.5208ZM29.0939 5.35138L26.2654 2.52295L26.7026 2.08579C27.4836 1.30474 28.75 1.30474 29.531 2.08579C30.3121 2.86684 30.3121 4.13317 29.531 4.91421L29.0939 5.35138Z" fill="#105DD1"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

15
designer-base/src/main/resources/com/fine/theme/icon/propertiestab/configuredroles.svg

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon_属性_配置角色_normal</title>
<g id="icon_属性_配置角色_normal" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M4.01632125,15.58159 C5.15138437,15.8653558 6.77993827,16 8.7625,16 C10.754965,16 12.3653254,15.8634211 13.4725502,15.5731777 C13.9124868,15.4578545 14.231192,15.3277744 14.4125,15.2119576 C14.4125,15.1652894 14.4125,15.1548971 14.4125,15.13125 L14.4125,14.85 C14.4125,14.9557804 14.4200946,14.975694 14.3765447,14.9152512 C14.2506619,14.7405383 14.0239801,14.5217976 13.7118083,14.2899231 C13.0424081,13.792707 12.0970381,13.3197127 11.0993043,12.9850097 C9.49607329,12.6883775 8.50959183,10.7841703 9.20263379,8.70504447 L9.35193628,8.25713697 L9.68578682,7.92328644 C10.4105557,7.19851756 10.925,5.80034921 10.925,4.3875 C10.925,2.77389367 10.1213412,2 8.7625,2 C7.40365881,2 6.6,2.77389367 6.6,4.3875 C6.6,5.80409932 7.11195135,7.20102415 7.83421364,7.92328644 L8.12449186,8.21356466 L8.27695346,8.59471865 C8.89523505,10.1404226 8.35007114,11.5173382 7.22038505,12.3604538 C7.04790989,12.4891767 6.87469271,12.5964931 6.6948119,12.6928413 C6.59686449,12.7453041 6.49795664,12.7935942 6.45442713,12.8138544 L6.32729717,12.8774194 L6.19245547,12.9223666 C5.20751555,13.2506799 4.28915526,13.7335539 3.65828876,14.2481897 C3.38090155,14.4744712 3.18081392,14.6895331 3.06721218,14.8679092 C3.00991736,14.9578729 3,14.9878135 3,14.9625 C3,15.1239178 3,15.1763444 3,15.2063588 C3.20221523,15.3301561 3.54752216,15.4643902 4.01632125,15.58159 Z M11.1000004,9.3375 C10.6500004,10.6875 11.4275,11.025 11.54,11.025 C14.015,11.8125 16.4125,13.3875 16.4125,14.85 L16.4125,15.4125 C16.4125,17.55 12.475,18 8.7625,18 C5.05,18 1.1125,17.55 1,15.525 L1,14.9625 C1,13.3875 3.19749994,11.8125 5.55999994,11.025 C5.78499994,10.9125 6.87000008,10.4625 6.42000008,9.3375 C5.29500008,8.2125 4.6,6.3 4.6,4.3875 C4.6,1.4625 6.5125,0 8.7625,0 C11.0125,0 12.925,1.4625 12.925,4.3875 C12.925,6.3 12.2250004,8.2125 11.1000004,9.3375 Z" id="Combined-Shape" fill="#62646E" fill-rule="nonzero"></path>
</g>
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_5778_111924)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.7552 8.34534C17.7552 11.304 15.3568 13.7025 12.3981 13.7025C9.43941 13.7025 7.04094 11.304 7.04094 8.34534C7.04094 5.38667 9.43941 2.98819 12.3981 2.98819C15.3568 2.98819 17.7552 5.38667 17.7552 8.34534ZM16.6102 14.5517C18.5947 13.2023 19.8981 10.926 19.8981 8.34534C19.8981 4.2032 16.5402 0.845337 12.3981 0.845337C8.25595 0.845337 4.89808 4.2032 4.89808 8.34534C4.89808 11.1059 6.38953 13.5181 8.61059 14.8201C4.72415 16.3178 1.56245 19.7706 0.412895 24.38C0.195021 25.2536 0.0590757 26.1301 0 27H1.99127C2.04917 26.3153 2.16246 25.6245 2.33484 24.9333C3.93893 18.5014 9.95811 14.848 15.6744 16.3621C15.8252 16.2428 15.9857 16.1337 16.1551 16.0359L17.8988 15.0292C17.4816 14.848 17.0518 14.6883 16.6102 14.5517ZM23.7946 16.3095L18.0004 19.6548V26.3454L23.7946 29.6907L29.5889 26.3454V19.6548L23.7946 16.3095ZM24.7946 14.5774C24.1758 14.2201 23.4134 14.2201 22.7946 14.5774L17.0004 17.9227C16.3816 18.28 16.0004 18.9402 16.0004 19.6548V26.3454C16.0004 27.0599 16.3816 27.7201 17.0004 28.0774L22.7946 31.4227C23.4134 31.78 24.1758 31.78 24.7946 31.4227L30.5889 28.0774C31.2077 27.7201 31.5889 27.0599 31.5889 26.3454L31.5889 19.6548C31.5889 18.9402 31.2077 18.28 30.5889 17.9227L24.7946 14.5774ZM23 23.0413C23 23.5936 23.4477 24.0413 24 24.0413C24.5523 24.0413 25 23.5936 25 23.0413C25 22.489 24.5523 22.0413 24 22.0413C23.4477 22.0413 23 22.489 23 23.0413ZM21 23.0413C21 24.6981 22.3431 26.0413 24 26.0413C25.6569 26.0413 27 24.6981 27 23.0413C27 21.3844 25.6569 20.0413 24 20.0413C22.3431 20.0413 21 21.3844 21 23.0413Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
<defs>
<clipPath id="clip0_5778_111924">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

15
designer-base/src/main/resources/com/fine/theme/icon/propertiestab/configuredroles_disabled.svg

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon_属性_配置角色_disabled</title>
<g id="icon_属性_配置角色_disabled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.3">
<path d="M4.01632125,15.58159 C5.15138437,15.8653558 6.77993827,16 8.7625,16 C10.754965,16 12.3653254,15.8634211 13.4725502,15.5731777 C13.9124868,15.4578545 14.231192,15.3277744 14.4125,15.2119576 C14.4125,15.1652894 14.4125,15.1548971 14.4125,15.13125 L14.4125,14.85 C14.4125,14.9557804 14.4200946,14.975694 14.3765447,14.9152512 C14.2506619,14.7405383 14.0239801,14.5217976 13.7118083,14.2899231 C13.0424081,13.792707 12.0970381,13.3197127 11.0993043,12.9850097 C9.49607329,12.6883775 8.50959183,10.7841703 9.20263379,8.70504447 L9.35193628,8.25713697 L9.68578682,7.92328644 C10.4105557,7.19851756 10.925,5.80034921 10.925,4.3875 C10.925,2.77389367 10.1213412,2 8.7625,2 C7.40365881,2 6.6,2.77389367 6.6,4.3875 C6.6,5.80409932 7.11195135,7.20102415 7.83421364,7.92328644 L8.12449186,8.21356466 L8.27695346,8.59471865 C8.89523505,10.1404226 8.35007114,11.5173382 7.22038505,12.3604538 C7.04790989,12.4891767 6.87469271,12.5964931 6.6948119,12.6928413 C6.59686449,12.7453041 6.49795664,12.7935942 6.45442713,12.8138544 L6.32729717,12.8774194 L6.19245547,12.9223666 C5.20751555,13.2506799 4.28915526,13.7335539 3.65828876,14.2481897 C3.38090155,14.4744712 3.18081392,14.6895331 3.06721218,14.8679092 C3.00991736,14.9578729 3,14.9878135 3,14.9625 C3,15.1239178 3,15.1763444 3,15.2063588 C3.20221523,15.3301561 3.54752216,15.4643902 4.01632125,15.58159 Z M11.1000004,9.3375 C10.6500004,10.6875 11.4275,11.025 11.54,11.025 C14.015,11.8125 16.4125,13.3875 16.4125,14.85 L16.4125,15.4125 C16.4125,17.55 12.475,18 8.7625,18 C5.05,18 1.1125,17.55 1,15.525 L1,14.9625 C1,13.3875 3.19749994,11.8125 5.55999994,11.025 C5.78499994,10.9125 6.87000008,10.4625 6.42000008,9.3375 C5.29500008,8.2125 4.6,6.3 4.6,4.3875 C4.6,1.4625 6.5125,0 8.7625,0 C11.0125,0 12.925,1.4625 12.925,4.3875 C12.925,6.3 12.2250004,8.2125 11.1000004,9.3375 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_6337_10996)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.7552 8.34534C17.7552 11.304 15.3568 13.7025 12.3981 13.7025C9.43941 13.7025 7.04094 11.304 7.04094 8.34534C7.04094 5.38667 9.43941 2.98819 12.3981 2.98819C15.3568 2.98819 17.7552 5.38667 17.7552 8.34534ZM16.6102 14.5517C18.5947 13.2023 19.8981 10.926 19.8981 8.34534C19.8981 4.2032 16.5402 0.845337 12.3981 0.845337C8.25595 0.845337 4.89808 4.2032 4.89808 8.34534C4.89808 11.1059 6.38953 13.5181 8.61059 14.8201C4.72415 16.3178 1.56245 19.7706 0.412895 24.38C0.195021 25.2536 0.0590757 26.1301 0 27H1.99127C2.04917 26.3153 2.16246 25.6245 2.33484 24.9333C3.93893 18.5014 9.95811 14.848 15.6744 16.3621C15.8252 16.2428 15.9857 16.1337 16.1551 16.0359L17.8988 15.0292C17.4816 14.848 17.0518 14.6883 16.6102 14.5517ZM23.7946 16.3095L18.0004 19.6548V26.3454L23.7946 29.6907L29.5889 26.3454V19.6548L23.7946 16.3095ZM24.7946 14.5774C24.1758 14.2201 23.4134 14.2201 22.7946 14.5774L17.0004 17.9227C16.3816 18.28 16.0004 18.9402 16.0004 19.6548V26.3454C16.0004 27.0599 16.3816 27.7201 17.0004 28.0774L22.7946 31.4227C23.4134 31.78 24.1758 31.78 24.7946 31.4227L30.5889 28.0774C31.2077 27.7201 31.5889 27.0599 31.5889 26.3454L31.5889 19.6548C31.5889 18.9402 31.2077 18.28 30.5889 17.9227L24.7946 14.5774ZM23 23.0413C23 23.5936 23.4477 24.0413 24 24.0413C24.5523 24.0413 25 23.5936 25 23.0413C25 22.489 24.5523 22.0413 24 22.0413C23.4477 22.0413 23 22.489 23 23.0413ZM21 23.0413C21 24.6981 22.3431 26.0413 24 26.0413C25.6569 26.0413 27 24.6981 27 23.0413C27 21.3844 25.6569 20.0413 24 20.0413C22.3431 20.0413 21 21.3844 21 23.0413Z" fill="#0A1C38" fill-opacity="0.29"/>
</g>
<defs>
<clipPath id="clip0_6337_10996">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

16
designer-base/src/main/resources/com/fine/theme/icon/propertiestab/configuredroles_selected.svg

@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon_属性_配置角色_selected</title>
<g id="icon_属性_配置角色_selected" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M11.1000004,9.3375 C12.2250004,8.2125 12.925,6.3 12.925,4.3875 C12.925,1.4625 11.0125,0 8.7625,0 C6.5125,0 4.6,1.4625 4.6,4.3875 C4.6,6.3 5.29500008,8.2125 6.42000008,9.3375 C6.87000008,10.4625 5.78499994,10.9125 5.55999994,11.025 C3.19749994,11.8125 1,13.3875 1,14.9625 C1,15.4125 1,15.075 1,15.525 C1.1125,17.55 5.05,18 8.7625,18 C12.475,18 16.4125,17.55 16.4125,15.4125 C16.4125,14.9625 16.4125,15.3 16.4125,14.85 C16.4125,13.3875 14.015,11.8125 11.54,11.025 C11.4275,11.025 10.6500004,10.6875 11.1000004,9.3375 Z" id="Combined-Shape" fill="#419BF9" fill-rule="nonzero"></path>
</g>
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_6337_10997)">
<path d="M23.5756 15.2835C23.8831 15.1078 24.2605 15.1078 24.5679 15.2835L30.5679 18.7121C30.8795 18.8901 31.0718 19.2214 31.0718 19.5803V26.4197C31.0718 26.7785 30.8795 27.1099 30.5679 27.2879L24.5679 30.7165C24.2605 30.8921 23.8831 30.8921 23.5756 30.7165L17.5756 27.2879C17.2641 27.1099 17.0718 26.7785 17.0718 26.4197V19.5803C17.0718 19.2214 17.2641 18.8901 17.5756 18.7121L23.5756 15.2835Z" fill="#5493F2"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M17.7552 8.34534C17.7552 11.304 15.3568 13.7025 12.3981 13.7025C9.43941 13.7025 7.04094 11.304 7.04094 8.34534C7.04094 5.38667 9.43941 2.98819 12.3981 2.98819C15.3568 2.98819 17.7552 5.38667 17.7552 8.34534ZM16.6102 14.5517C18.5947 13.2023 19.8981 10.926 19.8981 8.34534C19.8981 4.2032 16.5402 0.845337 12.3981 0.845337C8.25595 0.845337 4.89808 4.2032 4.89808 8.34534C4.89808 11.1059 6.38953 13.5181 8.61059 14.8201C4.72415 16.3178 1.56245 19.7706 0.412895 24.38C0.195021 25.2536 0.0590757 26.1301 0 27H1.99127C2.04917 26.3153 2.16246 25.6245 2.33484 24.9333C3.93893 18.5014 9.95811 14.848 15.6744 16.3621C15.8252 16.2428 15.9857 16.1337 16.1551 16.0359L17.8988 15.0292C17.4816 14.848 17.0518 14.6883 16.6102 14.5517ZM23.7946 16.3095L18.0004 19.6548V26.3454L23.7946 29.6907L29.5889 26.3454V19.6548L23.7946 16.3095ZM24.7946 14.5774C24.1758 14.2201 23.4134 14.2201 22.7946 14.5774L17.0004 17.9227C16.3816 18.28 16.0004 18.9402 16.0004 19.6548V26.3454C16.0004 27.0599 16.3816 27.7201 17.0004 28.0774L22.7946 31.4227C23.4134 31.78 24.1758 31.78 24.7946 31.4227L30.5889 28.0774C31.2077 27.7201 31.5889 27.0599 31.5889 26.3454L31.5889 19.6548C31.5889 18.9402 31.2077 18.28 30.5889 17.9227L24.7946 14.5774ZM23 23.0413C23 23.5936 23.4477 24.0413 24 24.0413C24.5523 24.0413 25 23.5936 25 23.0413C25 22.489 24.5523 22.0413 24 22.0413C23.4477 22.0413 23 22.489 23 23.0413ZM21 23.0413C21 24.6981 22.3431 26.0413 24 26.0413C25.6569 26.0413 27 24.6981 27 23.0413C27 21.3844 25.6569 20.0413 24 20.0413C22.3431 20.0413 21 21.3844 21 23.0413Z" fill="#105DD1"/>
</g>
<defs>
<clipPath id="clip0_6337_10997">
<rect width="32" height="32" fill="white"/>
</clipPath>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 961 B

After

Width:  |  Height:  |  Size: 2.2 KiB

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

@ -0,0 +1,5 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#231;&#179;&#187;&#231;&#187;&#159;&#229;&#155;&#190;&#230;&#160;&#135;">
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M9.6 4.18014V10.5C9.6 10.5552 9.55523 10.6 9.5 10.6H2C1.94477 10.6 1.9 10.5552 1.9 10.5V2C1.9 1.94477 1.94477 1.9 2 1.9H7.19871C7.2243 1.9 7.24891 1.90981 7.26749 1.9274L9.56877 4.10754C9.58871 4.12643 9.6 4.15268 9.6 4.18014ZM1 2C1 1.44772 1.44772 1 2 1H7.19871C7.45458 1 7.70071 1.09808 7.88645 1.27404L10.1877 3.45418C10.3871 3.64303 10.5 3.90554 10.5 4.18014V4.56984H11.6987C11.9546 4.56984 12.2007 4.66791 12.3865 4.84388L14.6877 7.02402C14.8871 7.21286 15 7.47538 15 7.74997V14C15 14.5523 14.5523 15 14 15H6.5C5.94772 15 5.5 14.5523 5.5 14V11.5H2C1.44772 11.5 1 11.0523 1 10.5V2ZM6.4 11.5V14C6.4 14.0553 6.44477 14.1 6.5 14.1H14C14.0552 14.1 14.1 14.0553 14.1 14V7.74997C14.1 7.72251 14.0887 7.69626 14.0688 7.67738L11.7675 5.49724C11.7489 5.47964 11.7243 5.46984 11.6987 5.46984H10.5V10.5C10.5 11.0523 10.0523 11.5 9.5 11.5H6.4Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

5
designer-base/src/main/resources/com/fine/theme/icon/toolbar/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">
<g id="&#229;&#144;&#141;&#231;&#167;&#176;=&#229;&#164;&#141;&#229;&#136;&#182;, &#231;&#166;&#129;&#231;&#148;&#168;=on">
<path id="Union" 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"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

8
designer-base/src/main/resources/com/fine/theme/icon/toolbar/edit.svg

@ -0,0 +1,8 @@
<svg width="13" height="14" viewBox="0 0 13 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#231;&#188;&#150;&#232;&#190;&#145;">
<g id="Union">
<path d="M12.5177 0.351881C12.2145 0.0487212 11.723 0.0487223 11.4198 0.351882L5.22084 6.55087L4.64511 8.22444L6.31868 7.64871L12.5177 1.44972C12.8208 1.14656 12.8208 0.655041 12.5177 0.351881Z" fill="#2576EF"/>
<path d="M1 0.499922H9.08667L8.08667 1.49992H1L1 12.9999H11V4.94487L12 3.94487V12.9999C12 13.5522 11.5523 13.9999 11 13.9999H1C0.447715 13.9999 0 13.5522 0 12.9999V1.49992C0 0.947637 0.447715 0.499922 1 0.499922Z" fill="#2576EF"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 617 B

8
designer-base/src/main/resources/com/fine/theme/icon/toolbar/edit_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">
<g id="&#229;&#144;&#141;&#231;&#167;&#176;=&#231;&#188;&#150;&#232;&#190;&#145;, &#231;&#166;&#129;&#231;&#148;&#168;=on">
<g id="Union">
<path d="M29.0353 2.70388C28.429 2.09756 27.446 2.09757 26.8397 2.70389L14.4417 15.1019L13.2902 18.449L16.6374 17.2975L29.0353 4.89956C29.6417 4.29324 29.6417 3.3102 29.0353 2.70388Z" fill="#0A1C38" fill-opacity="0.29"/>
<path d="M6 2.99997H22.1733L20.1733 4.99997H6L6 28H26V11.8899L28 9.88986V28C28 29.1045 27.1046 30 26 30H6C4.89543 30 4 29.1045 4 28V4.99997C4 3.8954 4.89543 2.99997 6 2.99997Z" fill="#0A1C38" fill-opacity="0.29"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 687 B

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

@ -0,0 +1,5 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#231;&#138;&#182;&#230;&#128;&#129;=&#231;&#153;&#189;&#232;&#137;&#178;">
<path id="Combined Shape" fill-rule="evenodd" clip-rule="evenodd" d="M3 1C2.44772 1 2 1.44772 2 2V14C2 14.5523 2.44772 15 3 15H13C13.5523 15 14 14.5523 14 14V6H13V14H3V2H9V1H3ZM13.6741 3.2816L7.37761 11.3408L5.4982 12.1221L5.80159 10.1095L12.0981 2.05028C12.4381 1.61507 13.0666 1.53791 13.5018 1.87793C13.937 2.21795 14.0142 2.8464 13.6741 3.2816Z" fill="white"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 556 B

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

@ -0,0 +1,5 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#231;&#179;&#187;&#231;&#187;&#159;&#229;&#155;&#190;&#230;&#160;&#135;">
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M7.49999 12.5858L4.45707 9.54289C4.26181 9.34762 3.94522 9.34762 3.74996 9.54289C3.5547 9.73815 3.5547 10.0547 3.74996 10.25L7.99997 14.5L12.25 10.25C12.4452 10.0547 12.4452 9.73815 12.25 9.54289C12.0547 9.34762 11.7381 9.34762 11.5429 9.54289L8.49999 12.5858V2.29292C8.49999 2.01678 8.27613 1.79292 7.99999 1.79292C7.72384 1.79292 7.49999 2.01678 7.49999 2.29292V12.5858Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 660 B

5
designer-base/src/main/resources/com/fine/theme/icon/toolbar/move_down_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">
<g id="&#229;&#144;&#141;&#231;&#167;&#176;=&#228;&#184;&#139;&#231;&#167;&#187;, &#231;&#166;&#129;&#231;&#148;&#168;=on">
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M15 25.5858L8.91414 19.5C8.52361 19.1094 7.89045 19.1094 7.49992 19.5C7.1094 19.8905 7.1094 20.5236 7.49992 20.9142L15.9999 29.4142L24.5 20.9142C24.8905 20.5236 24.8905 19.8905 24.5 19.5C24.1094 19.1094 23.4763 19.1094 23.0857 19.5L17 25.5857V5.00003C17 4.44775 16.5523 4.00003 16 4.00003C15.4477 4.00003 15 4.44775 15 5.00003V25.5858Z" fill="#0A1C38" fill-opacity="0.29"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 666 B

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

@ -0,0 +1,3 @@
<svg width="10" height="14" viewBox="0 0 10 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M4.49999 2.4142L1.45707 5.45711C1.26181 5.65238 0.945224 5.65238 0.749962 5.45711C0.5547 5.26185 0.5547 4.94527 0.749962 4.75001L4.99997 0.5L9.24998 4.75001C9.44524 4.94527 9.44524 5.26185 9.24998 5.45711C9.05472 5.65238 8.73813 5.65238 8.54287 5.45711L5.49999 2.41423V12.7071C5.49999 12.9832 5.27613 13.2071 4.99999 13.2071C4.72384 13.2071 4.49999 12.9832 4.49999 12.7071V2.4142Z" fill="#0A1C38" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 581 B

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

@ -0,0 +1,3 @@
<svg width="18" height="26" viewBox="0 0 18 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M7.99997 4.41421L1.91414 10.5C1.52361 10.8906 0.890449 10.8906 0.499924 10.5C0.1094 10.1095 0.1094 9.47635 0.499924 9.08583L8.99994 0.585815L17.5 9.08583C17.8905 9.47636 17.8905 10.1095 17.5 10.5C17.1094 10.8906 16.4763 10.8906 16.0857 10.5L9.99997 4.41427V25C9.99997 25.5523 9.55226 26 8.99997 26C8.44769 26 7.99997 25.5523 7.99997 25V4.41421Z" fill="#0A1C38" fill-opacity="0.29"/>
</svg>

After

Width:  |  Height:  |  Size: 546 B

8
designer-base/src/main/resources/com/fine/theme/icon/toolbar/sort_asc.svg

@ -0,0 +1,8 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#233;&#153;&#141;&#229;&#186;&#143;">
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M4.47705 13C4.47705 13.2761 4.25319 13.5 3.97705 13.5C3.79979 13.5 3.64408 13.4078 3.55529 13.2687L0.353546 9.82063C0.158284 9.61035 0.158284 9.26941 0.353546 9.05913C0.548808 8.84885 0.86539 8.84885 1.06065 9.05913L3.47705 11.6614L3.47706 0.999996C3.47706 0.723856 3.70091 0.5 3.97705 0.5C4.25319 0.5 4.47705 0.723856 4.47705 0.999996L4.47705 13Z" fill="#0A1C38" fill-opacity="0.9"/>
<path id="Rectangle 34625512" d="M10.5 10.5C10.5 10.7761 10.2761 11 10 11H6C5.72386 11 5.5 10.7761 5.5 10.5C5.5 10.2239 5.72386 10 6 10H10C10.2761 10 10.5 10.2239 10.5 10.5Z" fill="#0A1C38" fill-opacity="0.9"/>
<path id="Rectangle 34625513" d="M12.5 6.5C12.5 6.77614 12.2761 7 12 7H6C5.72386 7 5.5 6.77614 5.5 6.5C5.5 6.22386 5.72386 6 6 6H12C12.2761 6 12.5 6.22386 12.5 6.5Z" fill="#0A1C38" fill-opacity="0.9"/>
<path id="Rectangle 34625514" d="M14 2.5C14 2.77614 13.7761 3 13.5 3H6C5.72386 3 5.5 2.77614 5.5 2.5C5.5 2.22386 5.72386 2 6 2H13.5C13.7761 2 14 2.22386 14 2.5Z" fill="#0A1C38" fill-opacity="0.9"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

8
designer-base/src/main/resources/com/fine/theme/icon/toolbar/sort_asc_disable.svg

@ -0,0 +1,8 @@
<svg width="28" height="26" viewBox="0 0 28 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#233;&#153;&#141;&#229;&#186;&#143;">
<path id="Union" fill-rule="evenodd" clip-rule="evenodd" d="M8.95409 25C8.95409 25.5523 8.50638 26 7.9541 26C7.59959 26 7.28816 25.8155 7.11058 25.5373L0.707093 18.6413C0.316569 18.2207 0.316568 17.5388 0.707092 17.1183C1.09762 16.6977 1.73078 16.6977 2.12131 17.1183L6.95411 22.3228L6.95412 0.999992C6.95412 0.447714 7.40183 1.90735e-06 7.95411 1.90735e-06C8.50639 1.90735e-06 8.9541 0.447714 8.9541 0.999994L8.95409 25Z" fill="#0A1C38" fill-opacity="0.29"/>
<path id="Rectangle 34625512" d="M21 20C21 20.5523 20.5523 21 20 21H12C11.4477 21 11 20.5523 11 20C11 19.4477 11.4477 19 12 19H20C20.5523 19 21 19.4477 21 20Z" fill="#0A1C38" fill-opacity="0.29"/>
<path id="Rectangle 34625513" d="M25 12C25 12.5523 24.5523 13 24 13H12C11.4477 13 11 12.5523 11 12C11 11.4477 11.4477 11 12 11H24C24.5523 11 25 11.4477 25 12Z" fill="#0A1C38" fill-opacity="0.29"/>
<path id="Rectangle 34625514" d="M28 4C28 4.55228 27.5523 5 27 5H12C11.4477 5 11 4.55228 11 4C11 3.44772 11.4477 3 12 3H27C27.5523 3 28 3.44772 28 4Z" fill="#0A1C38" fill-opacity="0.29"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

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

@ -103,8 +103,8 @@ Component.defaultHeight=24
@menuBackground = @background
# selection
@selectionBackground = @accentSelectionBackground
@selectionForeground = contrast(@selectionBackground, @foreground, #fff)
@selectionBackground = #2576ef1e
@selectionForeground = @foreground
@selectionInactiveBackground = shade(@background,13%)
@selectionInactiveForeground = @foreground
@ -160,7 +160,7 @@ DarkenedFontColor = #091E40
defaultBorderColor = #DADEE7
defaultHighlightBorderColor = #2576EF
defaultBorderFocusShadow = #2576ef19
defaultBorderFocusWidth = 1
defaultBorderFocusWidth = 0
brand.normal=#2576EF
background.normal=#FFFFFF
text.white=#ffffff
@ -213,6 +213,14 @@ Button.toolbar.selectedBackground = $Button.selectedBackground
Button.toolbar.margin = 3,3,3,3
Button.toolbar.spacingInsets = 1,2,1,2
Button.group.background = #FFF
Button.group.selectedBackground = #2576EF
Button.group.pressedBackground = #2576EF
Button.group.selectedForeground = #FFF
Button.group.pressedForeground = #FFF
Button.group.minimumWidth = 32
Button.group.minimumHeight = 20
Button.group.arc = $Component.arc
#---- CheckBox ----
CheckBox.border = com.formdev.flatlaf.ui.FlatMarginBorder
@ -308,6 +316,7 @@ ComboBox.selectionInsets = 0,0,0,0
ComboBox.selectionArc = 0
ComboBox.borderCornerRadius = 3
ComboBox.comboHeight = 24
ComboBox.selectBox.button.offsetX = 2
#---- Component ----
@ -456,13 +465,16 @@ List.cellNoFocusBorder = com.formdev.flatlaf.ui.FlatListCellBorder$Default
List.focusCellHighlightBorder = com.formdev.flatlaf.ui.FlatListCellBorder$Focused
List.focusSelectedCellHighlightBorder = com.formdev.flatlaf.ui.FlatListCellBorder$Selected
List.background = @componentBackground
List.selectionInactiveBackground = @selectionInactiveBackground
List.selectionInactiveBackground = @selectionBackground
List.selectionInactiveForeground = @selectionInactiveForeground
List.dropCellBackground = @dropCellBackground
List.dropCellForeground = @dropCellForeground
List.dropLineColor = @dropLineColor
List.showCellFocusIndicator = false
List.cellRender.background = #FFF
List.cellRender.button.width = 28
List.cellRender.button.height = 24
List.wrapper.text.fontColor = #0a1c3877
#---- Menu ----
Menu.icon.arrowColor = @buttonArrowColor
@ -542,6 +554,11 @@ OptionPane.informationIcon = com.formdev.flatlaf.icons.FlatOptionPaneInformation
OptionPane.questionIcon = com.formdev.flatlaf.icons.FlatOptionPaneQuestionIcon
OptionPane.warningIcon = com.formdev.flatlaf.icons.FlatOptionPaneWarningIcon
#---- SortPane ----
SortPane.height = 24
SortPane.vGap = 4
SortPane.hGap = 14
#---- PasswordField ----
PasswordField.capsLockIconColor = #00000064

2
designer-chart/src/main/java/com/fr/van/chart/custom/component/VanChartCustomPlotUITabGroup.java

@ -53,7 +53,7 @@ public class VanChartCustomPlotUITabGroup extends UITabGroup{
}
@Override
protected void initButton(UIToggleButton labelButton) {
protected void initButton(UIToggleButton labelButton, int buttonIndex) {
int ButtonWidth = WIDTH / 3;
if (listNum <= 1){

46
designer-realize/src/main/java/com/fr/design/mainframe/cell/settingpane/style/CustomStylePane.java

@ -4,14 +4,12 @@ import com.fr.base.CellBorderStyle;
import com.fr.base.NameStyle;
import com.fr.base.Style;
import com.fr.design.actions.utils.ReportActionUtils;
import com.fr.design.constants.UIConstants;
import com.fr.design.dialog.BasicPane;
import com.fr.design.dialog.MultiTabPane;
import com.fr.design.gui.style.*;
import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.style.BorderUtils;
import javax.swing.*;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.util.ArrayList;
@ -38,7 +36,6 @@ public class CustomStylePane extends MultiTabPane<Style> {
super();
tabPane.setOneLineTab(true);
tabPane.setDrawLine(false);
tabPane.setBorder(BorderFactory.createLineBorder(UIConstants.SHADOW_GREY));
tabPane.setLayout(new GridLayout(1, 3, 0, 0));
}
@ -54,16 +51,18 @@ public class CustomStylePane extends MultiTabPane<Style> {
}
/**
* @return
* 获取面板标题
*
* @return 面板标题
*/
public String title4PopupWindow() {
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Custom_Style");
}
/**
* for ScrollBar
* for ScrollBar添加监听
*
* @param l
* @param l 监听器
*/
public void addTabChangeListener(ChangeListener l) {
if (tabPane != null) {
@ -74,34 +73,27 @@ public class CustomStylePane extends MultiTabPane<Style> {
}
}
/**
*
*/
public void reset() {
populateBean(null);
}
@Override
/**
*
*/
public void populateBean(Style ob) {
for (int i = 0; i < paneList.size(); i++) {
((AbstractBasicStylePane) paneList.get(i)).populateBean(ob);
for (BasicPane basicPane : paneList) {
((AbstractBasicStylePane) basicPane).populateBean(ob);
}
}
@Override
/**
*
*/
public Style updateBean() {
return updateStyle(ReportActionUtils.getCurrentStyle(reportPane));
}
/**
* @param style
* @return
* 更新面板样式
*
* @param style 样式
* @return 更新后的样式
*/
public Style updateStyle(Style style) {
return ((AbstractBasicStylePane) paneList.get(tabPane.getSelectedIndex())).update(style);//只更新当前选中面板的样式
@ -136,7 +128,9 @@ public class CustomStylePane extends MultiTabPane<Style> {
}
/**
* @param ePane
* 处理边框
*
* @param ePane 面板
*/
public void dealWithBorder(ElementCasePane ePane) {
this.reportPane = ePane;
@ -148,8 +142,8 @@ public class CustomStylePane extends MultiTabPane<Style> {
}
/**
* @param ob
* @return
* @param ob 目标对象
* @return 判断是否需处理
*/
public boolean accept(Object ob) {
return ob instanceof Style && !(ob instanceof NameStyle);
@ -157,20 +151,14 @@ public class CustomStylePane extends MultiTabPane<Style> {
@Override
protected List<BasicPane> initPaneList() {
paneList = new ArrayList<BasicPane>();
paneList = new ArrayList<>();
paneList.add(new TextFontTippedPane(true));
paneList.add(new BorderPane());
paneList.add(new AlignmentPane());
// paneList.add(new FRFontPane());
// paneList.add(backgroundPane = new BackgroundPane());
return paneList;
}
@Override
/**
*
*/
public void updateBean(Style ob) {
return;
}
}

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

@ -99,10 +99,10 @@ public class ReportColumnsPane extends BasicPane{
onOffButtonGroup = new UIButtonGroup(textArray) {
@Override
protected void initButton(UIToggleButton labelButton) {
protected void initButton(UIToggleButton labelButton, int index) {
labelButton.setSize(new Dimension(60,20));
labelButton.setPreferredSize(new Dimension(60, 20));
super.initButton(labelButton);
super.initButton(labelButton, index);
}
};
onOffButtonGroup.addActionListener(onOffListener);

6
designer-realize/src/main/java/com/fr/design/sort/common/AbstractSortPane.java

@ -18,13 +18,13 @@ import java.util.List;
public abstract class AbstractSortPane extends JPanel {
protected int sortPaneWidth;
protected int sortPaneRightWidth;
public static final int PANE_COMPONENT_HEIGHT = 20;
public static final int PANE_COMPONENT_V_GAP = 4;
public static final int PANE_COMPONENT_H_GAP = 14;
protected AbstractSortGroupPane sortGroupPane;
protected SortHeaderPane sortHeaderPane;
protected String selfSortArea;
protected String defaultHeaderArea;
public static final int PANE_COMPONENT_HEIGHT = UIManager.getInt("SortPane.height");
public static final int PANE_COMPONENT_V_GAP = UIManager.getInt("SortPane.vGap");
public static final int PANE_COMPONENT_H_GAP = UIManager.getInt("SortPane.hGap");
public AbstractSortPane(Dimension dimension) {
this(dimension.width, dimension.height);

Loading…
Cancel
Save