Skip to content

Commit 09ff092

Browse files
committed
refactor(graphviz): rename node content manager to category manager #438
Rename GraphvizNodeContentManager to GraphvizNodeCategoryManager and update icon usage for attribute items. Adjust toolbar ID for consistency.
1 parent a16ed81 commit 09ff092

4 files changed

Lines changed: 20 additions & 40 deletions

File tree

exts/ext-diagram/src/main/kotlin/cc/unitmesh/diagram/graphviz/GraphvizDiagramPanel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ class GraphvizDiagramPanel(private val fileEditor: GraphvizPreviewFileEditor) :
5252

5353
val actionsProvider = builder!!.provider.getExtras().toolbarActionsProvider
5454
val actionGroup = actionsProvider.createToolbarActions(builder!!)
55-
val actionToolbar = ActionManager.getInstance().createActionToolbar("AUTODEV.DOT", actionGroup, true)
55+
val actionToolbar = ActionManager.getInstance().createActionToolbar("JDL.UML", actionGroup, true)
5656
actionToolbar.targetComponent = graphView
5757
actionToolbar.component.setBorder(JBUI.Borders.customLine(JBColor.border(), 0, 0, 1, 0))
5858

exts/ext-diagram/src/main/kotlin/cc/unitmesh/diagram/graphviz/GraphvizElementManager.kt

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,26 +24,10 @@ import javax.swing.Icon
2424
* Similar to JdlUmlElementManager in JHipster UML implementation
2525
*/
2626
class GraphvizElementManager : AbstractDiagramElementManager<GraphvizNodeData>() {
27-
28-
private var umlProvider: GraphvizUmlProvider? = null
29-
30-
/**
31-
* Set the UML provider
32-
*/
33-
fun setUmlProvider(provider: GraphvizUmlProvider) {
34-
this.umlProvider = provider
35-
}
36-
3727
override fun findInDataContext(dataContext: DataContext): GraphvizNodeData? {
38-
val psiFile = CommonDataKeys.PSI_FILE.getData(dataContext)
39-
if (psiFile == null) return null
40-
41-
val virtualFile = psiFile.virtualFile
42-
if (virtualFile == null) return null
43-
44-
// Check if this is a DOT file
28+
val psiFile = CommonDataKeys.PSI_FILE.getData(dataContext) ?: return null
29+
val virtualFile = psiFile.virtualFile ?: return null
4530
if (!isDotFile(virtualFile)) return null
46-
4731
return getRootData(psiFile.project, virtualFile)
4832
}
4933

@@ -145,7 +129,7 @@ class GraphvizElementManager : AbstractDiagramElementManager<GraphvizNodeData>()
145129
com.intellij.util.PlatformIcons.FIELD_ICON
146130
}
147131
}
148-
is GraphvizAttributeItem -> com.intellij.util.PlatformIcons.PROPERTY_ICON
132+
is GraphvizAttributeItem -> com.intellij.util.PlatformIcons.METHOD_ICON
149133
else -> null
150134
}
151135
}

