Skip to content

Commit f483c40

Browse files
committed
新增Android MVP模板
1 parent 5232a21 commit f483c40

File tree

6 files changed

+38
-12
lines changed

6 files changed

+38
-12
lines changed

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

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

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -340,15 +340,15 @@ open class FileTreeNode() {
340340
val clone = FileTreeNode(null, name, isDir)
341341
clone.fileTemplates = fileTemplates?.toMutableMap()
342342
clone.placeholders = placeholders?.toMutableMap()
343-
children.forEach {
343+
realChildren.forEach {
344344
clone.addChild(it.clone())
345345
}
346346
return clone
347347
}
348348

349349
private fun removeChild(label: String): FileTreeNode? {
350350
if (hasChild(label)) {
351-
children.remove(labeledChildren[label])
351+
realChildren.remove(labeledChildren[label])
352352
return labeledChildren.remove(label)
353353
}
354354
return null
@@ -360,8 +360,8 @@ open class FileTreeNode() {
360360
str.append(it)
361361
}
362362
str.append(when (this) {
363-
parent?.children?.last() -> "└─"
364-
parent?.children?.first() -> "├─"
363+
parent?.realChildren?.last() -> "└─"
364+
parent?.realChildren?.first() -> "├─"
365365
else -> {
366366
when {
367367
parent != null -> "├─"
@@ -371,13 +371,13 @@ open class FileTreeNode() {
371371
})
372372
str.append(getRealName()).append("\n")
373373

374-
if (!children.isNullOrEmpty()) {
374+
if (!realChildren.isNullOrEmpty()) {
375375
head.push(when {
376376
parent == null -> ""
377-
parent?.children?.last() != this -> "\t"
377+
parent?.realChildren?.last() != this -> "\t"
378378
else -> "\t"
379379
})
380-
children.forEach {
380+
realChildren.forEach {
381381
str.append(it.getNodeGraph(head))
382382
}
383383
head.pop()
@@ -386,7 +386,7 @@ open class FileTreeNode() {
386386
}
387387

388388
private fun createChild() {
389-
children.forEach {
389+
realChildren.forEach {
390390
val file = File(it.getPath())
391391
if (file.exists()) {
392392
Logger.d(TAG, "${file.absolutePath} already exists.")

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.dengzii.plugin.template.model
33
import com.dengzii.plugin.template.template.AucTemplate
44
import com.dengzii.plugin.template.template.Template
55
import com.dengzii.plugin.template.utils.Logger
6+
import com.intellij.packaging.impl.elements.TestModuleOutputPackagingElement
67

78
class Module(
89
var template: FileTreeNode,
@@ -41,6 +42,10 @@ class Module(
4142
return create(AucTemplate.EXPORT.clone(), "Auc Export")
4243
}
4344

45+
fun getAndroidMvp(): Module {
46+
return create(Template.ANDROID_MVP, "Android MVP")
47+
}
48+
4449
fun getLangList() = Language.values().map { it.name.toLowerCase() }.toTypedArray()
4550
}
4651

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

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.intellij.ide.fileTemplates.FileTemplateDescriptor
55
import com.intellij.ide.fileTemplates.FileTemplateGroupDescriptor
66
import com.intellij.ide.fileTemplates.FileTemplateGroupDescriptorFactory
77
import com.intellij.openapi.fileTypes.StdFileTypes
8+
import javax.swing.Icon
89

910

1011
/**
@@ -17,13 +18,20 @@ import com.intellij.openapi.fileTypes.StdFileTypes
1718
* </pre>
1819
*/
1920
class FileTemplateFactory : FileTemplateGroupDescriptorFactory {
21+
2022
override fun getFileTemplatesDescriptor(): FileTemplateGroupDescriptor {
2123

2224
val descriptor = FileTemplateGroupDescriptor("Module Template Plugin Descriptor", AllIcons.Nodes.Plugin)
23-
val manifestDesc = FileTemplateDescriptor("Manifest.xml", StdFileTypes.XML.icon)
24-
val applicationDesc = FileTemplateDescriptor("Application.java", StdFileTypes.JAVA.icon)
25-
descriptor.addTemplate(applicationDesc)
26-
descriptor.addTemplate(manifestDesc)
25+
26+
descriptor.addTemplate(getDescriptor("MainActivity", StdFileTypes.JAVA.icon))
27+
descriptor.addTemplate(getDescriptor("Manifest.xml", StdFileTypes.XML.icon))
28+
descriptor.addTemplate(getDescriptor("Application.java", StdFileTypes.JAVA.icon))
29+
descriptor.addTemplate(getDescriptor("build.gradle", StdFileTypes.PLAIN_TEXT.icon))
30+
2731
return descriptor
2832
}
33+
34+
private fun getDescriptor(templateName: String, icon: Icon?): FileTemplateDescriptor {
35+
return FileTemplateDescriptor(templateName, icon)
36+
}
2937
}

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@ object Template {
3636
file("src")
3737
}
3838

39+
val ANDROID_MVP = FileTreeDsl {
40+
placeholder("MVP_NAME", "Example")
41+
42+
// fileTemplate("", "")
43+
44+
file("\${MVP_NAME}Contract.java")
45+
file("\${MVP_NAME}View.java")
46+
file("\${MVP_NAME}Presenter.java")
47+
file("\${MVP_NAME}Model.java")
48+
}
49+
3950
val ANDROID_APP = FileTreeDsl {
4051
placeholder("MODULE_NAME", "app")
4152
placeholder("PACKAGE_NAME", "com.example")

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ private void onAddConfig(MouseEvent e) {
137137
items.put("Auc app", () -> addModuleTemplate(Module.Companion.getAucApp()));
138138
items.put("Auc Pkg", () -> addModuleTemplate(Module.Companion.getAucPkg()));
139139
items.put("Auc Export", () -> addModuleTemplate(Module.Companion.getAucExport()));
140+
items.put("Android Mvp", () -> addModuleTemplate(Module.Companion.getAndroidMvp()));
140141
PopMenuUtils.INSTANCE.create(items).show(actionbar, e.getX(), e.getY());
141142
}
142143

0 commit comments

Comments
 (0)