package jetbrains.mps.nodeEditor.cells.jetpad; /*Generated by MPS */ import jetbrains.jetpad.projectional.view.ViewPropertySpec; import org.jetbrains.mps.openapi.model.SNode; import java.awt.Color; import jetbrains.jetpad.projectional.view.View; import org.jetbrains.annotations.NotNull; import java.util.List; import jetbrains.mps.internal.collections.runtime.ListSequence; import java.util.LinkedList; import java.util.Queue; import jetbrains.mps.internal.collections.runtime.QueueSequence; /** * User: shatalin * Date: 7/23/13 */ public class JetpadUtils { public static final ViewPropertySpec<SNode> SOURCE = new ViewPropertySpec<SNode>("inputPort"); public static final ViewPropertySpec<Object> ID = new ViewPropertySpec("id"); public static final ViewPropertySpec<Boolean> CONNECTABLE = new ViewPropertySpec<Boolean>("connectable"); public static final ViewPropertySpec<Boolean> CONNECTION_SOURCE = new ViewPropertySpec<Boolean>("connectionSource"); public static Color toAwtColor(jetbrains.jetpad.values.Color color) { return new Color(color.getRed(), color.getGreen(), color.getBlue(), color.getAlpha()); } public static Iterable<View> getAllChildren(@NotNull View view) { List<View> result = ListSequence.fromList(new LinkedList<View>()); Queue<View> viewQueue = QueueSequence.fromQueue(new LinkedList<View>()); QueueSequence.fromQueue(viewQueue).addLastElement(view); while (QueueSequence.fromQueue(viewQueue).isNotEmpty()) { View currentView = QueueSequence.fromQueue(viewQueue).removeFirstElement(); if (currentView == null) { continue; } ListSequence.fromList(result).addElement(currentView); QueueSequence.fromQueue(viewQueue).addSequence(ListSequence.fromList(currentView.children())); } return result; } }