Browse Source

Merge remote-tracking branch 'origin/release/10.0' into release/10.0

feature/big-screen
Yvan 4 years ago
parent
commit
db9dcf45d1
  1. 7
      designer-base/src/main/java/com/fr/design/EnvChangeEntrance.java
  2. 17
      designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
  3. 4
      designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileParamSettingPane.java
  4. 44
      designer-base/src/main/java/com/fr/env/PluginErrorRemindDialog.java
  5. 8
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/new_folder_disabled.svg
  6. 8
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/new_folder_normal.svg
  7. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/refresh_normal.svg
  8. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/remove_disabled.svg
  9. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/remove_normal.svg
  10. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/rename_disabled.svg
  11. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/rename_normal.svg
  12. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/vcs_list_disabled.svg
  13. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/vcs_list_normal.svg
  14. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/view_folder_disabled.svg
  15. 7
      designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/view_folder_normal.svg
  16. BIN
      designer-base/src/main/resources/com/fr/design/images/warnings/icon_WarningIcon_normal.png
  17. BIN
      designer-base/src/main/resources/com/fr/design/images/warnings/icon_WarningIcon_normal@2x.png
  18. 26
      designer-base/src/test/java/com/fr/design/EnvChangeEntranceTest.java
  19. 16
      designer-form/src/main/java/com/fr/design/mainframe/widget/ui/WidgetBasicPropertyPaneFactory.java
  20. 11
      designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java
  21. 50
      designer-realize/src/test/java/com/fr/start/module/DesignerWorkspaceProviderTest.java

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

