public void testDropItemBefore() throws IOException {
PaletteActions actions = new DummyActions();
PaletteController pc = PaletteFactory.createPalette( getRootFolderName(), actions );
Model model = pc.getModel();
Category[] categories = model.getCategories();
Category srcCat = categories[0];
Item[] srcItemsBefore = srcCat.getItems();
Item dropItem = srcItemsBefore[0];
Category tgtCat = categories[1];
Item[] tgtItemsBefore = tgtCat.getItems();
Item target = tgtItemsBefore[5];
tgtCat.dropItem( dropItem.cut(), DnDConstants.ACTION_COPY_OR_MOVE, target, true );
//force all nodes in the palette to update their children
pc.refresh();
categories = model.getCategories();
srcCat = categories[0];
tgtCat = categories[1];
Item[] srcItemsAfter = srcCat.getItems();
Item[] tgtItemsAfter = tgtCat.getItems();
assertEquals( srcItemsBefore.length, srcItemsAfter.length+1 );
for( int i=0; i<srcItemsAfter.length; i++ ) {
assertEquals( srcItemsBefore[i+1].getName(), srcItemsAfter[i].getName() );
}
assertEquals( tgtItemsBefore.length, tgtItemsAfter.length-1 );
assertEquals( target.getName(), tgtItemsAfter[5+1].getName() );
assertEquals( dropItem.getName(), tgtItemsAfter[5].getName() );
}
java类java.awt.dnd.DnDConstants的实例源码
CategoryTest.java 文件源码
项目:incubator-netbeans
阅读 29
收藏 0
点赞 0
评论 0
MotifDnDConstants.java 文件源码
项目:jdk8u-jdk
阅读 23
收藏 0
点赞 0
评论 0
public static int getMotifActionsForJavaActions(int javaActions) {
int motifActions = MOTIF_DND_NOOP;
if ((javaActions & DnDConstants.ACTION_MOVE) != 0) {
motifActions |= MOTIF_DND_MOVE;
}
if ((javaActions & DnDConstants.ACTION_COPY) != 0) {
motifActions |= MOTIF_DND_COPY;
}
if ((javaActions & DnDConstants.ACTION_LINK) != 0) {
motifActions |= MOTIF_DND_LINK;
}
return motifActions;
}
DragAndDropHandlerTest.java 文件源码
项目:incubator-netbeans
阅读 30
收藏 0
点赞 0
评论 0
public void testCanDrop() throws Exception {
PaletteActions actions = new DummyActions();
PaletteController pc = PaletteFactory.createPalette( getRootFolderName(), actions );
Model model = pc.getModel();
Category cat = model.getCategories()[0];
DragAndDropHandler handler = DragAndDropHandler.getDefault();
DataFlavor[] flavors = new DataFlavor[] { PaletteController.ITEM_DATA_FLAVOR };
assertTrue( handler.canDrop( cat.getLookup(), flavors, DnDConstants.ACTION_COPY_OR_MOVE ) );
flavors = new DataFlavor[] { new DataFlavor( "text/xml" ) };
assertFalse( handler.canDrop( cat.getLookup(), flavors, DnDConstants.ACTION_COPY_OR_MOVE ) );
}
DragAndDropHandlerTest.java 文件源码
项目:incubator-netbeans
阅读 22
收藏 0
点赞 0
评论 0
public void testDoDropItemToOtherCategory() throws Exception {
PaletteActions actions = new DummyActions();
PaletteController pc = PaletteFactory.createPalette( getRootFolderName(), actions );
Model model = pc.getModel();
Category[] categories = model.getCategories();
Category srcCat = categories[0];
Item[] srcItemsBefore = srcCat.getItems();
Item dropItem = srcItemsBefore[0];
Category tgtCat = categories[1];
Item[] tgtItemsBefore = tgtCat.getItems();
Item target = tgtItemsBefore[5];
DragAndDropHandler handler = DragAndDropHandler.getDefault();
assertTrue( handler.doDrop( tgtCat.getLookup(), dropItem.cut(), DnDConstants.ACTION_COPY_OR_MOVE, 5 ) );
//force all nodes in the palette to update their children
pc.refresh();
categories = model.getCategories();
srcCat = categories[0];
tgtCat = categories[1];
Item[] srcItemsAfter = srcCat.getItems();
Item[] tgtItemsAfter = tgtCat.getItems();
assertEquals( srcItemsBefore.length, srcItemsAfter.length+1 );
for( int i=0; i<srcItemsAfter.length; i++ ) {
assertEquals( srcItemsBefore[i+1].getName(), srcItemsAfter[i].getName() );
}
assertEquals( tgtItemsBefore.length, tgtItemsAfter.length-1 );
assertEquals( target.getName(), tgtItemsAfter[5+1].getName() );
assertEquals( dropItem.getName(), tgtItemsAfter[5].getName() );
}
DnDSupport.java 文件源码
项目:incubator-netbeans
阅读 25
收藏 0
点赞 0
评论 0
public void register(Component c) {
synchronized( recognizers ) {
DragGestureRecognizer dgr = recognizers.get( c );
if( null == dgr ) {
dgr = dragSource.createDefaultDragGestureRecognizer(c, DnDConstants.ACTION_MOVE, this);
recognizers.put( c, dgr );
}
}
}
DnDSupport.java 文件源码
项目:incubator-netbeans
阅读 24
收藏 0
点赞 0
评论 0
public void dragEnter(DropTargetDragEvent e) {
if( e.isDataFlavorSupported( buttonDataFlavor ) || e.isDataFlavorSupported( actionDataFlavor ) ) {
e.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
isButtonDrag = true; //in case use is dragging something from the customizer window
} else if( e.isDataFlavorSupported( toolbarDataFlavor ) ) {
e.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
} else {
e.rejectDrag();
}
}
DnDSupport.java 文件源码
项目:incubator-netbeans
阅读 24
收藏 0
点赞 0
评论 0
public void dragOver(DropTargetDragEvent e) {
if( e.isDataFlavorSupported( buttonDataFlavor ) || e.isDataFlavorSupported( actionDataFlavor ) ) {
updateDropGesture( e );
if( !validateDropPosition() ) {
e.rejectDrag();
} else {
e.acceptDrag( DnDConstants.ACTION_COPY_OR_MOVE );
}
} else if( e.isDataFlavorSupported( toolbarDataFlavor ) ) {
e.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
} else {
e.rejectDrag();
}
}
SunDropTargetContextPeer.java 文件源码
项目:jdk8u-jdk
阅读 22
收藏 0
点赞 0
评论 0
/**
* acceptDrag
*/
public synchronized void acceptDrag(int dragOperation) {
if (currentDT == null) {
throw new InvalidDnDOperationException("No Drag pending");
}
currentDA = mapOperation(dragOperation);
if (currentDA != DnDConstants.ACTION_NONE) {
dragRejected = false;
}
}
IndexedCustomizer.java 文件源码
项目:incubator-netbeans
阅读 23
收藏 0
点赞 0
评论 0
/** Initiating the drag */
public void dragGestureRecognized(DragGestureEvent dge) {
// check allowed actions
if ((dge.getDragAction() & DnDConstants.ACTION_MOVE) == 0) {
return;
}
// prepare transferable and start the drag
int index = comp.locationToIndex(dge.getDragOrigin());
// no index, then no dragging...
if (index < 0) {
return;
}
// System.out.println("Starting drag..."); // NOI18N
// create our flavor for transferring the index
myFlavor = new DataFlavor(
String.class, NbBundle.getBundle(IndexedCustomizer.class).getString("IndexedFlavor")
);
try {
dge.startDrag(DragSource.DefaultMoveDrop, new IndexTransferable(myFlavor, index), this);
// remember the gesture
this.dge = dge;
} catch (InvalidDnDOperationException exc) {
Logger.getLogger(IndexedCustomizer.class.getName()).log(Level.WARNING, null, exc);
// PENDING notify user - cannot start the drag
}
}
IndexedCustomizer.java 文件源码
项目:incubator-netbeans
阅读 29
收藏 0
点赞 0
评论 0
/** User drag over us */
public void dragOver(DropTargetDragEvent dtde) {
if (!checkConditions(dtde)) {
dtde.rejectDrag();
if (lastIndex >= 0) {
cellRenderer.draggingExit();
comp.repaint(comp.getCellBounds(lastIndex, lastIndex));
lastIndex = -1;
}
} else {
dtde.acceptDrag(DnDConstants.ACTION_MOVE);
int index = comp.locationToIndex(dtde.getLocation());
if (lastIndex == index) {
cellRenderer.draggingOver(index, ids.getDragGestureEvent().getDragOrigin(), dtde.getLocation());
} else {
if (lastIndex < 0) {
lastIndex = index;
}
cellRenderer.draggingExit();
cellRenderer.draggingEnter(index, ids.getDragGestureEvent().getDragOrigin(), dtde.getLocation());
comp.repaint(comp.getCellBounds(lastIndex, index));
lastIndex = index;
}
}
}