diff --git a/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/action/jsontodart/ClassDefinition.kt b/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/action/jsontodart/ClassDefinition.kt index 4f7086b..1e5774a 100644 --- a/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/action/jsontodart/ClassDefinition.kt +++ b/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/action/jsontodart/ClassDefinition.kt @@ -118,10 +118,12 @@ class ClassDefinition(private val name: String, private val privateFields: Boole } else if (f.subtype == null) { if (f.name == "String" && settings.stringFieldDefaultValue()?.isNotEmpty() == true) { sb.append(" = ${settings.stringFieldDefaultValue()}") - } else if (f.name == "bool" && settings.stringFieldDefaultValue()?.isNotEmpty() == true) { + } else if (f.name == "bool" && settings.boolFieldDefaultValue()?.isNotEmpty() == true) { sb.append(" = ${settings.boolFieldDefaultValue()}") - } else if (f.name == "int" && settings.stringFieldDefaultValue()?.isNotEmpty() == true) { + } else if (f.name == "int" && settings.intFieldDefaultValue()?.isNotEmpty() == true) { sb.append(" = ${settings.intFieldDefaultValue()}") + } else if (f.name == "double" && settings.doubleFieldDefaultValue()?.isNotEmpty() == true) { + sb.append(" = ${settings.doubleFieldDefaultValue()}") } } } diff --git a/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/setting/Settings.kt b/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/setting/Settings.kt index 6d8ae36..54882cf 100644 --- a/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/setting/Settings.kt +++ b/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/setting/Settings.kt @@ -13,6 +13,7 @@ data class Settings( var boolDefaultValue: String = "false", var stringDefaultValue: String = "''", var intDefaultValue: String = "0", + var doubleDefaultValue: String = "0.0", var listDefaultValue: String = "[]", ) : PersistentStateComponent { @@ -52,6 +53,14 @@ data class Settings( } } + fun doubleFieldDefaultValue(): String? { + return if (setDefault == true && doubleDefaultValue.isNotEmpty()) { + doubleDefaultValue + } else { + null + } + } + fun listFieldDefaultValue(): String? { return if (setDefault == true && listDefaultValue.isNotEmpty()) { listDefaultValue diff --git a/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/ui/JsonInputDialog.kt b/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/ui/JsonInputDialog.kt index 1955d00..1286a80 100644 --- a/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/ui/JsonInputDialog.kt +++ b/src/main/kotlin/com/github/zhangruiyu/flutterjsonbeanfactory/ui/JsonInputDialog.kt @@ -173,6 +173,11 @@ open class JsonInputDialog( }, settings.intDefaultValue).forEach { defaultContainer.add(it) } + buildDefaultItem("double", { newText -> + settings.doubleDefaultValue = newText + }, settings.doubleDefaultValue).forEach { + defaultContainer.add(it) + } buildDefaultItem("bool", { newText -> settings.boolDefaultValue = newText }, settings.boolDefaultValue).forEach {