private boolean executeDrop( ScreenDockStationExtension.DropArguments args ){ DockUtilities.checkLayoutLocked(); DockUtilities.ensureTreeValidity( this, args.getDockable() ); Dockable dockable = args.getDockable(); ScreenDockProperty property = args.getProperty();
@Override public void drop( ScreenDockStation station, DropArguments arguments ){ if( arguments.getWindow() == null ){ ToolbarStrategy strategy = controller.getProperties().get( ToolbarStrategy.STRATEGY ); Dockable dockable = arguments.getDockable(); if( strategy.isToolbarPart( dockable ) ){ Dockable replacement = strategy.ensureToolbarLayer( station, dockable ); if( replacement != dockable ){ pending = dockable; } else{ pending = null; } arguments.setDockable( replacement ); } } else{ pending = null; } }
@Override public void dropped( ScreenDockStation station, DropArguments arguments, boolean successfull ){ if( pending != null && successfull ){ DockStation child = arguments.getDockable().asDockStation(); DockableProperty successor = arguments.getProperty().getSuccessor(); if( successor == null || !child.drop( pending, successor )){ child.drop( pending ); } } pending = null; } }