File Exchange Pick of the Week

Our best user submissions

Drag Objects Conveniently

Posted by Brett Shoelson,

Brett's Pick this week is Draggable, by Francois Bouffard.

For a pet project of mine, I needed to implement (in MATLAB code, of course!) a repositionable, resizable rectangle. I wanted to be able to drag the rectangle itself, but I also wanted to expose "handles" that would allow me to drag from the sides or from the corners, and to control, or constrain, the motion.

As a first step, I needed a general function that facilitated "draggability" of MATLAB objects. That's where "Draggable" comes in. Starting, as I usually do, with the File Exchange, I quickly found my way to Francois's file. I downloaded it, encouraged by several 5-star reviews (now including my own!), and was very pleased by how tractable the problem became.

"Draggable" is exceptionally well implemented, and despite having taken it for a significant test drive, I have been unable to find fault with it.

Francois mentioned in his comments that he plans to revisit his code at some point in the future to enable one to apply the functionality simultaneously to multiple handles. I agree that that would make a nice enhancement, though activating objects one-at-a-time wasn't extremely onerous. It would also be nice if there were a "diagonal" constraint--at least for my purposes. But in its current state, I'm very happy to select "Draggable" as this week's Pick of the Week--very nice work, Francois!

Incidentally, my "draggableRect" isn't on the File Exchange yet, but I hope to have it up soon!

As always, comments to this blog post are welcome. Or leave a comment for Francois here.

Get the MATLAB code

Published with MATLAB® 7.14

Comments are closed.