From 86d381629825458fbe283a9f34af00762e76e7fd Mon Sep 17 00:00:00 2001 From: Olesya Smirnova Date: Wed, 19 Jan 2005 15:50:50 +0300 Subject: [PATCH] zx --- .../intellij/psi/codeStyle/CodeStyleSettings.java | 1 + .../com/intellij/ide/highlighter/HtmlFileType.java | 13 +++++++------ .../com/intellij/ide/highlighter/XmlFileType.java | 3 ++- .../newStructureView/StructureViewComponent.java | 13 ++++++++++++- .../impl/source/codeStyle/CodeFormatterFacade.java | 5 ++++- 5 files changed, 26 insertions(+), 9 deletions(-) diff --git a/openapi/src/com/intellij/psi/codeStyle/CodeStyleSettings.java b/openapi/src/com/intellij/psi/codeStyle/CodeStyleSettings.java index 52f448d4fe35..553fb6646d9e 100644 --- a/openapi/src/com/intellij/psi/codeStyle/CodeStyleSettings.java +++ b/openapi/src/com/intellij/psi/codeStyle/CodeStyleSettings.java @@ -752,6 +752,7 @@ public class CodeStyleSettings implements Cloneable, JDOMExternalizable { // ---------------------------------- XML formatting options ------------------------- public boolean XML_KEEP_WHITESPACES = false; public int XML_ATTRIBUTE_WRAP = WRAP_AS_NEEDED; + public int XML_TEXT_WRAP = WRAP_AS_NEEDED; public boolean XML_KEEP_LINE_BREAKS = true; public int XML_KEEP_BLANK_LINES = 2; diff --git a/source/com/intellij/ide/highlighter/HtmlFileType.java b/source/com/intellij/ide/highlighter/HtmlFileType.java index b8129b1a924a..59f24da468d8 100644 --- a/source/com/intellij/ide/highlighter/HtmlFileType.java +++ b/source/com/intellij/ide/highlighter/HtmlFileType.java @@ -32,21 +32,21 @@ package com.intellij.ide.highlighter; import com.intellij.codeFormatting.PseudoTextBuilder; -import com.intellij.ide.util.treeView.smartTree.TreeModel; -import com.intellij.ide.structureView.impl.xml.XmlStructureViewTreeModel; +import com.intellij.codeFormatting.xml.html.HtmlPseudoTextBuilder; import com.intellij.ide.structureView.StructureViewModel; -import com.intellij.openapi.fileTypes.SyntaxHighlighter; +import com.intellij.ide.structureView.impl.xml.XmlStructureViewTreeModel; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.fileTypes.FileTypeSupportCapabilities; import com.intellij.openapi.fileTypes.StdFileTypes; +import com.intellij.openapi.fileTypes.SyntaxHighlighter; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiManager; -import com.intellij.psi.xml.XmlFile; import com.intellij.psi.impl.PsiManagerImpl; import com.intellij.psi.impl.source.html.HtmlFileImpl; +import com.intellij.psi.xml.XmlFile; import javax.swing.*; @@ -120,10 +120,11 @@ public class HtmlFileType implements FileType { } public PseudoTextBuilder getPseudoTextBuilder() { - return null; + return new HtmlPseudoTextBuilder(); } public StructureViewModel getStructureViewModel(VirtualFile file, Project project) { - return new XmlStructureViewTreeModel((XmlFile)PsiManager.getInstance(project).findFile(file)); + //return new XmlStructureViewTreeModel((XmlFile)PsiManager.getInstance(project).findFile(file)); + return null; } } \ No newline at end of file diff --git a/source/com/intellij/ide/highlighter/XmlFileType.java b/source/com/intellij/ide/highlighter/XmlFileType.java index fd8a6f018603..44c61663990b 100644 --- a/source/com/intellij/ide/highlighter/XmlFileType.java +++ b/source/com/intellij/ide/highlighter/XmlFileType.java @@ -32,7 +32,8 @@ package com.intellij.ide.highlighter; import com.intellij.codeFormatting.PseudoTextBuilder; -import com.intellij.codeFormatting.xml.XmlPseudoTextBuilder; +import com.intellij.codeFormatting.xml.xml.XmlPseudoTextBuilder; +import com.intellij.codeFormatting.xml.xml.XmlPseudoTextBuilder; import com.intellij.ide.util.treeView.smartTree.TreeModel; import com.intellij.ide.structureView.impl.xml.XmlStructureViewTreeModel; import com.intellij.ide.structureView.StructureViewModel; diff --git a/source/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java b/source/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java index 6b146b85a21b..3c9e2dca6cce 100644 --- a/source/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java +++ b/source/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java @@ -559,7 +559,7 @@ public class StructureViewComponent extends JPanel implements TreeActionsOwner, return element; } else if (DataConstantsEx.PSI_ELEMENT_ARRAY.equals(dataId)) { - return getSelectedElements(); + return convertToPsiElementsArray(getSelectedElements()); } else if (DataConstants.FILE_EDITOR.equals(dataId)) { return myFileEditor; @@ -582,6 +582,17 @@ public class StructureViewComponent extends JPanel implements TreeActionsOwner, return null; } + private PsiElement[] convertToPsiElementsArray(final Object[] selectedElements) { + ArrayList psiElements = new ArrayList(); + for (int i = 0; i < selectedElements.length; i++) { + Object selectedElement = selectedElements[i]; + if (selectedElement instanceof PsiElement){ + psiElements.add((PsiElement)selectedElement); + } + } + return psiElements.toArray(new PsiElement[psiElements.size()]); + } + private TreePath getSelectedPath() { return getTree().getSelectionPath(); } diff --git a/source/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java b/source/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java index 5632bba173a5..8577729a22cb 100644 --- a/source/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java +++ b/source/com/intellij/psi/impl/source/codeStyle/CodeFormatterFacade.java @@ -129,7 +129,10 @@ public class CodeFormatterFacade implements Constants { } private boolean useNewFormatter(FileType fileType) { - return (fileType == StdFileTypes.JAVA || fileType == StdFileTypes.XML || fileType == StdFileTypes.JSPX) && + return (fileType == StdFileTypes.JAVA + || fileType == StdFileTypes.XML + || fileType == StdFileTypes.JSPX + || fileType == StdFileTypes.HTML) && USE_NEW_CODE_FORMATTER == 1; }