use of org.openide.util.datatransfer.PasteType in project gephi by gephi.
the class CategoryNode method getDropType.
@Override
public PasteType getDropType(final Transferable t, int action, int index) {
if (category == null || !category.equals(FiltersExplorer.QUERIES)) {
return null;
}
final Node dropNode = NodeTransfer.node(t, DnDConstants.ACTION_COPY_OR_MOVE);
if (dropNode != null && dropNode instanceof QueryNode) {
return new PasteType() {
@Override
public Transferable paste() throws IOException {
QueryNode queryNode = (QueryNode) dropNode;
FilterController filterController = Lookup.getDefault().lookup(FilterController.class);
FilterLibrary library = filterController.getModel().getLibrary();
library.saveQuery(queryNode.getQuery());
return null;
}
};
}
return null;
}
use of org.openide.util.datatransfer.PasteType in project gephi by gephi.
the class SlotNode method getDropType.
@Override
public PasteType getDropType(final Transferable t, int action, int index) {
final Node dropNode = NodeTransfer.node(t, DnDConstants.ACTION_COPY_OR_MOVE);
if (dropNode != null && dropNode instanceof QueryNode) {
Query q = ((QueryNode) dropNode).getQuery();
if (!Arrays.asList(q.getDescendantsAndSelf()).contains(parent)) {
// Check if not parent
return new PasteType() {
@Override
public Transferable paste() throws IOException {
QueryNode queryNode = (QueryNode) dropNode;
FilterController filterController = Lookup.getDefault().lookup(FilterController.class);
filterController.setSubQuery(parent, queryNode.getQuery());
return null;
}
};
}
} else if (t.isDataFlavorSupported(FilterBuilderNode.DATA_FLAVOR)) {
return new PasteType() {
@Override
public Transferable paste() throws IOException {
try {
FilterBuilder builder = (FilterBuilder) t.getTransferData(FilterBuilderNode.DATA_FLAVOR);
FilterController filterController = Lookup.getDefault().lookup(FilterController.class);
Query query = filterController.createQuery(builder);
filterController.setSubQuery(parent, query);
} catch (UnsupportedFlavorException ex) {
Exceptions.printStackTrace(ex);
}
return null;
}
};
}
return null;
}
use of org.openide.util.datatransfer.PasteType in project gephi by gephi.
the class RootNode method getDropType.
@Override
public PasteType getDropType(Transferable t, int action, int index) {
final Node dropNode = NodeTransfer.node(t, DnDConstants.ACTION_COPY_OR_MOVE);
if (t.isDataFlavorSupported(FilterBuilderNode.DATA_FLAVOR)) {
try {
final FilterBuilder fb = (FilterBuilder) t.getTransferData(FilterBuilderNode.DATA_FLAVOR);
return new PasteType() {
@Override
public Transferable paste() throws IOException {
FilterController filterController = Lookup.getDefault().lookup(FilterController.class);
Query f = filterController.createQuery(fb);
filterController.add(f);
return null;
}
};
} catch (Exception ex) {
Exceptions.printStackTrace(ex);
}
} else if (dropNode != null && dropNode instanceof SavedQueryNode) {
return new PasteType() {
@Override
public Transferable paste() throws IOException {
SavedQueryNode node = (SavedQueryNode) dropNode;
FilterController filterController = Lookup.getDefault().lookup(FilterController.class);
filterController.add(node.getQuery());
return null;
}
};
} else if (dropNode != null && dropNode instanceof QueryNode && ((QueryNode) dropNode).getQuery().getParent() != null) {
return new PasteType() {
@Override
public Transferable paste() throws IOException {
QueryNode queryNode = (QueryNode) dropNode;
FilterController filterController = Lookup.getDefault().lookup(FilterController.class);
filterController.removeSubQuery(queryNode.getQuery(), queryNode.getQuery().getParent());
filterController.add(queryNode.getQuery());
return null;
}
};
}
return null;
}
Aggregations