testmeproject.java.svn-base
来自「cqME :java framework for TCK test.」· SVN-BASE 代码 · 共 444 行 · 第 1/2 页
SVN-BASE
444 行
DataFolder dataObject = DataFolder.findFolder(projectDir);
return new RootNode(project, new TestMEChildren(dataObject.getPrimaryFile()));
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public org.openide.nodes.Node findPath(org.openide.nodes.Node node, Object object) {
return null;
}
TestMEProject project;
}
private static final class RootNode extends AbstractNode implements NodeListener {
private final TestMEProject p;
private Node folderNode;
public RootNode(TestMEProject p, Children.Keys children) {
super(children, Lookups.singleton(p));
this.p = p;
this.addNodeListener(this);
}
public Action[] getActions(boolean context) {
return new Action[] {
CommonProjectActions.closeProjectAction(),
CommonProjectActions.deleteProjectAction(),
CommonProjectActions.setAsMainProjectAction(),
null,
SystemAction.get(PropertiesAction.class)
};
}
protected Sheet createSheet() {
Sheet sheet = super.createSheet();
Sheet.Set props = sheet.get (Sheet.PROPERTIES);
if (props == null) {
props = Sheet.createPropertiesSet();
sheet.put(props);
}
props.put (new TestMEProjectDirProperty(p));
return sheet;
}
public String getName() {
return p.getProjectDirectory().getName();
}
public void childrenAdded(NodeMemberEvent nodeMemberEvent) {
}
public void childrenRemoved(NodeMemberEvent nodeMemberEvent) {
//System.out.println("EEEE");
}
public void childrenReordered(NodeReorderEvent nodeReorderEvent) {
}
public void nodeDestroyed(NodeEvent nodeEvent) {
//System.out.println("TTTT");
}
public void propertyChange(PropertyChangeEvent evt) {
}
}
private static final class TestMEChildren extends Children.Keys implements NodeListener {
private FileObject fileObject;
public TestMEChildren(FileObject fileObject) {
super();
this.fileObject = fileObject;
}
protected Node[] createNodes(Object object) {
FileObject fob = (FileObject)object;
if (fob.isFolder()) {
DataFolder df = DataFolder.findFolder(fob);
Node node = df.getNodeDelegate();
node.addNodeListener(this);
ViewItemNode itemFolder = new ViewItemNode(df, df.getName(), df.getName());
return new Node[] {itemFolder};
} else {
DataObject dobj = null;
try {
dobj = DataObject.find(fob);
} catch (DataObjectNotFoundException ex) {
ex.printStackTrace();
}
Node node = dobj.getNodeDelegate();
node.addNodeListener(this);
ViewItemNode item = new ViewItemNode(node, node.getName(), node.getDisplayName());
return new Node[] {item};
}
}
protected void addNotify() {
super.addNotify();
refreshTree();
}
private void refreshTree() {
FileObject[] fobs = fileObject.getChildren();
Arrays.sort(fobs, new myComparator());
setKeys(fobs);
}
class myComparator implements Comparator {
public int compare(Object o1, Object o2) {
FileObject fob1 = (FileObject)o1;
FileObject fob2 = (FileObject)o2;
return fob1.getName().compareTo(fob2.getName());
}
}
protected void removeNotify() {
setKeys(Collections.EMPTY_SET);
super.removeNotify();
}
public void childrenAdded(NodeMemberEvent nodeMemberEvent) {
}
public void childrenRemoved(NodeMemberEvent nodeMemberEvent) {
//System.out.println("BBB");
}
public void childrenReordered(NodeReorderEvent nodeReorderEvent) {
}
public void nodeDestroyed(NodeEvent nodeEvent) {
}
public void propertyChange(PropertyChangeEvent evt) {
}
}
static final class VisibilityQueryDataFilter implements ChangeListener, ChangeableDataFilter {
EventListenerList ell = new EventListenerList();
public VisibilityQueryDataFilter() {
VisibilityQuery.getDefault().addChangeListener( this );
}
public boolean acceptDataObject(DataObject obj) {
return true;
}
public void stateChanged( ChangeEvent e) {
}
public void addChangeListener( ChangeListener listener ) {
ell.add( ChangeListener.class, listener );
}
public void removeChangeListener( ChangeListener listener ) {
ell.remove( ChangeListener.class, listener );
}
}
private static final class ViewItemNode extends FilterNode {
private final String name;
private final String displayName;
private static final DataFilter VISIBILITY_QUERY_FILTER = new VisibilityQueryDataFilter();
public ViewItemNode(Node orig, String name, String displayName) {
super(orig);
this.name = name;
this.displayName = displayName;
}
public ViewItemNode(DataFolder folder, String name, String displayName) {
super(folder.getNodeDelegate(), folder.createNodeChildren(VISIBILITY_QUERY_FILTER));
this.name = name;
this.displayName = displayName;
}
public String getName() {
return name;
}
public String getDisplayName() {
if (displayName != null) {
return displayName;
} else {
// #50425: show original name incl. annotations
return super.getDisplayName();
}
}
public boolean canRename() {
return false;
}
public boolean canDestroy() {
return false;
}
public boolean canCut() {
return false;
}
}
FileObject projectDir;
ProjectState state;
Lookup lkp;
AntProjectHelper helper;
//private final AntProjectHelper helper;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?