Package org.eclipse.jface.text.link

Examples of org.eclipse.jface.text.link.LinkedModeModel


        String templateString= templateBuffer.getString();
        document.replace(start, end - start, templateString);
      }

      // translate positions
      LinkedModeModel model= new LinkedModeModel();
      TemplateVariable[] variables= templateBuffer.getVariables();
      boolean hasPositions= false;
      for (int i= 0; i != variables.length; i++) {
        TemplateVariable variable= variables[i];

        if (variable.isUnambiguous())
          continue;

        LinkedPositionGroup group= new LinkedPositionGroup();

        int[] offsets= variable.getOffsets();
        int length= variable.getLength();

        LinkedPosition first;
        {
          String[] values= variable.getValues();
          ICompletionProposal[] proposals= new ICompletionProposal[values.length];
          for (int j= 0; j < values.length; j++) {
            ensurePositionCategoryInstalled(document, model);
            Position pos= new Position(offsets[0] + start, length);
            document.addPosition(getCategory(), pos);
            proposals[j]= new PositionBasedCompletionProposal(values[j], pos, length);
          }

          if (proposals.length > 1)
            first= new ProposalPosition(document, offsets[0] + start, length, proposals);
          else
            first= new LinkedPosition(document, offsets[0] + start, length);
        }

        for (int j= 0; j != offsets.length; j++)
          if (j == 0)
            group.addPosition(first);
          else
            group.addPosition(new LinkedPosition(document, offsets[j] + start, length));

        model.addGroup(group);
        hasPositions= true;
      }

      if (hasPositions) {
        model.forceInstall();
        LinkedModeUI ui= new LinkedModeUI(model, viewer);
        ui.setExitPosition(viewer, getCaretOffset(templateBuffer) + start, 0, Integer.MAX_VALUE);
        ui.enter();

        fSelectedRegion= ui.getSelectedRegion();
View Full Code Here


    addPositionsToGroup(offset, positions, document, group);
    if (group.isEmpty()) {
      return;
    }
    try {
      LinkedModeModel model = new LinkedModeModel();
      model.addGroup(group);
      model.forceInstall();
      model.addLinkingListener(new EditorSynchronizer(editor));
      Point curRange = viewer.getSelectedRange();
      LinkedModeUI ui = new EditorLinkedModeUI(model, viewer);
      ui.setExitPosition(viewer, offset, 0, Integer.MAX_VALUE);
      ui.enter();
      viewer.setSelectedRange(curRange.x,curRange.y);
View Full Code Here

    addPositionsToGroup(offset, positions, document, group);
    if (group.isEmpty()) {
      return;
    }
    try {
      LinkedModeModel model = new LinkedModeModel();
      model.addGroup(group);
      model.forceInstall();
      model.addLinkingListener(new EditorSynchronizer(editor));
      LinkedModeUI ui = new EditorLinkedModeUI(model, viewer);
      ui.setExitPosition(viewer, offset, 0, Integer.MAX_VALUE);
      ui.setExitPolicy(new exitOnSpacePolicy());
      ui.enter();
      viewer.setSelectedRange(sel.getOffset()+1, 0);
View Full Code Here

  @Override
  public void applyQuickFix(final IDocument document) {
    final LinkedPosition position = new LinkedPosition(document, getOffset(), getLength());
    LinkedPositionGroup group = new LinkedPositionGroup();

    LinkedModeModel model = new LinkedModeModel();
    try {
      group.addPosition(position);
      model.addGroup(group);
      model.forceInstall();

      ITextViewer viewer = getViewer(document);
      if (viewer == null) {
        return;
      }

      Point originalSelection = viewer.getSelectedRange();
      LinkedModeUI ui = new LinkedModeUI(model, viewer);
      ui.setExitPosition(viewer, getOffset(), 0, Integer.MAX_VALUE);

      model.addLinkingListener(new ILinkedModeListener() {

        public void left(LinkedModeModel model, int flags) {
          if ((flags & ILinkedModeListener.UPDATE_CARET) > 0) {
            try {
              String newName = position.getContent();
View Full Code Here

      if (model != null) {
        model.endRecording(this);
      }

      LinkedModeModel linkModel = new LinkedModeModel();
      boolean hasPositions = false;
      for (Element element : constructorArgs) {
        formatter.formatNode(element);
        if (element instanceof ElementImpl) {
          ElementImpl elementImpl = (ElementImpl) element;
          int nodeOffset = elementImpl.getStartEndOffset() - 1;

          LinkedPositionGroup group = new LinkedPositionGroup();

          try {
            group.addPosition(new LinkedPosition(document, nodeOffset, 0));
            linkModel.addGroup(group);
            hasPositions = true;
          }
          catch (BadLocationException e) {
            StatusHandler.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                "Unable to create linked model for constructor arg quick fix"));
          }
        }
      }

      ITextViewer viewer = null;
      IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
      if (editor != null && editor instanceof IConfigEditor) {
        viewer = ((IConfigEditor) editor).getTextViewer();
      }
      if (hasPositions && viewer != null) {
        try {
          linkModel.forceInstall();
          LinkedModeUI ui = new LinkedModeUI(linkModel, viewer);
          ui.enter();
        }
        catch (BadLocationException e) {
          StatusHandler.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
View Full Code Here

  @Override
  public void applyQuickFix(final IDocument document) {
    final LinkedPosition position = new LinkedPosition(document, getOffset(), getLength());
    LinkedPositionGroup group = new LinkedPositionGroup();

    LinkedModeModel model = new LinkedModeModel();
    try {
      group.addPosition(position);
      model.addGroup(group);
      model.forceInstall();

      ITextViewer viewer = getViewer(document);
      if (viewer == null) {
        return;
      }

      Point originalSelection = viewer.getSelectedRange();
      LinkedModeUI ui = new LinkedModeUI(model, viewer);
      ui.setExitPosition(viewer, getOffset(), 0, Integer.MAX_VALUE);

      model.addLinkingListener(new ILinkedModeListener() {

        public void left(LinkedModeModel model, int flags) {
          if ((flags & ILinkedModeListener.UPDATE_CARET) > 0) {
            try {
              String newName = position.getContent();
View Full Code Here

        cu.createImport("java.util.List", null, null);
      }

      int importOffset = getLastImportEndPosition() - oldImportPos;

      LinkedModeModel model = new LinkedModeModel();
      StringBuilder methodStr = new StringBuilder();

      int startPos, length;
      List<LinkedPositionGroup> groups = new ArrayList<LinkedPositionGroup>();
      LinkedPositionGroup group;

      group = new LinkedPositionGroup();
      startPos = startOffset + importOffset + methodStr.length();
      methodStr.append("List<");
      methodStr.append(domainClass.getSimpleName());
      methodStr.append(">");
      length = methodStr.length();
      group.addPosition(new LinkedPosition(document, startPos, length));
      groups.add(group);

      methodStr.append(" ");

      group = new LinkedPositionGroup();
      startPos = startOffset + importOffset + methodStr.length();
      String methodName = getMethodName(propertyName);
      methodStr.append(methodName);
      length = methodName.length();
      group.addPosition(new LinkedPosition(document, startPos, length));
      groups.add(group);

      methodStr.append("(");

      group = new LinkedPositionGroup();
      startPos = startOffset + importOffset + methodStr.length();
      String paramTypeName = propertyClass.getSimpleName();
      length = paramTypeName.length();
      methodStr.append(paramTypeName);
      group.addPosition(new LinkedPosition(document, startPos, length));
      groups.add(group);

      methodStr.append(" ");

      group = new LinkedPositionGroup();
      startPos = startOffset + importOffset + methodStr.length();
      String paramName = propertyName.toLowerCase();
      length = paramName.length();
      methodStr.append(paramName);
      group.addPosition(new LinkedPosition(document, startPos, length));
      groups.add(group);

      methodStr.append(");");

      document.replace(startOffset + importOffset, endOffset - startOffset, methodStr.toString());

      for (LinkedPositionGroup currGroup : groups) {
        model.addGroup(currGroup);
      }
      model.forceInstall();
      LinkedModeUI ui = new LinkedModeUI(model, viewer);
      ui.setExitPosition(viewer, startOffset + importOffset + methodStr.length(), 0, Integer.MAX_VALUE);
      ui.enter();

      selectedRegion = ui.getSelectedRegion();
View Full Code Here

      if (model != null) {
        model.endRecording(this);
      }

      LinkedModeModel linkModel = new LinkedModeModel();
      boolean hasPositions = false;
      for (Element element : properties) {
        formatter.formatNode(element);
        if (element instanceof ElementImpl) {
          ElementImpl elementImpl = (ElementImpl) element;
          int nodeOffset = elementImpl.getStartEndOffset() - 1;

          LinkedPositionGroup group = new LinkedPositionGroup();

          try {
            group.addPosition(new LinkedPosition(document, nodeOffset, 0));
            linkModel.addGroup(group);
            hasPositions = true;
          }
          catch (BadLocationException e) {
            StatusHandler.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
                "Unable to create linked model for property quick fix"));
          }
        }
      }

      ITextViewer viewer = null;
      IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
      if (editor != null && editor instanceof IConfigEditor) {
        viewer = ((IConfigEditor) editor).getTextViewer();
      }
      if (hasPositions && viewer != null) {
        try {
          linkModel.forceInstall();
          LinkedModeUI ui = new LinkedModeUI(linkModel, viewer);
          ui.enter();
        }
        catch (BadLocationException e) {
          StatusHandler.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
View Full Code Here

      if (model != null) {
        model.endRecording(this);
      }

      LinkedModeModel linkModel = new LinkedModeModel();
      LinkedPositionGroup group = new LinkedPositionGroup();
      attrNode = ((AttrImpl) beanNode.getAttributes().getNamedItem(BeansSchemaConstants.ATTR_FACTORY_METHOD));

      try {
        group.addPosition(new LinkedPosition(document, attrNode.getValueRegionStartOffset() + 1, 0));
        linkModel.addGroup(group);

      }
      catch (BadLocationException e) {
        StatusHandler.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
            "Unable to create linked model for factory method quick fix"));
      }

      ITextViewer viewer = null;
      IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
      if (editor != null && editor instanceof IConfigEditor) {
        viewer = ((IConfigEditor) editor).getTextViewer();
      }

      if (viewer != null) {
        try {
          linkModel.forceInstall();
          LinkedModeUI ui = new LinkedModeUI(linkModel, viewer);
          ui.enter();
        }
        catch (BadLocationException e) {
          StatusHandler.log(new Status(IStatus.ERROR, Activator.PLUGIN_ID,
View Full Code Here

        String templateString= templateBuffer.getString();
        document.replace(start, end - start, templateString);
      }

      // translate positions
      LinkedModeModel model= new LinkedModeModel();
      TemplateVariable[] variables= templateBuffer.getVariables();
      boolean hasPositions= false;
      for (int i= 0; i != variables.length; i++) {
        TemplateVariable variable= variables[i];

        if (variable.isUnambiguous())
          continue;

        LinkedPositionGroup group= new LinkedPositionGroup();

        int[] offsets= variable.getOffsets();
        int length= variable.getLength();

        LinkedPosition first;
        {
          String[] values= variable.getValues();
          ICompletionProposal[] proposals= new ICompletionProposal[values.length];
          for (int j= 0; j < values.length; j++) {
            ensurePositionCategoryInstalled(document, model);
            Position pos= new Position(offsets[0] + start, length);
            document.addPosition(getCategory(), pos);
            proposals[j]= new PositionBasedCompletionProposal(values[j], pos, length);
          }

          if (proposals.length > 1)
            first= new ProposalPosition(document, offsets[0] + start, length, proposals);
          else
            first= new LinkedPosition(document, offsets[0] + start, length);
        }

        for (int j= 0; j != offsets.length; j++)
          if (j == 0)
            group.addPosition(first);
          else
            group.addPosition(new LinkedPosition(document, offsets[j] + start, length));

        model.addGroup(group);
        hasPositions= true;
      }

      if (hasPositions) {
        model.forceInstall();
//        LinkedModeUI ui= new LinkedModeUI(model, viewer);
//        ui.setExitPosition(viewer, getCaretOffset(templateBuffer) + start, 0, Integer.MAX_VALUE);
//        ui.enter();

//        fSelectedRegion= ui.getSelectedRegion();
View Full Code Here

TOP

Related Classes of org.eclipse.jface.text.link.LinkedModeModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.