@ -146,7 +146,7 @@ public class EnvChangeEntrance {
template.refreshToolArea();
}
showServiceDialog(selectedEnv);
pluginErrorRemind(selectedEnv);
pluginErrorRemind();
} catch (WorkspaceAuthException | RegistEditionException e) {
// String title = Toolkit.i18nText("Fine-Design_Basic_Remote_Connect_Auth_Failed");
// String title = Toolkit.i18nText("Fine-Design_Basic_Lic_Does_Not_Support_Remote");
@ -302,10 +302,9 @@ public class EnvChangeEntrance {
/**
* 插件启动错误信息提示
* @param selectedEnv 选择的工作环境
*/
public void pluginErrorRemind(DesignerWorkspaceInfo selectedEnv) {
if (selectedEnv.getType() == DesignerWorkspaceType.Remote) {
public void pluginErrorRemind() {
if (!WorkContext.getCurrent().isLocal()) {
return;
}

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

@ -99,7 +99,8 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
public enum PropertyMode {
REPORT, // 报表
REPORT_PARA, // 报表参数面板
REPORT_PARA_WIDGET, //报表参数面板中的控件
REPORT_PARA(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Component_Settings")), // 报表参数面板
REPORT_FLOAT, // 报表悬浮元素
FORM(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Component_Settings")), // 表单
FORM_REPORT, // 表单报表块
@ -272,27 +273,27 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
propertyItemMap = new LinkedHashMap<>(); // 有序map
// 单元格元素
PropertyItem cellElement = new PropertyItem(KEY_CELL_ELEMENT, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Cell_Element"),
"cellelement", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
"cellelement", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_PARA_WIDGET, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
new PropertyMode[]{PropertyMode.REPORT, PropertyMode.FORM_REPORT, PropertyMode.POLY_REPORT});
// 单元格属性
PropertyItem cellAttr = new PropertyItem(KEY_CELL_ATTR, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Cell_Attributes"),
"cellattr", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
"cellattr", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_PARA_WIDGET, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
new PropertyMode[]{PropertyMode.REPORT, PropertyMode.FORM_REPORT, PropertyMode.POLY_REPORT});
// 悬浮元素
PropertyItem floatElement = new PropertyItem(KEY_FLOAT_ELEMENT, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Float_Element"),
"floatelement", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
"floatelement", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_PARA_WIDGET, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_FLOAT, PropertyMode.POLY_REPORT});
// 控件设置
PropertyItem widgetSettings = new PropertyItem(KEY_WIDGET_SETTINGS, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Component_Settings"),
"widgetsettings", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_FLOAT, PropertyMode.FORM, PropertyMode.POLY},
new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.FORM, PropertyMode.POLY_REPORT, PropertyMode.POLY_CHART});
"widgetsettings", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_PARA_WIDGET, PropertyMode.REPORT_FLOAT, PropertyMode.FORM, PropertyMode.POLY},
new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_PARA_WIDGET, PropertyMode.FORM, PropertyMode.POLY_REPORT, PropertyMode.POLY_CHART});
// 条件属性
PropertyItem conditionAttr = new PropertyItem(KEY_CONDITION_ATTR, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Condition_Attributes"),
"conditionattr", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
"conditionattr", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_PARA_WIDGET, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
new PropertyMode[]{PropertyMode.REPORT, PropertyMode.FORM_REPORT, PropertyMode.POLY_REPORT});
// 超级链接
PropertyItem hyperlink = new PropertyItem(KEY_HYPERLINK, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Hyperlink"),
"hyperlink", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
"hyperlink", new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_PARA, PropertyMode.REPORT_PARA_WIDGET, PropertyMode.REPORT_FLOAT, PropertyMode.POLY, PropertyMode.POLY_CHART},
new PropertyMode[]{PropertyMode.REPORT, PropertyMode.REPORT_FLOAT, PropertyMode.FORM_REPORT, PropertyMode.POLY_REPORT});
// 组件库
PropertyItem widgetLib = new PropertyItem(KEY_WIDGET_LIB, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Library"),

4
designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileParamSettingPane.java

@ -12,6 +12,7 @@ import com.fr.form.ui.mobile.MobileParamStyle;
import com.fr.general.ComparatorUtils;
import com.fr.report.ExtraReportClassManager;
import com.fr.report.fun.MobileParamStyleProvider;
import com.fr.report.mobile.EmptyMobileParamStyle;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Component;
@ -103,7 +104,10 @@ public class MobileParamSettingPane extends BasicPane {
if (ComparatorUtils.equals(mobileParamStyle.disPlayName(), provider.displayName())) {
String displayName = provider.displayName();
paramStyleList.setSelectedIndex(i);
// 如果是兼容空类型 无须填充面板
if (!(mobileParamStyle instanceof EmptyMobileParamStyle)) {
map.get(displayName).populateBean(mobileParamStyle);
}
card.show(right, displayName);
return;
}

44
designer-base/src/main/java/com/fr/env/PluginErrorRemindDialog.java vendored

@ -6,7 +6,6 @@ import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.FRFont;
import com.fr.general.GeneralContext;
import com.fr.general.IOUtils;
import javax.swing.BorderFactory;
@ -14,52 +13,65 @@ import javax.swing.Icon;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextPane;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Locale;
/**
* 插件启动失败提示窗
*/
public class PluginErrorRemindDialog extends JDialog implements ActionListener {
public PluginErrorRemindDialog(Frame parent, String areaText) {
private static final String SIM_HEI = "SimHei";
public PluginErrorRemindDialog(Frame parent, String text) {
super(parent, true);
//上面的标签面板
JPanel topPanel = FRGUIPaneFactory.createBorderLayout_L_Pane();
JPanel imagePanel = new JPanel();
Icon icon = IOUtils.readIcon("com/fr/design/images/warnings/warning5.png");
Icon icon = IOUtils.readIcon("com/fr/design/images/warnings/icon_WarningIcon_normal.png");
JLabel imageLabel = new JLabel();
imageLabel.setIcon(icon);
imagePanel.add(imageLabel);
imagePanel.setPreferredSize(new Dimension(130, 100));
imagePanel.setPreferredSize(new Dimension(48, 48));
JPanel verticalPanel = FRGUIPaneFactory.createVerticalFlowLayout_S_Pane(true);
JLabel label = new JLabel(Toolkit.i18nText("Fine-Design_Plugin_Error_Remind_Title"));
label.setFont(FRFont.getInstance().applySize(18).applyStyle(1));
label.setPreferredSize(new Dimension(650, 100));
label.setFont(FRFont.getInstance().applySize(16).applyName(SIM_HEI));
label.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 20));
verticalPanel.add(label);
topPanel.add(imagePanel, BorderLayout.WEST);
topPanel.add(verticalPanel, BorderLayout.CENTER);
topPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10));
topPanel.setPreferredSize(new Dimension(600, 73));
topPanel.setBorder(BorderFactory.createEmptyBorder(10, 20, 0, 20));
//中间的文本域面板
JPanel centerPanel = FRGUIPaneFactory.createBorderLayout_L_Pane();
centerPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
centerPanel.setPreferredSize(new Dimension(480, 320));
centerPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10));
centerPanel.setPreferredSize(new Dimension(580, 269));
JTextPane textPane = new JTextPane();
SimpleAttributeSet attributeSet = new SimpleAttributeSet();
StyleConstants.setFontFamily(attributeSet, SIM_HEI);
StyleConstants.setLineSpacing(attributeSet, 0.5f);
textPane.setParagraphAttributes(attributeSet, true);
JTextArea checkArea = new JTextArea(areaText);
checkArea.setEnabled(false);
centerPanel.add(checkArea, BorderLayout.CENTER);
textPane.setEditable(false);
textPane.setMargin(new Insets(10, 10, 10, 10));
textPane.setText(text);
centerPanel.add(textPane, BorderLayout.CENTER);
UIButton cancelButton = new UIButton(Toolkit.i18nText("Fine-Design_Plugin_Error_Remind_Not_Deal_With"));
UIButton okButton = new UIButton(Toolkit.i18nText("Fine-Design_Plugin_Error_Remind_Deal_With"));
@ -69,7 +81,7 @@ public class PluginErrorRemindDialog extends JDialog implements ActionListener {
// 按钮
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
buttonPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
buttonPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 10));
buttonPanel.add(cancelButton);
buttonPanel.add(okButton);
@ -80,7 +92,7 @@ public class PluginErrorRemindDialog extends JDialog implements ActionListener {
this.add(topPanel, BorderLayout.NORTH);
this.add(centerPanel, BorderLayout.CENTER);
this.add(buttonPanel, BorderLayout.SOUTH);
this.setSize(new Dimension(GeneralContext.getLocale().equals(Locale.US) ? 750 : 600, 500));
this.setSize(new Dimension(600, 400));
GUICoreUtils.centerWindow(this);
}

