From f208071b61c454bf7e1d5b387132a7e1e2b8016d Mon Sep 17 00:00:00 2001 From: Anton Kozub Date: Fri, 23 Aug 2024 14:46:42 +0200 Subject: [PATCH] IDEA-354490 Added the switcher GitOrigin-RevId: bf34c8ca3aabb56ef02bcc80d935ff055682329d --- java/java-impl/src/META-INF/JavaPlugin.xml | 4 +- ...ssOwnerLogicalStructureElementsProvider.kt | 4 +- ...lassLogicalStructureTreeElementProvider.kt | 4 +- .../logical/PsiClassLogicalElementProvider.kt | 4 +- .../ShowLogicalStructureAction.kt | 28 ++++++++ .../StructureViewComponent.java | 2 + .../src/META-INF/LangExtensionPoints.xml | 4 +- .../src/idea/LangActions.xml | 2 + platform/structure-view-impl/api-dump.txt | 64 +++++++++++++++++++ .../messages/StructureViewBundle.properties | 1 + ...eFileTypeStructureViewBuilderProvider.java | 8 +-- .../ide/structureView/StructureViewState.kt | 26 ++++++++ .../logical/ConvertElementsProvider.kt | 2 +- .../LogicalStructureElementsProvider.kt | 2 +- .../LogicalStructureTreeElementProvider.kt | 2 +- .../logical/impl/LogicalGrouper.kt | 6 +- .../impl/LogicalStructureViewService.kt | 4 +- .../impl/LogicalStructureViewTreeElements.kt | 9 +-- .../model/LogicalStructureAssembledModel.kt | 8 +-- .../logical/model/LogicalStructureModel.kt | 2 +- .../PsiRepresentingLogicalStructureModel.kt | 2 +- ...lassLogicalStructureTreeElementProvider.kt | 2 +- 22 files changed, 155 insertions(+), 35 deletions(-) rename java/java-structure-view/src/com/intellij/{ide/structureView => lang/java}/logical/ClassOwnerLogicalStructureElementsProvider.kt (80%) rename java/java-structure-view/src/com/intellij/{ide/structureView => lang/java}/logical/JavaPsiClassLogicalStructureTreeElementProvider.kt (83%) rename java/java-structure-view/src/com/intellij/{ide/structureView => lang/java}/logical/PsiClassLogicalElementProvider.kt (75%) create mode 100644 platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/ShowLogicalStructureAction.kt create mode 100644 platform/structure-view-impl/src/com/intellij/ide/structureView/StructureViewState.kt rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/ConvertElementsProvider.kt (94%) rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/LogicalStructureElementsProvider.kt (94%) rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/LogicalStructureTreeElementProvider.kt (94%) rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/impl/LogicalGrouper.kt (93%) rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/impl/LogicalStructureViewService.kt (92%) rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/impl/LogicalStructureViewTreeElements.kt (89%) rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/model/LogicalStructureAssembledModel.kt (80%) rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/model/LogicalStructureModel.kt (77%) rename platform/structure-view-impl/src/com/intellij/ide/{ => structureView}/logical/model/PsiRepresentingLogicalStructureModel.kt (83%) diff --git a/java/java-impl/src/META-INF/JavaPlugin.xml b/java/java-impl/src/META-INF/JavaPlugin.xml index 5eacc7b52126..9034110c3f4a 100644 --- a/java/java-impl/src/META-INF/JavaPlugin.xml +++ b/java/java-impl/src/META-INF/JavaPlugin.xml @@ -782,10 +782,10 @@ - + + implementation="com.intellij.lang.java.logical.JavaPsiClassLogicalStructureTreeElementProvider"/> diff --git a/java/java-structure-view/src/com/intellij/ide/structureView/logical/ClassOwnerLogicalStructureElementsProvider.kt b/java/java-structure-view/src/com/intellij/lang/java/logical/ClassOwnerLogicalStructureElementsProvider.kt similarity index 80% rename from java/java-structure-view/src/com/intellij/ide/structureView/logical/ClassOwnerLogicalStructureElementsProvider.kt rename to java/java-structure-view/src/com/intellij/lang/java/logical/ClassOwnerLogicalStructureElementsProvider.kt index 857e945245e7..43be1457c0da 100644 --- a/java/java-structure-view/src/com/intellij/ide/structureView/logical/ClassOwnerLogicalStructureElementsProvider.kt +++ b/java/java-structure-view/src/com/intellij/lang/java/logical/ClassOwnerLogicalStructureElementsProvider.kt @@ -1,7 +1,7 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.structureView.logical +package com.intellij.lang.java.logical -import com.intellij.ide.logical.LogicalStructureElementsProvider +import com.intellij.ide.structureView.logical.LogicalStructureElementsProvider import com.intellij.psi.PsiClass import com.intellij.psi.PsiClassOwner diff --git a/java/java-structure-view/src/com/intellij/ide/structureView/logical/JavaPsiClassLogicalStructureTreeElementProvider.kt b/java/java-structure-view/src/com/intellij/lang/java/logical/JavaPsiClassLogicalStructureTreeElementProvider.kt similarity index 83% rename from java/java-structure-view/src/com/intellij/ide/structureView/logical/JavaPsiClassLogicalStructureTreeElementProvider.kt rename to java/java-structure-view/src/com/intellij/lang/java/logical/JavaPsiClassLogicalStructureTreeElementProvider.kt index 0c0e223f6d24..aafdcf391488 100644 --- a/java/java-structure-view/src/com/intellij/ide/structureView/logical/JavaPsiClassLogicalStructureTreeElementProvider.kt +++ b/java/java-structure-view/src/com/intellij/lang/java/logical/JavaPsiClassLogicalStructureTreeElementProvider.kt @@ -1,9 +1,9 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.structureView.logical +package com.intellij.lang.java.logical -import com.intellij.ide.logical.LogicalStructureTreeElementProvider import com.intellij.ide.structureView.StructureViewTreeElement import com.intellij.ide.structureView.impl.java.JavaClassTreeElement +import com.intellij.ide.structureView.logical.LogicalStructureTreeElementProvider import com.intellij.psi.PsiClass class JavaPsiClassLogicalStructureTreeElementProvider: LogicalStructureTreeElementProvider { diff --git a/java/java-structure-view/src/com/intellij/ide/structureView/logical/PsiClassLogicalElementProvider.kt b/java/java-structure-view/src/com/intellij/lang/java/logical/PsiClassLogicalElementProvider.kt similarity index 75% rename from java/java-structure-view/src/com/intellij/ide/structureView/logical/PsiClassLogicalElementProvider.kt rename to java/java-structure-view/src/com/intellij/lang/java/logical/PsiClassLogicalElementProvider.kt index d3c5da334560..498df306710d 100644 --- a/java/java-structure-view/src/com/intellij/ide/structureView/logical/PsiClassLogicalElementProvider.kt +++ b/java/java-structure-view/src/com/intellij/lang/java/logical/PsiClassLogicalElementProvider.kt @@ -1,7 +1,7 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.structureView.logical +package com.intellij.lang.java.logical -import com.intellij.ide.logical.ConvertElementsProvider +import com.intellij.ide.structureView.logical.ConvertElementsProvider import com.intellij.psi.PsiClass abstract class PsiClassLogicalElementProvider : ConvertElementsProvider() { diff --git a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/ShowLogicalStructureAction.kt b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/ShowLogicalStructureAction.kt new file mode 100644 index 000000000000..6dc476af8d60 --- /dev/null +++ b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/ShowLogicalStructureAction.kt @@ -0,0 +1,28 @@ +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.ide.structureView.newStructureView + +import com.intellij.ide.impl.StructureViewWrapperImpl +import com.intellij.ide.structureView.StructureViewBundle +import com.intellij.ide.structureView.StructureViewState +import com.intellij.openapi.actionSystem.ActionUpdateThread +import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.actionSystem.ToggleAction +import com.intellij.openapi.application.ApplicationManager + +internal class ShowLogicalStructureAction : ToggleAction(StructureViewBundle.message("structureview.action.show.logical")) { + + override fun getActionUpdateThread(): ActionUpdateThread { + return ActionUpdateThread.EDT + } + + override fun isSelected(e: AnActionEvent): Boolean { + val project = e.project ?: return false + return StructureViewState.getInstance(project).showLogicalStructure + } + + override fun setSelected(e: AnActionEvent, state: Boolean) { + val project = e.project ?: return + StructureViewState.getInstance(project).showLogicalStructure = state + ApplicationManager.getApplication().messageBus.syncPublisher(StructureViewWrapperImpl.STRUCTURE_CHANGED).run() + } +} \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java index 5617fde004de..14756bc07046 100644 --- a/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java +++ b/platform/lang-impl/src/com/intellij/ide/structureView/newStructureView/StructureViewComponent.java @@ -324,6 +324,7 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre protected @NotNull ActionGroup createActionGroup() { DefaultActionGroup result = new DefaultActionGroup(); + result.add(new ShowLogicalStructureAction()); List sorters = getSortActions(); if (!sorters.isEmpty()) { result.addAll(sorters); @@ -357,6 +358,7 @@ public class StructureViewComponent extends SimpleToolWindowPanel implements Tre public final DefaultActionGroup getViewActions() { DefaultActionGroup result = new DefaultActionGroup(IdeBundle.message("group.view.options"), null, AllIcons.Actions.GroupBy); result.setPopup(true); + result.add(new ShowLogicalStructureAction()); result.addSeparator(StructureViewBundle.message("structureview.subgroup.sort")); result.addAll(sortActionsByName(getSortActions())); result.addSeparator(StructureViewBundle.message("structureview.subgroup.filter")); diff --git a/platform/platform-resources/src/META-INF/LangExtensionPoints.xml b/platform/platform-resources/src/META-INF/LangExtensionPoints.xml index 01da5dbe1895..f5f49bb90c48 100644 --- a/platform/platform-resources/src/META-INF/LangExtensionPoints.xml +++ b/platform/platform-resources/src/META-INF/LangExtensionPoints.xml @@ -120,8 +120,8 @@ - - + + diff --git a/platform/platform-resources/src/idea/LangActions.xml b/platform/platform-resources/src/idea/LangActions.xml index 081547243526..f73f4bbc5909 100644 --- a/platform/platform-resources/src/idea/LangActions.xml +++ b/platform/platform-resources/src/idea/LangActions.xml @@ -1034,6 +1034,8 @@ + + diff --git a/platform/structure-view-impl/api-dump.txt b/platform/structure-view-impl/api-dump.txt index 11e99a6789ca..4b1d2d431843 100644 --- a/platform/structure-view-impl/api-dump.txt +++ b/platform/structure-view-impl/api-dump.txt @@ -15,6 +15,17 @@ a:com.intellij.ide.structureView.StructureViewFactoryEx - a:isActionActive(java.lang.String):Z - a:runWhenInitialized(java.lang.Runnable):V - a:setActiveAction(java.lang.String,Z):V +f:com.intellij.ide.structureView.StructureViewState +- com.intellij.openapi.components.PersistentStateComponent +- sf:Companion:com.intellij.ide.structureView.StructureViewState$Companion +- ():V +- sf:getInstance(com.intellij.openapi.project.Project):com.intellij.ide.structureView.StructureViewState +- f:getShowLogicalStructure():Z +- getState():com.intellij.ide.structureView.StructureViewState +- loadState(com.intellij.ide.structureView.StructureViewState):V +- f:setShowLogicalStructure(Z):V +f:com.intellij.ide.structureView.StructureViewState$Companion +- f:getInstance(com.intellij.openapi.project.Project):com.intellij.ide.structureView.StructureViewState com.intellij.ide.structureView.StructureViewWrapper - a:selectCurrentElement(com.intellij.openapi.fileEditor.FileEditor,com.intellij.openapi.vfs.VirtualFile,Z):Z c:com.intellij.ide.structureView.customRegions.CustomRegionTreeElement @@ -45,6 +56,59 @@ a:com.intellij.ide.structureView.impl.common.PsiTreeElementBase - isSearchInLocationString():Z - isValid():Z - navigate(Z):V +com.intellij.ide.structureView.logical.ContainerElementsProvider +- com.intellij.ide.structureView.logical.LogicalStructureElementsProvider +- a:getContainerName():java.lang.String +a:com.intellij.ide.structureView.logical.ConvertElementsProvider +- com.intellij.ide.structureView.logical.LogicalStructureElementsProvider +- sf:Companion:com.intellij.ide.structureView.logical.ConvertElementsProvider$Companion +- ():V +- a:convert(java.lang.Object):java.lang.Object +- getElements(java.lang.Object):java.util.List +f:com.intellij.ide.structureView.logical.ConvertElementsProvider$Companion +- f:convert(java.lang.Object):kotlin.sequences.Sequence +com.intellij.ide.structureView.logical.LogicalStructureElementsProvider +- sf:Companion:com.intellij.ide.structureView.logical.LogicalStructureElementsProvider$Companion +- a:forLogicalModelClass():java.lang.Class +- a:getElements(java.lang.Object):java.util.List +f:com.intellij.ide.structureView.logical.LogicalStructureElementsProvider$Companion +- f:getEP_NAME():com.intellij.openapi.extensions.ExtensionPointName +- f:getProviders(java.lang.Object):kotlin.sequences.Sequence +com.intellij.ide.structureView.logical.LogicalStructureTreeElementProvider +- sf:Companion:com.intellij.ide.structureView.logical.LogicalStructureTreeElementProvider$Companion +- a:getModelClass():java.lang.Class +- a:getTreeElement(java.lang.Object):com.intellij.ide.structureView.StructureViewTreeElement +f:com.intellij.ide.structureView.logical.LogicalStructureTreeElementProvider$Companion +- f:getEP_NAME():com.intellij.openapi.extensions.ExtensionPointName +- f:getTreeElement(java.lang.Object):com.intellij.ide.structureView.StructureViewTreeElement +f:com.intellij.ide.structureView.logical.impl.LogicalGrouper +- com.intellij.ide.util.treeView.smartTree.Grouper +- ():V +- getName():java.lang.String +- getPresentation():com.intellij.ide.util.treeView.smartTree.ActionPresentation +- group(com.intellij.ide.util.treeView.AbstractTreeNode,java.util.Collection):java.util.Collection +f:com.intellij.ide.structureView.logical.impl.LogicalStructureViewService +- sf:Companion:com.intellij.ide.structureView.logical.impl.LogicalStructureViewService$Companion +- (com.intellij.openapi.project.Project):V +- f:getLogicalStructureBuilder(com.intellij.psi.PsiFile):com.intellij.ide.structureView.StructureViewBuilder +f:com.intellij.ide.structureView.logical.impl.LogicalStructureViewService$Companion +- f:getInstance(com.intellij.openapi.project.Project):com.intellij.ide.structureView.logical.impl.LogicalStructureViewService +com.intellij.ide.structureView.logical.impl.LogicalStructureViewTreeElement +- com.intellij.ide.structureView.StructureViewTreeElement +- a:getLogicalAssembledModel():com.intellij.ide.structureView.logical.model.LogicalStructureAssembledModel +f:com.intellij.ide.structureView.logical.impl.LogicalStructureViewTreeElementsKt +- sf:createViewTreeElement(com.intellij.ide.structureView.logical.model.LogicalStructureAssembledModel):com.intellij.ide.structureView.StructureViewTreeElement +f:com.intellij.ide.structureView.logical.model.LogicalStructureAssembledModel +- (com.intellij.openapi.project.Project,java.lang.Object):V +- f:getChildren():java.util.List +- f:getChildrenGrouped():java.util.List +- f:getModel():java.lang.Object +- f:getProject():com.intellij.openapi.project.Project +com.intellij.ide.structureView.logical.model.LogicalStructureModel +- a:getName():java.lang.String +com.intellij.ide.structureView.logical.model.PsiRepresentingLogicalStructureModel +- com.intellij.ide.structureView.logical.model.LogicalStructureModel +- a:getPsiElement():com.intellij.psi.PsiElement a:com.intellij.ide.util.InheritedMembersNodeProvider - com.intellij.ide.util.ActionShortcutProvider - com.intellij.ide.util.FileStructureNodeProvider diff --git a/platform/structure-view-impl/resources/messages/StructureViewBundle.properties b/platform/structure-view-impl/resources/messages/StructureViewBundle.properties index 71a370a444b2..0eca4a01e159 100644 --- a/platform/structure-view-impl/resources/messages/StructureViewBundle.properties +++ b/platform/structure-view-impl/resources/messages/StructureViewBundle.properties @@ -8,3 +8,4 @@ node.structureview.invalid= structureview.subgroup.sort=Sort structureview.subgroup.filter=Show structureview.subgroup.group=Group +structureview.action.show.logical=Logical Structure diff --git a/platform/structure-view-impl/src/com/intellij/ide/highlighter/LanguageFileTypeStructureViewBuilderProvider.java b/platform/structure-view-impl/src/com/intellij/ide/highlighter/LanguageFileTypeStructureViewBuilderProvider.java index 01f03245d0dc..760afe6f7aa4 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/highlighter/LanguageFileTypeStructureViewBuilderProvider.java +++ b/platform/structure-view-impl/src/com/intellij/ide/highlighter/LanguageFileTypeStructureViewBuilderProvider.java @@ -19,9 +19,10 @@ */ package com.intellij.ide.highlighter; -import com.intellij.ide.logical.impl.LogicalStructureViewService; +import com.intellij.ide.structureView.logical.impl.LogicalStructureViewService; import com.intellij.ide.structureView.StructureViewBuilder; import com.intellij.ide.structureView.StructureViewBuilderProvider; +import com.intellij.ide.structureView.StructureViewState; import com.intellij.lang.LanguageStructureViewBuilder; import com.intellij.lang.PsiStructureViewFactory; import com.intellij.openapi.fileTypes.FileType; @@ -44,11 +45,10 @@ public class LanguageFileTypeStructureViewBuilderProvider implements StructureVi final PsiFile psiFile = PsiManager.getInstance(project).findFile(file); if (psiFile == null) return null; - //boolean isLogicalViewAvailable = true; // TODO StructureTW: add logic - //if (isLogicalViewAvailable) { + if (StructureViewState.getInstance(project).getState().getShowLogicalStructure()) { StructureViewBuilder logicalViewBuilder = LogicalStructureViewService.Companion.getInstance(project).getLogicalStructureBuilder(psiFile); if (logicalViewBuilder != null) return logicalViewBuilder; - //} + } final PsiStructureViewFactory factory = LanguageStructureViewBuilder.getInstance().forLanguage(psiFile.getLanguage()); return factory == null ? null : factory.getStructureViewBuilder(psiFile); diff --git a/platform/structure-view-impl/src/com/intellij/ide/structureView/StructureViewState.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/StructureViewState.kt new file mode 100644 index 000000000000..5c77c6a110a9 --- /dev/null +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/StructureViewState.kt @@ -0,0 +1,26 @@ +// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package com.intellij.ide.structureView + +import com.intellij.openapi.components.* +import com.intellij.openapi.project.Project +import com.intellij.openapi.project.ProjectManager +import com.intellij.util.xmlb.XmlSerializerUtil + +@Service(Service.Level.PROJECT) +@State(name = "StructureViewState", storages = [(Storage(value = StoragePathMacros.WORKSPACE_FILE))]) +class StructureViewState : PersistentStateComponent { + companion object { + @JvmStatic + fun getInstance(project: Project): StructureViewState = project.service() + } + + var showLogicalStructure: Boolean = false + + override fun loadState(state: StructureViewState) { + XmlSerializerUtil.copyBean(state, this) + } + + override fun getState(): StructureViewState { + return this + } +} diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/ConvertElementsProvider.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/ConvertElementsProvider.kt similarity index 94% rename from platform/structure-view-impl/src/com/intellij/ide/logical/ConvertElementsProvider.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/ConvertElementsProvider.kt index 35633393c6af..8013c8b451d5 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/ConvertElementsProvider.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/ConvertElementsProvider.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical +package com.intellij.ide.structureView.logical abstract class ConvertElementsProvider : LogicalStructureElementsProvider { abstract fun convert(p: P): C? diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/LogicalStructureElementsProvider.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/LogicalStructureElementsProvider.kt similarity index 94% rename from platform/structure-view-impl/src/com/intellij/ide/logical/LogicalStructureElementsProvider.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/LogicalStructureElementsProvider.kt index 2e7ad74bf31a..dd8921ebd234 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/LogicalStructureElementsProvider.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/LogicalStructureElementsProvider.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical +package com.intellij.ide.structureView.logical import com.intellij.openapi.extensions.ExtensionPointName diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/LogicalStructureTreeElementProvider.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/LogicalStructureTreeElementProvider.kt similarity index 94% rename from platform/structure-view-impl/src/com/intellij/ide/logical/LogicalStructureTreeElementProvider.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/LogicalStructureTreeElementProvider.kt index 5612e23845a0..eec9acc91387 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/LogicalStructureTreeElementProvider.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/LogicalStructureTreeElementProvider.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical +package com.intellij.ide.structureView.logical import com.intellij.ide.structureView.StructureViewTreeElement import com.intellij.openapi.extensions.ExtensionPointName diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalGrouper.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalGrouper.kt similarity index 93% rename from platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalGrouper.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalGrouper.kt index 14b5fca8d6d9..5a42f463ef46 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalGrouper.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalGrouper.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical.impl +package com.intellij.ide.structureView.logical.impl import com.intellij.ide.TypePresentationService import com.intellij.ide.projectView.PresentationData @@ -17,7 +17,7 @@ class LogicalGrouper: Grouper { override fun getPresentation(): ActionPresentation { return object : ActionPresentation { - override fun getText(): String = "Logical" + override fun getText(): String = name override fun getDescription(): String = "" @@ -25,7 +25,7 @@ class LogicalGrouper: Grouper { } } - override fun getName(): String = "Logical" + override fun getName(): String = "Logical Type" override fun group(parent: AbstractTreeNode<*>, children: MutableCollection): Collection { val structureElement = parent.value as? LogicalStructureViewTreeElement<*> ?: return emptyList() diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalStructureViewService.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalStructureViewService.kt similarity index 92% rename from platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalStructureViewService.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalStructureViewService.kt index 0c5e224853f0..d9d2f4d5951c 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalStructureViewService.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalStructureViewService.kt @@ -1,7 +1,7 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical.impl +package com.intellij.ide.structureView.logical.impl -import com.intellij.ide.logical.model.LogicalStructureAssembledModel +import com.intellij.ide.structureView.logical.model.LogicalStructureAssembledModel import com.intellij.ide.structureView.* import com.intellij.ide.util.treeView.smartTree.Grouper import com.intellij.openapi.components.Service diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalStructureViewTreeElements.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalStructureViewTreeElements.kt similarity index 89% rename from platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalStructureViewTreeElements.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalStructureViewTreeElements.kt index ae50f6282fc3..28f5a556878b 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/impl/LogicalStructureViewTreeElements.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/impl/LogicalStructureViewTreeElements.kt @@ -1,12 +1,9 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical.impl +package com.intellij.ide.structureView.logical.impl import com.intellij.ide.TypePresentationService -import com.intellij.ide.logical.LogicalStructureTreeElementProvider -import com.intellij.ide.logical.model.LogicalStructureAssembledModel -import com.intellij.ide.logical.model.LogicalStructureModel -import com.intellij.ide.logical.model.PsiRepresentingLogicalStructureModel -import com.intellij.ide.projectView.PresentationData +import com.intellij.ide.structureView.logical.LogicalStructureTreeElementProvider +import com.intellij.ide.structureView.logical.model.LogicalStructureAssembledModel import com.intellij.ide.structureView.StructureViewTreeElement import com.intellij.ide.structureView.impl.common.PsiTreeElementBase import com.intellij.ide.util.treeView.smartTree.TreeElement diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/model/LogicalStructureAssembledModel.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/LogicalStructureAssembledModel.kt similarity index 80% rename from platform/structure-view-impl/src/com/intellij/ide/logical/model/LogicalStructureAssembledModel.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/LogicalStructureAssembledModel.kt index 3fbef637d02e..1b7a33813dc1 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/model/LogicalStructureAssembledModel.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/LogicalStructureAssembledModel.kt @@ -1,9 +1,9 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical.model +package com.intellij.ide.structureView.logical.model -import com.intellij.ide.logical.ContainerElementsProvider -import com.intellij.ide.logical.ConvertElementsProvider -import com.intellij.ide.logical.LogicalStructureElementsProvider +import com.intellij.ide.structureView.logical.ContainerElementsProvider +import com.intellij.ide.structureView.logical.ConvertElementsProvider +import com.intellij.ide.structureView.logical.LogicalStructureElementsProvider import com.intellij.openapi.project.Project class LogicalStructureAssembledModel( diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/model/LogicalStructureModel.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/LogicalStructureModel.kt similarity index 77% rename from platform/structure-view-impl/src/com/intellij/ide/logical/model/LogicalStructureModel.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/LogicalStructureModel.kt index 21a960b140a8..9a43aa9d5caa 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/model/LogicalStructureModel.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/LogicalStructureModel.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical.model +package com.intellij.ide.structureView.logical.model interface LogicalStructureModel { diff --git a/platform/structure-view-impl/src/com/intellij/ide/logical/model/PsiRepresentingLogicalStructureModel.kt b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/PsiRepresentingLogicalStructureModel.kt similarity index 83% rename from platform/structure-view-impl/src/com/intellij/ide/logical/model/PsiRepresentingLogicalStructureModel.kt rename to platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/PsiRepresentingLogicalStructureModel.kt index cae49707490c..a81495cfd5ac 100644 --- a/platform/structure-view-impl/src/com/intellij/ide/logical/model/PsiRepresentingLogicalStructureModel.kt +++ b/platform/structure-view-impl/src/com/intellij/ide/structureView/logical/model/PsiRepresentingLogicalStructureModel.kt @@ -1,5 +1,5 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -package com.intellij.ide.logical.model +package com.intellij.ide.structureView.logical.model import com.intellij.psi.PsiElement diff --git a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/structureView/KotlinClassLogicalStructureTreeElementProvider.kt b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/structureView/KotlinClassLogicalStructureTreeElementProvider.kt index 2e18610deb38..561ef1a8072d 100644 --- a/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/structureView/KotlinClassLogicalStructureTreeElementProvider.kt +++ b/plugins/kotlin/idea/src/org/jetbrains/kotlin/idea/structureView/KotlinClassLogicalStructureTreeElementProvider.kt @@ -1,7 +1,7 @@ // Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.kotlin.idea.structureView -import com.intellij.ide.logical.LogicalStructureTreeElementProvider +import com.intellij.ide.structureView.logical.LogicalStructureTreeElementProvider import com.intellij.ide.structureView.StructureViewTreeElement import org.jetbrains.kotlin.asJava.classes.KtLightClass