From c987fc5cd284bdde10fc0c896481778a4c350d01 Mon Sep 17 00:00:00 2001 From: plough Date: Mon, 7 Aug 2017 12:42:03 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-3163=20=E5=90=88=E4=BD=9C=E5=BC=80?= =?UTF-8?q?=E5=8F=919.0=E8=AE=BE=E8=AE=A1=E5=99=A8=3D>=E8=81=9A=E5=90=88?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=3D=E3=80=8B=E6=8E=A7=E4=BB=B6=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/poly/PolyBlockProperTable.java | 24 ++++++--- .../mainframe/widget/BasicPropertyPane.java | 50 +++++++++++++++++++ .../widget/ui/FormBasicPropertyPane.java | 41 +-------------- 3 files changed, 70 insertions(+), 45 deletions(-) create mode 100644 designer_base/src/com/fr/design/mainframe/widget/BasicPropertyPane.java diff --git a/designer/src/com/fr/poly/PolyBlockProperTable.java b/designer/src/com/fr/poly/PolyBlockProperTable.java index e0f39959a6..f446c25ad4 100644 --- a/designer/src/com/fr/poly/PolyBlockProperTable.java +++ b/designer/src/com/fr/poly/PolyBlockProperTable.java @@ -18,6 +18,7 @@ import com.fr.design.gui.itable.AbstractPropertyTable; import com.fr.design.gui.itable.PropertyGroup; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.mainframe.widget.BasicPropertyPane; import com.fr.design.widget.WidgetBoundsPaneFactory; import com.fr.general.Inter; import com.fr.poly.group.PolyBoundsGroup; @@ -30,6 +31,9 @@ public class PolyBlockProperTable extends JPanel { private UISpinner y; private UISpinner width; private UISpinner height; + private BasicPropertyPane blockPropertyPane; + + private boolean isPopulating = false; public PolyBlockProperTable() { initPropertyPane(); @@ -37,14 +41,18 @@ public class PolyBlockProperTable extends JPanel { } private void initPropertyPane() { + this.setLayout(new BorderLayout()); + + blockPropertyPane = new BasicPropertyPane(); + UIExpandablePane basicPane = new UIExpandablePane("基本", 280, 20, blockPropertyPane); + this.add(basicPane, BorderLayout.NORTH); + x = new UISpinner(0, 1200, 1); y = new UISpinner(0, 1200, 1); width = new UISpinner(0, 1200, 1); height = new UISpinner(0, 1200, 1); - UIExpandablePane uiExpandablePane = WidgetBoundsPaneFactory.createAbsoluteBoundsPane(x, y, width, height); - - this.setLayout(new BorderLayout()); - this.add(uiExpandablePane, BorderLayout.CENTER); + UIExpandablePane boundsPane = WidgetBoundsPaneFactory.createAbsoluteBoundsPane(x, y, width, height); + this.add(boundsPane, BorderLayout.CENTER); } private void initListener(Container parentComponent) { @@ -86,7 +94,8 @@ public class PolyBlockProperTable extends JPanel { // groups = new ArrayList(); if (source instanceof TemplateBlock) { TemplateBlock block = (TemplateBlock) source; - PolyNameGroup namegroup = new PolyNameGroup(block); +// PolyNameGroup namegroup = new PolyNameGroup(block); + blockPropertyPane.getWidgetNameField().setText(block.getBlockName()); // groups.add(new PropertyGroup(namegroup)); final PolyBoundsGroup boundsgroup = new PolyBoundsGroup(block, designer.getTarget()); @@ -110,15 +119,18 @@ public class PolyBlockProperTable extends JPanel { } public void populate(PolyDesigner designer) { + isPopulating = true; this.designer = designer; initPropertyGroups(this.designer.getEditingTarget()); + isPopulating = false; } public void update() { TemplateBlock block = this.designer.getEditingTarget(); - if (block == null) { + if (isPopulating || block == null) { return; } + block.setBlockName(blockPropertyPane.getWidgetNameField().getText()); PolyBoundsGroup boundsgroup = new PolyBoundsGroup(block, designer.getTarget()); boundsgroup.setValue(x.getValue(), 0, 1); boundsgroup.setValue(y.getValue(), 1, 1); diff --git a/designer_base/src/com/fr/design/mainframe/widget/BasicPropertyPane.java b/designer_base/src/com/fr/design/mainframe/widget/BasicPropertyPane.java new file mode 100644 index 0000000000..7cc97eaf63 --- /dev/null +++ b/designer_base/src/com/fr/design/mainframe/widget/BasicPropertyPane.java @@ -0,0 +1,50 @@ +package com.fr.design.mainframe.widget; + +import com.fr.design.dialog.BasicPane; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.layout.TableLayout; +import com.fr.design.layout.TableLayoutHelper; +import com.fr.general.Inter; + +import javax.swing.*; +import java.awt.*; + +/** + * Created by plough on 2017/8/7. + */ +public class BasicPropertyPane extends BasicPane { + protected UITextField widgetName; + + public BasicPropertyPane(){ + initContentPane(); + } + + protected void initContentPane() { + this.setLayout(FRGUIPaneFactory.createBorderLayout()); + widgetName = new UITextField(); + + double f = TableLayout.FILL; + double p = TableLayout.PREFERRED; + double[] rowSize = {p}; + double[] columnSize = {p, f}; + int[][] rowCount = {{1, 1}}; + Component[][] components = new Component[][]{ + new Component[]{new UILabel(Inter.getLocText("Form-Widget_Name") + ":"), widgetName}, + }; + JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, 20, 7); + panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); + this.add(panel, BorderLayout.NORTH); + } + + public UITextField getWidgetNameField() { + return widgetName; + } + + + @Override + public String title4PopupWindow() { + return "basicProperty"; + } +} diff --git a/designer_form/src/com/fr/design/mainframe/widget/ui/FormBasicPropertyPane.java b/designer_form/src/com/fr/design/mainframe/widget/ui/FormBasicPropertyPane.java index 22cbd0eb9f..42d3984162 100644 --- a/designer_form/src/com/fr/design/mainframe/widget/ui/FormBasicPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/widget/ui/FormBasicPropertyPane.java @@ -1,49 +1,12 @@ package com.fr.design.mainframe.widget.ui; -import com.fr.design.dialog.BasicPane; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.mainframe.widget.BasicPropertyPane; import com.fr.form.ui.Widget; -import com.fr.general.Inter; - -import javax.swing.*; -import java.awt.*; /** * Created by ibm on 2017/8/4. */ -public class FormBasicPropertyPane extends BasicPane { - private UITextField widgetName; - - public FormBasicPropertyPane(){ - initContentPane(); - } - - protected void initContentPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - widgetName = new UITextField(); - - double f = TableLayout.FILL; - double p = TableLayout.PREFERRED; - double[] rowSize = {p}; - double[] columnSize = {p, f}; - int[][] rowCount = {{1, 1}}; - Component[][] components = new Component[][]{ - new Component[]{new UILabel(Inter.getLocText("Form-Widget_Name") + ":"), widgetName}, - }; - JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, 20, 7); - panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); - this.add(panel, BorderLayout.NORTH); - } - - - @Override - public String title4PopupWindow() { - return "basicProperty"; - } +public class FormBasicPropertyPane extends BasicPropertyPane { public void populate(Widget widget) { widgetName.setText(widget.getWidgetName());