Browse Source

Merge pull request #1350 in DESIGN/design from ~HADES/design:release/10.0 to release/10.0

* commit 'c1991e9b1f099c5ab013d45e08dcf4c79638b91c':
  REPORT-24478 预定义控件设置不可用不可见后预览无效
  REPORT-24478 预定义控件设置不可用不可见后预览无效
  REPORT-24478 预定义控件设置不可用不可见后预览无效
feature/big-screen
Hades 5 years ago
parent
commit
646b7623a1
  1. 15
      designer-realize/src/main/java/com/fr/design/widget/WidgetPane.java

15
designer-realize/src/main/java/com/fr/design/widget/WidgetPane.java

@ -243,11 +243,24 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener
if (item.getValue() instanceof Integer) {
return getWidgetOptions()[(Integer) item.getValue()].createWidget();
} else if (item.getValue() instanceof String) {
return new NameWidget((String) item.getValue());
return getPredefinedWidget((String) item.getValue());
}
return null;
}
//为了保持预定义控件的配置界面不变,返回类型必须为NameWidget
private NameWidget getPredefinedWidget(String name) {
NameWidget nameWidget = new NameWidget(name);
WidgetInfoConfig manager = WidgetInfoConfig.getInstance();
if (manager.getWidgetConfig(name) != null) {
Widget widget = manager.getWidgetConfig(name).toWidget();
nameWidget.setWidgetName(widget.getWidgetName());
nameWidget.setEnabled(widget.isEnabled());
nameWidget.setVisible(widget.isVisible());
}
return nameWidget;
}
private WidgetOption[] getWidgetOptions() {
return (WidgetOption[]) ArrayUtils.addAll(WidgetOption.getReportWidgetInstance(), ExtraDesignClassManager.getInstance().getCellWidgetOptions());
}

Loading…
Cancel
Save