package bluej.stride.operations;

import bluej.Config;
import bluej.stride.generic.Frame;
import bluej.stride.generic.FrameCursor;
import bluej.stride.generic.InteractionManager;
import bluej.stride.slots.EditableSlot.MenuItemOrder;
import threadchecker.OnThread;
import threadchecker.Tag;

import java.util.Arrays;
import java.util.List;


| Put the contents of canvas frames in place of these frames. | @author Amjad Altadmri | public class PullUpContentsOperation extends FrameOperation{ public PullUpContentsOperation(InteractionManager editor) { super(editor, "PULL_CONTENTS", Combine.ALL); } @Override public List getLabels() { return Arrays.asList(l(Config.getString("frame.operation.delete.outer"), MenuItemOrder.DELETE)); } @Override @OnThread(Tag.FXPlatform) public void enablePreview() { editor.getSelection().setPullUpPreview(true); } @Override @OnThread(Tag.FXPlatform) public void disablePreview() { editor.getSelection().setPullUpPreview(false); } @Override protected void execute(List<Frame> frames) { if (!frames.isEmpty()) { FrameCursor cursorBefore = frames.get(0).getCursorBefore(); frames.forEach(frame -> { frame.pullUpContents(); frame.getParentCanvas().removeBlock(frame); }); cursorBefore.requestFocus(); } } @Override public boolean onlyOnContextMenu() { return true; } }
top, use, map, class PullUpContentsOperation

.   PullUpContentsOperation
.   getLabels
.   enablePreview
.   disablePreview
.   execute
.   onlyOnContextMenu




72 neLoCode + 2 LoComm