package com.frameworkset.common.tag.contextmenu; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** * * <p>Title: com.frameworkset.common.tag.contextmenu.Menu.java</p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2007</p> * * <p>Company: chinacreator</p> * @Date 2006-9-15 * @author biaoping.yin * @version 1.0 */ public class Menu implements Serializable,Comparable{ /** * */ private static final long serialVersionUID = 7601500738484270118L; protected List contextMenuItems = new ArrayList(); protected String identity; // //页面上生成的每个JS对象名字 peng.yang // protected String jsObjectId; public final static Menu.ContextMenuItem MENU_OPEN = new Menu.ContextMenuItem(); public final static Menu.ContextMenuItem MENU_EXPAND = new Menu.ContextMenuItem(); public final static Menu.ContextMenuItem MENU_COLLAPSE = new Menu.ContextMenuItem(); public static final String icon_add = "icon-add"; public static final String icon_edit = "icon-edit"; public static final String icon_remove = "icon-remove"; public static final String icon_save = "icon-save"; public static final String icon_cut = "icon-cut"; public static final String icon_ok = "icon-ok"; public static final String icon_no = "icon-no"; public static final String icon_cancel = "icon-cancel"; public static final String icon_reload = "icon-reload"; public static final String icon_search = "icon-search"; public static final String icon_print = "icon-print"; public static final String icon_help = "icon-help"; public static final String icon_undo = "icon-undo"; public static final String icon_redo = "icon-redo"; public static final String icon_back = "icon-back"; /** * 判断右键菜单是根据节点本身产生还是根据节点类型产生 */ protected boolean generateByNode = false; private String style="width:150px"; public List getContextMenuItems() { return contextMenuItems; } /** * * <p>Title: com.frameworkset.common.tag.contextmenu.Menu.ContextMenuItem.java</p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2007</p> * * <p>Company: chinacreator</p> * @Date 2006-9-15 * @author biaoping.yin * @version 1.0 */ public static class ContextMenuItem implements Serializable { /** * */ private static final long serialVersionUID = 3928855452818954985L; public ContextMenuItem() {} private String icon ; private String name ; private String link ; private String target; private Menu subMenu; private String clazz ; private boolean seperate = false; private String disableMsg; /** * 标识是否禁用该菜单项 */ protected boolean disabled = false; public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public String getLink() { return link; } public void setLink(String link) { this.link = link; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isSeperate() { return seperate; } public void setSeperate(boolean seperate) { this.seperate = seperate; } public String getTarget() { return target; } public void setTarget(String target) { this.target = target; } private void initsubMenu() { if(this.subMenu == null) this.subMenu = new Menu(); } public Menu getSubMenu() { return subMenu; } public void setSubMenu(Menu subMenu) { this.subMenu = subMenu; } public boolean hasSubMenu() { return this.subMenu != null; } public boolean isDisabled() { return disabled; } public void setDisabled(boolean disabled) { this.disabled = disabled; } public String getClazz() { return clazz; } public void setClazz(String clazz) { this.clazz = clazz; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addSubContextMenuItem(String name,String link,String target,String icon,String clazz,boolean disabled) { initsubMenu(); ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); contextmenu.setIcon(icon); contextmenu.setTarget(target); contextmenu.setClazz(clazz); contextmenu.setDisabled(disabled); this.subMenu.addContextMenuItem(contextmenu); return contextmenu; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addSubContextMenuItem(String name,String link,String target,String icon,String clazz) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); contextmenu.setIcon(icon); contextmenu.setTarget(target); contextmenu.setClazz(clazz); initsubMenu(); this.subMenu.addContextMenuItem(contextmenu); return contextmenu; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addSubContextMenuItem(String name,String link,String target,String icon) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); contextmenu.setIcon(icon); contextmenu.setTarget(target); initsubMenu(); this.subMenu.addContextMenuItem(contextmenu); return contextmenu; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addSubContextMenuItem(String name,String link,String icon) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); contextmenu.setIcon(icon); initsubMenu(); this.subMenu.addContextMenuItem(contextmenu); return contextmenu; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addSubContextMenuItem(String name,String link) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); initsubMenu(); this.subMenu.addContextMenuItem(contextmenu); return contextmenu; } public String getDisableMsg() { return disableMsg; } public void setDisableMsg(String disableMsg) { this.disableMsg = disableMsg; } } public int compare(Object o1, Object o2) { if(o1.equals(o2)) return 0; else return 1; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public void addContextMenuItem(ContextMenuItem contextmenu) { this.contextMenuItems.add(contextmenu); } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addContextMenuItem(String name,String link,String target,String icon,String clazz,boolean disabled) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); contextmenu.setIcon(icon); contextmenu.setTarget(target); contextmenu.setClazz(clazz); contextmenu.setDisabled(disabled); this.contextMenuItems.add(contextmenu); return contextmenu; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addContextMenuItem(String name,String link,String target,String icon,String clazz) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); contextmenu.setIcon(icon); contextmenu.setTarget(target); contextmenu.setClazz(clazz); this.contextMenuItems.add(contextmenu); return contextmenu; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addContextMenuItem(String name,String link,String target,String icon) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); contextmenu.setIcon(icon); contextmenu.setTarget(target); this.contextMenuItems.add(contextmenu); return contextmenu; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addContextMenuItem(String name,String link,String icon) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); contextmenu.setIcon(icon); this.contextMenuItems.add(contextmenu); return contextmenu; } /** * 添加右键菜单项 * @see com.frameworkset.common.tag.tree.itf.ITreeNode#addContextMenuItem(com.frameworkset.common.tag.tree.impl.TreeNode.ContextMenuItem) */ public ContextMenuItem addContextMenuItem(String name,String link) { ContextMenuItem contextmenu = new ContextMenuItem(); contextmenu.setName(name); contextmenu.setLink(link); this.contextMenuItems.add(contextmenu); return contextmenu; } /** * 添加邮件菜单项的分隔线 */ public void addSeperate() { this.contextMenuItems.add(seperate); } private static final ContextMenuItem seperate = new ContextMenuItem(); static{ seperate.setSeperate(true); } public boolean isGenerateByNode() { return generateByNode; } public void setGenerateByNode(boolean generateByNode) { this.generateByNode = generateByNode; } public String getIdentity() { return identity; } public void setIdentity(String identity) { this.identity = identity; } public int hashCode() { return this.getIdentity().hashCode(); } public boolean equal(Object otherMenu) { if(otherMenu instanceof Menu) { Menu temp = (Menu)otherMenu; return temp.getIdentity().equals(temp.getIdentity()); } else return false; } public int compareTo(Object o) { return this.compare(this,o); } public String getStyle() { return style; } public void setStyle(String style) { this.style = style; } // public String getJsObjectId() { // return jsObjectId; // } // // // public void setJsObjectId(String jsObjectId) { // this.jsObjectId = jsObjectId; // } }