Package com.intellij.util.xml

Examples of com.intellij.util.xml.DomElement


  }

  public static DomElement findDomElement(final BasicDomElementComponent compositCommitable) {
    final Component component = KeyboardFocusManager.getCurrentKeyboardFocusManager().getPermanentFocusOwner();
    if (component != null) {
      final DomElement domElement = findDomElement(compositCommitable, component);
      if (domElement != null) {
        return domElement;
      }
    }
    return compositCommitable.getDomElement();
View Full Code Here


        final DomUIControl uiControl = (DomUIControl)committable;
        if (uiControl.getComponent().isAncestorOf(component)) {
          return uiControl.getDomElement();
        }
      } else if (committable instanceof CompositeCommittable) {
        final DomElement element = findDomElement((CompositeCommittable)committable, component);
        if (element != null) return element;
      }
    }
    return null;
  }
View Full Code Here

    return list.isEmpty() ? null : list.get(0);
  }

  public void setValue(final T value) throws IllegalAccessException, InvocationTargetException {
    final List<? extends DomElement> list = myChildDescription.getValues(myDomElement);
    final DomElement domElement;
    if (list.isEmpty()) {
      domElement = myChildDescription.addValue(myDomElement);
    } else {
      domElement = list.get(0);
    }
View Full Code Here

  }

  @Nullable
  protected Navigatable getNavigatable() {

    final DomElement domElement = CommonModelManager.getInstance().getDomElement(getElement());
    if (domElement != null && domElement.getXmlTag() != null) {
      final XmlFile file = domElement.getRoot().getFile();
      final VirtualFile virtualFile = file.getVirtualFile();
      if (virtualFile != null && virtualFile.isValid()) {
        return new OpenFileDescriptor(file.getManager().getProject(), virtualFile, domElement.getXmlTag().getTextRange().getStartOffset());
      }
    }
    final JamElement annoElement = CommonModelManager.getInstance().getJamElement(getElement());
    if (annoElement != null && annoElement.getIdentifyingAnnotation() != null) {
      final PsiFile file = annoElement.getIdentifyingAnnotation().getContainingFile();
View Full Code Here

        return customComponent;
      }

      public void reset() {
        for (final Map.Entry<EditedElementDescription<? extends DomElement>, DomElement> entry : myDomElements.entrySet()) {
          final DomElement newValue = entry.getKey().find();
          final DomElement oldValue = entry.getValue();
          if (newValue != null && !newValue.equals(oldValue) || newValue == null && !oldValue.getManager().isMockElement(oldValue)) {
            ((StableElement)oldValue).revalidate();
          }
        }
        super.reset();
      }

      public void commit() {
        super.commit();
        final List<EditedElementDescription> descriptions = new ArrayList<EditedElementDescription>();
        final Set<PsiFile> changedFiles = new HashSet<PsiFile>();
        for (final Map.Entry<EditedElementDescription<? extends DomElement>, DomElement> entry : myDomElements.entrySet()) {
          final EditedElementDescription description = entry.getKey();
            final DomElement editedElement = entry.getValue();
            if (description.find() == null && editedElement.getXmlTag() != null) {
              descriptions.add(description);
              final XmlFile xmlFile = description.getEditedFile();
              if (xmlFile != null) {
                changedFiles.add(xmlFile);
              }
            }
        }
        new WriteCommandAction(project, changedFiles.toArray(new PsiFile[changedFiles.size()])) {
          protected void run(Result result) throws Throwable {
            for (EditedElementDescription description : descriptions) {
              final DomElement editedElement = myDomElements.get(description);
              DomElement element = description.addElement();
              element.copyFrom(editedElement);
              description.initialize(element);
              removeWatchedElement(editedElement);
              ((StableElement)editedElement).invalidate();
            }
          }
View Full Code Here

      return null;
    }
    if (getManager().isMockElement(this)) {
      return getRoot().getUserData(DomManager.MOCK_ELEMENT_MODULE);
    }
    final DomElement root = getRoot().getRootElement();
    if (this == root) {
      final PsiElement element = getIdentifyingPsiElement();
      return element == null ? null : ModuleUtil.findModuleForPsiElement(element);
    }
    else {
      return root.getModule();
    }
  }
View Full Code Here


  public boolean canNavigate(DomElement element) {
    final Class<DomElement> aClass = (Class<DomElement>)ReflectionUtil.getRawType(myChildDescription.getType());

    final DomElement domElement = element.getParentOfType(aClass, false);

    return domElement != null && myCollectionElements.contains(domElement);
  }
View Full Code Here

    return domElement != null && myCollectionElements.contains(domElement);
  }

  public void navigate(DomElement element) {
    final Class<DomElement> aClass = (Class<DomElement>)ReflectionUtil.getRawType(myChildDescription.getType());
    final DomElement domElement = element.getParentOfType(aClass, false);

    int index = myCollectionElements.indexOf(domElement);
    if (index < 0) index = 0;

    myCollectionPanel.getTable().setRowSelectionInterval(index, index);
View Full Code Here

    listener.afterCommit(this);
    validate();
  }

  private void validate() {
    DomElement domElement = getDomElement();
    final List<DomElementProblemDescriptor> list =
      DomElementAnnotationsManager.getInstance(getProject()).getCachedProblemHolder(domElement).getProblems(domElement);
    final List<String> messages = new ArrayList<String>();
    for (final DomElementProblemDescriptor descriptor : list) {
      if (descriptor instanceof DomCollectionProblemDescriptor
View Full Code Here

    }
  }

  @Nullable
  protected T performElementAddition() {
    final DomElement parent = getParentDomElement();
    final DomManager domManager = parent.getManager();
    final TypeChooser[] oldChoosers = new TypeChooser[]{null};
    final Type[] aClass = new Type[]{null};
    final StableElement<T> result = new WriteCommandAction<StableElement<T>>(domManager.getProject(), parent.getRoot().getFile()) {
      protected void run(Result<StableElement<T>> result) throws Throwable {
        final DomElement parentDomElement = getParentDomElement();
        final T t = (T)getDomCollectionChildDescription().addValue(parentDomElement, getElementType());
        tuneNewValue(t);
        aClass[0] = parent.getGenericInfo().getCollectionChildDescription(t.getXmlElementName()).getType();
        oldChoosers[0] = domManager.getTypeChooserManager().getTypeChooser(aClass[0]);
        final SmartPsiElementPointer pointer =
View Full Code Here

TOP

Related Classes of com.intellij.util.xml.DomElement

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.