@Override
public boolean drop(Point p) {
if(isDroppingPopup())
return super.drop(p);
if (!isForbid()) {
JDesktopPane jtp = (JDesktopPane) adaptable.getWidget();
adaptable.clearAllSelected();
for (WidgetAdapter drop : adaptable.getDropWidget()) {
JInternalFrame jif = (JInternalFrame) drop.getWidget();
Point htsp = drop.getHotspotPoint();
int state = adaptable.getState();
switch (state) {
case Azimuth.STATE_BEAN_HOVER:
jif.setLocation(p.x - htsp.x, p.y - htsp.y);
break;
default:
Point pt = adaptable.getMascotLocation();
jif.setLocation(pt.x - htsp.x, pt.y - htsp.y);
break;
}
jtp.add(jif);
drop.requestNewName();
jif.setVisible(true);
drop.setSelected(true);
drop.setDirty(true);
jif.toFront();