Would you like to support an abstract programming interface which manages the (multiple) selection of widgets, files, records and other objects in a portable way?
I guess that following information sources can give useful ideas for a corresponding software design.
- Java™ Look and Feel Design Guidelines: Advanced Topics > Part I: General Topics > 4: Behavior > Selecting Multiple Objects
- GNOME Human Interface Guidelines > 10.1.2.2. Bounding Box Selection
- Programmer's Guide to the Java™ 2D API > Section "Bounds and Hit Testing"
- "A Multiple Selection based Control Tracker"
- "The design and evaluation of selection techniques for 3D volumetric displays" by Tovi Grossman and Ravin Balakrishnan
- "Design and Evaluation of 3D Multiple Object Selection Techniques" by John Finley Lucas