8
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/new_folder_disabled.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_NewFolderIcon_disable</title>
<g id="icon_NewFolderIcon_disable" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.3">
<path d="M7,2 L14,2 C14.55,2 15,2.45 15,3 L15,4.26865267 C14.7056021,4.09786765 14.363952,4 14,4 L9,4 C8.82858946,4 8.52433038,3.81190466 8.44778989,3.65851255 L8.33972031,3.4443888 C8.01577562,2.79516387 7.33247527,2.27587935 6.60444984,2.08202852 C6.7259209,2.02927911 6.85970721,2 7,2 Z M10,14 L2,14 C1.45,14 1,13.55 1,13 L1,4 C1,3.45 1.45,3 2,3 L6,3 C6.55,3 7.201,3.402 7.447,3.895 L7.553,4.105 C7.799,4.598 8.45,5 9,5 L14,5 C14.55,5 15,5.45 15,6 L15,9 L14,9 L14,6 L9,6 C8.07067731,6 7.07334254,5.38343985 6.66027969,4.5556112 L6.55221011,4.34148745 C6.47566962,4.18809534 6.17141054,4 6,4 L2,4 L2,13 L10,13 L10,14 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
<path d="M12.5,8 C12.7761424,8 13,8.22385763 13,8.5 L13,11 L15.5,11 C15.7761424,11 16,11.2238576 16,11.5 C16,11.7761424 15.7761424,12 15.5,12 L13,12 L13,14.5 C13,14.7761424 12.7761424,15 12.5,15 C12.2238576,15 12,14.7761424 12,14.5 L12,12 L9.5,12 C9.22385763,12 9,11.7761424 9,11.5 C9,11.2238576 9.22385763,11 9.5,11 L12,11 L12,8.5 C12,8.22385763 12.2238576,8 12.5,8 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

