choose-color-string (プロシージャ)
public {choose-color-string
title:String = {hlmessage Color Chooser},
prompt:String = "",
initial-color:String = "white",
update-proc:#{proc-type {color:String, commit?:bool}:void } = null,
color-choices:#StringArray = choose-color-string-defaults,
columns:int = 0,
can-choose-null?:bool = false,
can-choose-alpha?:bool = false
}:#String
パッケージ: CURL.GUI.EXTRAS

[色選択] ダイアログを表示します。

title: ダイアログのタイトル バーに表示される文字列。
prompt: ダイアログ内に表示される文字列。
initial-color:
選択した初期色。
can-choose-null?true の場合、String "null" になります。
update-proc: このプロシージャが提供されると、[OK]ボタンの左に[適用]ボタンがダイアログに追加されます。

update-proc は、RGB 色値を示すテキスト フィールドを更新すると、現在の色文字列および commit? = false を渡し、ダイアログにより呼びだされます。ユーザが[OK]ボタンまたは[適用]ボタンをクリックすると、commit? = true と共にプロシージャは呼び出されます。[OK]の場合、ダイアログは終了し、更新プロシージャに渡された色文字列と同様の色文字列を返します。

can-choose-null?true であり、ユーザーの選択が null の時は、color "null"文字列になります。
color-choices: null でなく、StringArray が空でない場合、色選択リストから一色を選択できる、カラー パレット チューザー タブが表示します。choose-color-string-defaults により既定設定されます。

リスト要素は、Color.from-string#factory で指定されている、色を表す String でなければなりません。

リストで指定されている色は、表記されている順序どおりに、ダイアログ内の見本として表示します。
columns: カラー パレット チューザーの列数を決定します。ゼロ以下の場合、列数は自動的に決定されます。
can-choose-null?:
プロシージャが色に null 値を選択できるかどうかを決定します。
既定では、false になります。
can-choose-alpha?:
プロシージャが色にアルファ値を選択できるかどうかを決定します。
既定では false になります。

戻り値

次のいずれかになります。

プログラミング注意事項

以下は [色選択] ダイアログの例です。



{import * from CURL.GUI.EXTRAS}
{Frame 
    valign = "center", margin = 4pt,
    border-width = 1px, border-style = "sunken",
    background = "yellow",
    "Click to Choose Color",
    {on PointerRelease at f:Frame do
        {if-non-null fp:FillPattern = 
            {choose-color-string 
                prompt = "Select a color for the example:",
                initial-color = "white"
            }
         then
            set f.background = fp
        }
    }
}