Browse Source

Pull request #3242: REPORT-42238 【10.0.13】JDK11设计器图标模糊问题优化

Merge in DESIGN/design from ~YVAN/design:release/10.0 to release/10.0

* commit '47eb0a732c6b68912e08cfc30249eb679a729dc9':
  REPORT-42238 JDK11设计器图标模糊问题优化 单独提交到release
  REPORT-42238 【10.0.13】JDK11设计器图标模糊问题优化 单独提交到release
feature/big-screen
Yvan 4 years ago
parent
commit
19579a0a16
  1. 105
      designer-base/src/main/java/com/fr/base/svg/IconUtils.java
  2. 82
      designer-base/src/main/java/com/fr/base/svg/SVGIcon.java
  3. 92
      designer-base/src/main/java/com/fr/base/svg/SVGLoader.java
  4. 181
      designer-base/src/main/java/com/fr/base/svg/SVGTranscoder.java
  5. 96
      designer-base/src/main/java/com/fr/base/svg/SystemScaleUtils.java
  6. 6
      designer-base/src/main/java/com/fr/design/actions/AllowAuthorityEditAction.java
  7. 4
      designer-base/src/main/java/com/fr/design/actions/ExitAuthorityEditAction.java
  8. 7
      designer-base/src/main/java/com/fr/design/actions/TableDataSourceAction.java
  9. 56
      designer-base/src/main/java/com/fr/design/actions/UpdateAction.java
  10. 8
      designer-base/src/main/java/com/fr/design/actions/community/BBSAction.java
  11. 9
      designer-base/src/main/java/com/fr/design/actions/community/BugAction.java
  12. 4
      designer-base/src/main/java/com/fr/design/actions/community/BugNeedAction.java
  13. 4
      designer-base/src/main/java/com/fr/design/actions/community/CenterAction.java
  14. 5
      designer-base/src/main/java/com/fr/design/actions/community/FacebookFansAction.java
  15. 4
      designer-base/src/main/java/com/fr/design/actions/community/NeedAction.java
  16. 4
      designer-base/src/main/java/com/fr/design/actions/community/QuestionAction.java
  17. 5
      designer-base/src/main/java/com/fr/design/actions/community/SignAction.java
  18. 4
      designer-base/src/main/java/com/fr/design/actions/community/TechSolutionAction.java
  19. 5
      designer-base/src/main/java/com/fr/design/actions/community/VideoAction.java
  20. 5
      designer-base/src/main/java/com/fr/design/actions/edit/CopyAction.java
  21. 5
      designer-base/src/main/java/com/fr/design/actions/edit/CutAction.java
  22. 5
      designer-base/src/main/java/com/fr/design/actions/edit/PasteAction.java
  23. 5
      designer-base/src/main/java/com/fr/design/actions/edit/RedoAction.java
  24. 7
      designer-base/src/main/java/com/fr/design/actions/edit/UndoAction.java
  25. 8
      designer-base/src/main/java/com/fr/design/actions/file/OpenTemplateAction.java
  26. 6
      designer-base/src/main/java/com/fr/design/actions/file/SaveAsTemplateAction.java
  27. 5
      designer-base/src/main/java/com/fr/design/actions/file/SaveTemplateAction.java
  28. 10
      designer-base/src/main/java/com/fr/design/actions/file/SwitchExistEnv.java
  29. 4
      designer-base/src/main/java/com/fr/design/actions/help/TutorialAction.java
  30. 6
      designer-base/src/main/java/com/fr/design/actions/help/WebDemoAction.java
  31. 4
      designer-base/src/main/java/com/fr/design/actions/help/alphafine/AlphaFineAction.java
  32. 6
      designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java
  33. 8
      designer-base/src/main/java/com/fr/design/actions/server/FunctionManagerAction.java
  34. 6
      designer-base/src/main/java/com/fr/design/actions/server/GlobalParameterAction.java
  35. 8
      designer-base/src/main/java/com/fr/design/actions/server/GlobalTableDataAction.java
  36. 6
      designer-base/src/main/java/com/fr/design/actions/server/PlatformManagerAction.java
  37. 6
      designer-base/src/main/java/com/fr/design/actions/server/PluginManagerAction.java
  38. 2
      designer-base/src/main/java/com/fr/design/constants/UIConstants.java
  39. 4
      designer-base/src/main/java/com/fr/design/data/BasicTableDataTreePane.java
  40. 4
      designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java
  41. 2
      designer-base/src/main/java/com/fr/design/data/datapane/sqlpane/SQLEditPane.java
  42. 31
      designer-base/src/main/java/com/fr/design/gui/core/WidgetOption.java
  43. 8
      designer-base/src/main/java/com/fr/design/gui/core/WidgetOptionFactory.java
  44. 11
      designer-base/src/main/java/com/fr/design/gui/ibutton/UIButton.java
  45. 2
      designer-base/src/main/java/com/fr/design/icon/IconPathConstants.java
  46. 12
      designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java
  47. 18
      designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
  48. 20
      designer-base/src/main/java/com/fr/design/menu/MenuDef.java
  49. 4
      designer-base/src/main/java/com/fr/design/remote/action/RemoteDesignAuthManagerAction.java
  50. 4
      designer-base/src/main/java/com/fr/design/report/fit/menupane/ReportFitAttrAction.java
  51. 4
      designer-base/src/main/java/com/fr/design/roleAuthority/ReportAndFSManagePane.java
  52. 7
      designer-base/src/main/java/com/fr/design/style/color/UIToolbarColorButton.java
  53. 4
      designer-base/src/main/java/com/fr/design/update/actions/SoftwareUpdateAction.java
  54. BIN
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/new_folder.png
  55. BIN
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/refresh.png
  56. BIN
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/remove.png
  57. BIN
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/rename.png
  58. BIN
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/vcs_list.png
  59. BIN
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/view_folder.png
  60. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/bbs_normal.svg
  61. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/bug_normal.svg
  62. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/center_normal.svg
  63. 9
      designer-base/src/main/resources/com/fr/design/images/bbs/facebook_normal.svg
  64. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/help_normal.svg
  65. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/need_normal.svg
  66. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/question_normal.svg
  67. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/sign_normal.svg
  68. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/solution_normal.svg
  69. 7
      designer-base/src/main/resources/com/fr/design/images/bbs/video_normal.svg
  70. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/absolute_layout_normal.svg
  71. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/card_layout_16_normal.svg
  72. 8
      designer-base/src/main/resources/com/fr/design/images/buttonicon/new_form3_normal.svg
  73. 11
      designer-base/src/main/resources/com/fr/design/images/buttonicon/newcpts_normal.svg
  74. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/open_normal.svg
  75. 8
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/authorityedit_disabled.svg
  76. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/authorityedit_normal.svg
  77. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/authorityedit_selected.svg
  78. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellattr_disabled.svg
  79. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellattr_normal.svg
  80. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellattr_selected.svg
  81. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellelement_disabled.svg
  82. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellelement_normal.svg
  83. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellelement_selected.svg
  84. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/conditionattr_disabled.svg
  85. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/conditionattr_normal.svg
  86. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/conditionattr_selected.svg
  87. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/configuredroles_disabled.svg
  88. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/configuredroles_normal.svg
  89. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/configuredroles_selected.svg
  90. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/floatelement_disabled.svg
  91. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/floatelement_normal.svg
  92. 8
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/floatelement_selected.svg
  93. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/hyperlink_disabled.svg
  94. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/hyperlink_normal.svg
  95. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/hyperlink_selected.svg
  96. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetlib_disabled.svg
  97. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetlib_normal.svg
  98. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetlib_selected.svg
  99. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetsettings_disabled.svg
  100. 7
      designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetsettings_normal.svg
  101. Some files were not shown because too many files have changed in this diff Show More

105
designer-base/src/main/java/com/fr/base/svg/IconUtils.java

@ -0,0 +1,105 @@
package com.fr.base.svg;
import com.fr.general.IOUtils;
import com.fr.log.FineLoggerFactory;
import javax.swing.Icon;
import javax.swing.ImageIcon;
/**
* 主要是用来读取svgIcon的工具类
* @author Yvan
* @version 10.0
* Created by Yvan on 2020/12/23
*/
public class IconUtils {
private static final String ICON_SUFFIX_SVG = ".svg";
private static final String ICON_SUFFIX_PNG = ".png";
private static final String ICON_SUFFIX_GIF = ".gif";
private static final String SUFFIX_SEPARATOR = ".";
public static final String ICON_TYPE_NORMAL= "_normal.svg";
public static final String ICON_TYPE_DISABLED= "_disabled.svg";
public static final String ICON_TYPE_PRESSED= "_pressed.svg";
/**
* 可以读取SVG图标或者普通图标并且可以读取不带扩展名的文件
* 不带扩展名时以svg优先其次png最后gif
* @param resource 图片路径
* @return 图标
*/
public static Icon readIcon(String resource) {
// 判断是否有.XXX文件后缀
if (resource.contains(SUFFIX_SEPARATOR)) {
// 判断是否以.svg结尾
if (resource.endsWith(ICON_SUFFIX_SVG)) {
return SVGIcon.readSVGIcon(resource);
}
return IOUtils.readIcon(resource);
}
// 文件无后缀时
return readNoSuffixResource(resource, ICON_TYPE_NORMAL);
}
/**
* 尝试读取不带扩展名的图标svg优先其次png最后gif都没读到就打印错误日志返回空白Icon
* @param resource 图片路径
* @param svgIconType 针对svg来说的图标类型
* 取值为ICON_TYPE_NORMALICON_TYPE_DISABLEDICON_TYPE_PRESSED
* @return 图标
*/
private static Icon readNoSuffixResource(String resource, String svgIconType) {
String svgPath = resource + svgIconType;
if (IOUtils.readResource(svgPath) != null) {
return SVGIcon.readSVGIcon(svgPath);
}
String pngPath = resource + ICON_SUFFIX_PNG;
if (IOUtils.readResource(pngPath) != null) {
return IOUtils.readIcon(pngPath);
}
String gifPath = resource + ICON_SUFFIX_GIF;
if (IOUtils.readResource(gifPath) != null) {
return IOUtils.readIcon(gifPath);
}
FineLoggerFactory.getLogger().error("File not exists:{}", resource);
return new ImageIcon();
}
/**
* 读取指定类型的svgIcon
* @param resource
* @param svgIconType
* @return
*/
public static Icon readSVGIcon(String resource, String svgIconType) {
// 判断下是否有后缀
if (!resource.contains(SUFFIX_SEPARATOR)) {
return readNoSuffixResource(resource, svgIconType);
}
// 如果是".png"后缀,就替换为传入的svgIconType,然后读取图标
if (resource.endsWith(ICON_SUFFIX_PNG)) {
return readSpecifiedTypeIcon(resource, ICON_SUFFIX_PNG, svgIconType);
}
// 如果是"_XXXXXX.svg"后缀
if (resource.endsWith(ICON_TYPE_NORMAL)) {
return readSpecifiedTypeIcon(resource, ICON_TYPE_NORMAL, svgIconType);
}
if (resource.endsWith(ICON_TYPE_DISABLED)) {
return readSpecifiedTypeIcon(resource, ICON_TYPE_DISABLED, svgIconType);
}
if (resource.endsWith(ICON_TYPE_PRESSED)) {
return readSpecifiedTypeIcon(resource, ICON_TYPE_PRESSED, svgIconType);
}
return readIcon(resource);
}
private static Icon readSpecifiedTypeIcon(String resource, String oldSuffix, String newSuffix) {
String iconPath = resource.replace(oldSuffix, newSuffix);
if (IOUtils.readResource(iconPath) != null) {
return SVGIcon.readSVGIcon(iconPath);
}
return readIcon(resource);
}
}

82
designer-base/src/main/java/com/fr/base/svg/SVGIcon.java

@ -0,0 +1,82 @@
package com.fr.base.svg;
import com.fr.general.IOUtils;
import javax.swing.Icon;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
/**
* SVG转化而来的Icon
* @author Yvan
* @version 10.0
* Created by Yvan on 2020/12/17
*/
public class SVGIcon implements Icon {
private BufferedImage image;
private static final boolean HI_DPI_SURPORT = SystemScaleUtils.isJreHiDPIEnabled();
public static final float SYSTEM_SCALE = SystemScaleUtils.sysScale();
private static final String ICON_PREFIX = "/";
public SVGIcon(BufferedImage image) {
this.image = image;
}
@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
if (HI_DPI_SURPORT) {
Graphics2D graphics = (Graphics2D) g.create(x, y, image.getWidth(null), image.getHeight(null));
float scale = SYSTEM_SCALE;
graphics.scale(1 / scale, 1 / scale);
graphics.drawImage(image, 0, 0, null);
graphics.scale(1.0D, 1.0D);
graphics.dispose();
} else {
g.drawImage(image, x, y, null);
}
}
@Override
public int getIconWidth() {
return HI_DPI_SURPORT ? (int) (image.getWidth() / SYSTEM_SCALE) : image.getWidth();
}
@Override
public int getIconHeight() {
return HI_DPI_SURPORT ? (int) (image.getHeight() / SYSTEM_SCALE) : image.getHeight();
}
/**
* 读取高清图标
* @param url
* @return
*/
public static Icon readSVGIcon(String url) {
if (!url.startsWith(ICON_PREFIX)) {
url = ICON_PREFIX + url;
}
BufferedImage image = (BufferedImage) SVGLoader.load(url);
return image == null ? IOUtils.readIcon(url) : new SVGIcon(image);
}
/**
* 读取指定尺寸的图标
* @param url 资源路径
* @param width 宽度
* @param height 高度
* @return
*/
public static Icon readSVGIcon(String url, float width, float height) {
if (!url.startsWith(ICON_PREFIX)) {
url = ICON_PREFIX + url;
}
BufferedImage image = (BufferedImage) SVGLoader.load(url, width, height);
return image == null ? IOUtils.readIcon(url) : new SVGIcon(image);
}
}

92
designer-base/src/main/java/com/fr/base/svg/SVGLoader.java

@ -0,0 +1,92 @@
package com.fr.base.svg;
import com.fr.general.IOUtils;
import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.xmlgraphics.java2d.Dimension2DDouble;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.awt.Image;
import java.io.IOException;
import java.net.URL;
/**
* SVG图标加载器
* @author Yvan
* @version 10.0
* Created by Yvan on 2020/12/17
*/
public class SVGLoader {
public static final int ICON_DEFAULT_SIZE = 16;
public SVGLoader() {
}
@Nullable
public static Image load(@NotNull String url) {
try {
URL resource = IOUtils.getResource(url, SVGLoader.class);
if (resource == null) {
return null;
}
return load(resource, SVGIcon.SYSTEM_SCALE);
} catch (IOException ignore) {
return null;
}
}
@Nullable
public static Image load(@NotNull URL url) throws IOException {
return load(url, SVGIcon.SYSTEM_SCALE);
}
@Nullable
public static Image load(@NotNull URL url, double scale) throws IOException {
try {
String svgUri = url.toString();
TranscoderInput input = new TranscoderInput(svgUri);
return SVGTranscoder.createImage(scale, input).getImage();
} catch (TranscoderException ignore) {
return null;
}
}
@Nullable
public static Image load(@NotNull URL url, double scale, Dimension2DDouble dimension) throws IOException {
try {
String svgUri = url.toString();
TranscoderInput input = new TranscoderInput(svgUri);
return SVGTranscoder.createImage(scale, input,
(float) (dimension.getWidth() * scale), (float) (dimension.getHeight() * scale)).getImage();
} catch (TranscoderException ignore) {
return null;
}
}
@Nullable
public static Image load(@NotNull URL url, double scale, double overriddenWidth, double overriddenHeight) throws IOException {
try {
String svgUri = url.toString();
TranscoderInput input = new TranscoderInput(svgUri);
return SVGTranscoder.createImage(scale, input, (float) (overriddenWidth * scale), (float) (overriddenHeight * scale)).getImage();
} catch (TranscoderException ignore) {
return null;
}
}
@Nullable
public static Image load(@NotNull String url, float width, float height) {
try {
URL resource = IOUtils.getResource(url, SVGLoader.class);
if (resource == null) {
return null;
}
TranscoderInput input = new TranscoderInput(resource.toString());
return SVGTranscoder.createImage(SVGIcon.SYSTEM_SCALE, input, -1, -1, width, height).getImage();
} catch (TranscoderException ignore) {
return null;
}
}
}

