Skip to content

Commit af185e4

Browse files
committed
编辑时不生成nodeTree
1 parent f483c40 commit af185e4

File tree

8 files changed

+58
-31
lines changed

8 files changed

+58
-31
lines changed

src/com/dengzii/plugin/template/Config.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ object Config {
3737
result.add(Module.getAucApp())
3838
result.add(Module.getAucExport())
3939
result.add(Module.getAucPkg())
40-
result.add(Module.getAndroidMvp())
4140
}
4241
if (arr.isNullOrEmpty()) {
4342
return result

src/com/dengzii/plugin/template/model/FileTreeDsl.kt

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,30 +29,10 @@ class FileTreeDsl() : FileTreeNode() {
2929
this(block)
3030
return
3131
}
32-
path.getPlaceholder().ifNotEmpty {
33-
allPlaceholder.addAll(this)
34-
}
35-
// val realPath = getRealName(path)
36-
// var dirs = when {
37-
// realPath.contains(".") -> realPath.split(".")
38-
// realPath.contains("/") -> realPath.split("/")
39-
// else -> {
40-
// val newNode = FileTreeNode(this, realPath, true)
41-
// if (addChild(newNode)) {
42-
// newNode(block)
43-
// }
44-
// return
45-
// }
46-
// }
47-
// dirs = dirs.filter {
48-
// it.isNotBlank()
49-
// }.toMutableList()
5032
val newNode = FileTreeNode(this, path, true)
5133
if (addChild(newNode)) {
5234
newNode.invoke(block)
5335
}
54-
// val domain = createDirs(dirs, this)
55-
// domain.invoke(block)
5636
}
5737

