📄 jdfframe.java.old
字号:
m_insertResPopupItem = new JMenuItem(m_littleBundle.getString("ResourceKey"));
m_insertResPopupItem.addActionListener(this);
resMenu.add(m_insertResPopupItem);
rightMenu.add(resMenu);
final JMenu resLinkMenu = new JMenu(m_littleBundle.getString("InsertResLinkKey"));
resLinkMenu.setEnabled(elem != null && (elem.isJDFNode()
|| elem.getNodeName().equals("ResourceLinkPool")));
m_insertInResLinkPopupItem = new JMenuItem(m_littleBundle.getString("ResourceInLinkKey"));
m_insertInResLinkPopupItem.addActionListener(this);
resLinkMenu.add(m_insertInResLinkPopupItem);
m_insertOutResLinkPopupItem = new JMenuItem(m_littleBundle.getString("ResourceOutLinkKey"));
m_insertOutResLinkPopupItem.addActionListener(this);
resLinkMenu.add(m_insertOutResLinkPopupItem);
rightMenu.add(resLinkMenu);
m_insertAttrPopupItem = new JMenuItem(m_littleBundle.getString("InsertAttKey"));
m_insertAttrPopupItem.addActionListener(this);
rightMenu.add(m_insertAttrPopupItem);
rightMenu.add(new JSeparator());
m_cutPopupItem = new JMenuItem(m_littleBundle.getString("CutKey"));
m_cutPopupItem.setAccelerator(KeyStroke.getKeyStroke('X', menuKeyMask));
m_cutPopupItem.addActionListener(this);
rightMenu.add(m_cutPopupItem);
m_copyPopupItem = new JMenuItem(m_littleBundle.getString("CopyKey"));
m_copyPopupItem.setAccelerator(KeyStroke.getKeyStroke('C', menuKeyMask));
m_copyPopupItem.addActionListener(this);
rightMenu.add(m_copyPopupItem);
m_pastePopupItem = new JMenuItem(m_littleBundle.getString("PasteKey"));
m_pastePopupItem.setAccelerator(KeyStroke.getKeyStroke('P', menuKeyMask));
m_pastePopupItem.addActionListener(this);
rightMenu.add(m_pastePopupItem);
m_deletePopupItem = new JMenuItem(m_littleBundle.getString("DeleteKey"));
m_deletePopupItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));
m_deletePopupItem.addActionListener(this);
rightMenu.add(m_deletePopupItem);
rightMenu.add(new JSeparator());
m_renamePopupItem = new JMenuItem(m_littleBundle.getString("RenameKey"));
m_renamePopupItem.addActionListener(this);
rightMenu.add(m_renamePopupItem);
m_modifyAttrValuePopupItem = new JMenuItem(m_littleBundle.getString("ModifyAttValueKey"));
m_modifyAttrValuePopupItem.addActionListener(this);
rightMenu.add(m_modifyAttrValuePopupItem);
rightMenu.add(new JSeparator());
m_requiredAttrPopupItem = new JMenuItem(m_littleBundle.getString("AddRequiredAttKey"));
m_requiredAttrPopupItem.addActionListener(this);
rightMenu.add(m_requiredAttrPopupItem);
m_requiredElemPopupItem = new JMenuItem(m_littleBundle.getString("AddRequiredElKey"));
m_requiredElemPopupItem.addActionListener(this);
rightMenu.add(m_requiredElemPopupItem);
rightMenu.add(new JSeparator());
m_xpandPopupItem = new JMenuItem(m_littleBundle.getString("ExpandKey"));
m_xpandPopupItem.addActionListener(this);
rightMenu.add(m_xpandPopupItem);
m_collapsePopupItem = new JMenuItem(m_littleBundle.getString("CollapseKey"));
m_collapsePopupItem.addActionListener(this);
rightMenu.add(m_collapsePopupItem);
//20040913 MRE
m_copyToClipBoardPopupItem = new JMenuItem(m_littleBundle.getString("CopyNode"));
m_copyToClipBoardPopupItem.addActionListener(this);
rightMenu.add(m_copyToClipBoardPopupItem);
setEnabledInMouseMenu(node, elem);
return rightMenu;
}
/**
* Creates the popupmenu after a right mouse click on node in the DevCap Output View.
* @param path - The path to the clicked node
* @return A JPopupMenu
*/
JPopupMenu drawDevCapMouseMenu(TreePath path)
{
final JPopupMenu rightMenu = new JPopupMenu();
final DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
if (node == null)
return rightMenu;
final Object object = node.getUserObject();
if (object instanceof JDFWrapper)
{
JMenuItem spawnExecutable = new JMenuItem("Spawn...");
spawnExecutable.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
JDFWrapper baseElem = (JDFWrapper) object;
String p = baseElem.getXPath();
if (p != null)
{
findInNode(p);
spawn(false);
}
}
});
rightMenu.add(spawnExecutable);
spawnExecutable.setEnabled(true);
JMenuItem spawnInfExecutable = new JMenuItem("Spawn Informative...");
spawnInfExecutable.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
JDFWrapper baseElem = (JDFWrapper) object;
String p = baseElem.getXPath();
if (p != null)
{
findInNode(p);
spawn(true);
}
}
});
rightMenu.add(spawnInfExecutable);
spawnInfExecutable.setEnabled(true);
JDFTreeNode treeNode = (JDFTreeNode)m_jdfTree.getSelectionPath().getLastPathComponent();
if (treeNode!=null && treeNode.equals(m_root))
{
spawnExecutable.setEnabled(false);
spawnInfExecutable.setEnabled(false);
}
}
else if (!node.isLeaf())
{
JMenuItem xpandDevCapOutput = new JMenuItem(m_littleBundle.getString("ExpandKey"));
xpandDevCapOutput.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
final Enumeration e = node.postorderEnumeration();
while (e.hasMoreElements())
{
final DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) e.nextElement();
m_reportTree.expandPath(new TreePath(treeNode.getPath()));
}
m_reportTree.expandPath(m_reportTree.getSelectionPath());
}
});
rightMenu.add(xpandDevCapOutput);
xpandDevCapOutput.setEnabled(true);
JMenuItem collapseDevCapOutput = new JMenuItem(m_littleBundle.getString("CollapseKey"));
collapseDevCapOutput.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
final Enumeration e = node.postorderEnumeration();
while (e.hasMoreElements())
{
final DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) e.nextElement();
m_reportTree.collapsePath(new TreePath(treeNode.getPath()));
}
m_reportTree.collapsePath(m_reportTree.getSelectionPath());
}
});
rightMenu.add(collapseDevCapOutput);
collapseDevCapOutput.setEnabled(true);
}
return rightMenu;
}
/**
* Disables the MenuItems in the MouseMenu that isn't selectable for the selected
* JDFTreeNode.
* @param node - The selected node
* @param elem - The JDFElement for the selected node, can be null
*/
private void setEnabledInMouseMenu(JDFTreeNode node, JDFElement elem)
{
if (node.isElement() && elem != null)
{
if (!((JDFTreeNode) m_root.getFirstChild()).equals(node))
{
m_insertElemBeforePopupItem.setEnabled(true);
m_insertElemAfterPopupItem.setEnabled(true);
if (elem.getTagName().equals("Comment"))
m_insertElemIntoPopupItem.setEnabled(false);
else
m_insertElemIntoPopupItem.setEnabled(true);
}
else
{
m_insertElemBeforePopupItem.setEnabled(false);
m_insertElemAfterPopupItem.setEnabled(false);
m_insertElemIntoPopupItem.setEnabled(true);
}
final boolean bMayContainResources = elem.isJDFNode() || elem.getNodeName().equals("ResourcePool");
m_insertInResPopupItem.setEnabled(bMayContainResources);
m_insertOutResPopupItem.setEnabled(bMayContainResources);
m_insertResPopupItem.setEnabled(bMayContainResources);
final boolean bNodeOK = (elem.isJDFNode() &&
getResourcesAllowedToLink((JDFNode) elem).size() != 0);
final boolean bResLinkPoolOK = (elem.getNodeName().equals("ResourceLinkPool") &&
getResourcesAllowedToLink(elem.getParentJDF()).size() != 0);
m_insertInResLinkPopupItem.setEnabled(bNodeOK || bResLinkPoolOK);
m_insertOutResLinkPopupItem.setEnabled(bNodeOK || bResLinkPoolOK);
boolean bHasChildNodes = elem.hasChildElements() || elem.hasAttributes();
m_xpandPopupItem.setEnabled(bHasChildNodes);
m_collapsePopupItem.setEnabled(bHasChildNodes);
m_requiredAttrPopupItem.setEnabled(true);
m_requiredElemPopupItem.setEnabled(true);
m_modifyAttrValuePopupItem.setEnabled(false);
}
else
{
m_requiredAttrPopupItem.setEnabled(false);
m_requiredElemPopupItem.setEnabled(false);
m_modifyAttrValuePopupItem.setEnabled(true);
m_xpandPopupItem.setEnabled(false);
m_collapsePopupItem.setEnabled(false);
}
m_pastePopupItem.setEnabled(m_copyNode != null);
final Object parent = ((JDFTreeNode) node.getParent()).getUserObject();
m_renamePopupItem.setEnabled(parent!=null);
}
/**
* Method createModel.
* create the treeModel
* @param doc
* @return TreeModel
*/
private TreeModel createModel(JDFDoc doc)
{
m_jdfDocument = doc;
if (m_jdfDocument != null)
{
m_docNS = m_jdfDocument.getDocumentElement().getNamespaceURI();
buildModel(m_jdfDocument.getRoot(), m_root);
}
m_model = new DefaultTreeModel(m_root);
m_vStrangeElementsString.clear();
m_vStrangeElements.clear();
m_vInvalidResLinks.clear();
m_vInvalidResLinksString.clear();
m_model.addTreeModelListener(new MyTreeModelListener());
return m_model;
}
/**
* Method buildModel.
* Creates the JDFTreeNodes
* @param node
* @param m_root
*/
private void buildModel(JDFElement node, JDFTreeNode my_Root)
{
JDFTreeNode childNode = null;
final String xPath = node.buildXPath();
if (node.getNodeName().equals("JDF"))
{
final JDFWrapper jdfW = new JDFWrapper(node);
childNode = new JDFTreeNode(jdfW, jdfW.wrapperIsValid(), true, xPath);
if (!childNode.isValid())
setInvalidNode(node, KElement.ValidationLevel_Complete);
setNSAndAttributes(node, childNode, my_Root);
}
else if (JDFElement.isResourceLinkStatic(node) && childNode == null)
{
final ResourceLinkWrapper resLinkW = new ResourceLinkWrapper(node);
childNode = new JDFTreeNode(resLinkW, resLinkW.wrapperIsValid(), true, xPath);
if (!childNode.isValid())
setInvalidNode(node, KElement.ValidationLevel_Complete);
setNSAndAttributes(node, childNode, my_Root);
if (m_currentAutoVal)
{
final JDFElement jdfElement = node;
hasInvalidResourceLinks(childNode, jdfElement);
}
}
else if (JDFElement.isRefElementStatic(node) && childNode == null)
{
final RefElementWrapper refElW = new RefElementWrapper(node);
childNode = new JDFTreeNode(refElW, refElW.wrapperIsValid(), true, xPath);
if (!childNode.isValid())
setInvalidNode(node, KElement.ValidationLevel_Complete);
setNSAndAttributes(node, child
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -