NarraLeaf

Button

ブループリントが属するボタンのラベル、ポインタ、操作状態の読み書き

nl.buttonの Self ノード群です。各ノードは自身のブループリントが属するボタンに対して作用し、Element入力を取らず、そのボタン自身のブループリントにのみ現れます。別のボタンを操作するには、Elementにある対応するノードを使ってください。

規約

  • 読み取りは純粋、書き込みは latent です。 このページのGetノードはすべてPureであり、eventfunctionmacroのいずれのグラフでも使用できます。SetノードはすべてLatentであり、eventmacroでのみ使用できます——書き込みはホストを経由して非同期に解決され、functionグラフは呼び出し元へ同期的に戻るため、保留中の結果を置く場所がありません。
  • 何も変えない書き込みは何もしません。 ホストは入力された値を現在の値と比較し、一致すれば早期に処理を終えます。そのため再描画はキューされず、On Flushも発火しません。
  • ブール入力は現在の値にフォールバックします。 enabledvisibleはカード上のリテラルを受け付けません。何も配線されていない場合、または配線先がnullに解決される場合、プロパティはそのまま維持されます。配線されたブール以外の値は、文字列"true"または"1"である場合に限り真として扱われます。
  • 外観はDisplayableが担います。 ジオメトリ、不透明度、外観バリアントはすべてのウィジェットについてそちらで設定するものであり、ここでは設定しません。
  • このページの2つのノードはパレットに存在しません。 Get VariantSet Variantは Displayable のバリアントノードに取って代わられ、非表示になっています。ここに記載しているのは、切り替え以前に作成されたブループリントが今もこれらを保持し、今も実行できるためであり、新規に追加できるからではありません。
  • これらはいずれも Blueprint Value の内部では実行できません。 Getノードは純粋ですが、Blueprint Value はwidgetValueオーナー上で評価され、このページのすべてのノードはボタンのメインブループリントにスコープされています。Blueprint Value の内部からこのボタンを読み取るには、それを指すElementリテラルを配置し、Element カテゴリの読み取りノードを使ってください。props.label自体が Blueprint Value によって駆動できるプロパティです。

Set Label

blueprint.button.setLabel · Latent

Set Label(ラベルの設定)はボタンのテキストを書き込みます。何も配線されておらずカードのフィールドも空のままの場合、空文字列を書き込みます——ラベルをそのままにするのではなく、空にします。

ピン方向備考
inin · exec
nextout · exec
labelin · datastringカード上のリテラルを受け付けます。

Get Label

blueprint.button.getLabel · Pure

Get Label(ラベルの取得)は保存されているprops.labelを読み取ります。

ピン方向備考
labelout · datastring

Blueprint Value がprops.labelを駆動している場合、それはレンダリング時にのみ保存値を上書きします。Set Labelは引き続き保存値へ書き込み、Get Labelも引き続きそれを返すため、この2つのノードはプレイヤーには見えていない値に対して動作し続けます。

Set Pointer

blueprint.button.setPointer · Latent

Set Pointer(ポインタの設定)はボタンの既定のマウスポインタを設定します——Appearance インスペクタの Mouse セクションが書き込むのと同じフィールドです。対応するGet Pointerは存在しません。

ピン方向備考
inin · exec
nextout · exec

カード上のフィールド

フィールド内容
cursorautodefaultpointertextmovegrabgrabbingcrosshairhelpwaitprogressnot-allowedのいずれか。

autoは形状として保存されるのではなく、実行時に解決されます——ボタンがクリックを発生させられるときはpointer、できないときはdefaultになります。enabledが false のボタンは、ここで何を設定していてもnot-allowedを表示するため、無効化されたボタンへのポインタ変更は、再び有効化するまで見えるようになりません。

Set Enabled

blueprint.button.setEnabled · Latent

Set Enabled(有効化の設定)は、falseを渡すと操作を無効化します。ボタンは描画とレイアウトを維持したまま、クリックを受け付けなくなり、not-allowedポインタに切り替わります。

ピン方向備考
inin · exec
nextout · exec
enabledin · databoolean

Get Enabled

blueprint.button.getEnabled · Pure

Get Enabled(有効状態の取得)

ピン方向備考
enabledout · databoolean

Set Visible

blueprint.button.setVisible · Latent

Set Visible(表示状態の設定)

ピン方向備考
inin · exec
nextout · exec
visiblein · databoolean

visibleに false を渡すと、ボタンとそのサブツリーがランタイムの要素ツリーから取り除かれます——これは CSS による非表示ではありません。ウィジェットはアンマウントされ、このブループリントは停止し、戻ってきたときにInitが再び実行されます。そのため、隠れたボタンは自分自身を再表示できません——別の何かがそれに対してSet Element Visibleを呼び出す必要があります。非表示のままマウントしておきたい場合は、Displayable のSet Displayを使ってください。

Get Visible

blueprint.button.getVisible · Pure

Get Visible(表示状態の取得)

ピン方向備考
visibleout · databoolean

Set Variant

blueprint.button.setVariant · Latent

Set Variant(バリアントの設定)はパレットから非表示になっており——このノードを追加することはできません。カード上で名前によりバリアントを選び、バリアントを持つすべてのウィジェットをカバーする Displayable のSet Variantに取って代わられました。それでも実行は可能であるため、切り替え以前に作成されたブループリントは動作し続けます。

ピン方向備考
inin · exec
nextout · exec

バリアント id は、旧いドキュメントがノード上に保存していたvariantId入力から得られます。現在の定義にはそのようなピンは存在しないため、新しく配置したカードには設定できるものが何もありません。ボタンが所有していない id を渡すとグラフ実行エラーになります。空の id は既定のバリアントへリセットします。

Get Variant

blueprint.button.getVariant · Pure

Get Variant(バリアントの取得)も同じ理由でパレットから非表示になっており、サポートされる代替も存在しません——Displayable のGet Variantも同様に非表示であり、これが出力するバリアント UUID は内部の永続化用の値にすぎず、新しいブループリントの中でそれを消費するものは何もありません。

ピン方向備考
variantIdout · datastringボタンが既定のバリアントである間は空。

このページの目次