Package org.eclipse.xtext.ui.editor.model

Examples of org.eclipse.xtext.ui.editor.model.IXtextDocument.readOnly()


  private static void validate(XtextEditor editor) {
    final IXtextDocument document = editor.getDocument();
    if (!(document instanceof XtextDocument)) {
      return;
    }
    document.readOnly(new IUnitOfWork.Void<XtextResource>() {
      @Override public void process(XtextResource resource) {
        EObject root = rootOf(resource);
        if (root == null) {
          return;
        }
View Full Code Here


    IXtextDocument document = (IXtextDocument)textViewer.getDocument();
    IHyperlink[] importHyperlinks = importHyperlinks(document, region);
    if (importHyperlinks != NO_HYPERLINKS) {
      return importHyperlinks;
    }
    return document.readOnly(new IUnitOfWork<IHyperlink[], XtextResource>() {
      @Override public IHyperlink[] exec(XtextResource resource) {
        return getHelper().createHyperlinksByOffset(resource, region.getOffset(), canShowMultipleHyperlinks);
      }
    });
  }
View Full Code Here

  private void insertContent(final XtextEditor editor, final StyledTextAccess styledTextAccess) {
    final AtomicBoolean shouldInsertSemicolon = new AtomicBoolean(true);
    final IXtextDocument document = editor.getDocument();
    final List<Pair<EObject, Long>> commentsToUpdate = Lists.newLinkedList();

    document.readOnly(NULL_UNIT_OF_WORK); // wait for reconciler to finish its work.
    try {
      /*
       * Textual and semantic updates cannot be done in the same IUnitOfWork (throws an
       * IllegalStateException), so index updates (semantic) are done first and tracked in the
       * commentsToUpdate list, then a 2nd IUnitOfWork processes the comment updates (textual).
View Full Code Here

  }

  private <T extends EObject> T element(final Issue issue, final Class<T> type) {
    IModificationContext modificationContext = getModificationContextFactory().createModificationContext(issue);
    IXtextDocument xtextDocument = modificationContext.getXtextDocument();
    return xtextDocument.readOnly(new IUnitOfWork<T, XtextResource>() {
      @Override public T exec(XtextResource state) throws Exception {
        EObject e = state.getEObject(issue.getUriToProblem().fragment());
        return (type.isInstance(e)) ? type.cast(e) : null;
      }
    });
View Full Code Here

            _xifexpression = _xblockexpression;
          }
          return Boolean.valueOf(_xifexpression);
        }
      };
      _xblockexpression = _document.<Boolean>readOnly(_function_1);
    }
    return _xblockexpression;
  }
 
  public boolean hasError(final XtextEditor tortoiseEditor) {
View Full Code Here

              _xblockexpression = new LaunchConfigurationInfo(project, _identifier, _findTask);
            }
            return _xblockexpression;
          }
        };
        final LaunchConfigurationInfo info = _document.<LaunchConfigurationInfo>readOnly(_function);
        this.launch(mode, info);
        return;
      }
    }
    MessageDialog.openError(null, "Wrong editor kind.", "");
View Full Code Here

    if (part instanceof XtextEditor) {
      XtextEditor xtextEditor = (XtextEditor) part;
      IXtextDocument xtextDocument = xtextEditor.getDocument();
      if (xtextDocument != lastActiveDocument) {
        selectionLinker.setXtextEditor(xtextEditor);
        final IFigure contents = xtextDocument.readOnly(new IUnitOfWork<IFigure, XtextResource>() {
          @Override
          public IFigure exec(final XtextResource resource) throws Exception {
            return createFigure(resource);
          }
        });
View Full Code Here

  public <R> R readOnly(final URI targetURI, final IUnitOfWork<R, ResourceSet> work) {
    R result = null;
    IXtextDocument document = getOpenDocument(targetURI.trimFragment());
    if(document != null) {
      result = document.readOnly(new IUnitOfWork<R, XtextResource>() {
        public R exec(XtextResource state) throws Exception {
          ResourceSet localContext = state.getResourceSet();
          if(localContext != null)
            return work.exec(localContext);
          return null;
View Full Code Here

    XtextEditor xtextEditor = (XtextEditor) editor;
    IXtextDocument xtextDocument = XtextDocumentUtil.get(xtextEditor);
    if(xtextDocument == null) {
      return new Status(IStatus.ERROR, pluginid, "No document found in current editor");
    }
    IStatus result = xtextDocument.readOnly(new IUnitOfWork<IStatus, XtextResource>() {
      @Override
      public IStatus exec(XtextResource state) throws Exception {
        try {
          resourceScope.enter(state);
          return doDebug(state);
View Full Code Here

  @Fix(IPPDiagnostics.ISSUE_UNWANTED_ML_COMMENT)
  public void changeMLCommentToSLComment(final Issue issue, final IssueResolutionAcceptor acceptor) {
    final IModificationContext modificationContext = getModificationContextFactory().createModificationContext(
      issue);
    final IXtextDocument xtextDocument = modificationContext.getXtextDocument();
    xtextDocument.readOnly(new IUnitOfWork.Void<XtextResource>() {
      @Override
      public void process(XtextResource state) throws Exception {
        resourceScope.enter(state);
        try {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. 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.