From 187dc6340bf0222fba4955f732a01cae6d74cd3a Mon Sep 17 00:00:00 2001 From: vito Date: Tue, 26 Apr 2016 19:58:44 +0800 Subject: [PATCH 1/9] =?UTF-8?q?menuhandler=E7=9A=84equals=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E4=BC=9A=E4=BD=BF=E5=B8=A6=E5=8F=82=E6=95=B0=E7=9A=84?= =?UTF-8?q?shortcut=E4=B8=8D=E8=BF=9B=E8=A1=8C=E6=AF=94=E8=BE=83=EF=BC=8C?= =?UTF-8?q?=E6=94=B9=E7=94=A8AbstractProvider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/fun/MenuHandler.java | 7 ----- .../design/fun/impl/AbstractMenuHandler.java | 27 ++++--------------- 2 files changed, 5 insertions(+), 29 deletions(-) diff --git a/designer_base/src/com/fr/design/fun/MenuHandler.java b/designer_base/src/com/fr/design/fun/MenuHandler.java index 53958f856..0ec7a00f2 100644 --- a/designer_base/src/com/fr/design/fun/MenuHandler.java +++ b/designer_base/src/com/fr/design/fun/MenuHandler.java @@ -66,11 +66,4 @@ public interface MenuHandler extends Level{ * @return 菜单项内容 */ ShortCut shortcut(ToolBarMenuDockPlus plus); - - /** - * 两个菜单项相等等情况 - * @param obj 比较对象 - * @return 相等则返回true,否则返回false - */ - boolean equals(Object obj); } \ No newline at end of file diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractMenuHandler.java b/designer_base/src/com/fr/design/fun/impl/AbstractMenuHandler.java index db911f501..c82cce71b 100644 --- a/designer_base/src/com/fr/design/fun/impl/AbstractMenuHandler.java +++ b/designer_base/src/com/fr/design/fun/impl/AbstractMenuHandler.java @@ -3,39 +3,22 @@ package com.fr.design.fun.impl; import com.fr.design.fun.MenuHandler; import com.fr.design.mainframe.toolbar.ToolBarMenuDockPlus; import com.fr.design.menu.ShortCut; -import com.fr.general.ComparatorUtils; +import com.fr.stable.fun.impl.AbstractProvider; /** * @author richie * @date 2015-05-13 * @since 8.0 */ -public abstract class AbstractMenuHandler implements MenuHandler { +public abstract class AbstractMenuHandler extends AbstractProvider implements MenuHandler { public int currentAPILevel() { return CURRENT_LEVEL; } - - public boolean equals(Object obj) { - return obj instanceof AbstractMenuHandler - && ComparatorUtils.equals(category(), ((AbstractMenuHandler) obj).category()) - && shortCutEquals(this, (AbstractMenuHandler)obj); - } - - private boolean shortCutEquals(AbstractMenuHandler target, AbstractMenuHandler self){ - ShortCut targetShortCut = target.shortcut(); - ShortCut selfShortCut = self.shortcut(); - - if (targetShortCut == null && selfShortCut == null){ - return true; - } - - if (targetShortCut != null && selfShortCut != null){ - return ComparatorUtils.equals(targetShortCut.getClass(), selfShortCut.getClass()); - } - - return false; + @Override + public String mark4Provider() { + return this.getClass().getName(); } /** From 191546eebdd9eaa63d968952bd77e63bfdd404c2 Mon Sep 17 00:00:00 2001 From: vito Date: Tue, 26 Apr 2016 19:59:54 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/fun/MenuHandler.java | 9 ++++++--- .../src/com/fr/design/fun/impl/AbstractMenuHandler.java | 7 ++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/designer_base/src/com/fr/design/fun/MenuHandler.java b/designer_base/src/com/fr/design/fun/MenuHandler.java index 0ec7a00f2..5b9dd179d 100644 --- a/designer_base/src/com/fr/design/fun/MenuHandler.java +++ b/designer_base/src/com/fr/design/fun/MenuHandler.java @@ -10,7 +10,7 @@ import com.fr.stable.fun.Level; * @since 8.0 * 设计器菜单栏插件接口 */ -public interface MenuHandler extends Level{ +public interface MenuHandler extends Level { String MARK_STRING = "MenuHandler"; @@ -30,39 +30,42 @@ public interface MenuHandler extends Level{ * 插入菜单的位置 * * @param total 插入的位置 - * * @return 插入位置,如果想放到最后,则返回-1 */ int insertPosition(int total); /** * 是否在插入的菜单前插入一个分割符 + * * @return 是否插入分隔符 */ boolean insertSeparatorBefore(); /** * 是否在插入的菜单后插入一个分割符 + * * @return 是否插入分隔符 */ boolean insertSeparatorAfter(); /** * 所属的分类菜单 + * * @return 分类菜单名 */ String category(); /** * 具体的菜单项内容 + * * @return 菜单项内容 */ ShortCut shortcut(); /** * 具体的菜单项内容 - * @param plus 当前模板 * + * @param plus 当前模板 * @return 菜单项内容 */ ShortCut shortcut(ToolBarMenuDockPlus plus); diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractMenuHandler.java b/designer_base/src/com/fr/design/fun/impl/AbstractMenuHandler.java index c82cce71b..d62769a2d 100644 --- a/designer_base/src/com/fr/design/fun/impl/AbstractMenuHandler.java +++ b/designer_base/src/com/fr/design/fun/impl/AbstractMenuHandler.java @@ -26,9 +26,8 @@ public abstract class AbstractMenuHandler extends AbstractProvider implements Me * 不需要选中对象, (文件, 服务器, 关于) * * @return 菜单Action - * */ - public ShortCut shortcut(){ + public ShortCut shortcut() { return null; } @@ -36,11 +35,9 @@ public abstract class AbstractMenuHandler extends AbstractProvider implements Me * 获取当前菜单对应的Action * * @param plus 当前选中的对象(模板) - * * @return 菜单Action - * */ - public ShortCut shortcut(ToolBarMenuDockPlus plus){ + public ShortCut shortcut(ToolBarMenuDockPlus plus) { return null; } } \ No newline at end of file From 3d7e697de5de0b09755a24fe361a74c1f62ca6e3 Mon Sep 17 00:00:00 2001 From: vito Date: Wed, 27 Apr 2016 18:51:16 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=B1=9E=E6=80=A7tab=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/ExtraDesignClassManager.java | 19 ++ .../design/fun/WidgetCustomAttrProvider.java | 18 ++ .../AbstractWidgetCustomAttrProvider.java | 21 +++ .../design/mainframe/WidgetPropertyPane.java | 165 ++++++++++-------- 4 files changed, 152 insertions(+), 71 deletions(-) create mode 100644 designer_base/src/com/fr/design/fun/WidgetCustomAttrProvider.java create mode 100644 designer_base/src/com/fr/design/fun/impl/AbstractWidgetCustomAttrProvider.java diff --git a/designer_base/src/com/fr/design/ExtraDesignClassManager.java b/designer_base/src/com/fr/design/ExtraDesignClassManager.java index 771dbec7a..4b0afd465 100644 --- a/designer_base/src/com/fr/design/ExtraDesignClassManager.java +++ b/designer_base/src/com/fr/design/ExtraDesignClassManager.java @@ -130,6 +130,8 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi private Set elementUIProviders; + private Set widgetCustomAttrProviders; + public TableDataTreePaneProcessor getTableDataTreePaneProcessor() { return tableDataTreePaneProcessor; } @@ -736,6 +738,21 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi elementUIProviders.add((ElementUIProvider) level); } + public WidgetCustomAttrProvider[] getWidgetCustomAttrProviders() { + if (widgetCustomAttrProviders == null) { + return new WidgetCustomAttrProvider[0]; + } + return widgetCustomAttrProviders.toArray(new WidgetCustomAttrProvider[widgetCustomAttrProviders.size()]); + } + + public void addWidgetCustomAttrProvider(Level level, PluginSimplify simplify) throws Exception { + if (widgetCustomAttrProviders == null) { + widgetCustomAttrProviders = new HashSet(); + } + validAPILevel(level, WidgetCustomAttrProvider.CURRENT_LEVEL, simplify.getPluginName()); + widgetCustomAttrProviders.add((WidgetCustomAttrProvider) level); + } + /** * 文件名 * @@ -828,6 +845,8 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi setTableDataSourceOPProcessor(impl, simplify); } else if (tagName.equals(ElementUIProvider.MARK_STRING)) { addElementUIProvider(impl, simplify); + } else if (tagName.equals(WidgetCustomAttrProvider.XML_TAG)) { + addWidgetCustomAttrProvider(impl, simplify); } } catch (PluginInvalidLevelException e) { PluginMessage.remindUpdate(e.getMessage()); diff --git a/designer_base/src/com/fr/design/fun/WidgetCustomAttrProvider.java b/designer_base/src/com/fr/design/fun/WidgetCustomAttrProvider.java new file mode 100644 index 000000000..cdb08afe2 --- /dev/null +++ b/designer_base/src/com/fr/design/fun/WidgetCustomAttrProvider.java @@ -0,0 +1,18 @@ +package com.fr.design.fun; + +import com.fr.design.gui.itable.AbstractPropertyTable; +import com.fr.stable.fun.Level; + + +/** + * Created by vito on 16/4/27. + */ +public interface WidgetCustomAttrProvider extends Level { + String XML_TAG = "WidgetCustomAttrProvider"; + + int CURRENT_LEVEL = 1; + + AbstractPropertyTable createWidgetCustomAttrTable(); + + String setTableTitle(); +} diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractWidgetCustomAttrProvider.java b/designer_base/src/com/fr/design/fun/impl/AbstractWidgetCustomAttrProvider.java new file mode 100644 index 000000000..8fe4010f1 --- /dev/null +++ b/designer_base/src/com/fr/design/fun/impl/AbstractWidgetCustomAttrProvider.java @@ -0,0 +1,21 @@ +package com.fr.design.fun.impl; + +import com.fr.design.fun.WidgetCustomAttrProvider; +import com.fr.stable.fun.impl.AbstractProvider; + + +/** + * Created by vito on 16/4/27. + */ +public abstract class AbstractWidgetCustomAttrProvider extends AbstractProvider implements WidgetCustomAttrProvider { + + @Override + public int currentAPILevel() { + return CURRENT_LEVEL; + } + + @Override + public String mark4Provider() { + return this.getClass().getName(); + } +} diff --git a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java index 8fb8a904d..ed01bb03e 100644 --- a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java @@ -1,12 +1,14 @@ package com.fr.design.mainframe; import java.awt.BorderLayout; +import java.util.ArrayList; +import java.util.List; -import javax.swing.Icon; -import javax.swing.JScrollPane; -import javax.swing.SwingConstants; +import javax.swing.*; import com.fr.base.BaseUtils; +import com.fr.design.ExtraDesignClassManager; +import com.fr.design.fun.WidgetCustomAttrProvider; import com.fr.design.gui.frpane.UITabbedPane; import com.fr.general.Inter; import com.fr.design.gui.icontainer.UIScrollPane; @@ -24,6 +26,8 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper private WidgetPropertyTable propertyTable; private EventPropertyTable eventTable; + private List customPropertyTables; + private FormDesigner designer; public static WidgetPropertyPane getInstance() { if (HOLDER.singleton == null) { @@ -33,14 +37,14 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper } public static WidgetPropertyPane getInstance(FormDesigner formEditor) { - HOLDER.singleton.setEditingFormDesigner(formEditor); - HOLDER.singleton.refreshDockingView(); - return HOLDER.singleton; - } + HOLDER.singleton.setEditingFormDesigner(formEditor); + HOLDER.singleton.refreshDockingView(); + return HOLDER.singleton; + } + - private static class HOLDER { - private static WidgetPropertyPane singleton = new WidgetPropertyPane(); + private static WidgetPropertyPane singleton = new WidgetPropertyPane(); } private WidgetPropertyPane() { @@ -58,13 +62,14 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper } @Override - public void refreshDockingView() { - FormDesigner designer = this.getEditingFormDesigner(); - removeAll(); - if(designer == null){ - clearDockingView(); - return; - } + public void refreshDockingView() { + designer = this.getEditingFormDesigner(); + removeAll(); + if (designer == null) { + clearDockingView(); + return; + } + customPropertyTables = new ArrayList(); propertyTable = new WidgetPropertyTable(designer); designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(propertyTable)); propertyTable.setBorder(null); @@ -76,79 +81,97 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper UIScrollPane esp = new UIScrollPane(eventTable); esp.setBorder(null); // JTabbedPane tabbedPane = new JTabbedPane(); - UITabbedPane tabbedPane = new UITabbedPane(); + UITabbedPane tabbedPane = new UITabbedPane(); tabbedPane.setOpaque(true); tabbedPane.setBorder(null); tabbedPane.setTabPlacement(SwingConstants.BOTTOM); tabbedPane.addTab(Inter.getLocText("Form-Properties"), psp); tabbedPane.addTab(Inter.getLocText("Form-Events"), esp); + + WidgetCustomAttrProvider[] customAttrProviders = ExtraDesignClassManager.getInstance().getWidgetCustomAttrProviders(); + for (WidgetCustomAttrProvider customAttrProvider : customAttrProviders) { + AbstractPropertyTable propertyTable = customAttrProvider.createWidgetCustomAttrTable(); + customPropertyTables.add(propertyTable); + designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(propertyTable)); + UIScrollPane uiScrollPane = new UIScrollPane(propertyTable); + uiScrollPane.setBorder(null); + tabbedPane.addTab(customAttrProvider.setTableTitle(), uiScrollPane); + } add(tabbedPane, BorderLayout.CENTER); - - propertyTable.initPropertyGroups(null); - eventTable.refresh(); + + propertyTable.initPropertyGroups(null); + eventTable.refresh(); + if (customPropertyTables.size() > 0) { + for (AbstractPropertyTable propertyTable : customPropertyTables) { + propertyTable.initPropertyGroups(designer); + } + } } - public void setEditingFormDesigner(BaseFormDesigner editor) { - FormDesigner fd = (FormDesigner)editor; - super.setEditingFormDesigner(fd); - } + public void setEditingFormDesigner(BaseFormDesigner editor) { + FormDesigner fd = (FormDesigner) editor; + super.setEditingFormDesigner(fd); + } public void clearDockingView() { propertyTable = null; eventTable = null; + if (customPropertyTables != null) { + customPropertyTables.clear(); + } JScrollPane psp = new JScrollPane(); psp.setBorder(null); this.add(psp, BorderLayout.CENTER); } - public class WidgetPropertyDesignerAdapter implements DesignerEditListener { - AbstractPropertyTable propertyTable; - - public WidgetPropertyDesignerAdapter(AbstractPropertyTable propertyTable) { - this.propertyTable = propertyTable; - } - - @Override - public void fireCreatorModified(DesignerEvent evt) { - if (evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_DELETED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) { - propertyTable.initPropertyGroups(null); - } else if (evt.getCreatorEventID() == DesignerEvent.CREATOR_RESIZED) { - repaint(); - } - } - - @Override - public boolean equals(Object o) { - return o instanceof WidgetPropertyDesignerAdapter; - } - } - - public class EventPropertyDesignerAdapter implements DesignerEditListener { - EventPropertyTable propertyTable; - - public EventPropertyDesignerAdapter(EventPropertyTable eventTable) { - this.propertyTable = eventTable; - } - - @Override - public void fireCreatorModified(DesignerEvent evt) { - if (evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED - || evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) { - propertyTable.refresh(); - } - } - - @Override - public boolean equals(Object o) { - return o instanceof EventPropertyDesignerAdapter; - } - } - + public class WidgetPropertyDesignerAdapter implements DesignerEditListener { + AbstractPropertyTable propertyTable; + + public WidgetPropertyDesignerAdapter(AbstractPropertyTable propertyTable) { + this.propertyTable = propertyTable; + } + + @Override + public void fireCreatorModified(DesignerEvent evt) { + if (evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED + || evt.getCreatorEventID() == DesignerEvent.CREATOR_DELETED + || evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) { + propertyTable.initPropertyGroups(designer); + } else if (evt.getCreatorEventID() == DesignerEvent.CREATOR_RESIZED) { + repaint(); + } + } + + @Override + public boolean equals(Object o) { + return o instanceof WidgetPropertyDesignerAdapter && ((WidgetPropertyDesignerAdapter) o).propertyTable == this.propertyTable; + } + } + + public class EventPropertyDesignerAdapter implements DesignerEditListener { + EventPropertyTable propertyTable; + + public EventPropertyDesignerAdapter(EventPropertyTable eventTable) { + this.propertyTable = eventTable; + } + + @Override + public void fireCreatorModified(DesignerEvent evt) { + if (evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED + || evt.getCreatorEventID() == DesignerEvent.CREATOR_EDITED + || evt.getCreatorEventID() == DesignerEvent.CREATOR_SELECTED) { + propertyTable.refresh(); + } + } + + @Override + public boolean equals(Object o) { + return o instanceof EventPropertyDesignerAdapter; + } + } + @Override public Location preferredLocation() { - return Location.WEST_BELOW; + return Location.WEST_BELOW; } } \ No newline at end of file From 602e88a803208410dfea88790dc096dcbd1ca77f Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 28 Apr 2016 09:56:15 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E5=91=BD=E5=90=8D=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/ExtraDesignClassManager.java | 24 +++++++++---------- ...rProvider.java => WidgetAttrProvider.java} | 6 ++--- ...r.java => AbstractWidgetAttrProvider.java} | 4 ++-- .../design/mainframe/WidgetPropertyPane.java | 24 +++++++++---------- 4 files changed, 29 insertions(+), 29 deletions(-) rename designer_base/src/com/fr/design/fun/{WidgetCustomAttrProvider.java => WidgetAttrProvider.java} (56%) rename designer_base/src/com/fr/design/fun/impl/{AbstractWidgetCustomAttrProvider.java => AbstractWidgetAttrProvider.java} (64%) diff --git a/designer_base/src/com/fr/design/ExtraDesignClassManager.java b/designer_base/src/com/fr/design/ExtraDesignClassManager.java index 4b0afd465..a861772c9 100644 --- a/designer_base/src/com/fr/design/ExtraDesignClassManager.java +++ b/designer_base/src/com/fr/design/ExtraDesignClassManager.java @@ -130,7 +130,7 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi private Set elementUIProviders; - private Set widgetCustomAttrProviders; + private Set widgetAttrProviders; public TableDataTreePaneProcessor getTableDataTreePaneProcessor() { return tableDataTreePaneProcessor; @@ -738,19 +738,19 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi elementUIProviders.add((ElementUIProvider) level); } - public WidgetCustomAttrProvider[] getWidgetCustomAttrProviders() { - if (widgetCustomAttrProviders == null) { - return new WidgetCustomAttrProvider[0]; + public WidgetAttrProvider[] getWidgetAttrProviders() { + if (widgetAttrProviders == null) { + return new WidgetAttrProvider[0]; } - return widgetCustomAttrProviders.toArray(new WidgetCustomAttrProvider[widgetCustomAttrProviders.size()]); + return widgetAttrProviders.toArray(new WidgetAttrProvider[widgetAttrProviders.size()]); } - public void addWidgetCustomAttrProvider(Level level, PluginSimplify simplify) throws Exception { - if (widgetCustomAttrProviders == null) { - widgetCustomAttrProviders = new HashSet(); + public void addWidgetAttrProvider(Level level, PluginSimplify simplify) throws Exception { + if (widgetAttrProviders == null) { + widgetAttrProviders = new HashSet(); } - validAPILevel(level, WidgetCustomAttrProvider.CURRENT_LEVEL, simplify.getPluginName()); - widgetCustomAttrProviders.add((WidgetCustomAttrProvider) level); + validAPILevel(level, WidgetAttrProvider.CURRENT_LEVEL, simplify.getPluginName()); + widgetAttrProviders.add((WidgetAttrProvider) level); } /** @@ -845,8 +845,8 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi setTableDataSourceOPProcessor(impl, simplify); } else if (tagName.equals(ElementUIProvider.MARK_STRING)) { addElementUIProvider(impl, simplify); - } else if (tagName.equals(WidgetCustomAttrProvider.XML_TAG)) { - addWidgetCustomAttrProvider(impl, simplify); + } else if (tagName.equals(WidgetAttrProvider.XML_TAG)) { + addWidgetAttrProvider(impl, simplify); } } catch (PluginInvalidLevelException e) { PluginMessage.remindUpdate(e.getMessage()); diff --git a/designer_base/src/com/fr/design/fun/WidgetCustomAttrProvider.java b/designer_base/src/com/fr/design/fun/WidgetAttrProvider.java similarity index 56% rename from designer_base/src/com/fr/design/fun/WidgetCustomAttrProvider.java rename to designer_base/src/com/fr/design/fun/WidgetAttrProvider.java index cdb08afe2..acfc821f3 100644 --- a/designer_base/src/com/fr/design/fun/WidgetCustomAttrProvider.java +++ b/designer_base/src/com/fr/design/fun/WidgetAttrProvider.java @@ -7,12 +7,12 @@ import com.fr.stable.fun.Level; /** * Created by vito on 16/4/27. */ -public interface WidgetCustomAttrProvider extends Level { - String XML_TAG = "WidgetCustomAttrProvider"; +public interface WidgetAttrProvider extends Level { + String XML_TAG = "WidgetAttrProvider"; int CURRENT_LEVEL = 1; - AbstractPropertyTable createWidgetCustomAttrTable(); + AbstractPropertyTable createWidgetAttrTable(); String setTableTitle(); } diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractWidgetCustomAttrProvider.java b/designer_base/src/com/fr/design/fun/impl/AbstractWidgetAttrProvider.java similarity index 64% rename from designer_base/src/com/fr/design/fun/impl/AbstractWidgetCustomAttrProvider.java rename to designer_base/src/com/fr/design/fun/impl/AbstractWidgetAttrProvider.java index 8fe4010f1..8471115e8 100644 --- a/designer_base/src/com/fr/design/fun/impl/AbstractWidgetCustomAttrProvider.java +++ b/designer_base/src/com/fr/design/fun/impl/AbstractWidgetAttrProvider.java @@ -1,13 +1,13 @@ package com.fr.design.fun.impl; -import com.fr.design.fun.WidgetCustomAttrProvider; +import com.fr.design.fun.WidgetAttrProvider; import com.fr.stable.fun.impl.AbstractProvider; /** * Created by vito on 16/4/27. */ -public abstract class AbstractWidgetCustomAttrProvider extends AbstractProvider implements WidgetCustomAttrProvider { +public abstract class AbstractWidgetAttrProvider extends AbstractProvider implements WidgetAttrProvider { @Override public int currentAPILevel() { diff --git a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java index ed01bb03e..354b90521 100644 --- a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java @@ -8,7 +8,7 @@ import javax.swing.*; import com.fr.base.BaseUtils; import com.fr.design.ExtraDesignClassManager; -import com.fr.design.fun.WidgetCustomAttrProvider; +import com.fr.design.fun.WidgetAttrProvider; import com.fr.design.gui.frpane.UITabbedPane; import com.fr.general.Inter; import com.fr.design.gui.icontainer.UIScrollPane; @@ -26,7 +26,7 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper private WidgetPropertyTable propertyTable; private EventPropertyTable eventTable; - private List customPropertyTables; + private List widgetPropertyTables; private FormDesigner designer; public static WidgetPropertyPane getInstance() { @@ -69,7 +69,7 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper clearDockingView(); return; } - customPropertyTables = new ArrayList(); + widgetPropertyTables = new ArrayList(); propertyTable = new WidgetPropertyTable(designer); designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(propertyTable)); propertyTable.setBorder(null); @@ -88,21 +88,21 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper tabbedPane.addTab(Inter.getLocText("Form-Properties"), psp); tabbedPane.addTab(Inter.getLocText("Form-Events"), esp); - WidgetCustomAttrProvider[] customAttrProviders = ExtraDesignClassManager.getInstance().getWidgetCustomAttrProviders(); - for (WidgetCustomAttrProvider customAttrProvider : customAttrProviders) { - AbstractPropertyTable propertyTable = customAttrProvider.createWidgetCustomAttrTable(); - customPropertyTables.add(propertyTable); + WidgetAttrProvider[] widgetAttrProviders = ExtraDesignClassManager.getInstance().getWidgetAttrProviders(); + for (WidgetAttrProvider widgetAttrProvider : widgetAttrProviders) { + AbstractPropertyTable propertyTable = widgetAttrProvider.createWidgetAttrTable(); + widgetPropertyTables.add(propertyTable); designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(propertyTable)); UIScrollPane uiScrollPane = new UIScrollPane(propertyTable); uiScrollPane.setBorder(null); - tabbedPane.addTab(customAttrProvider.setTableTitle(), uiScrollPane); + tabbedPane.addTab(widgetAttrProvider.setTableTitle(), uiScrollPane); } add(tabbedPane, BorderLayout.CENTER); propertyTable.initPropertyGroups(null); eventTable.refresh(); - if (customPropertyTables.size() > 0) { - for (AbstractPropertyTable propertyTable : customPropertyTables) { + if (widgetPropertyTables.size() > 0) { + for (AbstractPropertyTable propertyTable : widgetPropertyTables) { propertyTable.initPropertyGroups(designer); } } @@ -116,8 +116,8 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper public void clearDockingView() { propertyTable = null; eventTable = null; - if (customPropertyTables != null) { - customPropertyTables.clear(); + if (widgetPropertyTables != null) { + widgetPropertyTables.clear(); } JScrollPane psp = new JScrollPane(); psp.setBorder(null); From b49352a67d797753fa9293231320ce79452af945 Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 28 Apr 2016 12:03:59 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E6=8A=8Aset=E5=8E=BB=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/fun/WidgetAttrProvider.java | 2 +- .../src/com/fr/design/mainframe/WidgetPropertyPane.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer_base/src/com/fr/design/fun/WidgetAttrProvider.java b/designer_base/src/com/fr/design/fun/WidgetAttrProvider.java index acfc821f3..4d2c2e624 100644 --- a/designer_base/src/com/fr/design/fun/WidgetAttrProvider.java +++ b/designer_base/src/com/fr/design/fun/WidgetAttrProvider.java @@ -14,5 +14,5 @@ public interface WidgetAttrProvider extends Level { AbstractPropertyTable createWidgetAttrTable(); - String setTableTitle(); + String tableTitle(); } diff --git a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java index 354b90521..f29133b77 100644 --- a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java @@ -95,7 +95,7 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper designer.addDesignerEditListener(new WidgetPropertyDesignerAdapter(propertyTable)); UIScrollPane uiScrollPane = new UIScrollPane(propertyTable); uiScrollPane.setBorder(null); - tabbedPane.addTab(widgetAttrProvider.setTableTitle(), uiScrollPane); + tabbedPane.addTab(widgetAttrProvider.tableTitle(), uiScrollPane); } add(tabbedPane, BorderLayout.CENTER); From 3fd1072b476a281f460a712902d42039cecd537f Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 28 Apr 2016 12:06:08 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/mainframe/WidgetPropertyPane.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java index f29133b77..68bb08701 100644 --- a/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java +++ b/designer_form/src/com/fr/design/mainframe/WidgetPropertyPane.java @@ -101,10 +101,8 @@ public class WidgetPropertyPane extends FormDockView implements BaseWidgetProper propertyTable.initPropertyGroups(null); eventTable.refresh(); - if (widgetPropertyTables.size() > 0) { - for (AbstractPropertyTable propertyTable : widgetPropertyTables) { - propertyTable.initPropertyGroups(designer); - } + for (AbstractPropertyTable propertyTable : widgetPropertyTables) { + propertyTable.initPropertyGroups(designer); } } From 011950a2185c9dfff171fdaa84b393525413ef13 Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 28 Apr 2016 15:50:25 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=9C=A8=E9=A1=B5=E9=9D=A2=E8=83=8C=E9=83=A8?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/extra/PluginManagerPane.java | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/designer_base/src/com/fr/design/extra/PluginManagerPane.java b/designer_base/src/com/fr/design/extra/PluginManagerPane.java index 0704977f6..00c8aca1f 100644 --- a/designer_base/src/com/fr/design/extra/PluginManagerPane.java +++ b/designer_base/src/com/fr/design/extra/PluginManagerPane.java @@ -12,6 +12,8 @@ import com.fr.general.SiteCenter; import com.fr.general.http.HttpClient; import com.fr.plugin.PluginVerifyException; import com.fr.stable.StableUtils; +import com.fr.third.org.apache.poi.hssf.record.formula.functions.T; +import org.easymock.internal.matchers.Null; import javax.swing.*; import java.awt.*; @@ -43,22 +45,22 @@ public class PluginManagerPane extends BasicPane { URL url = ClassLoader.getSystemResource(""); installHome = url.getPath(); } else { - installHome = StableUtils.getInstallHome(); - File file = new File(StableUtils.pathJoin(installHome, "scripts")); - if (!file.exists()) { - int rv = JOptionPane.showConfirmDialog( - null, - Inter.getLocText("FR-Designer-Plugin_Shop_Need_Install"), - Inter.getLocText("FR-Designer-Plugin_Warning"), - JOptionPane.OK_CANCEL_OPTION, - JOptionPane.INFORMATION_MESSAGE - ); - if (rv == JOptionPane.OK_OPTION) { - downloadShopScripts(); + installHome = StableUtils.getInstallHome(); + File file = new File(StableUtils.pathJoin(installHome, "scripts")); + if (!file.exists()) { + int rv = JOptionPane.showConfirmDialog( + this, + Inter.getLocText("FR-Designer-Plugin_Shop_Need_Install"), + Inter.getLocText("FR-Designer-Plugin_Warning"), + JOptionPane.OK_CANCEL_OPTION, + JOptionPane.INFORMATION_MESSAGE + ); + if (rv == JOptionPane.OK_OPTION) { + downloadShopScripts(); + } + } else { + updateShopScripts(); } - } else { - updateShopScripts(); - } } PluginWebPane webPane = new PluginWebPane(new File(installHome).getAbsolutePath()); add(webPane, BorderLayout.CENTER); @@ -90,7 +92,7 @@ public class PluginManagerPane extends BasicPane { } }); } catch (PluginVerifyException e) { - JOptionPane.showMessageDialog(null, e.getMessage(), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(PluginManagerPane.this, e.getMessage(), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.ERROR_MESSAGE); return false; } catch (Exception e) { FRContext.getLogger().error(e.getMessage(), e); @@ -106,7 +108,7 @@ public class PluginManagerPane extends BasicPane { if (get()) { IOUtils.unzip(new File(StableUtils.pathJoin(PluginHelper.DOWNLOAD_PATH, PluginHelper.TEMP_FILE)), StableUtils.getInstallHome()); int rv = JOptionPane.showOptionDialog( - null, + PluginManagerPane.this, Inter.getLocText("FR-Designer-Plugin_Shop_Installed"), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.YES_NO_OPTION, @@ -135,7 +137,7 @@ public class PluginManagerPane extends BasicPane { if (httpClient.getResponseCode() == HttpURLConnection.HTTP_OK) { if (!ComparatorUtils.equals(httpClient.getResponseText(), LATEST)) { int rv = JOptionPane.showConfirmDialog( - null, + PluginManagerPane.this, Inter.getLocText("FR-Designer-Plugin_Shop_Need_Update"), Inter.getLocText("FR-Designer-Plugin_Warning"), JOptionPane.OK_CANCEL_OPTION, From 3d4efa0a4c0552c686ac0448745cf55bd702f391 Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 28 Apr 2016 18:20:26 +0800 Subject: [PATCH 8/9] =?UTF-8?q?1=E3=80=81=E5=87=8F=E5=B0=8F=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=95=86=E5=BA=97=E7=AA=97=E4=BD=93=E9=AB=98=E5=BA=A6?= =?UTF-8?q?=202=E3=80=81=E6=8F=90=E9=86=92=E6=8F=92=E4=BB=B6=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E7=9A=84=E6=97=B6=E5=80=99=E4=BD=BF=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E6=A1=86=E4=BD=93=E6=94=B9=E4=B8=BA=E6=96=B0=E7=89=88=E6=8F=92?= =?UTF-8?q?=E4=BB=B6=E5=95=86=E5=BA=97=E7=9A=84=E6=A1=86=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/fr/design/extra/PluginShopDialog.java | 2 +- designer_base/src/com/fr/start/BaseDesigner.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/designer_base/src/com/fr/design/extra/PluginShopDialog.java b/designer_base/src/com/fr/design/extra/PluginShopDialog.java index cc75e46e8..05b192b95 100644 --- a/designer_base/src/com/fr/design/extra/PluginShopDialog.java +++ b/designer_base/src/com/fr/design/extra/PluginShopDialog.java @@ -10,7 +10,7 @@ import java.awt.*; * Created by vito on 16/4/18. */ public class PluginShopDialog extends UIDialog { - private static final Dimension DEFAULT_SHOP = new Dimension(900, 700); + private static final Dimension DEFAULT_SHOP = new Dimension(900, 690); public PluginShopDialog(Frame frame, BasicPane pane) { super(frame, pane, false); diff --git a/designer_base/src/com/fr/start/BaseDesigner.java b/designer_base/src/com/fr/start/BaseDesigner.java index df341bc41..6d92b1067 100644 --- a/designer_base/src/com/fr/start/BaseDesigner.java +++ b/designer_base/src/com/fr/start/BaseDesigner.java @@ -7,8 +7,10 @@ import com.fr.base.FRContext; import com.fr.design.DesignerEnvManager; import com.fr.design.ExtraDesignClassManager; import com.fr.design.RestartHelper; -import com.fr.design.dialog.BasicDialog; +import com.fr.design.dialog.UIDialog; import com.fr.design.extra.PluginManagerPane; +import com.fr.design.extra.PluginShopDialog; +import com.fr.design.extra.PluginWebBridge; import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.file.MutilTempalteTabPane; import com.fr.design.file.TemplateTreePane; @@ -130,7 +132,8 @@ public abstract class BaseDesigner extends ToolBarMenuDock { int r = JOptionPane.showConfirmDialog(null, text, Inter.getLocText("FR-Designer_Plugin_Should_Update_Title"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE); if (r == JOptionPane.OK_OPTION) { final PluginManagerPane managerPane = new PluginManagerPane(); - BasicDialog dlg = managerPane.showLargeWindow(DesignerContext.getDesignerFrame(),null); + UIDialog dlg = new PluginShopDialog(DesignerContext.getDesignerFrame(),managerPane); + PluginWebBridge.getHelper().setDialogHandle(dlg); dlg.setVisible(true); } } From 83a9bdf8dd3688ee3fce8096cf17f6ccb28bc162 Mon Sep 17 00:00:00 2001 From: vito Date: Thu, 28 Apr 2016 19:42:26 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84import?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- designer_base/src/com/fr/design/extra/PluginManagerPane.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/designer_base/src/com/fr/design/extra/PluginManagerPane.java b/designer_base/src/com/fr/design/extra/PluginManagerPane.java index 00c8aca1f..ae64f58a6 100644 --- a/designer_base/src/com/fr/design/extra/PluginManagerPane.java +++ b/designer_base/src/com/fr/design/extra/PluginManagerPane.java @@ -12,8 +12,6 @@ import com.fr.general.SiteCenter; import com.fr.general.http.HttpClient; import com.fr.plugin.PluginVerifyException; import com.fr.stable.StableUtils; -import com.fr.third.org.apache.poi.hssf.record.formula.functions.T; -import org.easymock.internal.matchers.Null; import javax.swing.*; import java.awt.*;