From 61ea935238fbe918301e623f3a649632f34e62bc Mon Sep 17 00:00:00 2001 From: "Yuan.Wang" <1536296691@qq.com> Date: Tue, 15 Mar 2022 14:31:57 +0800 Subject: [PATCH] =?UTF-8?q?KERNEL-9999=20=E4=B8=8B=E6=8B=89=E6=A0=91?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/gui/frpane/JTreeControlPane.java | 26 +-- .../fr/design/gui/frpane/TreeSettingPane.java | 158 +++--------------- .../layer/config/LayerDataControlPane.java | 40 ++--- .../AccessibleTreeModelEditor.java | 2 +- .../ui/designer/TreeEditorDefinePane.java | 4 +- .../ui/TreeComboBoxEditorDefinePane.java | 14 +- .../widget/ui/TreeEditorDefinePane.java | 20 +-- 7 files changed, 65 insertions(+), 199 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/JTreeControlPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/JTreeControlPane.java index 04e3626a4..4c4785be0 100644 --- a/designer-base/src/main/java/com/fr/design/gui/frpane/JTreeControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/frpane/JTreeControlPane.java @@ -42,14 +42,10 @@ public class JTreeControlPane extends ControlPane { private JTree tree; private DefaultTreeModel defaultTreeModel; - - boolean isEditor = false; - private UICheckBox isPerformanceFirst; - public JTreeControlPane(NameableCreator[] creators, BasicBeanPane updatePane, boolean isEditor) { + public JTreeControlPane(NameableCreator[] creators, BasicBeanPane updatePane) { this.initComponents(creators, updatePane); - this.isEditor = isEditor; } private void initComponents(NameableCreator[] creators, BasicBeanPane updatePane) { @@ -120,11 +116,7 @@ public class JTreeControlPane extends ControlPane { if (obj instanceof TreeNodeAttr[]) { treeNodeAttr = ((TreeNodeAttr[]) obj); isPerformanceFirst.setSelected(false); - } else if (obj instanceof TreeEditor) { - TreeEditor treeEditor = (TreeEditor) obj; - treeNodeAttr = treeEditor.getTreeNodeAttr(); - isPerformanceFirst.setSelected(treeEditor.isPerformanceFirst()); - } else if (obj instanceof TreeNodeWrapper) { + }else if (obj instanceof TreeNodeWrapper) { treeNodeAttr = ((TreeNodeWrapper) obj).getTreeNodeAttrs(); isPerformanceFirst.setSelected(((TreeNodeWrapper) obj).isPerformanceFirst()); } @@ -146,18 +138,8 @@ public class JTreeControlPane extends ControlPane { } public NameObject update() { - if (isEditor) { - TreeEditor treeEditor = new TreeEditor(); - - treeEditor.setTreeNodeAttr(updateTreeNodeAttr()); - - treeEditor.setPerformanceFirst(isPerformanceFirst.isSelected()); - - return new NameObject("tree", treeEditor); - } else { - TreeNodeWrapper treeNodeWrapper = new TreeNodeWrapper(isPerformanceFirst.isSelected(), updateTreeNodeAttr()); - return new NameObject("tree", treeNodeWrapper); - } + TreeNodeWrapper treeNodeWrapper = new TreeNodeWrapper(isPerformanceFirst.isSelected(), updateTreeNodeAttr()); + return new NameObject("tree", treeNodeWrapper); } public TreeNodeAttr[] updateTreeNodeAttr() { diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/TreeSettingPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/TreeSettingPane.java index db453c99f..77d3aa583 100644 --- a/designer-base/src/main/java/com/fr/design/gui/frpane/TreeSettingPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/frpane/TreeSettingPane.java @@ -26,12 +26,18 @@ import java.awt.event.ItemListener; import java.util.Arrays; public class TreeSettingPane extends BasicPane implements DataCreatorUI { + /** + * 普通分层构建方式 + */ private JTreeControlPane controlPane; + /** + * 自动构建方式 + */ private JTreeAutoBuildPane autoBuildPane; /** - * 新的分层构建方式 + * 急速分层构建方式 */ private LayerDataControlPane layerDataControlPane; @@ -43,15 +49,15 @@ public class TreeSettingPane extends BasicPane implements DataCreatorUI { private static final long serialVersionUID = 1762889323082827111L; private String[] buildWay = new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_DataTable_Build"), - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Auto_Build"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Layer_Build")}; + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Auto_Build"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Layer_Build")}; - public TreeSettingPane(boolean isEditor) { - this.initComponents(isEditor); + public TreeSettingPane() { + this.initComponents(); } - private void initComponents(boolean isEditor) { + private void initComponents() { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - JPanel buildWayPanel= FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane(); + JPanel buildWayPanel = FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane(); buildWayPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); UILabel buildWayLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Build_Way") + " :"); buildWayPanel.add(buildWayLabel); @@ -65,8 +71,8 @@ public class TreeSettingPane extends BasicPane implements DataCreatorUI { }); buildWayPanel.add(buildBox); - controlPane = new JTreeControlPane(new NameableCreator[] { treeNode }, - new TreeDataCardPane(), isEditor); + controlPane = new JTreeControlPane(new NameableCreator[]{treeNode}, + new TreeDataCardPane()); autoBuildPane = new JTreeAutoBuildPane(); layerDataControlPane = new LayerDataControlPane(); this.add(buildWayPanel, BorderLayout.NORTH); @@ -108,87 +114,14 @@ public class TreeSettingPane extends BasicPane implements DataCreatorUI { } NameableCreator treeNode = new NameObjectCreator( - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Gradation"), - "/com/fr/design/images/data/source/jdbcTableData.png", - TreeNodeAttr.class); - - /** - * - * @param treeEditor - */ - public void populate(TreeEditor treeEditor) { - boolean isAutoBuild = treeEditor.isAutoBuild(); - TreeAttr treeAttr = treeEditor.getTreeAttr(); - if (treeAttr != null) { - NameObject no = new NameObject("name", treeEditor); - controlPane.populate(no); - } - if (isAutoBuild) { - buildBox.setSelectedIndex(1); - TableDataDictionary dictionary = treeEditor.getDictionary(); - autoBuildPane.populate(dictionary); - } else if (treeEditor.isFastLayerBuild()) { - buildBox.setSelectedIndex(0); - java.util.List layerConfigList = treeEditor.getLayerConfigs(); - LayerConfig[] layerConfigs = new LayerConfig[layerConfigList.size()]; - int i = 0; - for (LayerConfig layerConfig : layerConfigList) { - layerConfigs[i++] = layerConfig; - } - this.layerDataControlPane.populate(new NameObject("Tree Layer Data", layerConfigs)); - } else { - buildBox.setSelectedIndex(2); - } - } + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Gradation"), + "/com/fr/design/images/data/source/jdbcTableData.png", + TreeNodeAttr.class); - /** - * 视图树的update - * @return - */ - public TreeEditor updateTreeEditor() { -// NameObject no = this.controlPane.update(); -// if (no != null) { -// return ((TreeEditor) no.getObject()); -// } -// -// return null; - TreeEditor te = new TreeEditor(); - if (buildBox.getSelectedIndex() == 1) { - TableDataDictionary dictionary = this.autoBuildPane.update(); - te.setAutoBuild(true); - te.setFastLayerBuild(false); - te.setDictionary(dictionary); - te.setNodeOrDict(dictionary); - } else if (buildBox.getSelectedIndex() == 2) { - te.setAutoBuild(false); - te.setFastLayerBuild(false); - NameObject no = this.controlPane.update(); - if (no != null) { - TreeEditor editor = (TreeEditor) no.getObject(); - te.setAllowBlank(editor.isAllowBlank()); - te.setEnabled(editor.isEnabled()); - te.setDirectEdit(editor.isDirectEdit()); - te.setErrorMessage(editor.getErrorMessage()); - te.setWidgetName(editor.getWidgetName()); - te.setVisible(editor.isVisible()); - te.setWaterMark(editor.getWaterMark()); - te.setRemoveRepeat(editor.isRemoveRepeat()); - te.setTreeAttr(editor.getTreeAttr()); - te.setTreeNodeAttr(editor.getTreeNodeAttr()); - te.setNodeOrDict(editor.getTreeNodeAttr()); - te.setPerformanceFirst(editor.isPerformanceFirst()); - } - } else { - LayerConfig[] configs = (LayerConfig[]) layerDataControlPane.update().getObject(); - te.setAutoBuild(false); - te.setFastLayerBuild(true); - te.setLayerConfigs(Arrays.asList(configs)); - } - return te; - } /** * 树节点属性的update + * * @return */ public Object updateTreeNodeAttrs() { @@ -207,64 +140,19 @@ public class TreeSettingPane extends BasicPane implements DataCreatorUI { } /** - * 下拉树的update - * @return - */ - public TreeComboBoxEditor updateTreeComboBox() { - TreeComboBoxEditor tcb = new TreeComboBoxEditor(); - if (buildBox.getSelectedIndex() == 1) { - TableDataDictionary dictionary = this.autoBuildPane.update(); - tcb.setAutoBuild(true); - tcb.setFastLayerBuild(false); - tcb.setDictionary(dictionary); - tcb.setNodeOrDict(dictionary); - } else if (buildBox.getSelectedIndex() == 2) { - tcb.setAutoBuild(false); - tcb.setFastLayerBuild(false); - NameObject no = this.controlPane.update(); - if (no != null) { - if (no.getObject() instanceof TreeComboBoxEditor) { - return (TreeComboBoxEditor) no.getObject(); - } - - TreeEditor editor = (TreeEditor) no.getObject(); - tcb.setAllowBlank(editor.isAllowBlank()); - tcb.setEnabled(editor.isEnabled()); - tcb.setDirectEdit(editor.isDirectEdit()); - tcb.setErrorMessage(editor.getErrorMessage()); - tcb.setWidgetName(editor.getWidgetName()); - tcb.setVisible(editor.isVisible()); - tcb.setWaterMark(editor.getWaterMark()); - tcb.setRemoveRepeat(editor.isRemoveRepeat()); - tcb.setTreeAttr(editor.getTreeAttr()); - tcb.setTreeNodeAttr(editor.getTreeNodeAttr()); - tcb.setNodeOrDict(editor.getTreeNodeAttr()); - tcb.setPerformanceFirst(editor.isPerformanceFirst()); - } - }else { - LayerConfig[] configs = (LayerConfig[]) layerDataControlPane.update().getObject(); - tcb.setAutoBuild(false); - tcb.setFastLayerBuild(true); - tcb.setLayerConfigs(Arrays.asList(configs)); - } - return tcb; - } - - /** - * * @param nodeOrDict */ public void populate(Object nodeOrDict) { - if(nodeOrDict instanceof TreeNodeAttr[] || nodeOrDict instanceof TreeNodeWrapper) { + if (nodeOrDict instanceof TreeNodeAttr[] || nodeOrDict instanceof TreeNodeWrapper) { buildBox.setSelectedIndex(2); NameObject no = new NameObject("name", nodeOrDict); controlPane.populate(no); - } else if(nodeOrDict instanceof TableDataDictionary) { + } else if (nodeOrDict instanceof TableDataDictionary) { buildBox.setSelectedIndex(1); - autoBuildPane.populate((TableDataDictionary)nodeOrDict); - } else if (nodeOrDict instanceof NameObject) { + autoBuildPane.populate((TableDataDictionary) nodeOrDict); + } else if (nodeOrDict instanceof LayerConfig[]) { buildBox.setSelectedIndex(0); - layerDataControlPane.populate((NameObject) nodeOrDict); + layerDataControlPane.populate((LayerConfig[]) nodeOrDict); } } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/tree/layer/config/LayerDataControlPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/tree/layer/config/LayerDataControlPane.java index 6d74e4801..eedc12058 100644 --- a/designer-base/src/main/java/com/fr/design/gui/frpane/tree/layer/config/LayerDataControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/frpane/tree/layer/config/LayerDataControlPane.java @@ -179,7 +179,7 @@ public class LayerDataControlPane extends ControlPane { public void actionPerformed(ActionEvent e) { // TODO remove tree node int val = FineJOptionPane.showConfirmDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Utils_Are_You_Sure_To_Remove_The_Selected_Item") + "?", - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remove"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); + com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remove"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (val != JOptionPane.OK_OPTION) { return; } @@ -193,36 +193,32 @@ public class LayerDataControlPane extends ControlPane { } } - public void populate(NameObject nameObject) { + public void populate(LayerConfig[] layerConfigs) { // 重新添加tree节点的时候需要remove掉原来的所有子节点 ((DefaultMutableTreeNode) defaultTreeModel.getRoot()).removeAllChildren(); - if (BEAN_NAME.equals(nameObject.getName())) { - Object obj = nameObject.getObject(); - LayerConfig[] layerConfigs = null; - if (obj instanceof LayerConfig[]) { - layerConfigs = ((LayerConfig[]) obj); - } + if (layerConfigs == null) { + return; + } - int count = layerConfigs == null ? 0 : layerConfigs.length; - //将树的层次一层一层的加上去 - DefaultMutableTreeNode node4root = (DefaultMutableTreeNode) defaultTreeModel.getRoot(); - for (int i = 0; i < count; i++) { + int count = layerConfigs.length; + //将树的层次一层一层的加上去 + DefaultMutableTreeNode node4root = (DefaultMutableTreeNode) defaultTreeModel.getRoot(); + for (int i = 0; i < count; i++) { - DefaultMutableTreeNode node4add = new DefaultMutableTreeNode( + DefaultMutableTreeNode node4add = new DefaultMutableTreeNode( new NameObject(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Gradation") + (i + 1), layerConfigs[i].clone())); - node4root.add(node4add); - node4root = node4add; - } - - defaultTreeModel.reload(); - expandAll(tree, true); - tree.setSelectionRow(0); + node4root.add(node4add); + node4root = node4add; } + + defaultTreeModel.reload(); + expandAll(tree, true); + tree.setSelectionRow(0); } - public NameObject update() { + public LayerConfig[] update() { - return new NameObject(BEAN_NAME, updateLayerDatas()); + return updateLayerDatas(); } private LayerConfig[] updateLayerDatas() { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleTreeModelEditor.java b/designer-base/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleTreeModelEditor.java index 5ce099c91..5b04ef014 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleTreeModelEditor.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/widget/accessibles/AccessibleTreeModelEditor.java @@ -23,7 +23,7 @@ public class AccessibleTreeModelEditor extends UneditableAccessibleEditor { @Override protected void showEditorPane() { if (treeSettingPane == null) { - treeSettingPane = new TreeSettingPane(false); + treeSettingPane = new TreeSettingPane(); } BasicDialog dlg = treeSettingPane.showWindow(SwingUtilities.getWindowAncestor(this)); treeSettingPane.populate(getValue()); diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/TreeEditorDefinePane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/TreeEditorDefinePane.java index 3c7158f82..e4d99802c 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/TreeEditorDefinePane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/TreeEditorDefinePane.java @@ -76,7 +76,7 @@ public class TreeEditorDefinePane extends CustomWritableRepeatEditorPane { private UICheckBox removeRepeatCheckBox; public TreeEditorDefinePane(){ - this.initComponents(); + this.initComponents(); } @Override protected void populateSubFieldEditorBean(TreeEditor e) { - this.accessibleTreeModelEditor.setValue(e.getNodeOrDict()); + this.accessibleTreeModelEditor.setValue(e.getBuildModelConfig()); treeRootPane.populate(e.getTreeAttr()); if (this.removeRepeatCheckBox != null) { this.removeRepeatCheckBox.setSelected(e.isRemoveRepeat()); @@ -40,7 +40,7 @@ public class TreeEditorDefinePane extends FieldEditorDefinePane { @Override protected TreeEditor updateSubFieldEditorBean() { TreeEditor editor = new TreeEditor(); - editor.setNodeOrDict(accessibleTreeModelEditor.getValue()); + editor.setBuildModelConfig(accessibleTreeModelEditor.getValue()); editor.setTreeAttr(treeRootPane.update()); if (this.removeRepeatCheckBox != null) { editor.setRemoveRepeat(this.removeRepeatCheckBox.isSelected()); @@ -50,8 +50,8 @@ public class TreeEditorDefinePane extends FieldEditorDefinePane { @Override protected JPanel setFirstContentPane() { - return this.setSecondContentPane(); - } + return this.setSecondContentPane(); + } protected JPanel setSecondContentPane() { accessibleTreeModelEditor = new AccessibleTreeModelEditor(); @@ -80,14 +80,14 @@ public class TreeEditorDefinePane extends FieldEditorDefinePane { content.add(treeRootPane, BorderLayout.NORTH); return content; } - + @Override protected String title4PopupWindow() { return "tree"; } - @Override - public DataCreatorUI dataUI() { - return null; - } + @Override + public DataCreatorUI dataUI() { + return null; + } } \ No newline at end of file