8
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/new_folder_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_NewFolderIcon_normal</title>
<g id="icon_NewFolderIcon_normal" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M7,2 L14,2 C14.55,2 15,2.45 15,3 L15,4.26865267 C14.7056021,4.09786765 14.363952,4 14,4 L9,4 C8.82858946,4 8.52433038,3.81190466 8.44778989,3.65851255 L8.33972031,3.4443888 C8.01577562,2.79516387 7.33247527,2.27587935 6.60444984,2.08202852 C6.7259209,2.02927911 6.85970721,2 7,2 Z M10,14 L2,14 C1.45,14 1,13.55 1,13 L1,4 C1,3.45 1.45,3 2,3 L6,3 C6.55,3 7.201,3.402 7.447,3.895 L7.553,4.105 C7.799,4.598 8.45,5 9,5 L14,5 C14.55,5 15,5.45 15,6 L15,9 L14,9 L14,6 L9,6 C8.07067731,6 7.07334254,5.38343985 6.66027969,4.5556112 L6.55221011,4.34148745 C6.47566962,4.18809534 6.17141054,4 6,4 L2,4 L2,13 L10,13 L10,14 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
<path d="M12.5,8 C12.7761424,8 13,8.22385763 13,8.5 L13,11 L15.5,11 C15.7761424,11 16,11.2238576 16,11.5 C16,11.7761424 15.7761424,12 15.5,12 L13,12 L13,14.5 C13,14.7761424 12.7761424,15 12.5,15 C12.2238576,15 12,14.7761424 12,14.5 L12,12 L9.5,12 C9.22385763,12 9,11.7761424 9,11.5 C9,11.2238576 9.22385763,11 9.5,11 L12,11 L12,8.5 C12,8.22385763 12.2238576,8 12.5,8 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/refresh_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.0593807,1 C13.4802225,1 13.8213822,1.34115968 13.8213822,1.76200147 L13.8213822,1.76200147 L13.8213822,5.2534957 C13.8213822,5.67433749 13.4802225,6.01549717 13.0593807,6.01549717 L13.0593807,6.01549717 L9.56788646,6.01549717 C9.14704467,6.01549717 8.80588499,5.67433749 8.80588499,5.2534957 C8.80588499,4.83265391 9.14704467,4.49149423 9.56788646,4.49149423 L9.56788646,4.49149423 L11.169634,4.48959417 C10.8434607,4.27112237 10.4895308,4.09123525 10.1125367,3.95402064 C7.56533579,3.02691531 4.74885407,4.34026231 3.82174874,6.88746326 C2.89464341,9.43466421 4.20799041,12.2511459 6.75519136,13.1782513 C9.30239231,14.1053566 12.118874,12.7920096 13.0459794,10.2448086 C13.1899157,9.84934672 13.6271844,9.64544497 14.0226464,9.78938133 C14.4181083,9.9333177 14.62201,10.3705864 14.4780737,10.7660483 C13.2630956,14.1041731 9.57207646,15.8253236 6.23395166,14.6103456 C2.89582685,13.3953675 1.17467636,9.70434836 2.38965442,6.36622356 C3.60463249,3.02809876 7.29565164,1.30694826 10.6337764,2.52192632 C11.3047108,2.76612647 11.9217951,3.11486447 12.467588,3.55405023 L12.297,3.423 L12.2973792,1.76200147 C12.2973792,1.37622983 12.5840481,1.05741329 12.9559816,1.00695618 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/remove_disabled.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_删除_disabled</title>
<g id="icon_删除_disabled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.3">
<path d="M11,1 L11,3 L15,3 L15,4 L13,4 L13,15 L3,15 L3,4 L1,4 L1,3 L5,3 L5,1 L11,1 Z M12,4 L4,4 L4,14 L12,14 L12,4 Z M7,6 L7,12 L6,12 L6,6 L7,6 Z M10,6 L10,12 L9,12 L9,6 L10,6 Z M10,2 L6,2 L6,3 L10,3 L10,2 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 610 B

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/remove_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 copy</title>
<g id="icon_删除_normal-copy" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<path d="M11,1 L11,3 L15,3 L15,4 L13,4 L13,15 L3,15 L3,4 L1,4 L1,3 L5,3 L5,1 L11,1 Z M12,4 L4,4 L4,14 L12,14 L12,4 Z M7,6 L7,12 L6,12 L6,6 L7,6 Z M10,6 L10,12 L9,12 L9,6 L10,6 Z M10,2 L6,2 L6,3 L10,3 L10,2 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 602 B

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/rename_disabled.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_重命名_disable</title>
<g id="icon_重命名_disable" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.3">
<path d="M16,1.875 L16,14.875 L2,14.875 L2,10.875 L3,10.875 L3,13.875 L10.9999,13.8756 L10.9999,9.8746 L15,9.874 L15,2.875 L11,2.875 L11,1.875 L16,1.875 Z M15.0009,11.8756 L13.9999,11.8756 L13.9999,12.8756 L12.9999,12.8756 L12.9999,13.8756 L15.0009,13.8756 L15.0009,11.8756 Z M13.9379,10.8756 L11.9999,10.8756 L11.9999,12.8756 L12.9999,12.8756 L12.9999,11.8756 L13.9379,11.8756 L13.9379,10.8756 Z M7,1 L7.00095826,3.17100877 C7.10111582,3.20644169 7.1988298,3.24704235 7.29377984,3.2924904 L8.8281,1.757 L10.2421,3.171 L8.70798211,4.70720778 C8.75338867,4.80216052 8.79394842,4.89987512 8.82934116,5.00003141 L11,5 L11,7 L8.82899123,7.00095826 C8.79343547,7.10146305 8.75267608,7.19950728 8.70703675,7.29476726 L10.242,8.8291 L8.828,10.2431 L7.29279222,8.70798211 C7.19815226,8.7532391 7.1007686,8.79368115 7.00095826,8.82899123 L7,11 L5,11 L5.00003141,8.82934116 C4.89952784,8.79382569 4.80148292,8.75310733 4.70622016,8.7075096 L3.1719,10.243 L1.7579,8.829 L3.29201789,7.29279222 C3.2467609,7.19815226 3.20631885,7.1007686 3.17100877,7.00095826 L1,7 L1,5 L3.17065884,5.00003141 C3.20629703,4.89918056 3.24717413,4.80080537 3.29296325,4.70523274 L1.758,3.1709 L3.172,1.7569 L4.70720778,3.29201789 C4.80216052,3.24661133 4.89987512,3.20605158 5.00003141,3.17065884 L5,1 L7,1 Z M6,4 C4.897,4 4,4.897 4,6 C4,7.103 4.897,8 6,8 C7.103,8 8,7.103 8,6 C8,4.897 7.103,4 6,4 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/rename_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="M16,1.875 L16,14.875 L2,14.875 L2,10.875 L3,10.875 L3,13.875 L10.9999,13.8756 L10.9999,9.8746 L15,9.874 L15,2.875 L11,2.875 L11,1.875 L16,1.875 Z M15.0009,11.8756 L13.9999,11.8756 L13.9999,12.8756 L12.9999,12.8756 L12.9999,13.8756 L15.0009,13.8756 L15.0009,11.8756 Z M13.9379,10.8756 L11.9999,10.8756 L11.9999,12.8756 L12.9999,12.8756 L12.9999,11.8756 L13.9379,11.8756 L13.9379,10.8756 Z M7,1 L7.00095826,3.17100877 C7.10111582,3.20644169 7.1988298,3.24704235 7.29377984,3.2924904 L8.8281,1.757 L10.2421,3.171 L8.70798211,4.70720778 C8.75338867,4.80216052 8.79394842,4.89987512 8.82934116,5.00003141 L11,5 L11,7 L8.82899123,7.00095826 C8.79343547,7.10146305 8.75267608,7.19950728 8.70703675,7.29476726 L10.242,8.8291 L8.828,10.2431 L7.29279222,8.70798211 C7.19815226,8.7532391 7.1007686,8.79368115 7.00095826,8.82899123 L7,11 L5,11 L5.00003141,8.82934116 C4.89952784,8.79382569 4.80148292,8.75310733 4.70622016,8.7075096 L3.1719,10.243 L1.7579,8.829 L3.29201789,7.29279222 C3.2467609,7.19815226 3.20631885,7.1007686 3.17100877,7.00095826 L1,7 L1,5 L3.17065884,5.00003141 C3.20629703,4.89918056 3.24717413,4.80080537 3.29296325,4.70523274 L1.758,3.1709 L3.172,1.7569 L4.70720778,3.29201789 C4.80216052,3.24661133 4.89987512,3.20605158 5.00003141,3.17065884 L5,1 L7,1 Z M6,4 C4.897,4 4,4.897 4,6 C4,7.103 4.897,8 6,8 C7.103,8 8,7.103 8,6 C8,4.897 7.103,4 6,4 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/vcs_list_disabled.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_版本管理_disabled</title>
<g id="icon_版本管理_disabled" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.3">
<path d="M12,13 C12,14.1045695 11.1045695,15 10,15 L10,15 L3,15 C1.8954305,15 1,14.1045695 1,13 L1,13 L1,6 C1,4.8954305 1.8954305,4 3,4 L3,4 L4,4 L4,3 C4,1.8954305 4.8954305,1 6,1 L13,1 C14.1045695,1 15,1.8954305 15,3 L15,10 C15,11.1045695 14.1045695,12 13,12 L12,12 Z M13,2 L6,2 C5.44771525,2 5,2.44771525 5,3 L5,10 C5,10.5522847 5.44771525,11 6,11 L13,11 C13.5522847,11 14,10.5522847 14,10 L14,3 C14,2.44771525 13.5522847,2 13,2 Z M6,12 C4.8954305,12 4,11.1045695 4,10 L4,5 L3,5 C2.44771525,5 2,5.44771525 2,6 L2,6 L2,13 C2,13.5522847 2.44771525,14 3,14 L3,14 L10,14 C10.5522847,14 11,13.5522847 11,13 L11,13 L11,12 L6,12 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/vcs_list_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="M12,13 C12,14.1045695 11.1045695,15 10,15 L10,15 L3,15 C1.8954305,15 1,14.1045695 1,13 L1,13 L1,6 C1,4.8954305 1.8954305,4 3,4 L3,4 L4,4 L4,3 C4,1.8954305 4.8954305,1 6,1 L13,1 C14.1045695,1 15,1.8954305 15,3 L15,10 C15,11.1045695 14.1045695,12 13,12 L12,12 Z M13,2 L6,2 C5.44771525,2 5,2.44771525 5,3 L5,10 C5,10.5522847 5.44771525,11 6,11 L13,11 C13.5522847,11 14,10.5522847 14,10 L14,3 C14,2.44771525 13.5522847,2 13,2 Z M6,12 C4.8954305,12 4,11.1045695 4,10 L4,5 L3,5 C2.44771525,5 2,5.44771525 2,6 L2,6 L2,13 C2,13.5522847 2.44771525,14 3,14 L3,14 L10,14 C10.5522847,14 11,13.5522847 11,13 L11,13 L11,12 L6,12 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/view_folder_disabled.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_打开文件_disable</title>
<g id="icon_打开文件_disable" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.3">
<path d="M16,1 L16,14.937 L0,14.937 L0,1 L16,1 Z M3,4.937 L1,4.937 L1,13.937 L7,13.937 L7.001,12.937 L3,12.937 L3,4.937 Z M9,11.937 L9,13.937 L15,13.937 L15,4.937 L4,4.937 L4,5.937 L9,5.937 L9,7.937 L7,7.937 L7.001,6.937 L4,6.937 L4,8.937 L9,8.937 L9,10.937 L7,10.937 L7.001,9.937 L4,9.937 L4,11.937 L9,11.937 Z M15,1.937 L1,1.937 L1,3.937 L15,3.937 L15,1.937 Z" id="Combined-Shape" fill="#333334"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 774 B

