|
|
|
Re: DND in a tree: how to prevent the item being dragged from being selected? [message #723657 is a reply to message #723563] |
Fri, 09 September 2011 05:06 |
Vijay Raj Messages: 608 Registered: July 2009 |
Senior Member |
|
|
I presume u already have a selection listener of the tree,now add mouse listener also and in mousedown and mouseup methods set mousedown and mouseup flags(you have to reset them in their respective opposite methods,the correct logic would be as per your requirement and mousedown,selection and mouseup sequence)
Just to give u a direction ,this is not the solution and may not work,u have to test it and perfect it
public class DNDSelectionFix implements SelectionListener, MouseListener {
private boolean mouseDown;
private boolean mouseUp;
private boolean selected;
private Tree tree;
@Override
public void widgetDefaultSelected(SelectionEvent e) {
// TODO Auto-generated method stub
}
@Override
public void widgetSelected(SelectionEvent e) {
if (!mouseDown) {
yourMethod();
}
else{
selected = true;
}
mouseDown = false;
mouseUp = false;
}
private void yourMethod() {
//if tree
TreeItem[] selection = tree.getSelection();
//if TreeViewer then get the selection from the treeviewer
}
@Override
public void mouseDoubleClick(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseDown(MouseEvent e) {
mouseDown = true;
mouseUp = false;
}
@Override
public void mouseUp(MouseEvent e) {
mouseUp = true;
mouseDown = false;
if(selected)
{
yourMethod();
selected=false;
mouseUp = false;
mouseDown = false;
}
}
}
---------------------
why, mr. Anderson, why, why do you persist?
Because I Choose To.
Regards,
Vijay
|
|
|
Powered by
FUDForum. Page generated in 0.02945 seconds