181
designer-base/src/main/java/com/fr/base/svg/SVGTranscoder.java

@ -0,0 +1,181 @@
package com.fr.base.svg;
import com.fr.stable.AssistUtils;
import com.fr.value.AtomicNotNullLazyValue;
import org.apache.batik.anim.dom.SAXSVGDocumentFactory;
import org.apache.batik.anim.dom.SVGOMDocument;
import org.apache.batik.bridge.BridgeContext;
import org.apache.batik.bridge.UserAgent;
import org.apache.batik.transcoder.SVGAbstractTranscoder;
import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.ImageTranscoder;
import org.apache.batik.util.XMLResourceDescriptor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.w3c.dom.Element;
import org.w3c.dom.svg.SVGDocument;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Rectangle;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.StringReader;
/**
* 可以根据某个缩放倍数scale将SVG图片转化为Image对象
* @author Yvan
* @version 10.0
* Created by Yvan on 2020/12/17
*/
public class SVGTranscoder extends ImageTranscoder {
private static final float DEFAULT_VALUE = -1.0F;
public static final float ICON_DEFAULT_SIZE = 16F;
private float origDocWidth;
private float origDocHeight;
@Nullable
private BufferedImage image;
private final double scale;
@NotNull
private static AtomicNotNullLazyValue<Double> iconMaxSize = new AtomicNotNullLazyValue<Double>() {
@NotNull
@Override
protected Double compute() {
double maxSize = Double.MAX_VALUE;
if (!GraphicsEnvironment.isHeadless()) {
GraphicsDevice defaultScreenDevice = GraphicsEnvironment
.getLocalGraphicsEnvironment()
.getDefaultScreenDevice();
Rectangle bounds = defaultScreenDevice.getDefaultConfiguration().getBounds();
AffineTransform tx = defaultScreenDevice
.getDefaultConfiguration()
.getDefaultTransform();
maxSize = Math.max(bounds.width * tx.getScaleX(), bounds.height * tx.getScaleY());
}
return maxSize;
}
};
public SVGTranscoder(double scale) {
this.scale = scale;
this.width = ICON_DEFAULT_SIZE;
this.height = ICON_DEFAULT_SIZE;
}
public SVGTranscoder(double scale, float width, float height) {
this.scale = scale;
this.width = width;
this.height = height;
}
public final float getOrigDocWidth() {
return this.origDocWidth;
}
public final void setOrigDocWidth(float origDocWidth) {
this.origDocWidth = origDocWidth;
}
public final float getOrigDocHeight() {
return this.origDocHeight;
}
public final void setOrigDocHeight(float origDocHeight) {
this.origDocHeight = origDocHeight;
}
public static double getIconMaxSize() {
return iconMaxSize.getValue();
}
@Nullable
public final BufferedImage getImage() {
return this.image;
}
@NotNull
public static SVGTranscoder createImage(double scale, @NotNull TranscoderInput input) throws TranscoderException {
return createImage(scale, input, -1, -1);
}
@NotNull
public static SVGTranscoder createImage(double scale, @NotNull TranscoderInput input, float overriddenWidth, float overriddenHeight) throws TranscoderException {
return createImage(scale, input, overriddenWidth, overriddenHeight, ICON_DEFAULT_SIZE, ICON_DEFAULT_SIZE);
}
@NotNull
public static SVGTranscoder createImage(double scale, @NotNull TranscoderInput input, float overriddenWidth, float overriddenHeight, float width, float height) throws TranscoderException {
SVGTranscoder transcoder = new SVGTranscoder(scale, width, height);
if (!AssistUtils.equals(overriddenWidth, DEFAULT_VALUE)) {
transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_WIDTH, overriddenWidth);
}
if (!AssistUtils.equals(overriddenHeight, DEFAULT_VALUE)) {
transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_HEIGHT, overriddenHeight);
}
double iconMaxSize = SVGTranscoder.iconMaxSize.getValue();
transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_MAX_WIDTH, (float) iconMaxSize);
transcoder.addTranscodingHint(SVGAbstractTranscoder.KEY_MAX_HEIGHT, (float) iconMaxSize);
transcoder.transcode(input, null);
return transcoder;
}
private static SVGDocument createFallbackPlaceholder() {
try {
String fallbackIcon = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n" +
" <rect x=\"1\" y=\"1\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"red\" stroke-width=\"2\"/>\n" +
" <line x1=\"1\" y1=\"1\" x2=\"15\" y2=\"15\" stroke=\"red\" stroke-width=\"2\"/>\n" +
" <line x1=\"1\" y1=\"15\" x2=\"15\" y2=\"1\" stroke=\"red\" stroke-width=\"2\"/>\n" +
"</svg>\n";
SAXSVGDocumentFactory factory = new SAXSVGDocumentFactory(XMLResourceDescriptor.getXMLParserClassName());
return (SVGDocument) factory.createDocument(null, new StringReader(fallbackIcon));
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
@Override
protected void setImageSize(float docWidth, float docHeight) {
super.setImageSize((float) (docWidth * this.scale), (float) (docHeight * this.scale));
this.origDocWidth = docWidth;
this.origDocHeight = docHeight;
}
@Override
@NotNull
public BufferedImage createImage(int width, int height) {
return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
}
@Override
public void writeImage(@NotNull BufferedImage image, @Nullable TranscoderOutput output) {
this.image = image;
}
@Override
@NotNull
protected UserAgent createUserAgent() {
return new SVGAbstractTranscoderUserAgent() {
@Override
@NotNull
public SVGDocument getBrokenLinkDocument(@NotNull Element e, @NotNull String url, @NotNull String message) {
return createFallbackPlaceholder();
}
};
}
/**
* 开放访问权限
*/
@Override
public BridgeContext createBridgeContext(SVGOMDocument doc) {
return super.createBridgeContext(doc);
}
}

96
designer-base/src/main/java/com/fr/base/svg/SystemScaleUtils.java

@ -0,0 +1,96 @@
package com.fr.base.svg;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.StableUtils;
import com.fr.stable.os.OperatingSystem;
import org.jetbrains.annotations.NotNull;
import java.awt.GraphicsConfiguration;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.lang.reflect.Method;
import java.util.concurrent.atomic.AtomicReference;
/**
* 获取系统Scale相关的工具类
* @author Yvan
* @version 10.0
* Created by Yvan on 2020/12/17
*/
public class SystemScaleUtils {
private static final AtomicReference<Boolean> JRE_HIDPI = new AtomicReference<>();
private static final String HI_DPI = "hidpi";
/**
* 判断是否支持高清
* @return
*/
public static boolean isJreHiDPIEnabled() {
if (JRE_HIDPI.get() != null) {
return JRE_HIDPI.get();
}
if (OperatingSystem.isMacos()) {
// 如果是mac os系统,直接返回true
return true;
}
if (OperatingSystem.isWindows() && StableUtils.getMajorJavaVersion() <= 8) {
// 如果是jdk8 + Windows系统,直接返回false
return false;
}
synchronized (JRE_HIDPI) {
if (JRE_HIDPI.get() != null) {
return JRE_HIDPI.get();
}
boolean result = false;
if (getBooleanProperty(HI_DPI, true)) {
try {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
Class<?> sunGraphicsEnvironmentClass = Class.forName("sun.java2d.SunGraphicsEnvironment");
if (sunGraphicsEnvironmentClass.isInstance(ge)) {
try {
Method method = sunGraphicsEnvironmentClass.getDeclaredMethod("isUIScaleEnabled");
method.setAccessible(true);
result = (Boolean)method.invoke(ge);
}
catch (NoSuchMethodException e) {
FineLoggerFactory.getLogger().error(e.getMessage());
}
}
}
catch (Throwable ignore) {
}
}
JRE_HIDPI.set(result);
return result;
}
}
public static boolean getBooleanProperty(@NotNull final String key, final boolean defaultValue) {
final String value = System.getProperty(key);
return value == null ? defaultValue : Boolean.parseBoolean(value);
}
/**
* 获取系统Scale
* @return
*/
public static float sysScale() {
float scale = 1.0f;
// 先判断是否支持高清,不支持代表此时是Windows + jdk8 的设计器,返回的scale值为1.0
if (isJreHiDPIEnabled()) {
// 获取屏幕图形设备对象
GraphicsDevice graphicsDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
if (graphicsDevice != null) {
// 获取图形配置对象
GraphicsConfiguration configuration = graphicsDevice.getDefaultConfiguration();
if (configuration != null && configuration.getDevice().getType() != GraphicsDevice.TYPE_PRINTER) {
// 获取屏幕缩放率,mac下固定为2,Windows+jdk11则将得到用户设置的dpi值
scale = (float) configuration.getDefaultTransform().getScaleX();
}
}
}
return scale;
}
}

6
designer-base/src/main/java/com/fr/design/actions/AllowAuthorityEditAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.base.vcs.DesignerMode;
import com.fr.design.constants.UIConstants;
import com.fr.design.menu.KeySetUtils;
@ -22,7 +22,7 @@ public class AllowAuthorityEditAction extends TemplateComponentAction {
this.setMenuKeySet(KeySetUtils.ALLOW_AUTHORITY_EDIT);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_report/allow_authority_edit.png"));
this.setSmallIcon("/com/fr/design/images/m_report/allow_authority_edit");
}
/**
@ -78,4 +78,4 @@ public class AllowAuthorityEditAction extends TemplateComponentAction {
}
}
}
}

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

@ -1,6 +1,6 @@
package com.fr.design.actions;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.base.vcs.DesignerMode;
import com.fr.design.data.datapane.TableDataTreePane;
import com.fr.design.DesignModelAdapter;
@ -19,7 +19,7 @@ public class ExitAuthorityEditAction extends TemplateComponentAction {
public ExitAuthorityEditAction(TargetComponent t) {
super(t);
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Authority_Edit_Status_Exit"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_report/exit_authority_edit.png"));
this.setSmallIcon("/com/fr/design/images/m_report/exit_authority_edit");
}

7
designer-base/src/main/java/com/fr/design/actions/TableDataSourceAction.java

@ -1,8 +1,7 @@
package com.fr.design.actions;
import javax.swing.SwingUtilities;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.data.DesignTableDataManager;
import com.fr.data.TableDataSource;
import com.fr.design.data.datapane.ReportTableDataPane;
@ -27,7 +26,7 @@ public class TableDataSourceAction extends TemplateComponentAction<JTemplate<?,
this.setMenuKeySet(KeySetUtils.TEMPLATE_TABLE_DATA_SOURCE);
this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_web/datasource.png"));
this.setSmallIcon("/com/fr/design/images/m_web/datasource");
}
/**
@ -91,4 +90,4 @@ public class TableDataSourceAction extends TemplateComponentAction<JTemplate<?,
public void fireDSChanged(Map<String, String> map) {
DesignTableDataManager.fireDSChanged(map);
}
}
}

56
designer-base/src/main/java/com/fr/design/actions/UpdateAction.java

@ -6,6 +6,8 @@ package com.fr.design.actions;
import com.fr.base.NameStyle;
import com.fr.base.ScreenResolution;
import com.fr.base.Style;
import com.fr.base.svg.SVGIcon;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.core.ActionFactory;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.ibutton.UIButton;
@ -78,6 +80,16 @@ public abstract class UpdateAction extends ShortCut implements Action {
private String searchText = StringUtils.EMPTY;
/**
* 按钮在按压状态的图标key
*/
public static final String PRESSED_ICON = "pressedIcon";
/**
* 按钮在灰化状态的图标key
*/
public static final String DISABLED_ICON = "disabledIcon";
/**
@ -162,6 +174,19 @@ public abstract class UpdateAction extends ShortCut implements Action {
this.putValue(Action.SMALL_ICON, smallIcon);
}
/**
* 使用传入资源url的方式设置Icon可以自动设置对应的"_normal.svg""_disabled.svg"
* 但是要保证文件名的统一例如a.png对应a_normal.svga_disabled.svg
* 如果a_disabled.svg或者a_pressed.svg缺失则不会被设置成灰化状态或者按压状态图标
* 如果a_normal.svg缺失则会读到a.png这也就不是一个SVGIcon了
* 如果连 a.png 也不存在那么这个action的图标就是空白的
* @param resource
*/
public void setSmallIcon(String resource) {
this.putValue(Action.SMALL_ICON, IconUtils.readIcon(resource));
this.putValue(UpdateAction.DISABLED_ICON, IconUtils.readSVGIcon(resource, IconUtils.ICON_TYPE_DISABLED));
}
public void setSmallIcon(Icon[] smallIcon, boolean white) {
this.putValue(Action.SMALL_ICON, smallIcon);
}
@ -251,6 +276,14 @@ public abstract class UpdateAction extends ShortCut implements Action {
}
public void setPressedIcon(Icon pressedIcon) {
this.putValue(UpdateAction.PRESSED_ICON, pressedIcon);
}
public void setDisabledIcon(Icon disabledIcon) {
this.putValue(UpdateAction.DISABLED_ICON, disabledIcon);
}
@Override
public synchronized void addPropertyChangeListener(PropertyChangeListener listener) {
@ -271,6 +304,8 @@ public abstract class UpdateAction extends ShortCut implements Action {
UIMenuItem menuItem = new UIMenuItem(this);
// 设置名字用作单元测
menuItem.setName(getName());
setPressedIcon4Button(menuItem);
setDisabledIcon4Button(menuItem);
object = menuItem;
this.putValue(UIMenuItem.class.getName(), object);
@ -282,6 +317,8 @@ public abstract class UpdateAction extends ShortCut implements Action {
UIMenuEastAttrItem menuItem = new UIMenuEastAttrItem(this);
// 设置名字用作单元测
menuItem.setName(getName());
setPressedIcon4Button(menuItem);
setDisabledIcon4Button(menuItem);
this.putValue(UIMenuItem.class.getName(), menuItem);
return menuItem;
}
@ -307,6 +344,8 @@ public abstract class UpdateAction extends ShortCut implements Action {
}
button.setIcon((Icon) this.getValue(Action.SMALL_ICON));
setPressedIcon4Button(button);
setDisabledIcon4Button(button);
button.addActionListener(this);
button.registerKeyboardAction(this, this.getAccelerator(), JComponent.WHEN_IN_FOCUSED_WINDOW);
@ -454,6 +493,8 @@ public abstract class UpdateAction extends ShortCut implements Action {
object = new UseMenuItem(this);
this.putValue(UseMenuItem.class.getName(), object);
}
setPressedIcon4Button((UseMenuItem) object);
setDisabledIcon4Button((UseMenuItem) object);
return (UseMenuItem) object;
}
@ -594,4 +635,17 @@ public abstract class UpdateAction extends ShortCut implements Action {
shortPinyin.append(PinyinHelper.getShortPinyin(title)).append(separator);
}
}
private void setPressedIcon4Button(AbstractButton button) {
Icon pressedIcon = (Icon) this.getValue(UpdateAction.PRESSED_ICON);
if (pressedIcon != null && pressedIcon instanceof SVGIcon) {
button.setPressedIcon(pressedIcon);
}
}
private void setDisabledIcon4Button(AbstractButton button) {
Icon disabledIcon = (Icon) this.getValue(UpdateAction.DISABLED_ICON);
if (disabledIcon != null && disabledIcon instanceof SVGIcon) {
button.setDisabledIcon(disabledIcon);
}
}
}

