From 9b56656743816f404bd12c1a7b80c1521a14175f Mon Sep 17 00:00:00 2001 From: Lee Date: Wed, 29 Jun 2016 11:36:58 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D=EF=BC=9A=20=E6=89=8B?= =?UTF-8?q?=E6=9C=BA=E9=87=8D=E5=B8=83=E5=B1=80=E4=B8=8D=E8=83=BD=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E4=BF=9D=E5=AD=98=E4=BB=A5=E5=8F=8A=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E7=94=9F=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8C=E5=B7=B2=E7=BB=8F=E5=BE=97=E5=88=B0=E8=A7=A3=E5=86=B3?= =?UTF-8?q?=E4=BA=86=EF=BC=8C=E4=B8=8D=E9=87=87=E7=94=A8model=E7=9A=84?= =?UTF-8?q?=E5=86=99=E6=B3=95=EF=BC=8C=E4=BC=9A=E9=A2=9D=E5=A4=96new?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E5=AF=B9=E8=B1=A1=EF=BC=8C=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E8=AF=BB=E5=B1=9E=E6=80=A7=E5=92=8C=E5=86=99=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E6=89=80=E5=9C=A8=E5=AF=B9=E8=B1=A1=E4=B8=8D=E6=98=AF=E5=90=8C?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=EF=BC=8C=E4=B8=A5=E9=87=8Dbug=EF=BC=8C?= =?UTF-8?q?=E8=BF=99=E6=A0=B7=E4=BB=A3=E7=A0=81=E4=B9=9F=E5=BE=97=E5=88=B0?= =?UTF-8?q?=E4=BA=86=E5=BE=88=E5=A4=A7=E7=9A=84=E7=B2=BE=E7=AE=80=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../layout/FRBodyFitLayoutAdapter.java | 21 ---- .../designer/creator/XWBodyFitLayout.java | 20 ---- .../design/designer/creator/XWFitLayout.java | 4 +- .../properties/BodyAppRelayoutTable.java | 63 +++++----- .../BodyMobileLayoutPropertiesGroupModel.java | 111 ------------------ .../mobile/BodyMobilePropertyUI.java | 8 +- 6 files changed, 39 insertions(+), 188 deletions(-) delete mode 100644 designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyFitLayoutAdapter.java delete mode 100644 designer_form/src/com/fr/design/designer/creator/XWBodyFitLayout.java delete mode 100644 designer_form/src/com/fr/design/designer/properties/BodyMobileLayoutPropertiesGroupModel.java diff --git a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyFitLayoutAdapter.java b/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyFitLayoutAdapter.java deleted file mode 100644 index 0dc00045b..000000000 --- a/designer_form/src/com/fr/design/designer/beans/adapters/layout/FRBodyFitLayoutAdapter.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.fr.design.designer.beans.adapters.layout; - -import com.fr.design.beans.GroupModel; -import com.fr.design.designer.creator.XLayoutContainer; -import com.fr.design.designer.creator.XWFitLayout; -import com.fr.design.designer.properties.BodyMobileLayoutPropertiesGroupModel; - -public class FRBodyFitLayoutAdapter extends FRFitLayoutAdapter { - - public FRBodyFitLayoutAdapter(XLayoutContainer container) { - super(container); - } - /** - * 返回布局自身属性,方便一些特有设置在layout刷新时处理 - */ - @Override - public GroupModel getLayoutProperties() { - XWFitLayout xfl = (XWFitLayout) container; - return new BodyMobileLayoutPropertiesGroupModel(xfl); - } -} \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/creator/XWBodyFitLayout.java b/designer_form/src/com/fr/design/designer/creator/XWBodyFitLayout.java deleted file mode 100644 index d9a404cb5..000000000 --- a/designer_form/src/com/fr/design/designer/creator/XWBodyFitLayout.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.fr.design.designer.creator; - -import com.fr.design.designer.beans.LayoutAdapter; -import com.fr.design.designer.beans.adapters.layout.FRBodyFitLayoutAdapter; -import com.fr.form.ui.container.WFitLayout; -import java.awt.Dimension; - -public class XWBodyFitLayout extends XWFitLayout { - public XWBodyFitLayout() { - this(new WFitLayout(), new Dimension()); - } - - public XWBodyFitLayout(WFitLayout widget, Dimension initSize) { - super(widget, initSize); - } - @Override - public LayoutAdapter getLayoutAdapter() { - return new FRBodyFitLayoutAdapter(this); - } -} \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/creator/XWFitLayout.java b/designer_form/src/com/fr/design/designer/creator/XWFitLayout.java index 38652b3d4..c4b29d288 100644 --- a/designer_form/src/com/fr/design/designer/creator/XWFitLayout.java +++ b/designer_form/src/com/fr/design/designer/creator/XWFitLayout.java @@ -51,7 +51,7 @@ public class XWFitLayout extends XLayoutContainer { public XWFitLayout(WFitLayout widget, Dimension initSize) { super(widget, initSize); - + initPercent(); } @@ -1160,7 +1160,7 @@ public class XWFitLayout extends XLayoutContainer { @Override public WidgetPropertyUIProvider[] getWidgetPropertyUIProviders() { - return new WidgetPropertyUIProvider[]{ new BodyMobilePropertyUI(new XWBodyFitLayout())}; + return new WidgetPropertyUIProvider[]{ new BodyMobilePropertyUI(this)}; } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/properties/BodyAppRelayoutTable.java b/designer_form/src/com/fr/design/designer/properties/BodyAppRelayoutTable.java index e675a81f0..6c10884a4 100644 --- a/designer_form/src/com/fr/design/designer/properties/BodyAppRelayoutTable.java +++ b/designer_form/src/com/fr/design/designer/properties/BodyAppRelayoutTable.java @@ -1,40 +1,39 @@ package com.fr.design.designer.properties; import java.awt.event.MouseEvent; +import java.beans.IntrospectionException; import java.util.ArrayList; - -import javax.swing.JTable; -import javax.swing.table.TableColumn; import javax.swing.table.TableModel; -import com.fr.design.beans.GroupModel; +import com.fr.base.FRContext; +import com.fr.design.designer.beans.events.DesignerEvent; import com.fr.design.designer.creator.*; +import com.fr.design.form.util.XCreatorConstants; import com.fr.design.gui.itable.AbstractPropertyTable; import com.fr.design.gui.itable.PropertyGroup; -import com.fr.design.designer.beans.LayoutAdapter; +import com.fr.design.gui.xtable.ReportAppPropertyGroupModel; +import com.fr.design.mainframe.FormDesigner; +import com.fr.design.mainframe.WidgetPropertyPane; +import com.fr.design.mainframe.widget.editors.InChangeBooleanEditor; +import com.fr.general.Inter; public class BodyAppRelayoutTable extends AbstractPropertyTable { - private XWBodyFitLayout xwBodyFitLayout; + private XCreator xCreator; + private FormDesigner designer; - public BodyAppRelayoutTable(XWBodyFitLayout xwBodyFitLayout) { - super(); - setDesigner(xwBodyFitLayout); + public BodyAppRelayoutTable(XCreator xCreator) { + this.xCreator = xCreator; } - public static ArrayList getCreatorPropertyGroup(XCreator source) { - ArrayList groups = new ArrayList(); - if (source instanceof XLayoutContainer) { - LayoutAdapter layoutAdapter = ((XLayoutContainer)source).getLayoutAdapter(); - if(layoutAdapter != null){ - GroupModel m = layoutAdapter.getLayoutProperties(); - if (m != null) { - groups.add(new PropertyGroup(m)); - } - } - } - return groups; + public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { + CRPropertyDescriptor[] propertyTableEditor = { + new CRPropertyDescriptor("appRelayout", this.xCreator.toData().getClass()).setEditorClass(InChangeBooleanEditor.class) + .setI18NName(Inter.getLocText("FR-Designer-App_ReLayout")) + .putKeyValue(XCreatorConstants.PROPERTY_CATEGORY, Inter.getLocText("FR-Designer-Layout_Adaptive_Layout")) + }; + return propertyTableEditor; } /** @@ -43,20 +42,24 @@ public class BodyAppRelayoutTable extends AbstractPropertyTable { */ public void initPropertyGroups(Object source) { - groups = getCreatorPropertyGroup(xwBodyFitLayout); + this.designer = WidgetPropertyPane.getInstance().getEditingFormDesigner(); + + groups = new ArrayList(); + CRPropertyDescriptor[] propertyTableEditor = null; + + try { + propertyTableEditor = supportedDescriptor(); + }catch (IntrospectionException e) { + FRContext.getLogger().error(e.getMessage()); + } + + groups.add(new PropertyGroup(new ReportAppPropertyGroupModel(Inter.getLocText("FR-Designer-Layout_Adaptive_Layout"), xCreator, propertyTableEditor, designer))); TableModel model = new BeanTableModel(); setModel(model); - this.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); - TableColumn tc = this.getColumn(this.getColumnName(0)); - tc.setPreferredWidth(30); this.repaint(); } - private void setDesigner(XWBodyFitLayout xwBodyFitLayout) { - this.xwBodyFitLayout = xwBodyFitLayout; - } - /** * 单元格tooltip @@ -78,6 +81,6 @@ public class BodyAppRelayoutTable extends AbstractPropertyTable { * 待说明 */ public void firePropertyEdit() { - + designer.getEditListenerTable().fireCreatorModified(DesignerEvent.CREATOR_EDITED); } } \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/properties/BodyMobileLayoutPropertiesGroupModel.java b/designer_form/src/com/fr/design/designer/properties/BodyMobileLayoutPropertiesGroupModel.java deleted file mode 100644 index 7ec437662..000000000 --- a/designer_form/src/com/fr/design/designer/properties/BodyMobileLayoutPropertiesGroupModel.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.fr.design.designer.properties; - -import com.fr.design.beans.GroupModel; -import com.fr.form.ui.container.WFitLayout; -import com.fr.design.designer.creator.XWFitLayout; -import com.fr.design.gui.icheckbox.UICheckBox; -import com.fr.design.mainframe.widget.editors.BooleanEditor; -import com.fr.design.mainframe.widget.editors.PropertyCellEditor; -import com.fr.general.Inter; - -import javax.swing.*; -import javax.swing.table.TableCellEditor; -import javax.swing.table.TableCellRenderer; -import java.awt.*; - -public class BodyMobileLayoutPropertiesGroupModel implements GroupModel { - private PropertyCellEditor reLayoutEditor; - private CheckBoxCellRenderer reLayoutrenderer; - private WFitLayout layout; - private XWFitLayout xfl; - - public BodyMobileLayoutPropertiesGroupModel(XWFitLayout xfl) { - this.xfl = xfl; - this.layout = xfl.toData(); - reLayoutrenderer = new CheckBoxCellRenderer(); - reLayoutEditor = new PropertyCellEditor(new BooleanEditor()); - } - - @Override - public String getGroupName() { - return Inter.getLocText("FR-Designer-Layout_Adaptive_Layout"); - } - - @Override - public int getRowCount() { - return 1; - } - - @Override - public TableCellRenderer getRenderer(int row) { - return reLayoutrenderer; - } - - @Override - public TableCellEditor getEditor(int row) { - return reLayoutEditor; - } - - @Override - public Object getValue(int row, int column) { - if (column == 0) { - return Inter.getLocText("FR-Designer-App_ReLayout"); - }else { - return layout.getAppRelayout(); - } - } - - @Override - public boolean setValue(Object value, int row, int column) { - int state = 0; - boolean appRelayoutState = true; - if(value instanceof Integer) { - state = (Integer)value; - }else if (value instanceof Boolean) { - appRelayoutState = (boolean)value; - } - if (column == 0 || state < 0) { - return false; - } else { - layout.setAppRelayout(appRelayoutState); - return true; - } - } - - /** - * 是否可编辑 - * @param row 行 - * @return 否 - */ - @Override - public boolean isEditable(int row) { - return true; - } - - private class CheckBoxCellRenderer extends UICheckBox implements TableCellRenderer { - - - public CheckBoxCellRenderer() { - super(); - setOpaque(true); - - } - - public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - if (value instanceof Boolean) { - setSelected(((Boolean) value).booleanValue()); - setEnabled(table.isCellEditable(row, column)); - if (isSelected) { - setBackground(table.getSelectionBackground()); - setForeground(table.getSelectionForeground()); - } else { - setForeground(table.getForeground()); - setBackground(table.getBackground()); - } - } else { - return null; - } - return this; - } - } -} \ No newline at end of file diff --git a/designer_form/src/com/fr/design/designer/properties/mobile/BodyMobilePropertyUI.java b/designer_form/src/com/fr/design/designer/properties/mobile/BodyMobilePropertyUI.java index 3816b9841..a64de4158 100644 --- a/designer_form/src/com/fr/design/designer/properties/mobile/BodyMobilePropertyUI.java +++ b/designer_form/src/com/fr/design/designer/properties/mobile/BodyMobilePropertyUI.java @@ -1,7 +1,7 @@ package com.fr.design.designer.properties.mobile; import com.fr.design.designer.creator.XCreator; -import com.fr.design.designer.creator.XWBodyFitLayout; +import com.fr.design.designer.creator.XWFitLayout; import com.fr.design.designer.properties.BodyAppRelayoutTable; import com.fr.design.fun.impl.AbstractWidgetPropertyUIProvider; import com.fr.design.gui.itable.AbstractPropertyTable; @@ -14,13 +14,13 @@ public class BodyMobilePropertyUI extends AbstractWidgetPropertyUIProvider { private XCreator xCreator; - public BodyMobilePropertyUI(XWBodyFitLayout xWBodyFitLayout) { - this.xCreator = xWBodyFitLayout; + public BodyMobilePropertyUI(XWFitLayout xwFitLayout) { + this.xCreator = xwFitLayout; } @Override public AbstractPropertyTable createWidgetAttrTable() { - return new BodyAppRelayoutTable((XWBodyFitLayout) xCreator); + return new BodyAppRelayoutTable(xCreator); } @Override