exts/ext-diagram/src/main/kotlin/cc/unitmesh/diagram/graphviz/GraphvizNodeContentManager.kt renamed to exts/ext-diagram/src/main/kotlin/cc/unitmesh/diagram/graphviz/GraphvizNodeCategoryManager.kt

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ import com.intellij.diagram.AbstractDiagramNodeContentManager
44
import com.intellij.diagram.DiagramBuilder
55
import com.intellij.diagram.DiagramCategory
66
import com.intellij.util.PlatformIcons
7-
import cc.unitmesh.diagram.graphviz.model.GraphvizNodeData
8-
import cc.unitmesh.diagram.graphviz.model.GraphvizSimpleNodeData
9-
import cc.unitmesh.diagram.graphviz.model.GraphvizEntityNodeData
107
import cc.unitmesh.diagram.graphviz.model.GraphvizNodeField
118
import cc.unitmesh.diagram.graphviz.model.GraphvizAttributeItem
129
import com.intellij.icons.AllIcons
@@ -15,9 +12,9 @@ import com.intellij.icons.AllIcons
1512
* Node content manager for Graphviz diagrams
1613
* Similar to JdlUmlCategoryManager in JHipster UML implementation
1714
*/
18-
class GraphvizNodeContentManager : AbstractDiagramNodeContentManager() {
15+
class GraphvizNodeCategoryManager : AbstractDiagramNodeContentManager() {
1916

20-
companion object {
17+
companion object Companion {
2118
private val FIELDS_CATEGORY = DiagramCategory(
2219
"Fields",
2320
AllIcons.Nodes.Field,
@@ -27,7 +24,7 @@ class GraphvizNodeContentManager : AbstractDiagramNodeContentManager() {
2724

2825
private val ATTRIBUTES_CATEGORY = DiagramCategory(
2926
"Attributes",
30-
PlatformIcons.PROPERTY_ICON,
27+
AllIcons.Nodes.Method,
3128
true,
3229
false
3330
)
@@ -43,9 +40,9 @@ class GraphvizNodeContentManager : AbstractDiagramNodeContentManager() {
4340
category: DiagramCategory,
4441
builder: DiagramBuilder?
4542
): Boolean {
46-
return when {
47-
item is GraphvizNodeField -> category == FIELDS_CATEGORY
48-
item is GraphvizAttributeItem -> category == ATTRIBUTES_CATEGORY
43+
return when (item) {
44+
is GraphvizNodeField -> category == FIELDS_CATEGORY
45+
is GraphvizAttributeItem -> category == ATTRIBUTES_CATEGORY
4946
else -> super.isInCategory(nodeElement, item, category, builder)
5047
}
5148
}

exts/ext-diagram/src/main/kotlin/cc/unitmesh/diagram/graphviz/GraphvizUmlProvider.kt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,22 @@ import com.intellij.diagram.DiagramRelationshipManager.NO_RELATIONSHIP_MANAGER
1212
* Similar to JdlUmlProvider in JHipster UML implementation
1313
*/
1414
class GraphvizUmlProvider : DiagramProvider<GraphvizNodeData>() {
15-
1615
private val vfsResolver: DiagramVfsResolver<GraphvizNodeData> = GraphvizVfsResolver()
1716
private val elementManager: DiagramElementManager<GraphvizNodeData> = GraphvizElementManager()
18-
17+
1918
init {
2019
(elementManager as GraphvizElementManager).setUmlProvider(this)
2120
}
22-
21+
2322
@Pattern("[a-zA-Z0-9_-]*")
2423
override fun getID(): String {
2524
return "GraphvizDOT"
2625
}
27-
26+
2827
override fun getPresentableName(): String {
2928
return "Graphviz DOT Diagram"
3029
}
31-
30+
3231
override fun createDataModel(
3332
project: Project,
3433
seedData: GraphvizNodeData?,
@@ -41,25 +40,25 @@ class GraphvizUmlProvider : DiagramProvider<GraphvizNodeData>() {
4140
}
4241
return model
4342
}
44-
43+
4544
override fun createVisibilityManager(): DiagramVisibilityManager {
4645
return EmptyDiagramVisibilityManager.INSTANCE
4746
}
48-
47+
4948
override fun getElementManager(): DiagramElementManager<GraphvizNodeData> {
5049
return elementManager
5150
}
52-
51+
5352
override fun getVfsResolver(): DiagramVfsResolver<GraphvizNodeData> {
5453
return vfsResolver
5554
}
56-
55+
5756
@Suppress("UNCHECKED_CAST")
5857
override fun getRelationshipManager(): DiagramRelationshipManager<GraphvizNodeData> {
5958
return NO_RELATIONSHIP_MANAGER as DiagramRelationshipManager<GraphvizNodeData>
6059
}
61-
60+
6261
override fun createNodeContentManager(): DiagramNodeContentManager {
63-
return GraphvizNodeContentManager()
62+
return GraphvizNodeCategoryManager()
6463
}
6564
}

0 commit comments

Comments
 (0)