8
designer-base/src/main/java/com/fr/design/actions/community/BBSAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.community;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
@ -13,15 +13,15 @@ import java.awt.event.ActionEvent;
public class BBSAction extends UpdateAction
{
public BBSAction()
{
this.setMenuKeySet(BBS);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/bbs.png"));
this.setSmallIcon("/com/fr/design/images/bbs/bbs");
}
/**

9
designer-base/src/main/java/com/fr/design/actions/community/BugAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.community;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.utils.BrowseUtils;
@ -17,8 +17,7 @@ public class BugAction extends UpdateAction
{ this.setMenuKeySet(BUG);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/bug.png"));
this.setSmallIcon("/com/fr/design/images/bbs/bug");
}
@Override
@ -29,7 +28,7 @@ public void actionPerformed(ActionEvent arg0)
}
public static final MenuKeySet BUG = new MenuKeySet() {
@Override
public String getMenuName() {
return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Community_Bug");
@ -43,7 +42,7 @@ public void actionPerformed(ActionEvent arg0)
@Override
public char getMnemonic()
{
return 'U';
}
};

4
designer-base/src/main/java/com/fr/design/actions/community/BugNeedAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.community;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.locale.impl.BugNeedMark;
import com.fr.design.menu.MenuKeySet;
@ -20,7 +20,7 @@ public class BugNeedAction extends UpdateAction {
this.setMenuKeySet(BugAndNeed);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/need.png"));
this.setSmallIcon("/com/fr/design/images/bbs/need");
}
@Override

4
designer-base/src/main/java/com/fr/design/actions/community/CenterAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.community;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.utils.BrowseUtils;
import com.fr.general.CloudCenter;
@ -17,7 +17,7 @@ public class CenterAction extends UpAction{
this.setMenuKeySet(CENTER);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/center.png"));
this.setSmallIcon("/com/fr/design/images/bbs/center");
}

5
designer-base/src/main/java/com/fr/design/actions/community/FacebookFansAction.java

@ -1,10 +1,9 @@
package com.fr.design.actions.community;
import com.fr.base.svg.IconUtils;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.utils.BrowseUtils;
import com.fr.general.CloudCenter;
import com.fr.general.IOUtils;
import javax.swing.KeyStroke;
import java.awt.event.ActionEvent;
@ -14,7 +13,7 @@ public class FacebookFansAction extends UpAction {
this.setMenuKeySet(FACEBOOKFANS);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/bbs/facebook.png"));
this.setSmallIcon("/com/fr/design/images/bbs/facebook");
}
@Override

4
designer-base/src/main/java/com/fr/design/actions/community/NeedAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.community;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.utils.BrowseUtils;
@ -18,7 +18,7 @@ public class NeedAction extends UpdateAction
this.setMenuKeySet(NEED);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/need.png"));
this.setSmallIcon("/com/fr/design/images/bbs/need");
}

4
designer-base/src/main/java/com/fr/design/actions/community/QuestionAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.community;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.utils.BrowseUtils;
@ -16,7 +16,7 @@ public class QuestionAction extends UpdateAction {
this.setMenuKeySet(QUESTIONS);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/question.png"));
this.setSmallIcon("/com/fr/design/images/bbs/question");
}

5
designer-base/src/main/java/com/fr/design/actions/community/SignAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.community;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
@ -19,8 +19,7 @@ public class SignAction extends UpdateAction
this.setMenuKeySet(SIGN);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/sign.png"));
this.setSmallIcon("/com/fr/design/images/bbs/sign");
}
@Override

4
designer-base/src/main/java/com/fr/design/actions/community/TechSolutionAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.community;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.utils.BrowseUtils;
@ -21,7 +21,7 @@ public class TechSolutionAction extends UpdateAction{
this.setMenuKeySet(TSO);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/solution.png"));
this.setSmallIcon("/com/fr/design/images/bbs/solution");
}

5
designer-base/src/main/java/com/fr/design/actions/community/VideoAction.java

@ -1,10 +1,10 @@
package com.fr.design.actions.community;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.locale.impl.VideoMark;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.utils.BrowseUtils;
import com.fr.general.IOUtils;
import com.fr.general.locale.LocaleCenter;
import com.fr.general.locale.LocaleMark;
@ -20,8 +20,7 @@ public class VideoAction extends UpdateAction
this.setMenuKeySet(VIDEO);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/bbs/video.png"));
this.setSmallIcon("/com/fr/design/images/bbs/video");
}
@Override

5
designer-base/src/main/java/com/fr/design/actions/edit/CopyAction.java

@ -3,7 +3,6 @@
*/
package com.fr.design.actions.edit;
import com.fr.base.BaseUtils;
import com.fr.design.actions.TemplateComponentAction;
import com.fr.design.base.mode.DesignModeContext;
import com.fr.design.designer.TargetComponent;
@ -22,7 +21,7 @@ public class CopyAction extends TemplateComponentAction {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_M_Edit_Copy"));
this.setMnemonic('C');
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_edit/copy.png"));
this.setSmallIcon("/com/fr/design/images/m_edit/copy");
this.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, DEFAULT_MODIFIER));
this.setEnabled(!DesignModeContext.isBanCopyAndCut());
}
@ -32,4 +31,4 @@ public class CopyAction extends TemplateComponentAction {
DesignModeContext.doCopy(getEditingComponent());
return false;
}
}
}

5
designer-base/src/main/java/com/fr/design/actions/edit/CutAction.java

@ -3,7 +3,6 @@
*/
package com.fr.design.actions.edit;
import com.fr.base.BaseUtils;
import com.fr.design.actions.TemplateComponentAction;
import com.fr.design.base.mode.DesignModeContext;
import com.fr.design.designer.TargetComponent;
@ -26,7 +25,7 @@ public class CutAction extends TemplateComponentAction {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_M_Edit_Cut"));
this.setMnemonic('T');
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_edit/cut.png"));
this.setSmallIcon("/com/fr/design/images/m_edit/cut");
this.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, DEFAULT_MODIFIER));
this.setEnabled(!DesignModeContext.isBanCopyAndCut());
}
@ -35,4 +34,4 @@ public class CutAction extends TemplateComponentAction {
public boolean executeActionReturnUndoRecordNeeded() {
return DesignModeContext.doCut(getEditingComponent());
}
}
}

5
designer-base/src/main/java/com/fr/design/actions/edit/PasteAction.java

@ -3,7 +3,6 @@
*/
package com.fr.design.actions.edit;
import com.fr.base.BaseUtils;
import com.fr.design.actions.TemplateComponentAction;
import com.fr.design.base.mode.DesignModeContext;
import com.fr.design.designer.TargetComponent;
@ -25,7 +24,7 @@ public class PasteAction extends TemplateComponentAction {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_M_Edit_Paste"));
this.setMnemonic('P');
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_edit/paste.png"));
this.setSmallIcon("/com/fr/design/images/m_edit/paste");
this.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, DEFAULT_MODIFIER));
}
@ -33,4 +32,4 @@ public class PasteAction extends TemplateComponentAction {
public boolean executeActionReturnUndoRecordNeeded() {
return DesignModeContext.doPaste(getEditingComponent());
}
}
}

5
designer-base/src/main/java/com/fr/design/actions/edit/RedoAction.java

@ -5,7 +5,6 @@ package com.fr.design.actions.edit;
import java.awt.event.ActionEvent;
import com.fr.base.BaseUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.actions.TemplateComponentActionInterface;
import com.fr.design.actions.UpdateAction;
@ -23,7 +22,7 @@ public class RedoAction extends UpdateAction implements TemplateComponentActionI
this.setMenuKeySet(KeySetUtils.REDO);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_edit/redo.png"));
this.setSmallIcon("com/fr/design/images/m_edit/redo");
this.setAccelerator(getMenuKeySet().getKeyStroke());
}
@ -56,4 +55,4 @@ public class RedoAction extends UpdateAction implements TemplateComponentActionI
}
}
}
}

7
designer-base/src/main/java/com/fr/design/actions/edit/UndoAction.java

@ -5,7 +5,6 @@ package com.fr.design.actions.edit;
import java.awt.event.ActionEvent;
import com.fr.base.BaseUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.actions.TemplateComponentActionInterface;
import com.fr.design.actions.UpdateAction;
@ -23,10 +22,10 @@ public class UndoAction extends UpdateAction implements TemplateComponentActionI
this.setMenuKeySet(KeySetUtils.UNDO);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_edit/undo.png"));
this.setSmallIcon("/com/fr/design/images/m_edit/undo");
this.setAccelerator(getMenuKeySet().getKeyStroke());
}
@Override
public JTemplate<?, ?> getEditingComponent() {
return t;
@ -57,4 +56,4 @@ public class UndoAction extends UpdateAction implements TemplateComponentActionI
}
}
}

8
designer-base/src/main/java/com/fr/design/actions/file/OpenTemplateAction.java

@ -5,7 +5,7 @@ package com.fr.design.actions.file;
import java.awt.event.ActionEvent;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.menu.KeySetUtils;
@ -17,12 +17,12 @@ import com.fr.file.FILEChooserPane;
* Open Template.
*/
public class OpenTemplateAction extends UpdateAction {
public OpenTemplateAction() {
this.setMenuKeySet(KeySetUtils.OPEN_TEMPLATE);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/buttonicon/open.png"));
this.setSmallIcon("/com/fr/design/images/buttonicon/open");
this.setAccelerator(getMenuKeySet().getKeyStroke());
}
@ -42,4 +42,4 @@ public class OpenTemplateAction extends UpdateAction {
DesignerContext.getDesignerFrame().openTemplate(file);
}
}
}
}

6
designer-base/src/main/java/com/fr/design/actions/file/SaveAsTemplateAction.java

@ -5,7 +5,7 @@ package com.fr.design.actions.file;
import java.awt.event.ActionEvent;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.JTemplateAction;
import com.fr.design.mainframe.JTemplate;
import com.fr.design.menu.KeySetUtils;
@ -20,7 +20,7 @@ public class SaveAsTemplateAction extends JTemplateAction<JTemplate<?, ?>> {
this.setMenuKeySet(KeySetUtils.SAVE_AS_TEMPLATE);
this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/saveAs.png"));
this.setSmallIcon("/com/fr/design/images/m_file/saveAs");
}
/**
@ -45,4 +45,4 @@ public class SaveAsTemplateAction extends JTemplateAction<JTemplate<?, ?>> {
// 另存为按钮应该一直可用使用
this.setEnabled(true);
}
}
}

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

@ -5,7 +5,6 @@ package com.fr.design.actions.file;
import java.awt.event.ActionEvent;
import com.fr.base.BaseUtils;
import com.fr.design.actions.JTemplateAction;
import com.fr.design.mainframe.JTemplate;
import com.fr.design.menu.KeySetUtils;
@ -21,7 +20,7 @@ public class SaveTemplateAction extends JTemplateAction<JTemplate<?, ?>> {
this.setMenuKeySet(KeySetUtils.SAVE_TEMPLATE);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/save.png"));
this.setSmallIcon("/com/fr/design/images/m_file/save");
this.setAccelerator(getMenuKeySet().getKeyStroke());
}
@ -42,4 +41,4 @@ public class SaveTemplateAction extends JTemplateAction<JTemplate<?, ?>> {
this.setEnabled(!this.getEditingComponent().isSaved());
}
}
}

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

@ -1,6 +1,6 @@
package com.fr.design.actions.file;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.EnvChangeEntrance;
import com.fr.design.actions.UpdateAction;
@ -21,11 +21,11 @@ public class SwitchExistEnv extends MenuDef {
initMenuDef();
}
private void initMenuDef() {
private void initMenuDef() {
Iterator<String> nameIt = DesignerEnvManager.getEnvManager().getEnvNameIterator();
while (nameIt.hasNext()) {
String name = nameIt.next();
this.setIconPath("com/fr/design/images/m_file/switch.png");
this.setIconPath("com/fr/design/images/m_file/switch");
this.addShortCut(new GetExistEnvAction(name));
}
this.addShortCut(SeparatorDef.DEFAULT);
@ -42,11 +42,11 @@ public class SwitchExistEnv extends MenuDef {
DesignerWorkspaceInfo env = DesignerEnvManager.getEnvManager().getWorkspaceInfo(envName);
switch (env.getType()) {
case Local: {
this.setSmallIcon(BaseUtils.readIcon("com/fr/design/images/data/bind/localconnect.png"));
this.setSmallIcon("com/fr/design/images/data/bind/localconnect");
break;
}
case Remote: {
this.setSmallIcon(BaseUtils.readIcon("com/fr/design/images/data/bind/distanceconnect.png"));
this.setSmallIcon("com/fr/design/images/data/bind/distanceconnect");
break;
}
}

4
designer-base/src/main/java/com/fr/design/actions/help/TutorialAction.java

@ -1,10 +1,10 @@
package com.fr.design.actions.help;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
import com.fr.general.CloudCenter;
import com.fr.general.GeneralContext;
import com.fr.general.IOUtils;
import com.fr.general.http.HttpToolbox;
import com.fr.log.FineLoggerFactory;
import com.fr.stable.CommonUtils;
@ -28,7 +28,7 @@ public class TutorialAction extends UpdateAction {
this.setMenuKeySet(HELP_TUTORIAL);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/bbs/help.png"));
this.setSmallIcon("/com/fr/design/images/bbs/help");
this.setAccelerator(getMenuKeySet().getKeyStroke());
}

6
designer-base/src/main/java/com/fr/design/actions/help/WebDemoAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.help;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
@ -16,7 +16,7 @@ public class WebDemoAction extends UpdateAction {
this.setMenuKeySet(PRODUCT_DEMO);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_help/demo.png"));
this.setSmallIcon("/com/fr/design/images/m_help/demo");
}
/**
@ -45,4 +45,4 @@ public class WebDemoAction extends UpdateAction {
}
};
}
}

4
designer-base/src/main/java/com/fr/design/actions/help/alphafine/AlphaFineAction.java

@ -1,5 +1,6 @@
package com.fr.design.actions.help.alphafine;
import com.fr.base.svg.SVGIcon;
import com.fr.design.DesignerEnvManager;
import com.fr.design.actions.UpdateAction;
import com.fr.design.dialog.BasicDialog;
@ -8,7 +9,6 @@ import com.fr.design.dialog.DialogActionListener;
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.DesignerFrame;
import com.fr.design.menu.MenuKeySet;
import com.fr.general.IOUtils;
import javax.swing.KeyStroke;
import java.awt.event.ActionEvent;
@ -21,7 +21,7 @@ public class AlphaFineAction extends UpdateAction {
this.setMenuKeySet(ALPHAFINE);
this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/mainframe/alphafine/images/smallsearch.png"));
this.setSmallIcon("com/fr/design/mainframe/alphafine/images/smallsearch");
this.generateAndSetSearchText(AlphaFineConfigPane.class.getName());
}

6
designer-base/src/main/java/com/fr/design/actions/server/ConnectionListAction.java

@ -1,5 +1,6 @@
package com.fr.design.actions.server;
import com.fr.base.svg.IconUtils;
import com.fr.data.impl.Connection;
import com.fr.design.actions.UpdateAction;
import com.fr.design.data.datapane.connect.ConnectionShowPane;
@ -11,7 +12,6 @@ import com.fr.stable.os.support.OSBasedAction;
import com.fr.stable.os.support.OSSupportCenter;
import com.fr.design.os.impl.DatabaseDialogAction;
import com.fr.file.ConnectionConfig;
import com.fr.general.IOUtils;
import javax.swing.*;
import java.awt.event.ActionEvent;
@ -26,7 +26,7 @@ public class ConnectionListAction extends UpdateAction {
this.setMenuKeySet(DEFINE_DATA_CONNECTION);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_web/connection.png"));
this.setSmallIcon("/com/fr/design/images/m_web/connection");
this.generateAndSetSearchText(DatabaseConnectionPane.JDBC.class.getName());
}
@ -96,4 +96,4 @@ public class ConnectionListAction extends UpdateAction {
public void update() {
this.setEnabled(true);
}
}
}

8
designer-base/src/main/java/com/fr/design/actions/server/FunctionManagerAction.java

@ -4,6 +4,7 @@
package com.fr.design.actions.server;
import com.fr.base.svg.IconUtils;
import com.fr.config.Configuration;
import com.fr.design.actions.UpdateAction;
import com.fr.design.dialog.BasicDialog;
@ -12,7 +13,6 @@ import com.fr.design.formula.FunctionManagerPane;
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.menu.MenuKeySet;
import com.fr.file.FunctionConfig;
import com.fr.general.IOUtils;
import com.fr.transaction.Configurations;
import com.fr.transaction.Worker;
@ -29,7 +29,7 @@ public class FunctionManagerAction extends UpdateAction {
this.setMenuKeySet(FUNCTION_MANAGER);
this.setName(getMenuKeySet().getMenuKeySetName()+"...");
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_web/function.png"));
this.setSmallIcon("/com/fr/design/images/m_web/function");
this.generateAndSetSearchText(FunctionManagerPane.class.getName());
}
@ -63,7 +63,7 @@ public class FunctionManagerAction extends UpdateAction {
functionManagerPane.populate(mirror);
functionManagerDialog.setVisible(true);
}
public void update() {
this.setEnabled(true);
}
@ -84,4 +84,4 @@ public class FunctionManagerAction extends UpdateAction {
return null;
}
};
}
}

6
designer-base/src/main/java/com/fr/design/actions/server/GlobalParameterAction.java

@ -3,8 +3,8 @@
*/
package com.fr.design.actions.server;
import com.fr.base.BaseUtils;
import com.fr.base.ParameterConfig;
import com.fr.base.svg.IconUtils;
import com.fr.config.ServerPreferenceConfig;
import com.fr.design.DesignModelAdapter;
import com.fr.design.actions.UpdateAction;
@ -31,7 +31,7 @@ public class GlobalParameterAction extends UpdateAction {
this.setMenuKeySet(GLOBAL_PARAMETER);
this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_report/p.png"));
this.setSmallIcon("/com/fr/design/images/m_report/p");
}
/**
@ -91,4 +91,4 @@ public class GlobalParameterAction extends UpdateAction {
return null;
}
};
}
}

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

@ -3,8 +3,8 @@
*/
package com.fr.design.actions.server;
import com.fr.base.BaseUtils;
import com.fr.base.TableData;
import com.fr.base.svg.IconUtils;
import com.fr.design.DesignModelAdapter;
import com.fr.design.actions.UpdateAction;
import com.fr.design.data.DesignTableDataManager;
@ -40,7 +40,7 @@ public class GlobalTableDataAction extends UpdateAction implements ResponseDataS
this.setMenuKeySet(SERVER_TABLEDATA);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/data/dock/serverdatabase.png"));
this.setSmallIcon("/com/fr/design/images/data/dock/serverdatabase");
}
public static final MenuKeySet SERVER_TABLEDATA = new MenuKeySet() {
@ -70,7 +70,7 @@ public class GlobalTableDataAction extends UpdateAction implements ResponseDataS
final TableDataConfig tableDataConfig = TableDataConfig.getInstance();
final TableDataManagerPane globalTableDataPane = new TableDataManagerPane() {
public void complete() {
TableDataConfig mirror = tableDataConfig.mirror();
populate(mirror);
}
@ -166,4 +166,4 @@ public class GlobalTableDataAction extends UpdateAction implements ResponseDataS
public void fireDSChanged(Map<String, String> map) {
DesignTableDataManager.fireDSChanged(map);
}
}
}

