@@ -54,14 +54,14 @@ abstract class SettingGroup(val c: Configurable) {
5454 fun edit (
5555 vararg settings : KProperty0 <* >,
5656 edits : BasicEditBuilder .() -> Unit
57- ) { BasicEditBuilder (settings.map { it.delegate } as List <AbstractSetting <* >>).apply (edits) }
57+ ) { BasicEditBuilder (c, settings.map { it.delegate } as List <AbstractSetting <* >>).apply (edits) }
5858
5959 @SettingEditorDsl
6060 fun editWith (
6161 vararg settings : KProperty0 <* >,
6262 other : KProperty0 <* >,
6363 edits : BasicEditBuilder .(AbstractSetting <* >) -> Unit
64- ) { BasicEditBuilder (settings.map { it.delegate } as List <AbstractSetting <* >>).edits(other.delegate as AbstractSetting <* >) }
64+ ) { BasicEditBuilder (c, settings.map { it.delegate } as List <AbstractSetting <* >>).edits(other.delegate as AbstractSetting <* >) }
6565
6666 @SettingEditorDsl
6767 internal inline fun <T : Any > editTyped (
@@ -78,7 +78,7 @@ abstract class SettingGroup(val c: Configurable) {
7878
7979 @SettingEditorDsl
8080 fun hide (vararg settings : KProperty0 <* >) =
81- (settings.map { it.delegate } as List <AbstractSetting <* >>).forEach { it.hidden = true }
81+ c.settings.removeAll (settings.map { it.delegate } as List <AbstractSetting <* >>)
8282
8383 @SettingEditorDsl
8484 fun KProperty0 <* >.insert (insert : KProperty0 <* >, insertMode : InsertMode ) {
@@ -98,14 +98,15 @@ abstract class SettingGroup(val c: Configurable) {
9898 )
9999 }
100100
101- open class BasicEditBuilder (open val settings : Collection <AbstractSetting <* >>) {
101+ open class BasicEditBuilder (val c : Configurable , open val settings : Collection <AbstractSetting <* >>) {
102102 @SettingEditorDsl
103103 fun visibility (vis : () -> Boolean ) =
104104 settings.forEach { it.visibility = vis }
105105
106106 @SettingEditorDsl
107- fun hide () =
108- settings.forEach { it.hidden = true }
107+ fun hide () {
108+ c.settings.removeAll(settings)
109+ }
109110
110111 @SettingEditorDsl
111112 fun groups (vararg groups : NamedEnum ) =
@@ -118,8 +119,8 @@ abstract class SettingGroup(val c: Configurable) {
118119
119120 open class TypedEditBuilder <T : Any >(
120121 override val settings : Collection <AbstractSetting <T >>,
121- val c : Configurable
122- ) : BasicEditBuilder(settings) {
122+ c : Configurable
123+ ) : BasicEditBuilder(c, settings) {
123124 @SettingEditorDsl
124125 fun defaultValue (value : T ) =
125126 settings.forEach {
0 commit comments