intermediate work for constrained shift
fixed dragndroptree.py