From 7a1a7f9926a853e942c4e0e061e8dacce63400ba Mon Sep 17 00:00:00 2001 From: kerry Date: Fri, 25 Nov 2016 15:25:19 +0800 Subject: [PATCH 1/4] =?UTF-8?q?REPORT-842=20=E6=8A=A5=E8=A1=A8=E5=9D=97?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=94=AF=E6=8C=81=E5=9C=86=E8=A7=92=E8=BE=B9?= =?UTF-8?q?=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creator/XBorderStyleWidgetCreator.java | 5 ++-- .../design/designer/creator/XElementCase.java | 4 +-- .../creator/XWAbsoluteBodyLayout.java | 2 +- .../fr/design/gui/xpane/LayoutBorderPane.java | 29 +++++++++++++++++-- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java b/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java index 61bd612ad..07a61f0d4 100644 --- a/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java +++ b/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java @@ -27,8 +27,7 @@ import com.fr.stable.StringUtils; */ public class XBorderStyleWidgetCreator extends XWidgetCreator{ - private int cornerSize = 15; - private int noneSize = 0; + private int noneSize = 0; protected static final Dimension BORDER_PREFERRED_SIZE = new Dimension(250, 150); @@ -59,7 +58,7 @@ public class XBorderStyleWidgetCreator extends XWidgetCreator{ protected void initBorderStyle() { LayoutBorderStyle style = toData().getBorderStyle(); if (style != null && style.getBorder() != Constants.LINE_NONE) { - this.setBorder(new UIRoundedBorder(style.getBorder(), style.getColor(), style.isCorner() ? cornerSize : noneSize)); + this.setBorder(new UIRoundedBorder(style.getBorder(), style.getColor(), style.isCorner() ? style.getRoundRadius() : noneSize)); } else { this.setBorder(DEFALUTBORDER); } diff --git a/designer_form/src/com/fr/design/designer/creator/XElementCase.java b/designer_form/src/com/fr/design/designer/creator/XElementCase.java index f2fa5cfa1..66e5adb16 100644 --- a/designer_form/src/com/fr/design/designer/creator/XElementCase.java +++ b/designer_form/src/com/fr/design/designer/creator/XElementCase.java @@ -84,7 +84,7 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme new CRPropertyDescriptor("widgetName", this.data.getClass()) .setI18NName(Inter.getLocText("Form-Widget_Name")), new CRPropertyDescriptor("borderStyle", this.data.getClass()).setEditorClass( - WLayoutBorderStyleEditor.class).setRendererClass(LayoutBorderStyleRenderer.class).setI18NName( + WLayoutBorderStyleEditor.class).setI18NName( Inter.getLocText("FR-Designer-Widget_Style")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced") .setPropertyChangeListener(new PropertyChangeAdapter() { @@ -94,7 +94,7 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme } }), new CRPropertyDescriptor("margin", this.data.getClass()).setEditorClass(PaddingMarginEditor.class) - .setRendererClass(PaddingMarginCellRenderer.class).setI18NName(Inter.getLocText("FR-Layout_Padding")) + .setI18NName(Inter.getLocText("FR-Layout_Padding")) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced"), new CRPropertyDescriptor("showToolBar", this.data.getClass()).setEditorClass(BooleanEditor.class) .setI18NName(Inter.getLocText("Form-EC_toolbar")) diff --git a/designer_form/src/com/fr/design/designer/creator/XWAbsoluteBodyLayout.java b/designer_form/src/com/fr/design/designer/creator/XWAbsoluteBodyLayout.java index e41ac8cba..291a0f88d 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWAbsoluteBodyLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWAbsoluteBodyLayout.java @@ -75,7 +75,7 @@ public class XWAbsoluteBodyLayout extends XWAbsoluteLayout { new CRPropertyDescriptor("widgetName", this.data.getClass()).setI18NName(Inter .getLocText("FR-Designer_Form-Widget_Name")), new CRPropertyDescriptor("borderStyle", this.data.getClass()).setEditorClass( - WLayoutBorderStyleEditor.class).setRendererClass(LayoutBorderStyleRenderer.class).setI18NName( + WLayoutBorderStyleEditor.class).setI18NName( Inter.getLocText("FR-Engine_Style")).putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced") .setPropertyChangeListener(new PropertyChangeAdapter() { diff --git a/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java b/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java index 45713c623..9c4385b6e 100644 --- a/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java +++ b/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java @@ -19,6 +19,7 @@ import com.fr.design.gui.icombobox.LineComboBox; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; +import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.style.BackgroundNoImagePane; import com.fr.design.gui.style.BackgroundSpecialPane; import com.fr.design.gui.style.FRFontPane; @@ -67,7 +68,8 @@ public class LayoutBorderPane extends BasicPane { private UIComboBox borderStyleCombo; //边框粗细 private LineComboBox currentLineCombo; - + //边框圆角 + private UISpinner borderCornerSpinner; //边框颜色 private UIColorButton currentLineColorPane; //主体背景 @@ -136,7 +138,17 @@ public class LayoutBorderPane extends BasicPane { this.currentLineCombo = currentLineCombo; } - public UIColorButton getCurrentLineColorPane() { + + public UISpinner getBorderCornerSpinner() { + return borderCornerSpinner; + } + + public void setBorderCornerSpinner(UISpinner borderCornerSpinner) { + this.borderCornerSpinner = borderCornerSpinner; + } + + + public UIColorButton getCurrentLineColorPane() { return currentLineColorPane; } @@ -337,6 +349,7 @@ public class LayoutBorderPane extends BasicPane { this.borderStyleCombo = new UIComboBox(BORDER_STYLE); this.currentLineCombo = new LineComboBox(BORDER_LINE_STYLE_ARRAY); this.currentLineColorPane = new UIColorButton(null); + this.borderCornerSpinner = new UISpinner(0,1000,1,0); currentLineColorPane.setUI(getButtonUI(currentLineColorPane)); currentLineColorPane.set4ToolbarButton(); currentLineColorPane.setPreferredSize(new Dimension(20,20)); @@ -356,6 +369,7 @@ public class LayoutBorderPane extends BasicPane { {new UILabel(Inter.getLocText("FR-Designer-Widget-Style_Render_Style")), borderStyleCombo}, {new UILabel(Inter.getLocText("FR-Designer-Widget-Style_Border_Line")), currentLineCombo}, {new UILabel(Inter.getLocText("FR-Designer-Widget-Style_Border_Color")), buttonPane}, + {new UILabel(Inter.getLocText("plugin-ChartF_Radius")+":"),borderCornerSpinner}, {new UILabel(Inter.getLocText("FR-Designer-Widget-Style_Body_Background")), backgroundPane}, {new UILabel(""),new UILabel(Inter.getLocText("FR-Designer-Widget-Style_Alpha"))}, {new UILabel(""),transparencyPane}, @@ -373,6 +387,7 @@ public class LayoutBorderPane extends BasicPane { protected JPanel initBodyRightTopPane(){ this.borderTypeCombo = new UIComboBox(BORDER_TYPE); this.borderStyleCombo = new UIComboBox(BORDER_STYLE); + this.borderCornerSpinner = new UISpinner(0,1000,1,0); this.currentLineCombo = new LineComboBox(BORDER_LINE_STYLE_ARRAY); this.currentLineColorPane = new UIColorButton(null); @@ -490,11 +505,12 @@ public class LayoutBorderPane extends BasicPane { LayoutBorderStyle style = new LayoutBorderStyle(); style.setType(borderTypeCombo.getSelectedIndex()); style.setBorderStyle(borderStyleCombo.getSelectedIndex()); + style.setRoundRadius((int)borderCornerSpinner.getValue()); style.setBorder(currentLineCombo.getSelectedLineStyle()); style.setColor(currentLineColorPane.getColor()); style.setBackground(backgroundPane.update()); style.setAlpha((float)(numberDragPane.updateBean()/maxNumber)); - + style.setCorner(true); WidgetTitle title = style.getTitle() == null ? new WidgetTitle() : style.getTitle(); title.setTextObject(formulaPane.updateBean()); FRFont frFont = title.getFrFont(); @@ -557,6 +573,13 @@ public class LayoutBorderPane extends BasicPane { paintPreviewPane(); } }); + this.borderCornerSpinner.setValue(borderStyle.getRoundRadius()); + this.borderCornerSpinner.addChangeListener(new ChangeListener() { + @Override + public void stateChanged(ChangeEvent e) { + paintPreviewPane(); + } + }); this.currentLineCombo.setSelectedLineStyle(borderStyle.getBorder()); this.currentLineCombo.addItemListener(new ItemListener() { @Override From bb622b1fd718eb9c6f7dadbda81b150e647d5656 Mon Sep 17 00:00:00 2001 From: kerry Date: Fri, 25 Nov 2016 16:04:18 +0800 Subject: [PATCH 2/4] =?UTF-8?q?REPORT-842=20=E6=8A=A5=E8=A1=A8=E5=9D=97?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=94=AF=E6=8C=81=E5=9C=86=E8=A7=92=E8=BE=B9?= =?UTF-8?q?=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/designer/creator/XBorderStyleWidgetCreator.java | 2 +- .../src/com/fr/design/gui/xpane/LayoutBorderPane.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java b/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java index 07a61f0d4..1b532f7f9 100644 --- a/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java +++ b/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java @@ -58,7 +58,7 @@ public class XBorderStyleWidgetCreator extends XWidgetCreator{ protected void initBorderStyle() { LayoutBorderStyle style = toData().getBorderStyle(); if (style != null && style.getBorder() != Constants.LINE_NONE) { - this.setBorder(new UIRoundedBorder(style.getBorder(), style.getColor(), style.isCorner() ? style.getRoundRadius() : noneSize)); + this.setBorder(new UIRoundedBorder(style.getBorder(), style.getColor(), style.isCorner() ? style.getBorderRadius() : noneSize)); } else { this.setBorder(DEFALUTBORDER); } diff --git a/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java b/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java index 9c4385b6e..1a1dd071c 100644 --- a/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java +++ b/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java @@ -505,7 +505,7 @@ public class LayoutBorderPane extends BasicPane { LayoutBorderStyle style = new LayoutBorderStyle(); style.setType(borderTypeCombo.getSelectedIndex()); style.setBorderStyle(borderStyleCombo.getSelectedIndex()); - style.setRoundRadius((int)borderCornerSpinner.getValue()); + style.setBorderRadius((int)borderCornerSpinner.getValue()); style.setBorder(currentLineCombo.getSelectedLineStyle()); style.setColor(currentLineColorPane.getColor()); style.setBackground(backgroundPane.update()); @@ -573,7 +573,7 @@ public class LayoutBorderPane extends BasicPane { paintPreviewPane(); } }); - this.borderCornerSpinner.setValue(borderStyle.getRoundRadius()); + this.borderCornerSpinner.setValue(borderStyle.getBorderRadius()); this.borderCornerSpinner.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { From 5ca2af057fba416e658388661e5c613d32f9ea6f Mon Sep 17 00:00:00 2001 From: kerry Date: Sat, 26 Nov 2016 14:31:59 +0800 Subject: [PATCH 3/4] =?UTF-8?q?REPORT-842=20=E6=8A=A5=E8=A1=A8=E5=BF=AB?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=94=AF=E6=8C=81=E5=9C=86=E8=A7=92=E8=BE=B9?= =?UTF-8?q?=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/designer/creator/XElementCase.java | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/XElementCase.java b/designer_form/src/com/fr/design/designer/creator/XElementCase.java index 66e5adb16..543762ba2 100644 --- a/designer_form/src/com/fr/design/designer/creator/XElementCase.java +++ b/designer_form/src/com/fr/design/designer/creator/XElementCase.java @@ -100,20 +100,7 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme .setI18NName(Inter.getLocText("Form-EC_toolbar")) .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, "Advanced") }; - - //这边有个插件兼容问题,之后还是要改回process才行 - Set set = ExtraDesignClassManager.getInstance().getArray(AbstractFormElementCaseEditorProvider.MARK_STRING); - for (FormElementCaseEditorProvider provider : set) { - if (provider == null) { - continue; - } - this.designer = WidgetPropertyPane.getInstance().getEditingFormDesigner(); - FormProvider formProvider = designer.getTarget(); - ElementCaseEditorProvider elementCaseEditorProvider = this.toData(); - PropertyDescriptor[] extraEditor = provider.createPropertyDescriptor(this.data.getClass(), formProvider, elementCaseEditorProvider); - propertyTableEditor = (CRPropertyDescriptor[]) ArrayUtils.addAll(propertyTableEditor, extraEditor); - } - + resolveCompatible(propertyTableEditor); FormElementCaseEditorProcessor processor = ExtraDesignClassManager.getInstance().getSingle(FormElementCaseEditorProcessor.MARK_STRING); if (processor == null) { return propertyTableEditor; @@ -131,10 +118,25 @@ public class XElementCase extends XBorderStyleWidgetCreator implements FormEleme if (editor.getReportFitAttr() == null) { editor.setReportFitInPc(processor.getFitStateInPC(fitAttr)); } - return (CRPropertyDescriptor[]) ArrayUtils.addAll(propertyTableEditor, extraEditor); } + + private void resolveCompatible (CRPropertyDescriptor[] propertyTableEditor) { + //这边有个插件兼容问题,之后还是要改回process才行 + Set set = ExtraDesignClassManager.getInstance().getArray(AbstractFormElementCaseEditorProvider.MARK_STRING); + for (FormElementCaseEditorProvider provider : set) { + if (provider == null) { + continue; + } + this.designer = WidgetPropertyPane.getInstance().getEditingFormDesigner(); + FormProvider formProvider = designer.getTarget(); + ElementCaseEditorProvider elementCaseEditorProvider = this.toData(); + PropertyDescriptor[] extraEditor = provider.createPropertyDescriptor(this.data.getClass(), formProvider, elementCaseEditorProvider); + propertyTableEditor = (CRPropertyDescriptor[]) ArrayUtils.addAll(propertyTableEditor, extraEditor); + } + } + @Override protected String getIconName() { return "text_field_16.png"; From cfb08a1d0a28a89ae5e48046531b43b6ce49bc7d Mon Sep 17 00:00:00 2001 From: kerry Date: Mon, 28 Nov 2016 11:09:12 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=B0=86=E5=8E=9F=E5=85=88=E7=9A=84?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=9C=86=E8=A7=92=E5=B1=9E=E6=80=A7=E6=8D=A2?= =?UTF-8?q?=E6=88=90=E5=9C=86=E8=A7=92=E5=8D=8A=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../designer/creator/XBorderStyleWidgetCreator.java | 8 +++----- .../com/fr/design/gui/xpane/LayoutBorderPane.java | 12 ++++++------ 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java b/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java index 1b532f7f9..5fb559fc4 100644 --- a/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java +++ b/designer_form/src/com/fr/design/designer/creator/XBorderStyleWidgetCreator.java @@ -27,8 +27,6 @@ import com.fr.stable.StringUtils; */ public class XBorderStyleWidgetCreator extends XWidgetCreator{ - private int noneSize = 0; - protected static final Dimension BORDER_PREFERRED_SIZE = new Dimension(250, 150); public XBorderStyleWidgetCreator(Widget widget, Dimension initSize) { @@ -58,7 +56,7 @@ public class XBorderStyleWidgetCreator extends XWidgetCreator{ protected void initBorderStyle() { LayoutBorderStyle style = toData().getBorderStyle(); if (style != null && style.getBorder() != Constants.LINE_NONE) { - this.setBorder(new UIRoundedBorder(style.getBorder(), style.getColor(), style.isCorner() ? style.getBorderRadius() : noneSize)); + this.setBorder(new UIRoundedBorder(style.getBorder(), style.getColor(), style.getBorderRadius())); } else { this.setBorder(DEFALUTBORDER); } @@ -108,8 +106,8 @@ public class XBorderStyleWidgetCreator extends XWidgetCreator{ //标题的边框样式目前是取对应的控件的边框样式 title.setBorder(style.getBorder()); title.setColor(style.getColor()); - title.setCorner(style.isCorner()); - +// title.setCorner(style.isCorner()); + WidgetTitle wTitle = style.getTitle(); //设置成随机不重复的, 不然都用一个名字的话, 联动只能联动一个 title.setWidgetName(wTitle.TITLE_NAME_INDEX + this.toData().getWidgetName()); diff --git a/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java b/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java index 1a1dd071c..26f407702 100644 --- a/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java +++ b/designer_form/src/com/fr/design/gui/xpane/LayoutBorderPane.java @@ -58,6 +58,7 @@ public class LayoutBorderPane extends BasicPane { private static final int RIGHTANGLE_BORDERS = 1; private static final int ROUNDED_BORDERS = 2; private static final int MAX_WIDTH = 220; + private static final int NO_RADIUS = 0; private LayoutBorderStyle borderStyle = new LayoutBorderStyle(); @@ -362,7 +363,7 @@ public class LayoutBorderPane extends BasicPane { transparencyPane.add(new UILabel(" %"), BorderLayout.EAST); double p = TableLayout.PREFERRED; - double[] rowSize = {p,p,p,p,p,p,p}; + double[] rowSize = {p,p,p,p,p,p,p,p}; double[] columnSize = { p, MAX_WIDTH}; JPanel rightTopContentPane = TableLayoutHelper.createCommonTableLayoutPane(new JComponent[][]{ {new UILabel(Inter.getLocText("FR-Designer-Widget-Style_Frame_Style")), borderTypeCombo}, @@ -510,7 +511,6 @@ public class LayoutBorderPane extends BasicPane { style.setColor(currentLineColorPane.getColor()); style.setBackground(backgroundPane.update()); style.setAlpha((float)(numberDragPane.updateBean()/maxNumber)); - style.setCorner(true); WidgetTitle title = style.getTitle() == null ? new WidgetTitle() : style.getTitle(); title.setTextObject(formulaPane.updateBean()); FRFont frFont = title.getFrFont(); @@ -774,9 +774,9 @@ public class LayoutBorderPane extends BasicPane { public void populate(LayoutBorderStyle style) { if(style.getBorder() == Constants.LINE_NONE) { group.setSelected(noBorder.getModel(), true); - } else if(style.isCorner()) { - group.setSelected(RoundedBorder.getModel(), true); - } else { + } else if(style.getBorderRadius() != NO_RADIUS) { + group.setSelected(RoundedBorder.getModel(), true); + } else { group.setSelected(normalBorder.getModel(), true); } } @@ -817,7 +817,7 @@ public class LayoutBorderPane extends BasicPane { } else { borderStyle.setColor(currentLineColorPane.getColor()); borderStyle.setBorder(currentLineCombo.getSelectedLineStyle()); - borderStyle.setCorner(border != RIGHTANGLE_BORDERS); + borderStyle.setBorderRadius((int)borderCornerSpinner.getValue()); } layoutBorderPreviewPane.repaint();