7
designer-base/src/main/resources/com/fr/design/images/FileDealerPaneIcon/view_folder_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 C15.5522847,1 16,1.44771525 16,2 L16,14 C16,14.5522847 15.5522847,15 15,15 L1,15 C0.44771525,15 0,14.5522847 0,14 L0,2 C0,1.44771525 0.44771525,1 1,1 L15,1 Z M3,5 L1,5 L1,14 L7,14 L7,13 L3,13 L3,5 Z M9,12 L9,14 L15,14 L15,5 L4,5 L4,6 L9,6 L9,8 L7,8 L7,7 L4,7 L4,9 L9,9 L9,11 L7,11 L7,10 L4,10 L4,12 L9,12 Z M15,2 L1,2 L1,4 L15,4 L15,2 Z" id="Combined-Shape" fill="#333334" fill-rule="nonzero"></path>
</g>
</svg>

After

Width:  |  Height:  |  Size: 774 B

BIN
designer-base/src/main/resources/com/fr/design/images/warnings/icon_WarningIcon_normal.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
designer-base/src/main/resources/com/fr/design/images/warnings/icon_WarningIcon_normal@2x.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

26
designer-base/src/test/java/com/fr/design/EnvChangeEntranceTest.java

@ -8,6 +8,8 @@ import com.fr.design.env.RemoteDesignerWorkspaceInfo;
import com.fr.env.CheckServiceDialog;
import com.fr.env.PluginErrorRemindDialog;
import com.fr.invoke.Reflect;
import com.fr.workspace.WorkContext;
import com.fr.workspace.Workspace;
import com.fr.workspace.connect.WorkspaceConnectionInfo;
import com.fr.workspace.engine.channel.http.FunctionalHttpRequest;
import org.easymock.EasyMock;
@ -30,7 +32,8 @@ import java.awt.Frame;
EnvChangeEntrance.class,
CheckServiceDialog.class,
DesignerEnvManager.class,
PluginErrorRemindHandler.class})
PluginErrorRemindHandler.class,
WorkContext.class})
public class EnvChangeEntranceTest {
@Test
@ -107,12 +110,15 @@ public class EnvChangeEntranceTest {
}
@Test
public void testPluginErrorRemind() throws Exception {
public void testPluginErrorRemind() {
try {
DesignerWorkspaceInfo selectedEnv = EasyMock.mock(DesignerWorkspaceInfo.class);
EasyMock.expect(selectedEnv.getType()).andReturn(DesignerWorkspaceType.Remote).once();
EasyMock.expect(selectedEnv.getType()).andReturn(DesignerWorkspaceType.Local).times(2);
Workspace workspace = EasyMock.mock(Workspace.class);
EasyMock.expect(workspace.isLocal()).andReturn(false).once();
EasyMock.expect(workspace.isLocal()).andReturn(true).times(2);
PowerMock.mockStatic(WorkContext.class);
EasyMock.expect(WorkContext.getCurrent()).andReturn(workspace).anyTimes();
PowerMock.mockStatic(PluginErrorRemindHandler.class);
EasyMock.expect(PluginErrorRemindHandler.pluginErrorContent()).andReturn("").once();
@ -124,17 +130,17 @@ public class EnvChangeEntranceTest {
dialog.setVisible(true);
EasyMock.expectLastCall();
EasyMock.replay(selectedEnv, dialog);
EasyMock.replay(workspace, dialog);
PowerMock.replayAll();
EnvChangeEntrance entrance = EnvChangeEntrance.getInstance();
entrance.pluginErrorRemind(selectedEnv);
entrance.pluginErrorRemind(selectedEnv);
entrance.pluginErrorRemind(selectedEnv);
entrance.pluginErrorRemind();
entrance.pluginErrorRemind();
entrance.pluginErrorRemind();
EasyMock.verify(selectedEnv, dialog);
EasyMock.verify(workspace, dialog);
PowerMock.verifyAll();
} catch (Exception e) {
Assert.fail();

16
designer-form/src/main/java/com/fr/design/mainframe/widget/ui/WidgetBasicPropertyPaneFactory.java

@ -1,6 +1,10 @@
package com.fr.design.mainframe.widget.ui;
import com.fr.design.designer.creator.XCreator;
import com.fr.design.designer.creator.XWParameterLayout;
import com.fr.design.file.HistoryTemplateListCache;
import com.fr.design.mainframe.EastRegionContainerPane;
import com.fr.design.mainframe.JForm;
/**
* Created by kerry on 2017/9/30.
@ -8,6 +12,7 @@ import com.fr.design.designer.creator.XCreator;
public class WidgetBasicPropertyPaneFactory {
public static FormBasicPropertyPane createBasicPropertyPane(XCreator xCreator) {
freshPropertyMode(xCreator);
if (xCreator.supportSetVisible() && xCreator.supportSetEnable()) {
return new FormBasicWidgetPropertyPane();
}
@ -18,4 +23,15 @@ public class WidgetBasicPropertyPaneFactory {
}
}
private static void freshPropertyMode(XCreator xCreator) {
if (!(HistoryTemplateListCache.getInstance().getCurrentEditingTemplate() instanceof JForm)) {
if (xCreator instanceof XWParameterLayout) {
EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.REPORT_PARA);
} else {
EastRegionContainerPane.getInstance().switchMode(EastRegionContainerPane.PropertyMode.REPORT_PARA_WIDGET);
}
}
}
}

11
designer-realize/src/main/java/com/fr/start/module/DesignerWorkspaceProvider.java

@ -71,7 +71,6 @@ public class DesignerWorkspaceProvider extends Activator {
} catch (Exception e) {
FineLoggerFactory.getLogger().warn("Check Service Failed");
}
EnvChangeEntrance.getInstance().pluginErrorRemind(selectEnv);
}
});
}
@ -88,6 +87,16 @@ public class DesignerWorkspaceProvider extends Activator {
EnvChangeEntrance.getInstance().dealEvnExceptionWhenStartDesigner();
}
}
pluginErrorRemind();
}
private void pluginErrorRemind() {
EventDispatcher.listen(DesignerLaunchStatus.STARTUP_COMPLETE, new Listener<Null>() {
@Override
public void on(Event event, Null aNull) {
EnvChangeEntrance.getInstance().pluginErrorRemind();
}
});
}
@Override

50
designer-realize/src/test/java/com/fr/start/module/DesignerWorkspaceProviderTest.java

@ -0,0 +1,50 @@
package com.fr.start.module;
import com.fr.design.constants.DesignerLaunchStatus;
import com.fr.event.EventDispatcher;
import com.fr.invoke.Reflect;
import com.fr.workspace.WorkContext;
import com.fr.workspace.Workspace;
import org.easymock.EasyMock;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.easymock.PowerMock;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
/**
* @author Lucian.Chen
* @version 10.0
* Created by Lucian.Chen on 2021/1/7
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({WorkContext.class})
public class DesignerWorkspaceProviderTest {
@Test
public void testPluginErrorRemind() {
try {
Workspace workspace = EasyMock.mock(Workspace.class);
EasyMock.expect(workspace.isLocal()).andReturn(false).once();
PowerMock.mockStatic(WorkContext.class);
EasyMock.expect(WorkContext.getCurrent()).andReturn(workspace).anyTimes();
EasyMock.replay(workspace);
PowerMock.replayAll();
DesignerWorkspaceProvider provider = new DesignerWorkspaceProvider();
Reflect.on(provider).call("pluginErrorRemind");
EventDispatcher.fire(DesignerLaunchStatus.STARTUP_COMPLETE);
EasyMock.verify(workspace);
PowerMock.verifyAll();
} catch (Exception e) {
Assert.fail(e.getMessage());
}
}
}
Loading…
Cancel
Save