当前位置: 首页>>代码示例>>Java>>正文


Java TextEdit.getParent方法代码示例

本文整理汇总了Java中org.eclipse.text.edits.TextEdit.getParent方法的典型用法代码示例。如果您正苦于以下问题:Java TextEdit.getParent方法的具体用法?Java TextEdit.getParent怎么用?Java TextEdit.getParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.eclipse.text.edits.TextEdit的用法示例。


在下文中一共展示了TextEdit.getParent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: moveTextEditGroupsIntoChange

import org.eclipse.text.edits.TextEdit; //导入方法依赖的package包/类
/**
 * Moves the given text edit groups (and its text edits) into the given
 * change.
 */
public static void moveTextEditGroupsIntoChange(
    TextEditBasedChangeGroup[] groups, TextChange textChange) {
  for (TextEditBasedChangeGroup changeGroup : groups) {
    TextEditGroup group = changeGroup.getTextEditGroup();
    for (TextEdit edit : group.getTextEdits()) {
      if (edit.getParent() != null) {
        edit.getParent().removeChild(edit);
      }

      textChange.addEdit(edit);
    }

    // We must create a new change group since it doesn't have API to change
    // the parent change
    TextEditBasedChangeGroup newChangeGroup = new TextEditBasedChangeGroup(
        textChange, group);
    newChangeGroup.setEnabled(changeGroup.isEnabled());
    textChange.addChangeGroup(newChangeGroup);
  }
}
 
开发者ID:gwt-plugins,项目名称:gwt-eclipse-plugin,代码行数:25,代码来源:TextEditUtilities.java

示例2: replaceTextEdit

import org.eclipse.text.edits.TextEdit; //导入方法依赖的package包/类
/**
 * Replaces an existing TextEdit (which is reachable from the given list of
 * TextEditGroups) with another TextEdit.
 * <p>
 * If the TextEdit is a root of a TextEdit tree, the TextEditGroup's reference
 * will be updated. If it is not a root, its parent TextEdit's reference will
 * be updated.
 * 
 * @return whether a replacement occurred
 */
public static boolean replaceTextEdit(List<TextEditGroup> textEditGroups,
    TextEdit oldEdit, TextEdit newEdit) {

  TextEdit parentEdit = oldEdit.getParent();
  if (parentEdit != null) {
    // This is not a root edit, so just replace the edit in the parent
    return replaceTextEdit(parentEdit, oldEdit, newEdit);
  }

  // This is a root edit, find the corresponding group and replace it there
  for (TextEditGroup group : textEditGroups) {
    TextEdit[] edits = group.getTextEdits();
    if (!replaceTextEdit(oldEdit, newEdit, edits)) {
      return false;
    }

    // Replace text edits, in order
    group.clearTextEdits();
    // We already swapped the edit in the edits array, add the array back
    for (TextEdit edit : edits) {
      group.addTextEdit(edit);
    }
  }

  return true;
}
 
开发者ID:gwt-plugins,项目名称:gwt-eclipse-plugin,代码行数:37,代码来源:TextEditUtilities.java

示例3: removeTextEdit

import org.eclipse.text.edits.TextEdit; //导入方法依赖的package包/类
/**
 * Removes a text edit from a group, optionally updating its owner change. If
 * the edit is the root edit of the owner change, the change will be removed
 * from its parent.
 * 
 * @param edit the text edit
 * @param group the text edit group to update, optional
 * @param change the change to update, optional
 * @return true if the text edit was removed
 */
public static boolean removeTextEdit(TextEdit edit, TextEditGroup group,
    TextEditBasedChange change) {
  boolean removed = false;
  boolean removeChange = false;

  // First remove this edit from its parent, if it has one
  TextEdit parentEdit = edit.getParent();
  if (parentEdit != null) {
    removed |= parentEdit.removeChild(edit);
    if (!parentEdit.hasChildren()) {
      // This parent edit is now empty, so remove it from the change and group
      edit = parentEdit;
    }
  }

  // Remove the edit from the group
  if (group != null) {
    removed |= group.removeTextEdit(edit);
    if (group.getTextEdits().length == 0) {
      // The group has no more edits. We'd like to remove it from the change,
      // but there is no API. Instead, see if this group is the only group in
      // the change and trigger removing the change altogether.
      if (change != null) {
        TextEditBasedChangeGroup[] changeGroups = change.getChangeGroups();
        if (changeGroups.length == 1
            && changeGroups[0].getTextEditGroup().equals(group)) {
          // This is the only group in the change, remove the change
          removeChange = true;
        }
      }
    }
  }

  // Remove the change if this was its root edit
  if (!removeChange && change != null && change instanceof TextFileChange) {
    TextFileChange textFileChange = (TextFileChange) change;
    if (edit.equals(textFileChange.getEdit())) {
      removeChange = true;
    }
  }

  // Execute change removal
  if (removeChange && change != null) {
    Change parentChange = change.getParent();
    if (parentChange instanceof CompositeChange) {
      removed |= ((CompositeChange) parentChange).remove(change);
    }
  }

  return removed;
}
 
开发者ID:gwt-plugins,项目名称:gwt-eclipse-plugin,代码行数:62,代码来源:TextEditUtilities.java


注:本文中的org.eclipse.text.edits.TextEdit.getParent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。