actually with following code i did manage to drag some thing while press on
the table header, but it doesn't drag the table header, but somewhere else
in the page, simply from (0, 0), not the actual table header location. See
attached picture.
how to fix this?
tableViewHeader = (TableViewHeader)namespace.get("tableViewHeader");
tableViewHeader.setDropTarget(new DropTarget(){
@Override
public DropAction dragEnter(Component arg0, Manifest arg1, int
arg2, DropAction arg3)
{ return null; }
@Override
public void dragExit(Component arg0) { }
@Override
public DropAction dragMove(Component arg0, Manifest arg1, int
arg2,
int arg3, int arg4, DropAction arg5) {
return null;
}
@Override
public DropAction drop(Component arg0, Manifest arg1, int arg2,
int arg3, int arg4, DropAction arg5)
{
return null;
}
@Override
public DropAction userDropActionChange(Component arg0,
Manifest arg1, int arg2, int arg3, int arg4, DropAction
arg5)
{
return null;
}});
tableViewHeader.setDragSource(new DragSource(){
int selectedIndex;
@Override
public boolean beginDrag(Component arg0, int arg1, int arg2)
{
tableViewHeader = (TableViewHeader) arg0;
selectedIndex = tableViewHeader.getHeaderAt(arg1);
return true;
}
@Override
public void endDrag(Component arg0, DropAction arg1){}
@Override
public LocalManifest getContent(){
return null;
}
@Override
public Point getOffset() {
Point point = new Point(0, 0);
return point;
}
@Override
public Visual getRepresentation()
{
Picture picture = null;
if (selectedIndex!=-1){
Bounds headerBounds = getHeaderBounds(selectedIndex);
BufferedImage bImg = new
BufferedImage(headerBounds.width,
headerBounds.height,
BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = bImg.createGraphics();
graphics.translate(headerBounds.x, headerBounds.y);
paint(graphics);
graphics.dispose();
picture = new Picture(bImg);
}
return picture;
}
private Bounds getHeaderBounds(int selectedIndex2)
{
return tableViewHeader.getHeaderBounds(selectedIndex2);
}
@Override
public int getSupportedDropActions()
{ return 0; }
@Override
public boolean isNative()
{
return false;
}});
http://apache-pivot-users.399431.n3.nabble.com/file/n3500121/drag.jpg
--
View this message in context:
http://apache-pivot-users.399431.n3.nabble.com/how-to-use-drag-and-drop-swap-table-columns-tp3499066p3500121.html
Sent from the Apache Pivot - Users mailing list archive at Nabble.com.