package jetbrains.mps.lang.test.behavior; /*Generated by MPS */ import jetbrains.mps.core.aspects.behaviour.BaseBHDescriptor; import org.jetbrains.mps.openapi.language.SAbstractConcept; import jetbrains.mps.smodel.adapter.structure.MetaAdapterFactory; import jetbrains.mps.core.aspects.behaviour.api.BehaviorRegistry; import jetbrains.mps.smodel.language.ConceptRegistry; import jetbrains.mps.core.aspects.behaviour.api.SMethod; import jetbrains.mps.core.aspects.behaviour.SMethodBuilder; import jetbrains.mps.core.aspects.behaviour.SJavaCompoundTypeImpl; import jetbrains.mps.core.aspects.behaviour.SModifiersImpl; import jetbrains.mps.core.aspects.behaviour.AccessPrivileges; import jetbrains.mps.nodeEditor.NodeEditorComponent; import org.jetbrains.mps.openapi.model.SNode; import java.util.Map; import jetbrains.mps.nodeEditor.EditorComponent; import jetbrains.mps.nodeEditor.cells.EditorCell_Label; import jetbrains.mps.openapi.editor.cells.EditorCell; import java.util.List; import java.util.Arrays; import org.jetbrains.annotations.NotNull; import jetbrains.mps.baseLanguage.closures.runtime.Wrappers; import org.jetbrains.mps.openapi.module.SRepository; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SPropertyOperations; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SLinkOperations; import jetbrains.mps.internal.collections.runtime.MapSequence; import jetbrains.mps.openapi.editor.selection.SelectionManager; import jetbrains.mps.lang.smodel.generator.smodelAdapter.SNodeOperations; import jetbrains.mps.core.aspects.behaviour.api.SConstructor; import org.jetbrains.annotations.Nullable; import jetbrains.mps.core.aspects.behaviour.api.BHMethodNotFoundException; public final class AnonymousCellAnnotation__BehaviorDescriptor extends BaseBHDescriptor { private static final SAbstractConcept CONCEPT = MetaAdapterFactory.getConcept(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, "jetbrains.mps.lang.test.structure.AnonymousCellAnnotation"); private static final BehaviorRegistry REGISTRY = ConceptRegistry.getInstance().getBehaviorRegistry(); public static final SMethod<Void> setupSelection_id5rZKa_fUiYP = new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class)).name("setupSelection").modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC)).concept(CONCEPT).id("5rZKa_fUiYP").registry(REGISTRY).build(SMethodBuilder.createJavaParameter(NodeEditorComponent.class, ""), SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""), SMethodBuilder.createJavaParameter((Class<Map<SNode, SNode>>) ((Class) Object.class), "")); public static final SMethod<EditorComponent> setupSelection_id5g7DxxpaP55 = new SMethodBuilder<EditorComponent>(new SJavaCompoundTypeImpl(EditorComponent.class)).name("setupSelection").modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC)).concept(CONCEPT).id("5g7DxxpaP55").registry(REGISTRY).build(SMethodBuilder.createJavaParameter(NodeEditorComponent.class, ""), SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""), SMethodBuilder.createJavaParameter((Class<Map<SNode, SNode>>) ((Class) Object.class), "")); public static final SMethod<Integer> getCaretPosition_id5rZKa_fUlry = new SMethodBuilder<Integer>(new SJavaCompoundTypeImpl(Integer.TYPE)).name("getCaretPosition").modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC)).concept(CONCEPT).id("5rZKa_fUlry").registry(REGISTRY).build(SMethodBuilder.createJavaParameter(EditorCell_Label.class, "")); /*package*/ static final SMethod<Void> setupCaretAndSelection_id7TYU6fNl1yz = new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class)).name("setupCaretAndSelection").modifiers(SModifiersImpl.create(0, AccessPrivileges.PRIVATE)).concept(CONCEPT).id("7TYU6fNl1yz").registry(REGISTRY).build(SMethodBuilder.createJavaParameter(EditorCell.class, "")); /*package*/ static final SMethod<EditorComponent> setupInspector_id4VoD2D0CSEA = new SMethodBuilder<EditorComponent>(new SJavaCompoundTypeImpl(EditorComponent.class)).name("setupInspector").modifiers(SModifiersImpl.create(0, AccessPrivileges.PRIVATE)).concept(CONCEPT).id("4VoD2D0CSEA").registry(REGISTRY).build(SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""), SMethodBuilder.createJavaParameter(NodeEditorComponent.class, "")); private static final List<SMethod<?>> BH_METHODS = Arrays.<SMethod<?>>asList(setupSelection_id5rZKa_fUiYP, setupSelection_id5g7DxxpaP55, getCaretPosition_id5rZKa_fUlry, setupCaretAndSelection_id7TYU6fNl1yz, setupInspector_id4VoD2D0CSEA); private static void ___init___(@NotNull SNode __thisNode__) { } @Deprecated /*package*/ static void setupSelection_id5rZKa_fUiYP(@NotNull SNode __thisNode__, NodeEditorComponent nodeEditorComponent, SNode node, Map<SNode, SNode> map) { AnonymousCellAnnotation__BehaviorDescriptor.setupSelection_id5rZKa_fUiYP.invoke(__thisNode__, nodeEditorComponent, node, map); } /*package*/ static EditorComponent setupSelection_id5g7DxxpaP55(@NotNull final SNode __thisNode__, final NodeEditorComponent nodeEditorComponent, final SNode node, final Map<SNode, SNode> map) { final Wrappers._T<EditorComponent> editorComponent = new Wrappers._T<EditorComponent>(nodeEditorComponent); final Wrappers._T<EditorCell> cellWithId = new Wrappers._T<EditorCell>(); SRepository contextRepository = editorComponent.value.getEditorContext().getRepository(); contextRepository.getModelAccess().runReadAction(new Runnable() { public void run() { if (SPropertyOperations.getBoolean(__thisNode__, MetaAdapterFactory.getProperty(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x1b73330fb1241e01L, "isInInspector"))) { editorComponent.value = AnonymousCellAnnotation__BehaviorDescriptor.setupInspector_id4VoD2D0CSEA.invoke(__thisNode__, node, nodeEditorComponent); } cellWithId.value = editorComponent.value.findCellWithId(node, SPropertyOperations.getString(__thisNode__, MetaAdapterFactory.getProperty(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x11e31babe13L, "cellId"))); if (cellWithId.value == null) { throw new RuntimeException("No cell " + __thisNode__); } AnonymousCellAnnotation__BehaviorDescriptor.setupCaretAndSelection_id7TYU6fNl1yz.invoke(__thisNode__, cellWithId.value); } }); editorComponent.value.changeSelection(cellWithId.value); contextRepository.getModelAccess().runReadAction(new Runnable() { public void run() { if (SLinkOperations.getTarget(__thisNode__, MetaAdapterFactory.getReferenceLink(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x1ad0cd452e1f9accL, "nodeRangeSelectionStart")) != null) { SNode selectionStart = MapSequence.fromMap(map).get(SLinkOperations.getTarget(__thisNode__, MetaAdapterFactory.getReferenceLink(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x1ad0cd452e1f9accL, "nodeRangeSelectionStart"))); SNode selectionEnd = MapSequence.fromMap(map).get(SLinkOperations.getTarget(__thisNode__, MetaAdapterFactory.getReferenceLink(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x1ad0cd452e1f9acdL, "nodeRangeSelectionEnd"))); SelectionManager selectionManager = editorComponent.value.getSelectionManager(); selectionManager.pushSelection(selectionManager.createRangeSelection(selectionStart, selectionEnd)); } } }); return editorComponent.value; } /*package*/ static int getCaretPosition_id5rZKa_fUlry(@NotNull SNode __thisNode__, EditorCell_Label label) { if (SPropertyOperations.getBoolean(__thisNode__, MetaAdapterFactory.getProperty(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x11e3fde6f41L, "isLastPosition"))) { return label.getText().length(); } else { return SPropertyOperations.getInteger(__thisNode__, MetaAdapterFactory.getProperty(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x11e31babe14L, "caretPosition")); } } /*package*/ static void setupCaretAndSelection_id7TYU6fNl1yz(@NotNull SNode __thisNode__, EditorCell cellWithId) { if (cellWithId instanceof EditorCell_Label) { EditorCell_Label label = (EditorCell_Label) cellWithId; label.setCaretPosition(((int) AnonymousCellAnnotation__BehaviorDescriptor.getCaretPosition_id5rZKa_fUlry.invoke(__thisNode__, label))); label.setSelectionStart(SPropertyOperations.getInteger(__thisNode__, MetaAdapterFactory.getProperty(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x56ffc0a94fe5fc33L, "selectionStart"))); label.setSelectionEnd(SPropertyOperations.getInteger(__thisNode__, MetaAdapterFactory.getProperty(0x8585453e6bfb4d80L, 0x98deb16074f1d86cL, 0x11e31babe12L, 0x56ffc0a94fe5fc35L, "selectionEnd"))); } } /*package*/ static EditorComponent setupInspector_id4VoD2D0CSEA(@NotNull SNode __thisNode__, SNode node, NodeEditorComponent nodeEditorComponent) { SNode nodeToSelect = node; while (nodeToSelect != null && nodeEditorComponent.findNodeCell(nodeToSelect) == null) { nodeToSelect = SNodeOperations.getParent(nodeToSelect); } nodeEditorComponent.selectNode(nodeToSelect); return nodeEditorComponent.getInspector(); } /*package*/ AnonymousCellAnnotation__BehaviorDescriptor() { super(REGISTRY); } @Override protected void initNode(@NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) { ___init___(node); } @Override protected <T> T invokeSpecial0(@NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) { int methodIndex = BH_METHODS.indexOf(method); if (methodIndex < 0) { throw new BHMethodNotFoundException(this, method); } switch (methodIndex) { case 0: setupSelection_id5rZKa_fUiYP(node, (NodeEditorComponent) parameters[0], (SNode) parameters[1], (Map<SNode, SNode>) parameters[2]); return null; case 1: return (T) ((EditorComponent) setupSelection_id5g7DxxpaP55(node, (NodeEditorComponent) parameters[0], (SNode) parameters[1], (Map<SNode, SNode>) parameters[2])); case 2: return (T) ((Integer) getCaretPosition_id5rZKa_fUlry(node, (EditorCell_Label) parameters[0])); case 3: setupCaretAndSelection_id7TYU6fNl1yz(node, (EditorCell) parameters[0]); return null; case 4: return (T) ((EditorComponent) setupInspector_id4VoD2D0CSEA(node, (SNode) parameters[0], (NodeEditorComponent) parameters[1])); default: throw new BHMethodNotFoundException(this, method); } } @Override protected <T> T invokeSpecial0(@NotNull SAbstractConcept concept, @NotNull SMethod<T> method, @Nullable Object[] parameters) { int methodIndex = BH_METHODS.indexOf(method); if (methodIndex < 0) { throw new BHMethodNotFoundException(this, method); } switch (methodIndex) { default: throw new BHMethodNotFoundException(this, method); } } @NotNull @Override public List<SMethod<?>> getDeclaredMethods() { return BH_METHODS; } @NotNull @Override public SAbstractConcept getConcept() { return CONCEPT; } }