6
designer-base/src/main/java/com/fr/design/actions/server/PlatformManagerAction.java

@ -1,6 +1,6 @@
package com.fr.design.actions.server;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.utils.DesignUtils;
@ -14,7 +14,7 @@ public class PlatformManagerAction extends UpdateAction {
this.setMenuKeySet(PLATEFORM_MANAGER);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/server/platform_16_16.png"));
this.setSmallIcon("/com/fr/design/images/server/platform_16_16");
}
/**
@ -41,4 +41,4 @@ public class PlatformManagerAction extends UpdateAction {
return null;
}
};
}
}

6
designer-base/src/main/java/com/fr/design/actions/server/PluginManagerAction.java

@ -1,9 +1,9 @@
package com.fr.design.actions.server;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.os.impl.PMDialogAction;
import com.fr.general.IOUtils;
import com.fr.stable.os.support.OSBasedAction;
import com.fr.stable.os.support.OSSupportCenter;
@ -20,7 +20,7 @@ public class PluginManagerAction extends UpdateAction {
this.setMenuKeySet(PLUGIN_MANAGER);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/server/plugin.png"));
this.setSmallIcon("/com/fr/design/images/server/plugin");
}
@Override
public void actionPerformed(ActionEvent e) {
@ -45,4 +45,4 @@ public class PluginManagerAction extends UpdateAction {
return null;
}
};
}
}

2
designer-base/src/main/java/com/fr/design/constants/UIConstants.java

@ -3,6 +3,7 @@
*/
package com.fr.design.constants;
import com.fr.base.svg.IconUtils;
import com.fr.general.IOUtils;
import com.fr.stable.Constants;
@ -179,6 +180,7 @@ public interface UIConstants {
public static final Icon YES_ICON = IOUtils.readIcon("com/fr/design/images/buttonicon/yes.png");
public static final Icon CHOOSEN_ICON = IOUtils.readIcon("com/fr/design/images/buttonicon/select_item.png");
public static final Icon PRE_WIDGET_ICON = IOUtils.readIcon("com/fr/design/images/buttonicon/prewidget.png");
public static final Icon PRE_WIDGET_NORMAL_ICON = IconUtils.readIcon("com/fr/design/images/buttonicon/prewidget");
public static final Icon EDIT_NORMAL_ICON = IOUtils.readIcon("com/fr/design/images/buttonicon/editn.png");
public static final Icon EDIT_PRESSED_ICON = IOUtils.readIcon("com/fr/design/images/buttonicon/editp.png");
public static final Icon HIDE_NORMAL_ICON = IOUtils.readIcon("com/fr/design/images/buttonicon/hiden.png");

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

@ -398,7 +398,7 @@ public abstract class BasicTableDataTreePane extends DockingView implements Resp
public PreviewTableDataAction(TableDataTree dataTree) {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preview"));
this.setMnemonic('p');
this.setSmallIcon(BaseUtils.readIcon(IconPathConstants.PREVIEW_ICON_PATH));
this.setSmallIcon("/com/fr/design/images/m_file/preview");
this.dataTree = dataTree;
}
@ -437,7 +437,7 @@ public abstract class BasicTableDataTreePane extends DockingView implements Resp
public ConnectionTableAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Server_Define_Data_Connection"));
this.setMnemonic('D');
this.setSmallIcon(BaseUtils.readIcon(IconPathConstants.TD_CONNECTION_ICON_PATH));
this.setSmallIcon("/com/fr/design/images/m_web/connection");
}
}

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

@ -247,7 +247,7 @@ public class TableDataTreePane extends BasicTableDataTreePane {
public EditAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Edit"));
this.setMnemonic('E');
this.setSmallIcon(BaseUtils.readIcon(IconPathConstants.TD_EDIT_ICON_PATH));
this.setSmallIcon("/com/fr/design/images/control/edit");
}
public void actionPerformed(ActionEvent e) {
@ -265,7 +265,7 @@ public class TableDataTreePane extends BasicTableDataTreePane {
public RemoveAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remove"));
this.setMnemonic('R');
this.setSmallIcon(BaseUtils.readIcon(IconPathConstants.TD_REMOVE_ICON_PATH));
this.setSmallIcon("/com/fr/design/images/control/remove");
}
@Override

2
designer-base/src/main/java/com/fr/design/data/datapane/sqlpane/SQLEditPane.java

File diff suppressed because one or more lines are too long

31
designer-base/src/main/java/com/fr/design/gui/core/WidgetOption.java

@ -1,6 +1,7 @@
package com.fr.design.gui.core;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.form.ui.*;
import com.fr.general.ComparatorUtils;
@ -127,27 +128,27 @@ public abstract class WidgetOption implements Serializable {
}
public static final WidgetOption DATEEDITOR = WidgetOptionFactory.createByWidgetClass(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Date"),
BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/date_16.png"),
"/com/fr/design/images/buttonicon/widget/date_16",
DateEditor.class);
public static final WidgetOption TREE = WidgetOptionFactory.createByWidgetClass(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_View_Tree"),
BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/tree_16.png"), TreeEditor.class);
"/com/fr/design/images/buttonicon/widget/tree_16", TreeEditor.class);
public static final WidgetOption TREECOMBOBOX = WidgetOptionFactory.createByWidgetClass(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tree_ComboBox"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/comboboxtree.png"),
public static final WidgetOption TREECOMBOBOX = WidgetOptionFactory.createByWidgetClass(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tree_ComboBox"), "/com/fr/design/images/buttonicon/widget/comboboxtree16",
TreeComboBoxEditor.class);
public static final WidgetOption CHECKBOXGROUP = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Checkbox_Group"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/checkbox_group_16.png"), CheckBoxGroup.class);
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Checkbox_Group"), "/com/fr/design/images/buttonicon/widget/checkbox_group_16", CheckBoxGroup.class);
public static final WidgetOption RADIOGROUP = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Radio_Group"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/button_group_16.png"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Radio_Group"), "/com/fr/design/images/buttonicon/widget/button_group_16",
RadioGroup.class);
public static final WidgetOption NUMBEREDITOR = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Number"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/number_field_16.png"), NumberEditor.class);
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Number"), "/com/fr/design/images/buttonicon/widget/number_field_16", NumberEditor.class);
public static final WidgetOption LABEL = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Label"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/label_16.png"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Label"), "/com/fr/design/images/buttonicon/widget/label_16",
Label.class);
public static final WidgetOption BUTTON = WidgetOptionFactory.createByWidgetClass(
@ -155,23 +156,23 @@ public abstract class WidgetOption implements Serializable {
Button.class);
public static final WidgetOption FREEBUTTON = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Button"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/button_16.png"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Button"), "/com/fr/design/images/buttonicon/widget/button_16",
FreeButton.class);
public static final WidgetOption MULTI_FILEEDITOR = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_File"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/files_up.png"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_File"), "/com/fr/design/images/buttonicon/widget/files_up",
MultiFileEditor.class);
public static final WidgetOption COMBOBOX = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Combo_Box"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/combo_box_16.png"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Combo_Box"), "/com/fr/design/images/buttonicon/widget/combo_box_16",
ComboBox.class);
public static final WidgetOption COMBOCHECKBOX = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Combo_Checkbox"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/combo_check_16.png"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Combo_Checkbox"), "/com/fr/design/images/buttonicon/widget/combo_check_16",
ComboCheckBox.class);
public static final WidgetOption CHECKBOX = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Checkbox"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/check_box_16.png"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Checkbox"), "/com/fr/design/images/buttonicon/widget/check_box_16",
CheckBox.class);
public static final WidgetOption LIST = WidgetOptionFactory.createByWidgetClass(
@ -181,16 +182,16 @@ public abstract class WidgetOption implements Serializable {
public static final WidgetOption TEXTEDITOR = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Text")
, BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/text_field_16.png"),
, "/com/fr/design/images/buttonicon/widget/text_field_16",
TextEditor.class);
public static final WidgetOption TEXTAREA = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Textarea"), BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/text_area_16.png"),
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Textarea"), "/com/fr/design/images/buttonicon/widget/text_area_16",
TextArea.class);
public static final WidgetOption PASSWORD = WidgetOptionFactory.createByWidgetClass(
com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Type_Password"),
BaseUtils.readIcon("/com/fr/design/images/buttonicon/widget/password_field_16.png"), Password.class);
"/com/fr/design/images/buttonicon/widget/password_field_16", Password.class);
public static final WidgetOption IFRAMEDITOR = WidgetOptionFactory.createByWidgetClass(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Form_Iframe"), BaseUtils.readIcon("/com/fr/web/images/form/resources/iframe_16.png"),
IframeEditor.class);

8
designer-base/src/main/java/com/fr/design/gui/core/WidgetOptionFactory.java

@ -1,6 +1,7 @@
package com.fr.design.gui.core;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.form.ui.Widget;
import javax.swing.*;
@ -14,4 +15,9 @@ public class WidgetOptionFactory {
public static WidgetOption createByWidgetClass(String optionName, Icon optionIcon, Class<? extends Widget> widgetClass) {
return new CustomWidgetOption(optionName, optionIcon, widgetClass);
}
}
public static WidgetOption createByWidgetClass(String optionName, String resource, Class<? extends Widget> widgetClass) {
Icon optionIcon = IconUtils.readIcon(resource);
return new CustomWidgetOption(optionName, optionIcon, widgetClass);
}
}

11
designer-base/src/main/java/com/fr/design/gui/ibutton/UIButton.java

