package bluej.stride.framedjava.slots;
import java.util.Optional;
import bluej.stride.framedjava.frames.CodeFrame;
import bluej.stride.generic.Frame;
import bluej.stride.generic.Frame.View;
import bluej.stride.generic.FrameContentRow;
import bluej.stride.generic.InteractionManager;
import bluej.stride.slots.VariableNameDefTextSlot;
import bluej.utility.javafx.SharedTransition;
public class EachExpressionSlot
extends FilledExpressionSlot{
private final TypeSlot loopVarTypeSlot;
private final VariableNameDefTextSlot loopVarNameSlot;
public EachExpressionSlot(InteractionManager editor, Frame parentFrame,
CodeFrame<?> parentCodeFrame, FrameContentRow row, TypeSlot loopVarTypeSlot, VariableNameDefTextSlot loopVarNameSlot, String stylePrefix)
{
super(editor, parentFrame, parentCodeFrame, row, stylePrefix, FilledExpressionSlot.EACH_HINTS);
this.loopVarTypeSlot = loopVarTypeSlot;
this.loopVarNameSlot = loopVarNameSlot;
loopVarTypeSlot.onTextPropertyChange(t -> modified());
}
@Override
public String getCurlyLiteralPrefix()
{
return "new " + loopVarTypeSlot.getText() + " []";
}
@Override
public void setView(View oldView, View newView, SharedTransition animate)
{
getTopLevel().setView(oldView, newView, animate, Optional.of(loopVarNameSlot.getText()));
}
}
top,
use,
map,
class EachExpressionSlot
. EachExpressionSlot
. getCurlyLiteralPrefix
. setView
48 neLoCode
+ 0 LoComm