Browse Source

Merge pull request #926 in DESIGN/design from release/10.0 to feature/10.0

* commit 'a03b44601da41e626fc51a85aff997f1608a2057':
  删除无用import
  REPORT-17500 设计器无法跳转到帮助文档
  REPORT-17500 设计器无法跳转到帮助文档
  REPORT-16650 设计器权限编辑 多角色树多选无效
  REPORT-17451 控件可用可见失效
  REPORT-16012 populate展示需要使用快照对象,在原始对象上的任意修改都会映射到数据库上,导致卡顿
  update
  REPORT-17422 && REPORT-17460 更新升级 有jar包没更新
  REPORT-16567 添加台版教学视频链接
research/10.0
neil 6 years ago
parent
commit
b8c639b309
  1. 10
      designer-base/src/main/java/com/fr/design/actions/help/TutorialAction.java
  2. 39
      designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java
  3. 91
      designer-form/src/main/java/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java
  4. 18
      designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java
  5. 2
      designer-realize/src/main/java/com/fr/design/widget/ui/ParameterTreeComboBox.java

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

@ -1,10 +1,10 @@
package com.fr.design.actions.help; package com.fr.design.actions.help;
import com.fr.base.BaseUtils;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.menu.MenuKeySet; import com.fr.design.menu.MenuKeySet;
import com.fr.general.CloudCenter; import com.fr.general.CloudCenter;
import com.fr.general.GeneralContext; import com.fr.general.GeneralContext;
import com.fr.general.IOUtils;
import com.fr.general.http.HttpToolbox; import com.fr.general.http.HttpToolbox;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
import com.fr.stable.CommonUtils; import com.fr.stable.CommonUtils;
@ -22,11 +22,13 @@ import java.net.URI;
public class TutorialAction extends UpdateAction { public class TutorialAction extends UpdateAction {
private static final String URL_FOR_TEST_NETWORK = "https://www.baidu.com";
public TutorialAction() { public TutorialAction() {
this.setMenuKeySet(HELP_TUTORIAL); this.setMenuKeySet(HELP_TUTORIAL);
this.setName(getMenuKeySet().getMenuName()); this.setName(getMenuKeySet().getMenuName());
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/bbs/help.png")); this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/bbs/help.png"));
this.setAccelerator(getMenuKeySet().getKeyStroke()); this.setAccelerator(getMenuKeySet().getKeyStroke());
} }
@ -34,9 +36,11 @@ public class TutorialAction extends UpdateAction {
* 动作 * 动作
* @param evt 事件 * @param evt 事件
*/ */
@Override
public void actionPerformed(ActionEvent evt) { public void actionPerformed(ActionEvent evt) {
String helpURL = CloudCenter.getInstance().acquireUrlByKind(createDocKey()); String helpURL = CloudCenter.getInstance().acquireUrlByKind(createDocKey());
if (isServerOnline(helpURL)) { // 用第三方网址去判断是否处在离线状态
if (isServerOnline(URL_FOR_TEST_NETWORK)) {
try { try {
Desktop.getDesktop().browse(new URI(helpURL)); Desktop.getDesktop().browse(new URI(helpURL));
return; return;

39
designer-base/src/main/java/com/fr/design/update/ui/dialog/UpdateMainDialog.java

@ -22,6 +22,7 @@ import com.fr.design.update.ui.widget.UpdateInfoTableCellRender;
import com.fr.design.update.ui.widget.UpdateInfoTableModel; import com.fr.design.update.ui.widget.UpdateInfoTableModel;
import com.fr.design.update.ui.widget.UpdateInfoTextAreaCellRender; import com.fr.design.update.ui.widget.UpdateInfoTextAreaCellRender;
import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.CloudCenter;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.DateUtils; import com.fr.general.DateUtils;
import com.fr.general.GeneralContext; import com.fr.general.GeneralContext;
@ -29,6 +30,7 @@ import com.fr.general.GeneralUtils;
import com.fr.general.IOUtils; import com.fr.general.IOUtils;
import com.fr.general.SiteCenter; import com.fr.general.SiteCenter;
import com.fr.general.http.HttpClient; import com.fr.general.http.HttpClient;
import com.fr.general.http.HttpToolbox;
import com.fr.json.JSONArray; import com.fr.json.JSONArray;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.log.FineLoggerFactory; import com.fr.log.FineLoggerFactory;
@ -37,6 +39,7 @@ import com.fr.stable.ProductConstants;
import com.fr.stable.StableUtils; import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import com.fr.third.org.apache.commons.codec.digest.DigestUtils;
import com.fr.workspace.WorkContext; import com.fr.workspace.WorkContext;
import com.sun.java.swing.plaf.motif.MotifProgressBarUI; import com.sun.java.swing.plaf.motif.MotifProgressBarUI;
@ -371,9 +374,7 @@ public class UpdateMainDialog extends UIDialog {
new SwingWorker<JSONObject, Void>() { new SwingWorker<JSONObject, Void>() {
@Override @Override
protected JSONObject doInBackground() throws Exception { protected JSONObject doInBackground() throws Exception {
HttpClient hc = new HttpClient(SiteCenter.getInstance().acquireUrlByKind("jar10.update")); return new JSONObject(HttpToolbox.get(CloudCenter.getInstance().acquireUrlByKind("jar10.update")));
hc.setTimeout(UpdateConstants.CONNECTION_TIMEOUT);
return new JSONObject(hc.getResponseText());
} }
@Override @Override
@ -620,8 +621,11 @@ public class UpdateMainDialog extends UIDialog {
long downloadSize = jo.optLong("size"); long downloadSize = jo.optLong("size");
if (ComparatorUtils.equals(category, "server")) { if (ComparatorUtils.equals(category, "server")) {
File currentJAR = new File(StableUtils.pathJoin(WorkContext.getCurrent().getPath(), ProjectConstants.LIB_NAME, downloadName)); File currentJAR = new File(StableUtils.pathJoin(WorkContext.getCurrent().getPath(), ProjectConstants.LIB_NAME, downloadName));
if (currentJAR.exists() && ComparatorUtils.equals(currentJAR.length(), downloadSize)) { String currentMD5 = getCurrentJarMD5(currentJAR);
//假如大小一样的jar包就不要下载了 String downloadMD5 = jo.optString("md5");
boolean exist = currentJAR.exists() && ComparatorUtils.equals(currentJAR.length(), downloadSize) && ComparatorUtils.equals(currentMD5, downloadMD5);
if (exist) {
// 如果jar包存在且MD5值和大小与oss上的一致 不下载
continue; continue;
} }
} }
@ -630,6 +634,31 @@ public class UpdateMainDialog extends UIDialog {
} }
} }
/**
* 获取当前jar的md5
* @param currentJAR
* @return
*/
private String getCurrentJarMD5(File currentJAR) {
String md5 = StringUtils.EMPTY;
FileInputStream input = null;
try {
input = new FileInputStream(currentJAR);
md5 = DigestUtils.md5Hex(input);
} catch (Exception ignore) {
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
}
}
return md5;
}
/** /**
* jar包更新按钮监听器 * jar包更新按钮监听器
*/ */

91
designer-form/src/main/java/com/fr/design/designer/properties/FormWidgetAuthorityEditPane.java

@ -4,14 +4,18 @@ import java.awt.BorderLayout;
import java.awt.Component; import java.awt.Component;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.tree.TreePath;
import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.LayoutConstants;
import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.file.HistoryTemplateListCache;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.itree.refreshabletree.ExpandMutableTreeNode;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.AuthorityEditPane; import com.fr.design.mainframe.AuthorityEditPane;
@ -22,6 +26,9 @@ import com.fr.design.roleAuthority.ReportAndFSManagePane;
import com.fr.design.roleAuthority.RolesAlreadyEditedPane; import com.fr.design.roleAuthority.RolesAlreadyEditedPane;
import com.fr.form.ui.Widget; import com.fr.form.ui.Widget;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.stable.ArrayUtils;
import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils;
/** /**
@ -34,15 +41,21 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
private Widget[] widgets = null; private Widget[] widgets = null;
private UICheckBox widgetVisible = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Visible")); private UICheckBox widgetVisible = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Visible"));
private UICheckBox widgetAvailable = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Enabled")); private UICheckBox widgetAvailable = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Enabled"));
private String[] selectedArray;
private ItemListener visibleItemListener = new ItemListener() { private ItemListener visibleItemListener = new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) { public void itemStateChanged(ItemEvent e) {
String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName();
if (selectedRoles == null) { if (selectedRoles == null) {
return; return;
} }
if (widgets != null && widgets.length > 0) { initSelectedArray();
for (int i = 0; i < widgets.length; i++) { if (ArrayUtils.isEmpty(selectedArray)) {
widgets[i].changeVisibleAuthorityState(selectedRoles, widgetVisible.isSelected()); return;
}
for (String selectedRole : selectedArray) {
for (Widget widget : widgets) {
widget.changeVisibleAuthorityState(selectedRole, widgetVisible.isSelected());
} }
} }
doAfterAuthority(); doAfterAuthority();
@ -51,6 +64,7 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
private ItemListener usableItemListener = new ItemListener() { private ItemListener usableItemListener = new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) { public void itemStateChanged(ItemEvent e) {
String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName(); String selectedRoles = ReportAndFSManagePane.getInstance().getRoleTree().getSelectedRoleName();
if (ComparatorUtils.equals(selectedRoles, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Role"))) { if (ComparatorUtils.equals(selectedRoles, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Role"))) {
@ -59,9 +73,13 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
if (selectedRoles == null) { if (selectedRoles == null) {
return; return;
} }
if (widgets != null && widgets.length > 0) { initSelectedArray();
for (int i = 0; i < widgets.length; i++) { if (ArrayUtils.isEmpty(selectedArray)) {
widgets[i].changeUsableAuthorityState(selectedRoles, widgetAvailable.isSelected()); return;
}
for (String selectedRole : selectedArray) {
for (Widget widget : widgets) {
widget.changeUsableAuthorityState(selectedRole, widgetAvailable.isSelected());
} }
} }
doAfterAuthority(); doAfterAuthority();
@ -78,7 +96,7 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
private void doAfterAuthority() { private void doAfterAuthority() {
designer.repaint(); designer.repaint();
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().fireTargetModified(); HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().fireTargetModified();
RolesAlreadyEditedPane.getInstance().refreshDockingView(); RolesAlreadyEditedPane.getInstance().refreshDockingView();
RolesAlreadyEditedPane.getInstance().setReportAndFSSelectedRoles(); RolesAlreadyEditedPane.getInstance().setReportAndFSSelectedRoles();
RolesAlreadyEditedPane.getInstance().repaint(); RolesAlreadyEditedPane.getInstance().repaint();
@ -90,6 +108,7 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
* *
* @date 2014-12-21-下午6:19:43 * @date 2014-12-21-下午6:19:43
*/ */
@Override
public void populateType() { public void populateType() {
type.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Form_Widget_Config")); type.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Widget_Form_Widget_Config"));
} }
@ -99,15 +118,16 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
* *
* @date 2014-12-21-下午7:12:27 * @date 2014-12-21-下午7:12:27
*/ */
@Override
public void populateName() { public void populateName() {
String nameText = "";
if (widgets == null || widgets.length <= 0) { if (widgets == null || widgets.length <= 0) {
return; return;
} }
for (int i = 0; i < widgets.length; i++) { List<String> widgetNames = new ArrayList<String>();
nameText += "," + widgets[i].getClass().getSimpleName(); for (Widget widget : widgets) {
widgetNames.add(widget.getClass().getSimpleName());
} }
name.setText(nameText.substring(1)); name.setText(StableUtils.join(widgetNames, ","));
} }
/** /**
@ -116,6 +136,7 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
* @return 面板 * @return 面板
* @date 2014-12-21-下午6:19:03 * @date 2014-12-21-下午6:19:03
*/ */
@Override
public JPanel populateCheckPane() { public JPanel populateCheckPane() {
checkPane.add(populateWidgetCheckPane(), BorderLayout.CENTER); checkPane.add(populateWidgetCheckPane(), BorderLayout.CENTER);
checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0)); checkPane.setBorder(BorderFactory.createEmptyBorder(0, LEFT_CHECKPANE, 0, 0));
@ -138,10 +159,11 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
/** /**
* 对单元格区域进行操作时的权限编辑页面 * 对单元格区域进行操作时的权限编辑页面
*/ */
@Override
public void populateDetials() { public void populateDetials() {
//更新说明要是JWorkBook的话,说明鼠标焦点又改变了 //更新说明要是JWorkBook的话,说明鼠标焦点又改变了
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().setAuthorityMode(true); HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().setAuthorityMode(true);
signelSelection(); singleSelection();
refreshCreator(); refreshCreator();
//如果是布局选中不支持的元素则显示“该元素不支持权限控制” //如果是布局选中不支持的元素则显示“该元素不支持权限控制”
@ -186,8 +208,8 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
//实现单选 //实现单选
private void signelSelection() { private void singleSelection() {
if (HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().isJWorkBook()) { if (HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().isJWorkBook()) {
//清工具栏 //清工具栏
JComponent component = DesignerContext.getDesignerFrame().getToolbarComponent(); JComponent component = DesignerContext.getDesignerFrame().getToolbarComponent();
if (component instanceof AuthorityEditToolBarComponent) { if (component instanceof AuthorityEditToolBarComponent) {
@ -195,7 +217,7 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
} }
//清空报表主体的单元格选择 //清空报表主体的单元格选择
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().removeTemplateSelection(); HistoryTemplateListCache.getInstance().getCurrentEditingTemplate().removeTemplateSelection();
} }
} }
@ -204,5 +226,40 @@ public class FormWidgetAuthorityEditPane extends AuthorityEditPane {
widgets = size == 0 ? null : designer.getSelectionModel().getSelection().getSelectedWidgets(); widgets = size == 0 ? null : designer.getSelectionModel().getSelection().getSelectedWidgets();
} }
private void initSelectedArray() {
TreePath[] selectionPaths = ReportAndFSManagePane.getInstance().getRoleTree().getCheckBoxTreeSelectionModel().getSelectionPaths();
if (selectionPaths.length == 1) {
if (((ExpandMutableTreeNode) (selectionPaths[0].getLastPathComponent())).getChildCount() > 0) {
ExpandMutableTreeNode node = (ExpandMutableTreeNode) ((ExpandMutableTreeNode) (selectionPaths[0].getLastPathComponent())).getLastChild();
selectedArray = new String[node.getChildCount()];
for (int i = 0, len = node.getChildCount(); i < len; i++) {
ExpandMutableTreeNode treeNode = (ExpandMutableTreeNode) node.getChildAt(i);
String nodeName = treeNode.getUserObject().toString();
selectedArray[i] = nodeName;
}
} else {
selectedArray = pathToString(selectionPaths);
}
} else {
selectedArray = pathToString(selectionPaths);
}
}
private String[] pathToString(TreePath[] path) {
List<String> roles = new ArrayList<String>();
if (!ArrayUtils.isEmpty(path)) {
for (TreePath tempPath : path) {
String temp = tempPath.toString();
boolean exist = StringUtils.isNotEmpty(temp) && temp.startsWith("[") && temp.endsWith("]");
if (exist) {
temp = temp.substring(1, temp.length() - 1);
String[] selectedRoles = temp.split("," + StringUtils.BLANK);
String role = selectedRoles[2].trim();
roles.add(role);
}
}
}
return roles.toArray(new String[0]);
}
} }

18
designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java

@ -1,6 +1,5 @@
package com.fr.design.mainframe.widget.ui; package com.fr.design.mainframe.widget.ui;
import com.fr.base.BaseUtils;
import com.fr.design.data.DataCreatorUI; import com.fr.design.data.DataCreatorUI;
import com.fr.design.designer.beans.events.DesignerEvent; import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.designer.creator.XCreator; import com.fr.design.designer.creator.XCreator;
@ -28,13 +27,13 @@ import com.fr.design.widget.Operator;
import com.fr.design.widget.ui.designer.component.WidgetAbsoluteBoundPane; import com.fr.design.widget.ui.designer.component.WidgetAbsoluteBoundPane;
import com.fr.design.widget.ui.designer.component.WidgetBoundPane; import com.fr.design.widget.ui.designer.component.WidgetBoundPane;
import com.fr.design.widget.ui.designer.component.WidgetCardTagBoundPane; import com.fr.design.widget.ui.designer.component.WidgetCardTagBoundPane;
import com.fr.form.ui.FormWidgetHelper;
import com.fr.form.ui.Widget; import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WScaleLayout; import com.fr.form.ui.container.WScaleLayout;
import com.fr.form.ui.container.WTitleLayout; import com.fr.form.ui.container.WTitleLayout;
import com.fr.form.ui.widget.CRBoundsWidget; import com.fr.form.ui.widget.CRBoundsWidget;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.IOUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
@ -91,6 +90,7 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane {
return new WidgetBoundPane(xCreator); return new WidgetBoundPane(xCreator);
} }
@Override
protected JPanel createContentPane() { protected JPanel createContentPane() {
return null; return null;
} }
@ -218,21 +218,14 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane {
UITextField widgetNameField = widgetPropertyPane.getWidgetNameField(); UITextField widgetNameField = widgetPropertyPane.getWidgetNameField();
String toSetWidgetName = widgetNameField.getText(); String toSetWidgetName = widgetNameField.getText();
String currentWidgetName = widget.getWidgetName(); String currentWidgetName = widget.getWidgetName();
// 设置的组件名和当前组件名相同 直接返回 boolean exist = designer.getTarget().isNameExist(toSetWidgetName) && !ComparatorUtils.equals(toSetWidgetName, currentWidgetName);
if (ComparatorUtils.equals(toSetWidgetName, currentWidgetName)) {
return;
}
String containerName = designer.getTarget().getContainer().getWidgetName();
Widget existWidget = FormWidgetHelper.findWidgetByName(widget, widgetNameField.getText());
// 判断设置的组件名是否和容器同名以及组件是否在容器在存在 满足任何其一 抛出提示
boolean exist = ComparatorUtils.equals(containerName, toSetWidgetName) || existWidget != null;
if (exist) { if (exist) {
widgetNameField.setText(currentWidgetName); widgetNameField.setText(currentWidgetName);
JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Rename_Failure"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Joption_News"), JOptionPane.ERROR_MESSAGE, BaseUtils.readIcon("com/fr/design/form/images/joption_failure.png")); JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Rename_Failure"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Joption_News"), JOptionPane.ERROR_MESSAGE, IOUtils.readIcon("com/fr/design/form/images/joption_failure.png"));
return; return;
} }
widgetPropertyPane.update(widget); widgetPropertyPane.update(widget);
xCreator.resetCreatorName(toSetWidgetName); xCreator.resetCreatorName(currentWidgetName);
xCreator.resetVisible(widget.isVisible()); xCreator.resetVisible(widget.isVisible());
designer.getEditListenerTable().fireCreatorModified(xCreator, DesignerEvent.CREATOR_RENAMED); designer.getEditListenerTable().fireCreatorModified(xCreator, DesignerEvent.CREATOR_RENAMED);
return; return;
@ -262,6 +255,7 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane {
creator.firePropertyChange(); creator.firePropertyChange();
} }
@Override
public String getIconPath() { public String getIconPath() {
return StringUtils.EMPTY; return StringUtils.EMPTY;
} }

2
designer-realize/src/main/java/com/fr/design/widget/ui/ParameterTreeComboBox.java

@ -161,7 +161,7 @@ public class ParameterTreeComboBox extends FRTreeComboBox {
// 全局数据源参数 // 全局数据源参数
parameters = new Parameter[0]; parameters = new Parameter[0];
Calculator c = Calculator.createCalculator(); Calculator c = Calculator.createCalculator();
TableDataConfig tableDataConfig = TableDataConfig.getInstance(); TableDataConfig tableDataConfig = TableDataConfig.getInstance().mirror();
Iterator<String> nameIt = tableDataConfig.getTableDatas().keySet().iterator(); Iterator<String> nameIt = tableDataConfig.getTableDatas().keySet().iterator();
while (nameIt.hasNext()) { while (nameIt.hasNext()) {
TableData tableData = tableDataConfig.getTableData(nameIt.next()); TableData tableData = tableDataConfig.getTableData(nameIt.next());

Loading…
Cancel
Save