From e0547ea7784dcb06ee8be8ae4b35cbc179fbf60f Mon Sep 17 00:00:00 2001 From: Nat Quayle Nelson Date: Fri, 12 May 2023 11:40:03 -0600 Subject: [PATCH] SimpleWindow.promptForString --- src/kiss_flixel/SimpleWindow.kiss | 50 +++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 13 deletions(-) diff --git a/src/kiss_flixel/SimpleWindow.kiss b/src/kiss_flixel/SimpleWindow.kiss index def7bb3..6a233f9 100644 --- a/src/kiss_flixel/SimpleWindow.kiss +++ b/src/kiss_flixel/SimpleWindow.kiss @@ -302,19 +302,19 @@ (inputTexts.forEach ->text (set text.hasFocus false)))))) (function :SimpleWindow promptForChoice <>[T] [:String prompt - :Array choices - :T->Void onChoice - &opt :FlxColor bgColor - :FlxColor titleColor - :FlxColor choiceColor - :Float percentWidth - :Float percentHeight - :Bool xButton - :String xKey - :String leftKey - :String rightKey - :ShortcutAction onClose - :Bool noShortcuts] + :Array choices + :T->Void onChoice + &opt :FlxColor bgColor + :FlxColor titleColor + :FlxColor choiceColor + :Float percentWidth + :Float percentHeight + :Bool xButton + :String xKey + :String leftKey + :String rightKey + :ShortcutAction onClose + :Bool noShortcuts] (let [window (new SimpleWindow prompt bgColor titleColor percentWidth percentHeight xButton xKey leftKey rightKey onClose) choiceColor (or choiceColor titleColor FlxColor.WHITE)] (doFor choice choices @@ -327,6 +327,30 @@ (window.show) window)) +(function :SimpleWindow promptForString [:String prompt + :String->Void onChoice + &opt :FlxColor bgColor + :FlxColor titleColor + :FlxColor submitColor + :Float percentWidth + :Float percentHeight + :Bool xButton + :String xKey + :String leftKey + :String rightKey + :ShortcutAction onClose] + (let [window (new SimpleWindow prompt bgColor titleColor percentWidth percentHeight xButton xKey leftKey rightKey onClose) + buttonColor (or submitColor FlxColor.WHITE) + inputText (new KissInputText 0 0 FlxG.width "" textSize true)] + (window.addControl inputText) + (window.makeText "{enter} Submit" buttonColor + ->:Void s { + (window.hide) + (onChoice inputText.text) + }) + (window.show) + window)) + (method scrollLeft [] (when (> cameraColumn 0) (-= cameraColumn 1)