From b086f57f56bf0eb9dab9cf321a0f69aaaae84347 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Wed, 30 May 2012 08:37:45 +0200 Subject: Initial Maven Conversion --- .../java/com/c2kernel/gui/data/NodeEntity.java | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/main/java/com/c2kernel/gui/data/NodeEntity.java (limited to 'src/main/java/com/c2kernel/gui/data/NodeEntity.java') diff --git a/src/main/java/com/c2kernel/gui/data/NodeEntity.java b/src/main/java/com/c2kernel/gui/data/NodeEntity.java new file mode 100644 index 0000000..cce4f68 --- /dev/null +++ b/src/main/java/com/c2kernel/gui/data/NodeEntity.java @@ -0,0 +1,82 @@ +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; + } + /** + * + */ + @Override + public JPopupMenu getPopupMenu() { + JPopupMenu popup = super.getPopupMenu(); + JMenuItem openItem = new JMenuItem(Language.translate("Open")); + openItem.addActionListener(new ActionListener() { + @Override + 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