From 06c0102453b214e0a872be86cdca7f307ca27324 Mon Sep 17 00:00:00 2001 From: Ricardo Matias Date: Tue, 17 Dec 2019 17:16:44 +0000 Subject: [PATCH] Add onChange listener and addPalette method to orx-palette --- orx-palette/src/main/kotlin/PaletteStudio.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/orx-palette/src/main/kotlin/PaletteStudio.kt b/orx-palette/src/main/kotlin/PaletteStudio.kt index 5caa558e..4a140e26 100644 --- a/orx-palette/src/main/kotlin/PaletteStudio.kt +++ b/orx-palette/src/main/kotlin/PaletteStudio.kt @@ -46,7 +46,6 @@ class PaletteStudio( var palettes: MutableList> = mutableListOf() var palette: Palette = defaultPalette - var randomPaletteKey = 'l' var randomizeKey = 'k' @@ -92,6 +91,8 @@ class PaletteStudio( } } + private var onChangeListener = {} + private fun loadCollection(newCollection: Collections) { val collectionPath: URL = collectionsResource.getValue(newCollection) palettes = mutableListOf() @@ -159,6 +160,17 @@ class PaletteStudio( return Palette(background, foreground, colors1, colors2) } + fun onChange(fn: () -> Unit) { + onChangeListener = fn + } + + fun add(newPalette: List) { + palette = createPalette(newPalette) + + palettes.add(newPalette) + paletteIndex = palettes.lastIndex + } + fun loadExternal(filePath: String) { palettes = mutableListOf() @@ -205,9 +217,11 @@ class PaletteStudio( if (!it.propagationCancelled) { if (it.name == "$randomPaletteKey") { randomPalette() + onChangeListener() } if (it.name == "$randomizeKey") { randomize() + onChangeListener() } } }