5838
fun FileTreeNode.file(name: String) {

src/com/dengzii/plugin/template/model/FileTreeNode.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ open class FileTreeNode() {
3030

3131
var placeholders: MutableMap<String, String>? = null
3232
// all placeholder in tree node name
33-
val allPlaceholder by lazy { mutableListOf<String>() }
33+
val allPlaceholder = mutableListOf<String>()
3434

3535
// template for node, higher priority than fileTemplates
3636
private var template: String? = null
@@ -302,12 +302,11 @@ open class FileTreeNode() {
302302
}
303303

304304
fun getAllPlaceholderInTree(): List<String> {
305-
val result = mutableListOf<String>()
306-
result.addAll(allPlaceholder)
305+
val result = mutableSetOf<String>()
307306
traversal({ fileTreeNode: FileTreeNode, _: Int ->
308307
result.addAll(fileTreeNode.allPlaceholder)
309308
})
310-
return result
309+
return result.toList()
311310
}
312311

313312
fun getAllPlaceholdersMap(): Map<String, String> {

src/com/dengzii/plugin/template/ui/ConfigurePanel.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,16 @@ private void onChangeTab() {
125125
if (0 == tabbedPane.getSelectedIndex()) {
126126
currentConfig.getTemplate().setPlaceholders(tablePlaceholder.getPairResult());
127127
}
128+
if (2 == tabbedPane.getSelectedIndex()) {
129+
Map<String, String> mergedPlaceholder = currentConfig.getTemplate().getAllPlaceholdersMap();
130+
List<String> allPlaceholders = currentConfig.getTemplate().getAllPlaceholderInTree();
131+
allPlaceholders.forEach(s -> {
132+
if (!mergedPlaceholder.containsKey(s)) {
133+
mergedPlaceholder.put(s, "");
134+
}
135+
});
136+
tablePlaceholder.setPairData(mergedPlaceholder);
137+
}
128138
panelPreview.setModuleConfig(currentConfig);
129139
}
130140

src/com/dengzii/plugin/template/ui/CreateModuleDialog.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.intellij.icons.AllIcons;
88
import com.intellij.openapi.options.ShowSettingsUtil;
99
import com.intellij.openapi.project.Project;
10+
import org.bouncycastle.math.raw.Mod;
1011

1112
import javax.swing.*;
1213
import java.awt.*;
@@ -72,6 +73,8 @@ public static void main(String[] args) {
7273

7374
private void onNextClick(ActionEvent e) {
7475
selectedModule.getTemplate().setPlaceholders(tablePlaceholder.getPairResult());
76+
previewPanel.setModuleConfigPreview(selectedModule);
77+
7578
if (currentPanelIndex == panels.size() - 1) {
7679
onFinishListener.onFinish(selectedModule);
7780
dispose();
@@ -118,8 +121,8 @@ private void setPanel() {
118121
private void onModuleConfigChange() {
119122
Logger.INSTANCE.i(TAG, "onModuleConfigChange");
120123
selectedModule = moduleTemplates.get(cbModuleTemplate.getSelectedIndex());
121-
previewPanel.setModuleConfig(selectedModule);
122-
tablePlaceholder.setPairData(selectedModule.getTemplate().getPlaceholders());
124+
previewPanel.setModuleConfigPreview(selectedModule);
125+
tablePlaceholder.setPairData(selectedModule.getTemplate().getPlaceholderInherit());
123126
}
124127

125128
private void initDialog() {

src/com/dengzii/plugin/template/ui/PreviewPanel.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313
import org.jetbrains.annotations.NotNull;
1414

1515
import javax.swing.*;
16-
import javax.swing.tree.*;
16+
import javax.swing.tree.DefaultMutableTreeNode;
17+
import javax.swing.tree.TreeCellRenderer;
18+
import javax.swing.tree.TreeNode;
19+
import javax.swing.tree.TreePath;
1720
import java.awt.*;
1821
import java.awt.event.ActionListener;
1922
import java.awt.event.MouseAdapter;
@@ -73,18 +76,23 @@ public void customizeCellRenderer(@NotNull JTree jTree, Object value, boolean b,
7376
initPanel();
7477
}
7578

76-
public void setReplacePlaceholder(boolean replace){
77-
if (replace != replacePlaceholder){
79+
public void setReplacePlaceholder(boolean replace) {
80+
if (replace != replacePlaceholder) {
7881
replacePlaceholder = replace;
7982
fileTree.updateUI();
8083
}
8184
}
8285

86+
public void setModuleConfigPreview(Module module) {
87+
Module clone = module.clone();
88+
clone.getTemplate().build();
89+
setModuleConfig(clone);
90+
}
91+
8392
public void setModuleConfig(Module module) {
8493
Logger.INSTANCE.i("PreviewPanel", "setModuleConfig");
8594

8695
FileTreeNode node = module.getTemplate();
87-
node.build();
8896
fileTree.setModel(getTreeModel(node));
8997
fileTree.doLayout();
9098
fileTree.updateUI();

test/AucTemplateTest.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,14 @@ class AucTemplateTest {
1818
println(app)
1919
println(app.getTreeGraph())
2020
}
21+
22+
@Test
23+
fun aucModuleTemplateTest() {
24+
val module = AucTemplate.MODULE {
25+
placeholder("FEATURE_NAME","plugin")
26+
placeholder("PACKAGE_NAME","com.dengzi")
27+
}
28+
module.build()
29+
println(module.getTreeGraph())
30+
}
2131
}

test/FileTreeDslTest.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,22 @@ class FileTreeDslTest {
106106
tree.build()
107107
println(tree.getTreeGraph())
108108
}
109+
110+
@Test
111+
fun getAllPlaceholderInTreeNodeNameTest() {
112+
val tree = FileTreeDsl {
113+
placeholder("PACKAGE_NAME", "com.dengzii.plugin")
114+
dir("src") {
115+
dir("\${PACKAGE_NAME}") {
116+
dir("model")
117+
dir("template"){
118+
file("\${TEST}")
119+
file("\${TEST2}")
120+
}
121+
}
122+
dir("test")
123+
}
124+
}
125+
println(tree.getAllPlaceholderInTree())
126+
}
109127
}

0 commit comments

Comments
 (0)