From 254ee6f47eebfc00462c10756a92066e82cc1a96 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 21 Jun 2011 15:46:02 +0200 Subject: Initial commit --- source/com/c2kernel/gui/data/NodeEntity.java | 80 ++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100755 source/com/c2kernel/gui/data/NodeEntity.java (limited to 'source/com/c2kernel/gui/data/NodeEntity.java') diff --git a/source/com/c2kernel/gui/data/NodeEntity.java b/source/com/c2kernel/gui/data/NodeEntity.java new file mode 100755 index 0000000..adff241 --- /dev/null +++ b/source/com/c2kernel/gui/data/NodeEntity.java @@ -0,0 +1,80 @@ +package com.c2kernel.gui.data; + + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; + +import javax.swing.JMenuItem; +import javax.swing.JPopupMenu; + +import com.c2kernel.entity.proxy.EntityProxy; +import com.c2kernel.gui.EntityTabManager; +import com.c2kernel.lookup.Path; +import com.c2kernel.process.Gateway; +import com.c2kernel.utils.Language; +import com.c2kernel.utils.Logger; + +/** + * Structure for Item presence on the tree and ItemDetails boxes. Created by NodeFactory. + * @author $Author: abranson $ + * @version $Version$ + */ +public abstract class NodeEntity extends Node { + + protected EntityProxy myEntity = null; + + public NodeEntity(Path path, EntityTabManager desktop) { + super(path, desktop); + Logger.msg(2,"NodeEntity. - Creating item for '"+path.toString()+"'."); + + try { + // if an item - resolve the item and get its properties + myEntity = Gateway.getProxyManager().getProxy(path); + this.sysKey = path.getSysKey(); + Logger.msg(2,"NodeEntity. - System key is "+this.sysKey); + + // Name should be the alias if present + String alias = myEntity.getName(); + if (alias != null) this.name = alias; + + this.type = myEntity.getProperty("Type"); + String iconString = this.type; + if (type.equals("ActivityDesc")) iconString = myEntity.getProperty("Complexity")+iconString; + iconString = iconString.toLowerCase(); + this.setIcon(iconString); + createTreeNode(); + } catch (Exception e) { + Logger.msg(2, "NodeEntity. - "+sysKey+" failed to resolve:"); + Logger.error(e); + } + } + + public EntityProxy getEntity() { + return myEntity; + } + /** + * + */ + public JPopupMenu getPopupMenu() { + JPopupMenu popup = super.getPopupMenu(); + JMenuItem openItem = new JMenuItem(Language.translate("Open")); + openItem.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + openItem(); + } + }); + popup.addSeparator(); + popup.add(openItem); + return popup; + } + + public void openItem() { + desktop.add(this); + } + + public ArrayList getTabs() { + ArrayList requiredTabs = new ArrayList(); + return requiredTabs; + } +} -- cgit v1.2.3