|
What this is
Other links
The source code
/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is Forte for Java, Community Edition. The Initial
* Developer of the Original Code is Sun Microsystems, Inc. Portions
* Copyright 1997-2002 Sun Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.mdrxml.looks;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.StringSelection;
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import javax.jmi.reflect.*;
import javax.jmi.model.*;
import org.openide.util.NbBundle;
import org.netbeans.api.looks.*;
import org.netbeans.spi.looks.*;
import org.netbeans.api.mdr.*;
import xmlmodel.XmlmodelPackage;
import xmlmodel.RootNodeClass;
import xmlmodel.RootNode;
import org.netbeans.modules.mdrxml.util.XMLModelEventTranslator;
import org.netbeans.modules.mdrxml.util.NodeEventTranslator;
/**
*
* @author Tomas Zezula
*/
public class DocumentsLook extends DefaultLook {
private static final String ICON = "org/netbeans/modules/mdrxml/resources/packageproxy";
/** Creates a new instance of DocumentsLook */
public DocumentsLook() {
super (NbBundle.getMessage (DocumentsLook.class, "TXT_DocumentsLook"));
}
public Object attachTo (Look.NodeSubstitute substitute) {
super.attachTo (substitute);
XMLModelEventTranslator translator = XMLModelEventTranslator.addXMLPackage(substitute);
return new NodeEventTranslator (translator,(RefBaseObject)substitute.getRepresentedObject(),substitute);
}
public String getName (Look.NodeSubstitute substitute) {
RefPackage pkg = (RefPackage) substitute.getRepresentedObject ();
MDRepository repo = ((MDRObject)pkg).repository();
String[] names = repo.getExtentNames ();
for (int i=0; i< names.length; i++) {
if (repo.getExtent (names[i]).equals (pkg))
return names[i];
}
return ((MofPackage)pkg.refMetaObject()).getName();
}
public String getDisplayName (Look.NodeSubstitute substitute) {
return this.getName (substitute);
}
public String iconBase (Look.NodeSubstitute substitute) {
return ICON;
}
public Object[] getChildObjects (Look.NodeSubstitute substitute) {
XmlmodelPackage pkg = (XmlmodelPackage) substitute.getRepresentedObject ();
MDRepository repo = ((MDRObject)pkg).repository ();
repo.beginTrans (false);
try {
RootNodeClass rnClass = pkg.getRootNode ();
Collection rootNodes = rnClass.refAllOfClass ();
Object[] result = new Object [rootNodes.size()];
Iterator it = rootNodes.iterator ();
for (int i=0; it.hasNext(); i++) {
result[i] = it.next();
}
return result;
}finally {
repo.endTrans ();
}
}
public Transferable clipboardCopy (Look.NodeSubstitute substitute) throws IOException {
return new StringSelection (this.getName(substitute));
}
public boolean canCopy (Look.NodeSubstitute substitute) {
return true;
}
}
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.