Skip to content

Commit 76f4571

Browse files
authored
Merge pull request #370 from wuseal/optimize-extension-link-ui
Optimize Extensions' UI
2 parents 48bca16 + 8bc8643 commit 76f4571

8 files changed

+29
-44
lines changed

Diff for: src/main/kotlin/extensions/ExtensionsCollector.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ object ExtensionsCollector {
3636
BuildFromJsonObjectSupport,
3737
NeedNonNullableClassesSupport,
3838
InternalModifierSupport,
39-
AddGsonExposeAnnotation,
39+
AddGsonExposeAnnotationSupport,
4040
)
4141
}

Diff for: src/main/kotlin/extensions/jose/han/ParcelableAnnotationSupport.kt

-9
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,6 @@ object ParcelableAnnotationSupport : Extension() {
3333

3434
if (kotlinClass is DataClass) {
3535
if (getConfig(configKey).toBoolean()) {
36-
37-
// val classAnnotationString1 = "@SuppressLint(\"ParcelCreator\")"
38-
// val classAnnotationString2 = "@Parcelize"
39-
//
40-
// val classAnnotation1 = Annotation.fromAnnotationString(classAnnotationString1)
41-
// val classAnnotation2 = Annotation.fromAnnotationString(classAnnotationString2)
42-
//
43-
// val newAnnotations = mutableListOf(classAnnotation1, classAnnotation2).also { it.addAll(kotlinClass.annotations) }
44-
// modify for kotlin-android-extensions is abandoned and kotlin-parcelize is used
4536
val classAnnotation = Annotation.fromAnnotationString("@Parcelize")
4637
val newAnnotations = kotlinClass.annotations.plus(classAnnotation)
4738

Diff for: src/main/kotlin/extensions/nstd/ReplaceConstructorParametersByMemberVariablesSupport.kt

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package extensions.nstd
22

33
import extensions.Extension
4-
import wu.seal.jsontokotlin.model.builder.CodeBuilderConfig
5-
import wu.seal.jsontokotlin.model.builder.KotlinDataClassCodeBuilder
64
import wu.seal.jsontokotlin.model.classscodestruct.DataClass
75
import wu.seal.jsontokotlin.model.classscodestruct.KotlinClass
86
import wu.seal.jsontokotlin.ui.jCheckBox
97
import wu.seal.jsontokotlin.ui.jHorizontalLinearLayout
8+
import wu.seal.jsontokotlin.ui.jLink
109
import javax.swing.JPanel
1110

1211
/**
@@ -37,10 +36,14 @@ object ReplaceConstructorParametersByMemberVariablesSupport : Extension() {
3736

3837
return jHorizontalLinearLayout {
3938
jCheckBox(
40-
"Replace constructor parameters by member variables",
39+
"",
4140
getConfig(configKey).toBoolean(),
4241
{ isSelected -> setConfig(configKey, isSelected.toString()) }
4342
)
43+
jLink(
44+
"Replace constructor parameters by member variables",
45+
"https://github.com/wuseal/JsonToKotlinClass/blob/master/src/main/kotlin/extensions/nstd/ReplaceConstructorParametersByMemberVariablesSupport.kt"
46+
)
4447
fillSpace()
4548
}
4649
}

Diff for: src/main/kotlin/extensions/wu/seal/AddGsonExposeAnnotation.kt renamed to src/main/kotlin/extensions/wu/seal/AddGsonExposeAnnotationSupport.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ import wu.seal.jsontokotlin.ui.jCheckBox
1010
import wu.seal.jsontokotlin.ui.jHorizontalLinearLayout
1111
import javax.swing.JPanel
1212

13-
object AddGsonExposeAnnotation : Extension() {
13+
object AddGsonExposeAnnotationSupport : Extension() {
1414

1515
@Expose
1616
val config_key = "wu.seal.add_gson_expose_annotation"
1717

1818
override fun createUI(): JPanel {
1919
return jHorizontalLinearLayout {
20-
jCheckBox("Add Gson Expose Annotation", config_key.booleanConfigValue) {
20+
jCheckBox("Add Gson @Expose Annotation", config_key.booleanConfigValue) {
2121
addSelectListener { setConfig(config_key, it.toString()) }
2222
}
2323
fillSpace()

Diff for: src/main/kotlin/extensions/yuan/varenyzc/BuildFromJsonObjectSupport.kt

+4-8
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package extensions.yuan.varenyzc
22

33
import extensions.Extension
4-
import wu.seal.jsontokotlin.model.builder.CodeBuilderConfig
5-
import wu.seal.jsontokotlin.model.builder.KotlinDataClassCodeBuilder
64
import wu.seal.jsontokotlin.model.classscodestruct.DataClass
75
import wu.seal.jsontokotlin.model.classscodestruct.KotlinClass
86
import wu.seal.jsontokotlin.ui.jCheckBox
@@ -17,15 +15,13 @@ object BuildFromJsonObjectSupport : Extension() {
1715
override fun createUI(): JPanel {
1816
return jHorizontalLinearLayout {
1917
jCheckBox(
20-
"Make a static function that can build from JSONObject",
18+
"",
2119
getConfig(configKey).toBoolean(),
2220
{ isSelected -> setConfig(configKey, isSelected.toString()) }
2321
)
24-
add(
25-
jLink(
26-
"Know about this extension",
27-
"https://github.com/wuseal/JsonToKotlinClass/blob/master/build_from_jsonobject_tip.md"
28-
)
22+
jLink(
23+
"Make a static function that can build from JSONObject",
24+
"https://github.com/wuseal/JsonToKotlinClass/blob/master/doc/build_from_jsonobject_tip.md"
2925
)
3026
fillSpace()
3127
}

Diff for: src/main/kotlin/extensions/yuan/varenyzc/CamelCaseSupport.kt

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import wu.seal.jsontokotlin.model.classscodestruct.DataClass
55
import wu.seal.jsontokotlin.model.classscodestruct.KotlinClass
66
import wu.seal.jsontokotlin.ui.jCheckBox
77
import wu.seal.jsontokotlin.ui.jHorizontalLinearLayout
8-
import wu.seal.jsontokotlin.utils.LogUtil
9-
import java.lang.StringBuilder
108
import javax.swing.JPanel
119

1210
object CamelCaseSupport : Extension() {

Diff for: src/main/kotlin/extensions/yuan/varenyzc/NeedNonNullableClassesSupport.kt

+12-14
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package extensions.yuan.varenyzc
22

3+
import com.intellij.util.ui.JBDimension
34
import extensions.Extension
45
import wu.seal.jsontokotlin.model.classscodestruct.DataClass
56
import wu.seal.jsontokotlin.model.classscodestruct.KotlinClass
@@ -21,21 +22,18 @@ object NeedNonNullableClassesSupport : Extension() {
2122
}
2223
}
2324

24-
return jVerticalLinearLayout {
25-
jHorizontalLinearLayout {
26-
jCheckBox("Classes non-nullable: ", getConfig(prefixKeyEnable).toBoolean(), { isSelected ->
27-
setConfig(prefixKeyEnable, isSelected.toString())
28-
prefixJField.isEnabled = isSelected
29-
})
30-
add(prefixJField)
31-
}
32-
jHorizontalLinearLayout {
33-
fixedSpace(30)
34-
jLink("Know about this extension", "https://github.com/wuseal/JsonToKotlinClass/blob/master/classes_non_nullable.md")
35-
fillSpace()
36-
}
25+
return jHorizontalLinearLayout {
26+
jCheckBox("", getConfig(prefixKeyEnable).toBoolean(), { isSelected ->
27+
setConfig(prefixKeyEnable, isSelected.toString())
28+
prefixJField.isEnabled = isSelected
29+
})
30+
jLink(
31+
text = "Classes non-nullable: ",
32+
linkURL = "https://github.com/wuseal/JsonToKotlinClass/blob/master/doc/classes_non_nullable.md",
33+
maxSize = JBDimension(160,30)
34+
)
35+
add(prefixJField)
3736
}
38-
3937
}
4038

4139
override fun intercept(kotlinClass: KotlinClass): KotlinClass {

Diff for: src/test/kotlin/extensions/wu/seal/AddGsonExposeAnnotationTest.kt

+4-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package extensions.wu.seal
33
import com.winterbe.expekt.should
44
import org.junit.Test
55

6-
import org.junit.Assert.*
76
import wu.seal.jsontokotlin.generateKotlinClass
87
import wu.seal.jsontokotlin.utils.BaseTest
98

@@ -18,14 +17,14 @@ class AddGsonExposeAnnotationTest : BaseTest() {
1817
""".trimIndent()
1918
@Test
2019
fun intercept() {
21-
AddGsonExposeAnnotation.testHelper.setConfig(AddGsonExposeAnnotation.config_key, true.toString())
22-
val result = json.generateKotlinClass().applyInterceptor(AddGsonExposeAnnotation).getCode()
20+
AddGsonExposeAnnotationSupport.testHelper.setConfig(AddGsonExposeAnnotationSupport.config_key, true.toString())
21+
val result = json.generateKotlinClass().applyInterceptor(AddGsonExposeAnnotationSupport).getCode()
2322
result.should.be.equal(expected)
2423
}
2524

2625
@Test
2726
fun testIntercept() {
28-
AddGsonExposeAnnotation.testHelper.setConfig(AddGsonExposeAnnotation.config_key, true.toString())
29-
AddGsonExposeAnnotation.intercept("").should.equal("\nimport com.google.gson.annotations.Expose")
27+
AddGsonExposeAnnotationSupport.testHelper.setConfig(AddGsonExposeAnnotationSupport.config_key, true.toString())
28+
AddGsonExposeAnnotationSupport.intercept("").should.equal("\nimport com.google.gson.annotations.Expose")
3029
}
3130
}

0 commit comments

Comments
 (0)