From 187dc6340bf0222fba4955f732a01cae6d74cd3a Mon Sep 17 00:00:00 2001 From: vito Date: Tue, 26 Apr 2016 19:58:44 +0800 Subject: [PATCH 1/2] =?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/2] =?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