@ -3,6 +3,7 @@ package com.fr.design.gui.ibutton;
import com.fr.base.BaseUtils;
import com.fr.base.CellBorderStyle;
import com.fr.base.GraphHelper;
import com.fr.base.svg.IconUtils;
import com.fr.design.constants.UIConstants;
import com.fr.design.event.UIObserver;
import com.fr.design.event.UIObserverListener;
@ -97,6 +98,14 @@ public class UIButton extends JButton implements UIObserver, UITextComponent {
initListener();
}
public UIButton(String resource, boolean needSetDisabledIcon) {
super(IconUtils.readSVGIcon(resource, IconUtils.ICON_TYPE_NORMAL));
if (needSetDisabledIcon) {
this.setDisabledIcon(IconUtils.readSVGIcon(resource, IconUtils.ICON_TYPE_DISABLED));
}
init();
}
protected void initListener() {
if (shouldResponseChangeListener()) {
this.addActionListener(new ActionListener() {
@ -388,4 +397,4 @@ public class UIButton extends JButton implements UIObserver, UITextComponent {
public boolean shouldResponseChangeListener() {
return true;
}
}
}

2
designer-base/src/main/java/com/fr/design/icon/IconPathConstants.java

@ -26,7 +26,7 @@ public class IconPathConstants {
public static final String TD_EDIT_ICON_PATH = "/com/fr/design/images/control/edit.png";
public static final String TD_EL_SHARE_HELP_ICON_PATH = "/com/fr/design/images/control/help_open.png";
public static final String TD_EL_SHARE_CLOSE_ICON_PATH = "/com/fr/design/images/control/help_close.png";
public static final String TD_REMOVE_ICON_PATH = "/com/fr/design/images/control/tab/remove.png";
public static final String TD_REMOVE_ICON_PATH = "/com/fr/design/images/control/remove.png";
public static final String TD_CONNECTION_ICON_PATH = "/com/fr/design/images/m_web/connection.png";
public static final String SP_SHOW_ICON_PATH = "/com/fr/design/images/data/store_procedure.png";
public static final String STD_SHOW_ICON_PATH = "/com/fr/design/images/data/dock/serverdatabase.png";

12
designer-base/src/main/java/com/fr/design/mainframe/DesignerFrameFileDealerPane.java

@ -316,7 +316,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
public NewFolderAction() {
this.setName(KeySetUtils.NEW_FOLDER.getMenuKeySetName());
this.setSmallIcon(BaseUtils.readIcon("com/fr/design/images/icon_NewFolderIcon_normal.png"));
this.setSmallIcon("/com/fr/design/images/FileDealerPaneIcon/new_folder");
}
@Override
@ -342,7 +342,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
private class VcsAction extends UpdateAction {
public VcsAction() {
this.setSmallIcon(VcsHelper.VCS_LIST_PNG);
this.setSmallIcon("/com/fr/design/images/FileDealerPaneIcon/vcs_list");
}
@Override
@ -424,7 +424,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
public ShowInExplorerAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Show_In_Containing_Folder"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/view_folder.png"));
this.setSmallIcon("/com/fr/design/images/FileDealerPaneIcon/view_folder");
}
@Override
@ -441,7 +441,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
public RefreshTreeAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Refresh"));
this.setSmallIcon(UIConstants.REFRESH_ICON);
this.setSmallIcon("/com/fr/design/images/FileDealerPaneIcon/refresh");
}
@Override
@ -459,7 +459,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
public RenameAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Rename"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/data/source/rename.png"));
this.setSmallIcon("/com/fr/design/images/FileDealerPaneIcon/rename");
}
@Override
@ -498,7 +498,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
public DelFileAction() {
this.setName(Toolkit.i18nText("Fine-Design_Basic_Remove"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/data/source/delete.png"));
this.setSmallIcon("/com/fr/design/images/FileDealerPaneIcon/remove");
}
@Override

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

@ -1,7 +1,8 @@
package com.fr.design.mainframe;
import com.fr.base.BaseUtils;
import com.fr.base.FRContext;
import com.fr.base.svg.IconUtils;
import com.fr.base.vcs.DesignerMode;
import com.fr.design.DesignerEnvManager;
import com.fr.design.ExtraDesignClassManager;
@ -701,9 +702,11 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
// 完整icon路径为 ICON_BASE_DIR + btnIconName + iconSuffix
private static final String ICON_BASE_DIR = "/com/fr/design/images/buttonicon/propertiestab/";
private static final String ICON_SUFFIX_NORMAL = "_normal.png";
private static final String ICON_SUFFIX_DISABLED = "_disabled.png";
private static final String ICON_SUFFIX_SELECTED = "_selected.png";
private static final String ICON_SUFFIX_NORMAL = "_normal.svg";
private static final String ICON_SUFFIX_DISABLED = "_disabled.svg";
private static final String ICON_SUFFIX_SELECTED = "_selected.svg";
private static final int ICON_WIDTH = 18;
private static final int ICON_HEIGHT = 18;
private String btnIconName;
private String iconBaseDir;
private String iconSuffix = ICON_SUFFIX_NORMAL; // normal, diabled, selected, 三者之一
@ -888,7 +891,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
public void resetButtonIcon() {
if (iconSuffix.equals(ICON_SUFFIX_SELECTED)) {
iconSuffix = ICON_SUFFIX_NORMAL;
button.setIcon(BaseUtils.readIcon(getBtnIconUrl()));
button.setIcon(IconUtils.readIcon(getBtnIconUrl()));
button.setBackground(originBtnBackground);
button.setOpaque(false);
}
@ -897,7 +900,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
public void setTabButtonSelected() {
resetPropertyIcons();
iconSuffix = ICON_SUFFIX_SELECTED;
button.setIcon(BaseUtils.readIcon(getBtnIconUrl()));
button.setIcon(IconUtils.readIcon(getBtnIconUrl()));
button.setBackground(selectedBtnBackground);
button.setOpaque(true);
selectedItem = this;
@ -908,7 +911,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
}
private void initButton() {
button = new UIButton(BaseUtils.readIcon(getBtnIconUrl())) {
button = new UIButton(IconUtils.readIcon(getBtnIconUrl())) {
public Dimension getPreferredSize() {
return new Dimension(TAB_BUTTON_WIDTH, TAB_BUTTON_HEIGHT);
}
@ -921,6 +924,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
}
}
};
button.setDisabledIcon(IconUtils.readIcon(getIconBaseDir() + btnIconName + ICON_SUFFIX_DISABLED));
button.set4LargeToolbarButton();
button.setUI(new UIButtonUI() {
@Override

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

@ -1,6 +1,6 @@
package com.fr.design.menu;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.imenu.*;
import com.fr.design.gui.iscrollbar.UIScrollBar;
@ -141,7 +141,7 @@ public class MenuDef extends ShortCut {
addShortCut(i);
}
}
public void addShortCut(ShortCut shortCut) {
this.shortcutList.add(shortCut);
}
@ -166,7 +166,7 @@ public class MenuDef extends ShortCut {
public UIButton createUIButton() {
if (createdButton == null) {
if (iconPath != null) {
createdButton = new UIButton(BaseUtils.readIcon(iconPath));
createdButton = new UIButton(IconUtils.readIcon(iconPath));
createdButton.set4ToolbarButton();
} else {
createdButton = new UIButton(name);
@ -194,7 +194,7 @@ public class MenuDef extends ShortCut {
createdJMenu = createJMenu0();
createdJMenu.setMnemonic(this.getMnemonic());
if (this.iconPath != null) {
createdJMenu.setIcon(BaseUtils.readIcon(this.iconPath));
createdJMenu.setIcon(IconUtils.readIcon(iconPath));
}
MenuListener menuListener = createMenuListener();
createdJMenu.addMenuListener(menuListener);
@ -206,9 +206,9 @@ public class MenuDef extends ShortCut {
return createdJMenu;
}
protected UIMenu createJMenu0() {
UIMenu createdJMenu;
if (hasScrollSubMenu) {
createdJMenu = new UIScrollMenu(this.getName());
@ -219,7 +219,7 @@ public class MenuDef extends ShortCut {
}
return createdJMenu;
}
protected ContainerListener getContainerListener() {
return null;
}
@ -389,9 +389,9 @@ public class MenuDef extends ShortCut {
public void intoJToolBar(JToolBar toolBar) {
toolBar.add(this.createUIButton());
}
protected MenuListener createMenuListener() {
return menuDefListener;
}
@ -456,4 +456,4 @@ public class MenuDef extends ShortCut {
}
}
}

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

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

4
designer-base/src/main/java/com/fr/design/report/fit/menupane/ReportFitAttrAction.java

@ -1,5 +1,6 @@
package com.fr.design.report.fit.menupane;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.JTemplateAction;
import com.fr.design.beans.BasicBeanPane;
import com.fr.design.dialog.DialogActionAdapter;
@ -8,7 +9,6 @@ import com.fr.design.i18n.Toolkit;
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.JTemplate;
import com.fr.design.menu.MenuKeySet;
import com.fr.general.IOUtils;
import com.fr.report.fit.FitProvider;
import com.fr.report.fit.ReportFitAttr;
@ -66,7 +66,7 @@ public class ReportFitAttrAction extends JTemplateAction {
}
this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/reportfit/fit.png"));
this.setSmallIcon("/com/fr/design/images/reportfit/fit");
}
/**

4
designer-base/src/main/java/com/fr/design/roleAuthority/ReportAndFSManagePane.java

@ -181,7 +181,7 @@ public class ReportAndFSManagePane extends DockingView implements Prepare4DataSo
}
private void initbuttonGroup() {
Icon[] iconArray = new Icon[]{BaseUtils.readIcon("/com/fr/web/images/platform/demo.png")};
String[] textArray = new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FS_Name")};
buttonGroup = new UIHeadGroup(iconArray, textArray) {
@ -254,7 +254,7 @@ public class ReportAndFSManagePane extends DockingView implements Prepare4DataSo
public RefreshAction() {
this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Refresh"));
this.setSmallIcon(UIConstants.REFRESH_ICON);
this.setSmallIcon("/com/fr/design/images/buttonicon/refresh");
}
@Override

7
designer-base/src/main/java/com/fr/design/style/color/UIToolbarColorButton.java

@ -3,7 +3,8 @@
*/
package com.fr.design.style.color;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.event.UIObserver;
import com.fr.design.event.UIObserverListener;
import com.fr.design.gui.ibutton.UIButton;
@ -34,7 +35,7 @@ public class UIToolbarColorButton extends UICombinationButton implements PopupHi
private UIObserverListener uiObserverListener;
public UIToolbarColorButton(Icon icon) {
super(new UIColorButton(icon), new UIButton(BaseUtils.readIcon("/com/fr/design/images/gui/popup.gif")));
super(new UIColorButton(icon), new UIButton(IconUtils.readIcon("/com/fr/design/images/gui/popup")));
getLeftButton().setEventBanned(true);
getRightButton().addFocusListener(new FocusListener() {
@ -244,4 +245,4 @@ public class UIToolbarColorButton extends UICombinationButton implements PopupHi
public boolean shouldResponseChangeListener() {
return true;
}
}
}

4
designer-base/src/main/java/com/fr/design/update/actions/SoftwareUpdateAction.java

@ -1,6 +1,6 @@
package com.fr.design.update.actions;
import com.fr.base.BaseUtils;
import com.fr.base.svg.IconUtils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.os.impl.UpdateDialogAction;
import com.fr.stable.os.support.OSBasedAction;
@ -15,7 +15,7 @@ public class SoftwareUpdateAction extends UpdateAction {
public SoftwareUpdateAction() {
setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Updater_UpdateAndUpgrade"));
setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/update/update_new.png"));
setSmallIcon("/com/fr/design/images/update/update_new");
}

BIN
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/new_folder.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

BIN
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/refresh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 B

BIN
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/remove.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

BIN
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/rename.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

BIN
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/vcs_list.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

BIN
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/view_folder.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

7
designer-base/src/main/resources/com/fr/design/images/bbs/bbs_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M2.41421356,7 L3,7 L3,14 L6,14 L6,10 L10,10 L10,14 L13,14 L13,7 L13.5857864,7 L8,1.41421356 L2.41421356,7 Z M0.341421356,7.65857864 L8,0 L15.6585786,7.65857864 C15.7366835,7.7366835 15.7366835,7.8633165 15.6585786,7.94142136 C15.6210714,7.97892863 15.5702006,8 15.5171573,8 L14,8 L14,15 L9,15 L9,11 L7,11 L7,15 L2,15 L2,8 L0.482842712,8 C0.372385763,8 0.282842712,7.91045695 0.282842712,7.8 C0.282842712,7.7469567 0.303914081,7.69608592 0.341421356,7.65857864 Z" id="Rectangle-148" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 889 B

7
designer-base/src/main/resources/com/fr/design/images/bbs/bug_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon/社区/bug反馈_normal</title>
<g id="icon/社区/bug反馈_normal" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M15.2720866,8.99108296 C15.2720866,9.1455772 15.2157608,9.27952294 15.1031246,9.3929202 C14.9904884,9.50631745 14.8565427,9.56263555 14.7012874,9.56187449 L12.703517,9.56187449 C12.703517,10.5786445 12.5045011,11.4409202 12.1064691,12.1487017 L13.9615416,14.0129068 C14.0741778,14.125543 14.1304959,14.2594888 14.1304959,14.4147441 C14.1304959,14.5699994 14.0741778,14.7039451 13.9615416,14.8165813 C13.8542328,14.9292175 13.720287,14.9855356 13.5597043,14.9855356 C13.3991217,14.9855356 13.2651759,14.9292175 13.1578671,14.8165813 L11.3918381,13.059685 C11.362157,13.0893661 11.3176352,13.12818 11.2582729,13.1761264 C11.1989106,13.2240729 11.0740975,13.3089306 10.8838337,13.4306995 C10.6935698,13.5524683 10.5002618,13.6609187 10.3039095,13.7560506 C10.1075572,13.8511826 9.86363895,13.9375623 9.57215475,14.01519 C9.28067054,14.0928176 8.99223056,14.1316315 8.70683479,14.1316315 L8.70683479,6.14055007 L7.56525174,6.14055007 L7.56525174,14.1316315 C7.2623517,14.1316315 6.96059324,14.0916761 6.65997637,14.0117652 C6.35935949,13.9318544 6.10060067,13.8336783 5.88369989,13.7172368 C5.66679911,13.6007953 5.47044683,13.4847344 5.29464304,13.369054 C5.11883925,13.2533736 4.98945984,13.1567195 4.90650481,13.0790919 L4.77293959,12.9546593 L3.14047582,14.8005991 C3.02175118,14.9254122 2.8790533,14.9878188 2.71238218,14.9878188 C2.57006483,14.9878188 2.44220753,14.9402528 2.32881028,14.8451209 C2.21617408,14.7378121 2.15528965,14.6053884 2.14615699,14.44785 C2.13702433,14.2903115 2.18306818,14.15218 2.28428854,14.0334553 L4.08570661,12.0094286 C3.74094853,11.3313282 3.56856949,10.5166185 3.56856949,9.56529926 L1.57079914,9.56529926 C1.4163049,9.56529926 1.28235916,9.50898116 1.1689619,9.39634497 C1.05556465,9.28370877 0.999246554,9.14976303 1,8.99450773 C1.00076867,8.83925243 1.05708677,8.70530669 1.1689619,8.59267049 C1.28083704,8.48003429 1.41478279,8.42371619 1.57079914,8.42371619 L3.56856949,8.42371619 L3.56856949,5.80149992 L2.0251492,4.25807962 C1.912513,4.14544343 1.8561949,4.01149768 1.8561949,3.85624238 C1.8561949,3.70098709 1.912513,3.56704134 2.0251492,3.45440514 C2.13778539,3.34176895 2.27173114,3.28545085 2.42698644,3.28545085 C2.58224173,3.28545085 2.71618748,3.34176895 2.82882368,3.45440514 L4.37224397,4.99782544 L11.8998426,4.99782544 L13.4432629,3.45440514 C13.5558991,3.34176895 13.6898449,3.28545085 13.8451002,3.28545085 C14.0003555,3.28545085 14.1343012,3.34176895 14.2469374,3.45440514 C14.3595736,3.56704134 14.4158917,3.70098709 14.4158917,3.85624238 C14.4158917,4.01149768 14.3595736,4.14544343 14.2469374,4.25807962 L12.7035171,5.80149992 L12.7035171,8.42371619 L14.7012875,8.42371619 C14.8557817,8.42371619 14.9897274,8.48003429 15.1031247,8.59267049 C15.2165219,8.70530669 15.27284,8.83925243 15.2720866,8.99450773 L15.2720866,8.99108296 Z M10.9911425,3.8539592 L5.2832272,3.8539592 C5.2832272,3.06322266 5.56101241,2.38968866 6.11658283,1.83335719 C6.67215326,1.27702572 7.34568726,0.999240513 8.13718484,1 C8.92868242,1.00076261 9.60221642,1.27854782 10.1577868,1.83335719 C10.7133573,2.38816657 10.9911425,3.06170057 10.9911425,3.8539592 Z" id="Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

7
designer-base/src/main/resources/com/fr/design/images/bbs/center_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M5.8,1 C5.91045695,1 6,1.08954305 6,1.2 L6,2 L10,2 L10,1.2 C10,1.08954305 10.0895431,1 10.2,1 L11.8,1 C11.9104569,1 12,1.08954305 12,1.2 L12,2 L14,2 C14.5522847,2 15,2.44771525 15,3 L15,14 C15,14.5522847 14.5522847,15 14,15 L2,15 C1.44771525,15 1,14.5522847 1,14 L1,3 C1,2.44771525 1.44771525,2 2,2 L4,2 L4,1.2 C4,1.08954305 4.08954305,1 4.2,1 L5.8,1 Z M14,3 L2,3 L2,14 L14,14 L14,3 Z M5.8,9 C5.91045695,9 6,9.08954305 6,9.2 L6,10.8 C6,10.9104569 5.91045695,11 5.8,11 L4.2,11 C4.08954305,11 4,10.9104569 4,10.8 L4,9.2 C4,9.08954305 4.08954305,9 4.2,9 L5.8,9 Z M8.8,9 C8.91045695,9 9,9.08954305 9,9.2 L9,10.8 C9,10.9104569 8.91045695,11 8.8,11 L7.2,11 C7.08954305,11 7,10.9104569 7,10.8 L7,9.2 C7,9.08954305 7.08954305,9 7.2,9 L8.8,9 Z M11.8,9 C11.9104569,9 12,9.08954305 12,9.2 L12,10.8 C12,10.9104569 11.9104569,11 11.8,11 L10.2,11 C10.0895431,11 10,10.9104569 10,10.8 L10,9.2 C10,9.08954305 10.0895431,9 10.2,9 L11.8,9 Z M5.8,6 C5.91045695,6 6,6.08954305 6,6.2 L6,7.8 C6,7.91045695 5.91045695,8 5.8,8 L4.2,8 C4.08954305,8 4,7.91045695 4,7.8 L4,6.2 C4,6.08954305 4.08954305,6 4.2,6 L5.8,6 Z M8.8,6 C8.91045695,6 9,6.08954305 9,6.2 L9,7.8 C9,7.91045695 8.91045695,8 8.8,8 L7.2,8 C7.08954305,8 7,7.91045695 7,7.8 L7,6.2 C7,6.08954305 7.08954305,6 7.2,6 L8.8,6 Z M11.8,6 C11.9104569,6 12,6.08954305 12,6.2 L12,7.8 C12,7.91045695 11.9104569,8 11.8,8 L10.2,8 C10.0895431,8 10,7.91045695 10,7.8 L10,6.2 C10,6.08954305 10.0895431,6 10.2,6 L11.8,6 Z" id="形状结合" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

9
designer-base/src/main/resources/com/fr/design/images/bbs/facebook_normal.svg

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon_facebook粉丝圈_normal</title>
<g id="icon_facebook粉丝圈_normal" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="icomoonfacebook2" fill="#333334" fill-rule="nonzero">
<path d="M14.5,0 L1.5,0 C0.672484996,0.00219792664 0.00219792664,0.672484996 0,1.5 L0,14.5 C0.00219792664,15.327515 0.672484996,15.9978021 1.5,16 L8,16 L8,9 L6,9 L6,7 L8,7 L8,6 C8.00256968,4.34421132 9.34421132,3.00256968 11,3 L13,3 L13,5 L11,5 C10.4477153,5 10,5.44771525 10,6 L10,7 L13,7 L12.5,9 L10,9 L10,16 L14.5,16 C15.327515,15.9978021 15.9978021,15.327515 16,14.5 L16,1.5 C15.9978021,0.672484996 15.327515,0.00219792664 14.5,0 Z" id="路径"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 906 B

7
designer-base/src/main/resources/com/fr/design/images/bbs/help_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M13.1428571,1 C13.6142857,1 14,1.39375 14,1.875 L14,1.875 L14,14.125 C14,14.60625 13.6142857,15 13.1428571,15 L13.1428571,15 L2.85714286,15 C2.38571429,15 2,14.60625 2,14.125 L2,14.125 L2,1.875 C2,1.39375 2.38571429,1 2.85714286,1 L2.85714286,1 Z M4,2 L3,2 L3,14 L4,14 L4,2 Z M13,2 L5,2 L5,14 L13,14 L13,2 Z M11,11 L11,12 L7,12 L7,11 L11,11 Z M11,9 L11,10 L7,10 L7,9 L11,9 Z M10.5,4 C10.7761424,4 11,4.22385763 11,4.5 L11,4.5 L11,6.5 C11,6.77614237 10.7761424,7 10.5,7 L10.5,7 L7.5,7 C7.22385763,7 7,6.77614237 7,6.5 L7,6.5 L7,4.5 C7,4.22385763 7.22385763,4 7.5,4 L7.5,4 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 993 B

7
designer-base/src/main/resources/com/fr/design/images/bbs/need_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M13.0758389,9.75977829 L14.7397914,11.4242307 L11.4118864,14.7516357 L8.49996964,15.9996 L9.74793398,13.0876832 L13.0758389,9.75977829 Z M13,1 L13,8.42 L12.7847053,8.63674856 L12.0768284,9.34385513 L12.077,9.344 L12,9.42 L12,2 L2,2 L2,14 L8.268,14 L7.84,15 L1,15 L1,1 L13,1 Z M15.1553795,9.34424016 C15.6148663,9.80372704 15.6148663,10.5487057 15.1553795,11.0081926 L13.491427,9.34424016 C13.9509139,8.88525328 14.6958926,8.88525328 15.1553795,9.34424016 Z M8,8 L8,9 L3,9 L3,8 L8,8 Z M11,6 L11,7 L3,7 L3,6 L11,6 Z M11,3 L11,5 L3,5 L3,3 L11,3 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 964 B

7
designer-base/src/main/resources/com/fr/design/images/bbs/question_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M8,1 C11.86575,1 15,4.14762257 15,8.03060058 C15,9.67082164 14.4343113,11.1731005 13.4943112,12.3667764 C13.2764824,12.6414842 13.0569382,12.8824315 12.822125,13.1074719 L13.5110424,13.7061268 L13.5140482,13.829443 C13.5360683,13.8083393 13.5579585,13.7871261 13.579718,13.7658045 L15,15 L7.40325,15 C3.821875,14.6921111 1,11.7083193 1,8.03060058 C1,4.14762257 4.13425,1 8,1 Z M8,2 C4.68739322,2 2,4.69905398 2,8.03060058 C2,11.156684 4.39197001,13.7374333 7.40325,14 L12.3246641,14 L11.3391614,13.1436187 L12.1302018,12.3855008 C13.3178542,11.2472776 14,9.69476956 14,8.03060058 C14,4.69905398 11.3126068,2 8,2 Z M7.644,11.308 C7.88290176,11.308 8.08464923,11.3832279 8.24271068,11.5412893 C8.39608638,11.694665 8.476,11.8892373 8.476,12.116 C8.476,12.3579755 8.3937042,12.553428 8.22757246,12.7057154 C8.06134606,12.8580896 7.8682638,12.936 7.644,12.936 C7.4197362,12.936 7.22665394,12.8580896 7.05728932,12.7027107 C6.89782446,12.5432458 6.824,12.3519733 6.824,12.116 C6.824,11.8776413 6.89929,11.685994 7.05728932,11.5412893 C7.21675418,11.3818245 7.40802665,11.308 7.644,11.308 Z M7.824,4 C8.62306191,4 9.25637141,4.21625203 9.73966253,4.66236725 C10.20762,5.09238226 10.444,5.68490802 10.444,6.428 C10.444,6.9849335 10.2836914,7.47528934 9.96482213,7.89601844 C9.83439467,8.05253139 9.49188194,8.37918705 8.98136199,8.8316823 C8.73225307,9.04682182 8.55658949,9.25365152 8.43809265,9.46687293 C8.29344163,9.71166697 8.224,9.98110049 8.224,10.292 L8.224,10.568 L8.124,10.668 L7.164,10.668 L7.064,10.568 L7.064,10.292 C7.064,9.88163075 7.13905012,9.51888851 7.28938169,9.20571145 C7.46498014,8.82942905 7.86990853,8.36406359 8.52128932,7.78528932 C8.78038614,7.52619251 8.86304576,7.43993899 8.92191312,7.3615305 C9.14935705,7.07722558 9.26,6.78678784 9.26,6.476 C9.26,6.02939509 9.1302719,5.67969326 8.87980118,5.42919054 C8.62961934,5.16813122 8.2647239,5.04 7.776,5.04 C7.20272311,5.04 6.79107378,5.22079193 6.52263183,5.58978216 C6.27310143,5.9073663 6.148,6.3423781 6.148,6.908 L6.048,7.008 L5.1,7.008 L5,6.908 C5,6.03512495 5.24136908,5.34196247 5.73400599,4.82473272 C6.2340788,4.27465264 6.9331946,4 7.824,4 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

7
designer-base/src/main/resources/com/fr/design/images/bbs/sign_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M11,1 C11.5522847,1 12,1.44771525 12,2 L12,7 L11,8.05 L11,2 L2,2 L2,14 L6.5,14 L7.64285714,15 L2,15 C1.44771525,15 1,14.5522847 1,14 L1,2 C1,1.44771525 1.44771525,1 2,1 L11,1 Z M12,13.325 L12,14 C12,14.5522847 11.5522847,15 11,15 L10.4047619,15 L12,13.325 Z M14.8448344,6.15342954 C15.0447996,6.36527011 15.0525188,6.71731806 14.8620758,6.93975065 L8.81720991,14 L6.17075455,11.424173 C5.96293623,11.2219009 5.94187748,10.8705282 6.1237185,10.6393601 C6.30555953,10.408192 6.62144084,10.3847672 6.82925915,10.5870393 L8.75423236,12.460639 L14.1379379,6.17260811 C14.3283809,5.95017552 14.6448693,5.94158898 14.8448344,6.15342954 Z M9,7 L9,8 L3,8 L3,7 L9,7 Z M10,5 L10,6 L3,6 L3,5 L10,5 Z M10,3 L10,4 L3,4 L3,3 L10,3 Z" id="形状结合" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

7
designer-base/src/main/resources/com/fr/design/images/bbs/solution_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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,1 L9,2 L14,2 L14,4 L13,4 L13,3 L8,3 L8,2 L2,2 L2,14 L14,14 L14,15 L1,15 L1,1 L9,1 Z M15,5 L15,13 L3,13 L3,5 L15,5 Z M6.26634295,6.58859116 L6.20156691,6.64644661 L4,9 L6.20156691,11.3535534 C6.38421953,11.5488155 6.68035793,11.5488155 6.86301054,11.3535534 C7.02283158,11.182699 7.04280921,10.9189587 6.92294343,10.7248829 L6.86301054,10.6464466 L5.32288726,9 L6.86301054,7.35355339 C7.04566315,7.15829124 7.04566315,6.84170876 6.86301054,6.64644661 C6.72094739,6.49457605 6.51023236,6.46082704 6.33765726,6.54519957 L6.26634295,6.58859116 Z M11.1369895,6.64644661 C10.9543368,6.84170876 10.9543368,7.15829124 11.1369895,7.35355339 L12.6771127,9 L11.1369895,10.6464466 C10.9543368,10.8417088 10.9543368,11.1582912 11.1369895,11.3535534 C11.3196421,11.5488155 11.6157805,11.5488155 11.7984331,11.3535534 L14,9 L11.7984331,6.64644661 C11.6157805,6.45118446 11.3196421,6.45118446 11.1369895,6.64644661 Z M10,7 L9,7 L8,11 L9,11 L10,7 Z" id="形状" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

7
designer-base/src/main/resources/com/fr/design/images/bbs/video_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M8,2 C4.6862915,2 2,4.6862915 2,8 C2,11.3137085 4.6862915,14 8,14 C11.3137085,14 14,11.3137085 14,8 C14,4.6862915 11.3137085,2 8,2 Z M7.24590914,5 C7.3017481,5 7.35592446,5.01892169 7.39952736,5.05365284 L10.9384667,7.87253508 C11.0091675,7.92885063 11.0206304,8.03156938 10.9640697,8.10196382 C10.9565069,8.11137637 10.9479202,8.11992586 10.9384667,8.1274559 L7.39952736,10.9463381 C7.29347611,11.0308115 7.13872736,11.0136917 7.05388636,10.9081 C7.01900404,10.8646861 7,10.8107445 7,10.7551475 L7,5.24484346 C7,5.10962015 7.11009727,5 7.24590914,5 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/absolute_layout_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M15,1 L15,15 L1,15 L1,1 L15,1 Z M14,8 L1.999,8 L2,14 L14,14 L14,8 Z M14,2 L2,2 L1.999,7 L9,7 L9,2 L10,2 L10,7 L14,7 L14,2 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 556 B

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/card_layout_16_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>icon_tab块_normal</title>
<g id="icon_tab块_normal" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M7,1 L7,2 L15,2 L15,15 L1,15 L1,1 L7,1 Z M6,2 L2,2 L2,14 L14,14 L14,7 L6,7 L6,2 Z M12,11 L12,12 L4,12 L4,11 L12,11 Z M12,9 L12,10 L4,10 L4,9 L12,9 Z M10,3 L7,3 L7,6 L10,6 L10,3 Z M14,3 L11,3 L11,6 L14,6 L14,3 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 625 B

8
designer-base/src/main/resources/com/fr/design/images/buttonicon/new_form3_normal.svg

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M12,-8.13151629e-20 L12,0.0008 L15.9998,4.0008 L15.9998,15.9998 L1.9998,15.9998 L1.999,13.9998 L0,14.0004 L0,3.0004 L1.999,2.9998 L1.9998,-0.0002 L12,-8.13151629e-20 Z M15,4.9998 L12,4.9998 L14,7.0004 L14,14.0004 L2.999,13.9998 L2.9998,14.9998 L15.0008,14.9998 L15,4.9998 Z M9,4 L1,4 L1,13 L13,13 L13,8 L9,8 L9,4 Z M4,9 L4,11 L2,11 L2,9 L4,9 Z M12,9 L12,11 L5,11 L5,9 L12,9 Z M4,6 L4,8 L2,8 L2,6 L4,6 Z M8,6 L8,8 L5,8 L5,6 L8,6 Z M12,1.4148 L12,3.9998 L14.586,3.9998 L12,1.4148 Z M11,0.9998 L2.9998,0.9998 L2.999,2.9998 L10,3.0004 L11,3.9998 L11,0.9998 Z" id="Combined-Shape" fill="#333334"></path>
<polygon id="Fill-7" fill="#FFFFFF" points="12 7 10 5 10 7 11 7"></polygon>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

11
designer-base/src/main/resources/com/fr/design/images/buttonicon/newcpts_normal.svg

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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">
<g id="Group" transform="translate(1.000000, 1.000000)">
<path d="M13,5 L5,5 L5,13 L0,13 L0,0 L13,0 L13,5 Z M4,9 L1,9 L1,12 L4,12 L4,9 Z M4,5 L1,5 L1,8 L4,8 L4,5 Z M12,1 L9,1 L9,4 L12,4 L12,1 Z M8,1 L5,1 L5,4 L8,4 L8,1 Z M4,1 L1,1 L1,4 L4,4 L4,1 Z" id="Combined-Shape" fill="#333334" transform="translate(6.500000, 6.500000) scale(-1, 1) translate(-6.500000, -6.500000) "></path>
<path d="M2,6 L2,9 L4,9 L4,11 L2,11 L2,13 L0,13 L0,7.00292933 C0,6.44902676 0.443864822,6 1,6 L2,6 Z" id="Combined-Shape" fill="#0757A1"></path>
<path d="M3,8 L3,6 L7,6 L7,12.0001925 C7,12.5523709 6.55613518,13 6,13 L5,13 L5,8 L3,8 Z" id="Combined-Shape" fill="#3BAAE0"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/open_normal.svg

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" 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="M13.272,12.787 C13.25,12.875 13.09,13 13,13 L12,13 L7.5,13 L6,13 L4.5,13 L1.387,13 L2.632,9.265 C2.67,9.151 2.879,9 3,9 L6,9 C6.922,9 7.929,8.378 8.341,7.553 L8.447,7.342 C8.523,7.188 8.828,7 9,7 L14.719,7 L13.272,12.787 Z M5,3 C5.038,3 5.072,3.002 5.103,3.005 C5.361,3.603 6.081,4 7,4 L13,4 L13,6 L9,6 C8.45,6 7.798,6.402 7.552,6.894 L7.447,7.105 C7.201,7.598 6.549,8 6,8 L3,8 C2.45,8 1.857,8.427 1.683,8.949 L1,11 L1,3 L5,3 Z M15,6 L14,6 L14,4 C14,3.45 13.549,3 13,3 L7,3 C6.45,3 6,2.775 6,2.5 C6,2.225 5.549,2 5,2 L1,2 C0.45,2 0,2.45 0,3 L0,13 C0,13.55 0.45,14 1,14 L4.5,14 L6,14 L7.5,14 L13,14 C13.549,14 14.108,13.563 14.242,13.03 L15.757,6.97 C15.891,6.436 15.549,6 15,6 L15,6 Z" id="Fill-1" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

8
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/authorityedit_disabled.svg

@ -0,0 +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>

After

Width:  |  Height:  |  Size: 2.4 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/authorityedit_normal.svg

@ -0,0 +1,7 @@
<?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>

After

Width:  |  Height:  |  Size: 2.3 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/authorityedit_selected.svg

@ -0,0 +1,7 @@
<?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>

After

Width:  |  Height:  |  Size: 1.8 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellattr_disabled.svg

@ -0,0 +1,7 @@
<?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="M16,1 C16.5522847,1 17,1.44771525 17,2 L17,5 C17,5.55228475 16.5522847,6 16,6 C15.4477153,6 15,5.55228475 15,5 L15,3 L12,3 L12,5.5 C12,5.77614237 11.7761424,6 11.5,6 C11.2238576,6 11,5.77614237 11,5.5 L11,3 L7,3 L7,6 L8.5,6 C8.77614237,6 9,6.22385763 9,6.5 C9,6.77614237 8.77614237,7 8.5,7 L7,7 L7,8.5 C7,8.77614237 6.77614237,9 6.5,9 C6.22385763,9 6,8.77614237 6,8.5 L6,7 L3,7 L3,11 L5.5,11 C5.77614237,11 6,11.2238576 6,11.5 C6,11.7761424 5.77614237,12 5.5,12 L3,12 L3,15 L5,15 C5.55228475,15 6,15.4477153 6,16 C6,16.5522847 5.55228475,17 5,17 L2,17 C1.44771525,17 1,16.5522847 1,16 L1,2 C1,1.44771525 1.44771525,1 2,1 L16,1 Z M11.8,6.8 C14.5614237,6.8 16.8,9.03857625 16.8,11.8 C16.8,14.5614237 14.5614237,16.8 11.8,16.8 C9.03857625,16.8 6.8,14.5614237 6.8,11.8 C6.8,9.03857625 9.03857625,6.8 11.8,6.8 Z M11.8,10.8 C11.2477153,10.8 10.8,11.2477153 10.8,11.8 L10.8,11.8 L10.8,14.8 C10.8,15.3522847 11.2477153,15.8 11.8,15.8 C12.3522847,15.8 12.8,15.3522847 12.8,14.8 L12.8,14.8 L12.8,11.8 C12.8,11.2477153 12.3522847,10.8 11.8,10.8 Z M11.8,7.8 C11.2477153,7.8 10.8,8.24771525 10.8,8.8 C10.8,9.35228475 11.2477153,9.8 11.8,9.8 C12.3522847,9.8 12.8,9.35228475 12.8,8.8 C12.8,8.24771525 12.3522847,7.8 11.8,7.8 Z M6,3 L3,3 L3,6 L6,6 L6,3 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellattr_normal.svg

@ -0,0 +1,7 @@
<?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="M16,1 C16.5522847,1 17,1.44771525 17,2 L17,5 C17,5.55228475 16.5522847,6 16,6 C15.4477153,6 15,5.55228475 15,5 L15,3 L12,3 L12,5.5 C12,5.77614237 11.7761424,6 11.5,6 C11.2238576,6 11,5.77614237 11,5.5 L11,3 L7,3 L7,6 L8.5,6 C8.77614237,6 9,6.22385763 9,6.5 C9,6.77614237 8.77614237,7 8.5,7 L7,7 L7,8.5 C7,8.77614237 6.77614237,9 6.5,9 C6.22385763,9 6,8.77614237 6,8.5 L6,7 L3,7 L3,11 L5.5,11 C5.77614237,11 6,11.2238576 6,11.5 C6,11.7761424 5.77614237,12 5.5,12 L3,12 L3,15 L5,15 C5.55228475,15 6,15.4477153 6,16 C6,16.5522847 5.55228475,17 5,17 L2,17 C1.44771525,17 1,16.5522847 1,16 L1,2 C1,1.44771525 1.44771525,1 2,1 L16,1 Z M11.8,6.8 C14.5614237,6.8 16.8,9.03857625 16.8,11.8 C16.8,14.5614237 14.5614237,16.8 11.8,16.8 C9.03857625,16.8 6.8,14.5614237 6.8,11.8 C6.8,9.03857625 9.03857625,6.8 11.8,6.8 Z M11.8,10.8 C11.2477153,10.8 10.8,11.2477153 10.8,11.8 L10.8,11.8 L10.8,14.8 C10.8,15.3522847 11.2477153,15.8 11.8,15.8 C12.3522847,15.8 12.8,15.3522847 12.8,14.8 L12.8,14.8 L12.8,11.8 C12.8,11.2477153 12.3522847,10.8 11.8,10.8 Z M11.8,7.8 C11.2477153,7.8 10.8,8.24771525 10.8,8.8 C10.8,9.35228475 11.2477153,9.8 11.8,9.8 C12.3522847,9.8 12.8,9.35228475 12.8,8.8 C12.8,8.24771525 12.3522847,7.8 11.8,7.8 Z M6,3 L3,3 L3,6 L6,6 L6,3 Z" id="Combined-Shape" fill="#62646E"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellattr_selected.svg

@ -0,0 +1,7 @@
<?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="M6,13 L6,17 L2,17 C1.44771525,17 1,16.5522847 1,16 L1,13 L6,13 Z M12,7 C14.7614237,7 17,9.23857625 17,12 C17,14.7614237 14.7614237,17 12,17 C9.23857625,17 7,14.7614237 7,12 C7,9.23857625 9.23857625,7 12,7 Z M12,11 C11.4477153,11 11,11.4477153 11,12 L11,12 L11,15 C11,15.5522847 11.4477153,16 12,16 C12.5522847,16 13,15.5522847 13,15 L13,15 L13,12 C13,11.4477153 12.5522847,11 12,11 Z M6,7 L6,12 L1,12 L1,7 L6,7 Z M12,8 C11.4477153,8 11,8.44771525 11,9 C11,9.55228475 11.4477153,10 12,10 C12.5522847,10 13,9.55228475 13,9 C13,8.44771525 12.5522847,8 12,8 Z M6,1 L6,6 L1,6 L1,2 C1,1.44771525 1.44771525,1 2,1 L6,1 Z M12,1 L12,6 L7,6 L7,1 L12,1 Z M16,1 C16.5522847,1 17,1.44771525 17,2 L17,6 L13,6 L13,1 L16,1 Z" id="Combined-Shape" fill="#419BF9"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellelement_disabled.svg

@ -0,0 +1,7 @@
<?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="M11,11 L11,3 L3,3 L3,11 L11,11 Z M11,13 L8,13 L8,16 C8,16.5522847 7.55228475,17 7,17 C6.44771525,17 6,16.5522847 6,16 L6,13 L3,13 L3,16 C3,16.5522847 2.55228475,17 2,17 C1.44771525,17 1,16.5522847 1,16 L1,1.80000001 C1,1.35817221 1.35817221,1 1.80000001,1 L16,1 C16.5522847,1 17,1.44771525 17,2 C17,2.55228475 16.5522847,3 16,3 L13,3 L13,6 L16,6 C16.5522847,6 17,6.44771525 17,7 C17,7.55228475 16.5522847,8 16,8 L13,8 L13,11 L16,11 C16.5522847,11 17,11.4477153 17,12 C17,12.5522847 16.5522847,13 16,13 L13,13 L13,16 C13,16.5522847 12.5522847,17 12,17 C11.4477153,17 11,16.5522847 11,16 L11,13 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellelement_normal.svg

@ -0,0 +1,7 @@
<?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="M11,11 L11,3 L3,3 L3,11 L11,11 Z M11,13 L8,13 L8,16 C8,16.5522847 7.55228475,17 7,17 C6.44771525,17 6,16.5522847 6,16 L6,13 L3,13 L3,16 C3,16.5522847 2.55228475,17 2,17 C1.44771525,17 1,16.5522847 1,16 L1,1.80000001 C1,1.35817221 1.35817221,1 1.80000001,1 L16,1 C16.5522847,1 17,1.44771525 17,2 C17,2.55228475 16.5522847,3 16,3 L13,3 L13,6 L16,6 C16.5522847,6 17,6.44771525 17,7 C17,7.55228475 16.5522847,8 16,8 L13,8 L13,11 L16,11 C16.5522847,11 17,11.4477153 17,12 C17,12.5522847 16.5522847,13 16,13 L13,13 L13,16 C13,16.5522847 12.5522847,17 12,17 C11.4477153,17 11,16.5522847 11,16 L11,13 Z" id="Combined-Shape" fill="#62646E"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1021 B

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/cellelement_selected.svg

@ -0,0 +1,7 @@
<?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="M6,12 L6,17 L2,17 C1.44771525,17 1,16.5522847 1,16 L1,12 L6,12 Z M11,12 L11,17 L7,17 L7,12 L11,12 Z M17,12 L17,16 C17,16.5522847 16.5522847,17 16,17 L12,17 L12,12 L17,12 Z M11,1 L11,11 L1,11 L1,2 C1,1.44771525 1.44771525,1 2,1 L11,1 Z M17,7 L17,11 L12,11 L12,7 L17,7 Z M16,1 C16.5522847,1 17,1.44771525 17,2 L17,6 L12,6 L12,1 L16,1 Z" id="Combined-Shape" fill="#419BF9"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 764 B

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/conditionattr_disabled.svg

@ -0,0 +1,7 @@
<?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="M1,6 L2.5,6 C2.77614237,6 3,5.77614237 3,5.5 C3,5.22385763 2.77614237,5 2.5,5 L0.5,5 C0.361928813,5 0.236928813,5.05596441 0.146446609,5.14644661 C0.0559644063,5.23692881 0,5.36192881 0,5.5 L0,12.5 C0,12.6380712 0.0559644063,12.7630712 0.146446609,12.8535534 C0.236928813,12.9440356 0.361928813,13 0.5,13 L2.5,13 C2.77614237,13 3,12.7761424 3,12.5 C3,12.2238576 2.77614237,12 2.5,12 L1,12 L1,6 Z M5,3 L17,3 C17.5522847,3 18,3.44771525 18,4 L18,7 C18,7.55228475 17.5522847,8 17,8 L5,8 C4.44771525,8 4,7.55228475 4,7 L4,4 C4,3.44771525 4.44771525,3 5,3 Z M5,10 L14,10 C14.5522847,10 15,10.4477153 15,11 L15,14 C15,14.5522847 14.5522847,15 14,15 L5,15 C4.44771525,15 4,14.5522847 4,14 L4,11 C4,10.4477153 4.44771525,10 5,10 Z M6,6 L16,6 L16,5 L6,5 L6,6 Z M6,13 L13,13 L13,12 L6,12 L6,13 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/conditionattr_normal.svg

@ -0,0 +1,7 @@
<?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="M1,6 L2.5,6 C2.77614237,6 3,5.77614237 3,5.5 C3,5.22385763 2.77614237,5 2.5,5 L0.5,5 C0.361928813,5 0.236928813,5.05596441 0.146446609,5.14644661 C0.0559644063,5.23692881 0,5.36192881 0,5.5 L0,12.5 C0,12.6380712 0.0559644063,12.7630712 0.146446609,12.8535534 C0.236928813,12.9440356 0.361928813,13 0.5,13 L2.5,13 C2.77614237,13 3,12.7761424 3,12.5 C3,12.2238576 2.77614237,12 2.5,12 L1,12 L1,6 Z M5,3 L17,3 C17.5522847,3 18,3.44771525 18,4 L18,7 C18,7.55228475 17.5522847,8 17,8 L5,8 C4.44771525,8 4,7.55228475 4,7 L4,4 C4,3.44771525 4.44771525,3 5,3 Z M5,10 L14,10 C14.5522847,10 15,10.4477153 15,11 L15,14 C15,14.5522847 14.5522847,15 14,15 L5,15 C4.44771525,15 4,14.5522847 4,14 L4,11 C4,10.4477153 4.44771525,10 5,10 Z M6,6 L16,6 L16,5 L6,5 L6,6 Z M6,13 L13,13 L13,12 L6,12 L6,13 Z" id="Combined-Shape" fill="#62646E"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/conditionattr_selected.svg

@ -0,0 +1,7 @@
<?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="M14.5,10 C14.7761424,10 15,10.2238576 15,10.5 L15,14.5 C15,14.7761424 14.7761424,15 14.5,15 L4.5,15 C4.22385763,15 4,14.7761424 4,14.5 L4,10.5 C4,10.2238576 4.22385763,10 4.5,10 L14.5,10 Z M2.5,5 C2.77614237,5 3,5.22385763 3,5.5 C3,5.77614237 2.77614237,6 2.5,6 L1,6 L1,12 L2.5,12 C2.77614237,12 3,12.2238576 3,12.5 C3,12.7761424 2.77614237,13 2.5,13 L0.5,13 C0.223857625,13 0,12.7761424 0,12.5 L0,5.5 C0,5.22385763 0.223857625,5 0.5,5 L2.5,5 Z M17.5,3 C17.7761424,3 18,3.22385763 18,3.5 L18,7.5 C18,7.77614237 17.7761424,8 17.5,8 L4.5,8 C4.22385763,8 4,7.77614237 4,7.5 L4,3.5 C4,3.22385763 4.22385763,3 4.5,3 L17.5,3 Z" id="Combined-Shape" fill="#419BF9"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/configuredroles_disabled.svg

@ -0,0 +1,7 @@
<?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>

After

Width:  |  Height:  |  Size: 2.2 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/configuredroles_normal.svg

@ -0,0 +1,7 @@
<?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>

After

Width:  |  Height:  |  Size: 2.2 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/configuredroles_selected.svg

@ -0,0 +1,7 @@
<?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>

After

Width:  |  Height:  |  Size: 961 B

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/floatelement_disabled.svg

@ -0,0 +1,7 @@
<?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="M3.10000002,1 C3.59705629,1 4,1.40294371 4,1.89999998 L4,2 L14,2 L14,1.89999998 C14,1.40294371 14.4029437,1 14.9,1 L15.1,1 C15.5970563,1 16,1.40294371 16,1.89999998 L16,2 L16.1,2 C16.5970563,2 17,2.40294371 17,2.89999998 L17,3.10000002 C17,3.59705629 16.5970563,4 16.1,4 L16,4 L16,14 L16.1,14 C16.5970563,14 17,14.4029437 17,14.9 L17,15.1 C17,15.5970563 16.5970563,16 16.1,16 L16,16 L16,16.1 C16,16.5970563 15.5970563,17 15.1,17 L14.9,17 C14.4029437,17 14,16.5970563 14,16.1 L14,16 L4,16 L4,16.1 C4,16.5970563 3.59705629,17 3.10000002,17 L2.89999998,17 C2.40294371,17 2,16.5970563 2,16.1 L2,16 L1.89999998,16 C1.40294371,16 1,15.5970563 1,15.1 L1,14.9 C1,14.4029437 1.40294371,14 1.89999998,14 L2,14 L2,4 L1.89999998,4 C1.40294371,4 1,3.59705629 1,3.10000002 L1,2.89999998 C1,2.40294371 1.40294371,2 1.89999998,2 L2,2 L2,1.89999998 C2,1.40294371 2.40294371,1 2.89999998,1 L3.10000002,1 Z M14,4 L4,4 L4,14 L14,14 L14,4 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/floatelement_normal.svg

@ -0,0 +1,7 @@
<?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="M3.10000002,1 C3.59705629,1 4,1.40294371 4,1.89999998 L4,2 L14,2 L14,1.89999998 C14,1.40294371 14.4029437,1 14.9,1 L15.1,1 C15.5970563,1 16,1.40294371 16,1.89999998 L16,2 L16.1,2 C16.5970563,2 17,2.40294371 17,2.89999998 L17,3.10000002 C17,3.59705629 16.5970563,4 16.1,4 L16,4 L16,14 L16.1,14 C16.5970563,14 17,14.4029437 17,14.9 L17,15.1 C17,15.5970563 16.5970563,16 16.1,16 L16,16 L16,16.1 C16,16.5970563 15.5970563,17 15.1,17 L14.9,17 C14.4029437,17 14,16.5970563 14,16.1 L14,16 L4,16 L4,16.1 C4,16.5970563 3.59705629,17 3.10000002,17 L2.89999998,17 C2.40294371,17 2,16.5970563 2,16.1 L2,16 L1.89999998,16 C1.40294371,16 1,15.5970563 1,15.1 L1,14.9 C1,14.4029437 1.40294371,14 1.89999998,14 L2,14 L2,4 L1.89999998,4 C1.40294371,4 1,3.59705629 1,3.10000002 L1,2.89999998 C1,2.40294371 1.40294371,2 1.89999998,2 L2,2 L2,1.89999998 C2,1.40294371 2.40294371,1 2.89999998,1 L3.10000002,1 Z M14,4 L4,4 L4,14 L14,14 L14,4 Z" id="Combined-Shape" fill="#62646E"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

8
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/floatelement_selected.svg

@ -0,0 +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_属性_悬浮元素_selected</title>
<g id="icon_属性_悬浮元素_selected" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M3.10000002,1 C3.59705629,1 4,1.40294371 4,1.89999998 L4,2 L14,2 L14,1.89999998 C14,1.40294371 14.4029437,1 14.9,1 L15.1,1 C15.5970563,1 16,1.40294371 16,1.89999998 L16,2 L16.1,2 C16.5970563,2 17,2.40294371 17,2.89999998 L17,3.10000002 C17,3.59705629 16.5970563,4 16.1,4 L16,4 L16,14 L16.1,14 C16.5970563,14 17,14.4029437 17,14.9 L17,15.1 C17,15.5970563 16.5970563,16 16.1,16 L16,16 L16,16.1 C16,16.5970563 15.5970563,17 15.1,17 L14.9,17 C14.4029437,17 14,16.5970563 14,16.1 L14,16 L4,16 L4,16.1 C4,16.5970563 3.59705629,17 3.10000002,17 L2.89999998,17 C2.40294371,17 2,16.5970563 2,16.1 L2,16 L1.89999998,16 C1.40294371,16 1,15.5970563 1,15.1 L1,14.9 C1,14.4029437 1.40294371,14 1.89999998,14 L2,14 L2,4 L1.89999998,4 C1.40294371,4 1,3.59705629 1,3.10000002 L1,2.89999998 C1,2.40294371 1.40294371,2 1.89999998,2 L2,2 L2,1.89999998 C2,1.40294371 2.40294371,1 2.89999998,1 L3.10000002,1 Z M14,4 L4,4 L4,14 L14,14 L14,4 Z" id="Combined-Shape" fill="#419BF9"></path>
<rect id="Rectangle-2" fill="#419BF9" x="5" y="5" width="8" height="8"></rect>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/hyperlink_disabled.svg

@ -0,0 +1,7 @@
<?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="M7.19238816,5.19238816 C7.74467291,5.19238816 8.19238816,5.64010341 8.19238816,6.19238816 C8.19238816,6.74467291 7.74467291,7.19238816 7.19238816,7.19238816 L7.19238816,7.19238816 L4.19238816,7.19238816 C3.08781866,7.19238816 2.19238816,8.08781866 2.19238816,9.19238816 C2.19238816,10.2969577 3.08781866,11.1923882 4.19238816,11.1923882 L4.19238816,11.1923882 L7.19238816,11.1923882 C7.74467291,11.1923882 8.19238816,11.6401034 8.19238816,12.1923882 C8.19238816,12.7446729 7.74467291,13.1923882 7.19238816,13.1923882 L7.19238816,13.1923882 L4.19238816,13.1923882 C1.98324916,13.1923882 0.192388155,11.4015272 0.192388155,9.19238816 C0.192388155,6.98324916 1.98324916,5.19238816 4.19238816,5.19238816 L4.19238816,5.19238816 Z M14.1923882,5.19238816 C16.4015272,5.19238816 18.1923882,6.98324916 18.1923882,9.19238816 C18.1923882,11.4015272 16.4015272,13.1923882 14.1923882,13.1923882 L11.1923882,13.1923882 C10.6401034,13.1923882 10.1923882,12.7446729 10.1923882,12.1923882 C10.1923882,11.6401034 10.6401034,11.1923882 11.1923882,11.1923882 L14.1923882,11.1923882 C15.2969577,11.1923882 16.1923882,10.2969577 16.1923882,9.19238816 C16.1923882,8.08781866 15.2969577,7.19238816 14.1923882,7.19238816 L11.1923882,7.19238816 C10.6401034,7.19238816 10.1923882,6.74467291 10.1923882,6.19238816 C10.1923882,5.64010341 10.6401034,5.19238816 11.1923882,5.19238816 L14.1923882,5.19238816 Z M12.1923882,8.19238816 C12.7446729,8.19238816 13.1923882,8.64010341 13.1923882,9.19238816 C13.1923882,9.74467291 12.7446729,10.1923882 12.1923882,10.1923882 L6.19238816,10.1923882 C5.64010341,10.1923882 5.19238816,9.74467291 5.19238816,9.19238816 C5.19238816,8.64010341 5.64010341,8.19238816 6.19238816,8.19238816 L12.1923882,8.19238816 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero" transform="translate(9.192388, 9.192388) rotate(45.000000) translate(-9.192388, -9.192388) "></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/hyperlink_normal.svg

@ -0,0 +1,7 @@
<?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="M7,5 C7.55228475,5 8,5.44771525 8,6 C8,6.55228475 7.55228475,7 7,7 L7,7 L4,7 C2.8954305,7 2,7.8954305 2,9 C2,10.1045695 2.8954305,11 4,11 L4,11 L7,11 C7.55228475,11 8,11.4477153 8,12 C8,12.5522847 7.55228475,13 7,13 L7,13 L4,13 C1.790861,13 0,11.209139 0,9 C0,6.790861 1.790861,5 4,5 L4,5 Z M14,5 C16.209139,5 18,6.790861 18,9 C18,11.209139 16.209139,13 14,13 L11,13 C10.4477153,13 10,12.5522847 10,12 C10,11.4477153 10.4477153,11 11,11 L14,11 C15.1045695,11 16,10.1045695 16,9 C16,7.8954305 15.1045695,7 14,7 L11,7 C10.4477153,7 10,6.55228475 10,6 C10,5.44771525 10.4477153,5 11,5 L14,5 Z M12,8 C12.5522847,8 13,8.44771525 13,9 C13,9.55228475 12.5522847,10 12,10 L6,10 C5.44771525,10 5,9.55228475 5,9 C5,8.44771525 5.44771525,8 6,8 L12,8 Z" id="Combined-Shape" fill="#62646E" fill-rule="nonzero" transform="translate(9.000000, 9.000000) rotate(45.000000) translate(-9.000000, -9.000000) "></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/hyperlink_selected.svg

@ -0,0 +1,7 @@
<?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="M7.19238816,5.19238816 C7.74467291,5.19238816 8.19238816,5.64010341 8.19238816,6.19238816 C8.19238816,6.74467291 7.74467291,7.19238816 7.19238816,7.19238816 L7.19238816,7.19238816 L4.19238816,7.19238816 C3.08781866,7.19238816 2.19238816,8.08781866 2.19238816,9.19238816 C2.19238816,10.2969577 3.08781866,11.1923882 4.19238816,11.1923882 L4.19238816,11.1923882 L7.19238816,11.1923882 C7.74467291,11.1923882 8.19238816,11.6401034 8.19238816,12.1923882 C8.19238816,12.7446729 7.74467291,13.1923882 7.19238816,13.1923882 L7.19238816,13.1923882 L4.19238816,13.1923882 C1.98324916,13.1923882 0.192388155,11.4015272 0.192388155,9.19238816 C0.192388155,6.98324916 1.98324916,5.19238816 4.19238816,5.19238816 L4.19238816,5.19238816 Z M14.1923882,5.19238816 C16.4015272,5.19238816 18.1923882,6.98324916 18.1923882,9.19238816 C18.1923882,11.4015272 16.4015272,13.1923882 14.1923882,13.1923882 L11.1923882,13.1923882 C10.6401034,13.1923882 10.1923882,12.7446729 10.1923882,12.1923882 C10.1923882,11.6401034 10.6401034,11.1923882 11.1923882,11.1923882 L14.1923882,11.1923882 C15.2969577,11.1923882 16.1923882,10.2969577 16.1923882,9.19238816 C16.1923882,8.08781866 15.2969577,7.19238816 14.1923882,7.19238816 L11.1923882,7.19238816 C10.6401034,7.19238816 10.1923882,6.74467291 10.1923882,6.19238816 C10.1923882,5.64010341 10.6401034,5.19238816 11.1923882,5.19238816 L14.1923882,5.19238816 Z M12.1923882,8.19238816 C12.7446729,8.19238816 13.1923882,8.64010341 13.1923882,9.19238816 C13.1923882,9.74467291 12.7446729,10.1923882 12.1923882,10.1923882 L6.19238816,10.1923882 C5.64010341,10.1923882 5.19238816,9.74467291 5.19238816,9.19238816 C5.19238816,8.64010341 5.64010341,8.19238816 6.19238816,8.19238816 L12.1923882,8.19238816 Z" id="Combined-Shape" stroke="#419BF9" stroke-width="0.5" fill="#419BF9" fill-rule="nonzero" transform="translate(9.192388, 9.192388) rotate(45.000000) translate(-9.192388, -9.192388) "></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetlib_disabled.svg

@ -0,0 +1,7 @@
<?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,9 C9.77614237,9 10,9.22385763 10,9.5 L10,15.5 C10,15.7761424 9.77614237,16 9.5,16 L1.5,16 C1.22385763,16 1,15.7761424 1,15.5 L1,9.5 C1,9.22385763 1.22385763,9 1.5,9 L9.5,9 Z M16.5,9 C16.7761424,9 17,9.22385763 17,9.5 L17,15.5 C17,15.7761424 16.7761424,16 16.5,16 L11.5,16 C11.2238576,16 11,15.7761424 11,15.5 L11,9.5 C11,9.22385763 11.2238576,9 11.5,9 L16.5,9 Z M8,11 L3,11 L3,14 L8,14 L8,11 Z M15,11 L13,11 L13,14 L15,14 L15,11 Z M16.5,2 C16.7761424,2 17,2.22385763 17,2.5 L17,7.5 C17,7.77614237 16.7761424,8 16.5,8 L1.5,8 C1.22385763,8 1,7.77614237 1,7.5 L1,2.5 C1,2.22385763 1.22385763,2 1.5,2 L16.5,2 Z M15,4 L3,4 L3,6 L15,6 L15,4 Z" id="形状" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetlib_normal.svg

@ -0,0 +1,7 @@
<?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.5,9 C9.77614237,9 10,9.22385763 10,9.5 L10,15.5 C10,15.7761424 9.77614237,16 9.5,16 L1.5,16 C1.22385763,16 1,15.7761424 1,15.5 L1,9.5 C1,9.22385763 1.22385763,9 1.5,9 L9.5,9 Z M16.5,9 C16.7761424,9 17,9.22385763 17,9.5 L17,15.5 C17,15.7761424 16.7761424,16 16.5,16 L11.5,16 C11.2238576,16 11,15.7761424 11,15.5 L11,9.5 C11,9.22385763 11.2238576,9 11.5,9 L16.5,9 Z M8,11 L3,11 L3,14 L8,14 L8,11 Z M15,11 L13,11 L13,14 L15,14 L15,11 Z M16.5,2 C16.7761424,2 17,2.22385763 17,2.5 L17,7.5 C17,7.77614237 16.7761424,8 16.5,8 L1.5,8 C1.22385763,8 1,7.77614237 1,7.5 L1,2.5 C1,2.22385763 1.22385763,2 1.5,2 L16.5,2 Z M15,4 L3,4 L3,6 L15,6 L15,4 Z" id="形状" fill="#62646E" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetlib_selected.svg

@ -0,0 +1,7 @@
<?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.5,9 C9.77614237,9 10,9.22385763 10,9.5 L10,15.5 C10,15.7761424 9.77614237,16 9.5,16 L1.5,16 C1.22385763,16 1,15.7761424 1,15.5 L1,9.5 C1,9.22385763 1.22385763,9 1.5,9 L9.5,9 Z M16.5,9 C16.7761424,9 17,9.22385763 17,9.5 L17,15.5 C17,15.7761424 16.7761424,16 16.5,16 L11.5,16 C11.2238576,16 11,15.7761424 11,15.5 L11,9.5 C11,9.22385763 11.2238576,9 11.5,9 L16.5,9 Z M16.5,2 C16.7761424,2 17,2.22385763 17,2.5 L17,7.5 C17,7.77614237 16.7761424,8 16.5,8 L1.5,8 C1.22385763,8 1,7.77614237 1,7.5 L1,2.5 C1,2.22385763 1.22385763,2 1.5,2 L16.5,2 Z" id="形状结合" fill="#419BF9" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 979 B

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetsettings_disabled.svg

@ -0,0 +1,7 @@
<?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="M16.1,3 C16.5970563,3 17,3.40294371 17,3.89999998 L17,14.1 C17,14.5970563 16.5970563,15 16.1,15 L1.89999998,15 C1.40294371,15 1,14.5970563 1,14.1 L1,3.89999998 C1,3.40294371 1.40294371,3 1.89999998,3 L16.1,3 Z M15,5 L3,5 L3,13 L15,13 L15,5 Z M13.4587257,7 C13.6244111,7 13.7587257,7.13431458 13.7587257,7.3 C13.7587257,7.35622591 13.7429249,7.4113202 13.7131252,7.45899968 L11.6695997,10.7286405 C11.6110576,10.8223078 11.4876675,10.8507825 11.3940002,10.7922404 C11.3682464,10.7761443 11.3464965,10.7543944 11.3304003,10.7286405 L9.2868748,7.45899968 C9.1990617,7.31849872 9.24177365,7.13341361 9.38227461,7.04560051 C9.42995409,7.01580083 9.48504838,7 9.54127429,7 L13.4587257,7 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

7
designer-base/src/main/resources/com/fr/design/images/buttonicon/propertiestab/widgetsettings_normal.svg

@ -0,0 +1,7 @@
<?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="M16.1,3 C16.5970563,3 17,3.40294371 17,3.89999998 L17,14.1 C17,14.5970563 16.5970563,15 16.1,15 L1.89999998,15 C1.40294371,15 1,14.5970563 1,14.1 L1,3.89999998 C1,3.40294371 1.40294371,3 1.89999998,3 L16.1,3 Z M15,5 L3,5 L3,13 L15,13 L15,5 Z M13.4587257,7 C13.6244111,7 13.7587257,7.13431458 13.7587257,7.3 C13.7587257,7.35622591 13.7429249,7.4113202 13.7131252,7.45899968 L11.6695997,10.7286405 C11.6110576,10.8223078 11.4876675,10.8507825 11.3940002,10.7922404 C11.3682464,10.7761443 11.3464965,10.7543944 11.3304003,10.7286405 L9.2868748,7.45899968 C9.1990617,7.31849872 9.24177365,7.13341361 9.38227461,7.04560051 C9.42995409,7.01580083 9.48504838,7 9.54127429,7 L13.4587257,7 Z" id="Combined-Shape" fill="#62646E" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

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

Loading…
Cancel
Save