Browse Source

Merging in latest from upstream (DESIGN/design:refs/heads/feature/10.0)

* commit '50d9d36180a069769470b1fe9cbedfb7b68ff631':
  无jira 同步到feature
  REPORT-27647 模板组件的安装下载-模板组件复用插件 处理下可能的 npe
  REPORT-27647 模板组件的安装下载-模板组件复用插件 修复部分监听上的问题
persist/11.0
richie 5 years ago
parent
commit
448827b14a
  1. 4
      designer-base/src/main/java/com/fr/design/fun/PropertyItemPaneProvider.java
  2. 39
      designer-base/src/main/java/com/fr/design/mainframe/EastRegionContainerPane.java
  3. 10
      designer-base/src/main/java/com/fr/design/mainframe/PropertyItemBean.java
  4. 12
      designer-base/src/main/java/com/fr/design/notification/SnapChatConfig.java
  5. 2
      designer-form/src/main/java/com/fr/design/mainframe/JForm.java
  6. 16
      designer-realize/src/main/java/com/fr/start/DesignerLauncher.java
  7. 14
      designer-realize/src/main/java/com/fr/start/FineDesigner.java

4
designer-base/src/main/java/com/fr/design/fun/PropertyItemPaneProvider.java

@ -14,6 +14,10 @@ public interface PropertyItemPaneProvider<T> extends Mutable {
String XML_TAG = "PropertyItemPaneProvider";
int FIRST = 100;
int LAST = -100;
/**
* 独一无二的标志
*

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

@ -145,7 +145,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
};
PluginListenerRegistration.getInstance().listen(
PluginEventType.AfterRun,
new PluginEventListener() {
new PluginEventListener(PropertyItemPaneProvider.FIRST) {
@Override
public void on(PluginEvent event) {
PluginContext context = event.getContext();
@ -159,7 +159,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
}, filter);
PluginListenerRegistration.getInstance().listen(
PluginEventType.BeforeStop,
new PluginEventListener(10) {
new PluginEventListener(PropertyItemPaneProvider.FIRST) {
@Override
public void on(PluginEvent event) {
PluginContext context = event.getContext();
@ -201,10 +201,14 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
String key = provider.key();
PropertyItemBean itemBean = provider.getItem();
PropertyItem propertyItem = new PropertyItem(itemBean.getName(),
itemBean.getTitle(),
itemBean.getBtnIconName(),
itemBean.getVisibleModes(),
itemBean.getEnableModes());
itemBean.getTitle(),
itemBean.getBtnIconName(),
itemBean.getVisibleModes(),
itemBean.getEnableModes());
String btnIconBaseDir = itemBean.getBtnIconBaseDir();
if (StringUtils.isNotEmpty(btnIconBaseDir)) {
propertyItem.setIconBaseDir(btnIconBaseDir);
}
UIButton button = propertyItem.getButton();
List<ActionListener> buttonListeners = itemBean.getButtonListeners();
for (ActionListener buttonListener : buttonListeners) {
@ -648,14 +652,21 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
private static final String ICON_SUFFIX_DISABLED = "_disabled.png";
private static final String ICON_SUFFIX_SELECTED = "_selected.png";
private String btnIconName;
private String iconBaseDir;
private String iconSuffix = ICON_SUFFIX_NORMAL; // normal, diabled, selected, 三者之一
private final Color selectedBtnBackground = new Color(0xF5F5F7);
private Color originBtnBackground;
public PropertyItem(String name, String title, String btnIconName, PropertyMode[] visibleModes, PropertyMode[] enableModes) {
this(name, title, btnIconName, ICON_BASE_DIR, visibleModes, enableModes);
}
public PropertyItem(String name, String title, String btnIconName, String iconBaseDir, PropertyMode[] visibleModes, PropertyMode[] enableModes) {
this.name = name;
this.title = title;
this.btnIconName = btnIconName;
this.iconBaseDir = iconBaseDir;
initButton();
initPropertyPanel();
initModes(visibleModes, enableModes);
@ -712,7 +723,16 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
this.isEnabled = isEnabled;
button.setEnabled(isEnabled);
}
public void setIconBaseDir(String iconBaseDir) {
this.iconBaseDir = iconBaseDir;
}
private String getIconBaseDir() {
return StringUtils.isEmpty(iconBaseDir) ? ICON_BASE_DIR : iconBaseDir;
}
private void initPropertyPanel() {
propertyPanel = new JPanel();
propertyPanel.setBackground(Color.pink);
@ -793,7 +813,8 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
}
private String getBtnIconUrl() {
return ICON_BASE_DIR + btnIconName + iconSuffix;
return getIconBaseDir() + btnIconName + iconSuffix;
}
public void resetButtonIcon() {

10
designer-base/src/main/java/com/fr/design/mainframe/PropertyItemBean.java

@ -11,6 +11,7 @@ public class PropertyItemBean {
private String name;
private String title;
private String btnIconName;
private String btnIconBaseDir;
private EastRegionContainerPane.PropertyMode[] visibleModes;
private EastRegionContainerPane.PropertyMode[] enableModes;
private List<ActionListener> buttonListeners;
@ -42,6 +43,15 @@ public class PropertyItemBean {
this.btnIconName = btnIconName;
}
public String getBtnIconBaseDir() {
return btnIconBaseDir;
}
public void setBtnIconBaseDir(String btnIconBaseDir) {
this.btnIconBaseDir = btnIconBaseDir;
}
public EastRegionContainerPane.PropertyMode[] getVisibleModes() {
return visibleModes;
}

12
designer-base/src/main/java/com/fr/design/notification/SnapChatConfig.java

@ -43,9 +43,12 @@ public class SnapChatConfig implements XMLable {
@Override
public void readXML(XMLableReader reader) {
String tagName = reader.getTagName();
if ("MarkReadMap".equals(tagName)) {
readMarkReadMapXML(reader);
if (reader.isChildNode()) {
if ("item".equals(reader.getTagName())) {
String tmpVal = reader.getElementValue();
Boolean markRead = Boolean.valueOf(tmpVal);
markReadMap.put(reader.getAttrAsString("key", StringUtils.EMPTY), markRead);
}
}
}
@ -62,9 +65,6 @@ public class SnapChatConfig implements XMLable {
reader.readXMLObject(new XMLReadable() {
@Override
public void readXML(XMLableReader reader) {
String tmpVal = reader.getElementValue();
Boolean markRead = Boolean.valueOf(tmpVal);
markReadMap.put(reader.getAttrAsString("key", StringUtils.EMPTY), markRead);
}
});
}

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

@ -148,7 +148,7 @@ public class JForm extends JTemplate<Form, FormUndoState> implements BaseJForm<F
}
};
PluginListenerRegistration.getInstance().listen(PluginEventType.AfterRun,
new PluginEventListener() {
new PluginEventListener(PropertyItemPaneProvider.LAST) {
@Override
public void on(PluginEvent event) {
PluginContext context = event.getContext();

16
designer-realize/src/main/java/com/fr/start/DesignerLauncher.java

@ -3,6 +3,9 @@ package com.fr.start;
import com.fr.process.FineProcess;
import com.fr.process.engine.FineJavaProcessFactory;
import com.fr.process.engine.core.FineProcessContext;
import com.fr.stable.StableUtils;
import java.io.File;
/**
* @author hades
@ -11,6 +14,10 @@ import com.fr.process.engine.core.FineProcessContext;
*/
public class DesignerLauncher {
private static final String BIN = "bin";
private static final String DOT =".";
private static final String BIN_HOME = generateBinHome();
private static final DesignerLauncher INSTANCE = new DesignerLauncher();
private String[] args;
@ -19,6 +26,11 @@ public class DesignerLauncher {
}
private static String generateBinHome() {
return DOT.equals(StableUtils.getInstallHome()) ?
DOT : StableUtils.getInstallHome() + File.separator + BIN;
}
public static DesignerLauncher getInstance() {
return INSTANCE;
}
@ -26,12 +38,14 @@ public class DesignerLauncher {
public void start(String[] args) {
this.args = args;
FineJavaProcessFactory.create().
entry("com.fr.start.MainDesigner").
entry(MainDesigner.class).
javaRuntime(DesignerJavaRuntime.getInstance().getJavaExec()).
classPath(DesignerJavaRuntime.getInstance().getClassPath()).
inheritJvmSettings().
jvmSettings(DesignerJavaRuntime.getInstance().getJvmOptions()).
arguments(args).
directory(BIN_HOME).
entryPackage(FineDesigner.class).
startProcess(DesignerProcessType.INSTANCE);
DesignerSuperListener.getInstance().start();
}

14
designer-realize/src/main/java/com/fr/start/FineDesigner.java

@ -0,0 +1,14 @@
package com.fr.start;
import com.fr.process.engine.core.FineProcessEntry;
/**
* 包装类 改变子进程的进程名
*
* @author hades
* @version 10.0
* Created by hades on 2020/3/24
*/
public class FineDesigner extends FineProcessEntry {
}
Loading…
Cancel
Save