CallOptions は、特定の
Panel オブジェクトの呼び出しにおいて、トランジション、動作、および位置を実行時に指定するために使用されます。
このタイプによって、呼び出しが行われたときにコールスタックにどのような影響が生じるかが制御されます。また、パネルの呼び出しを行うイベントの実行がどうなるかも定義されます。
既定の動作は次のとおりです:
呼び出されているパネルが表示され、呼び出しスタックにとどまり、呼び出し側はイベントの実行を継続するために、パネルが戻るのを待ちます。
コールタイプを使用して、パネルをポップアップとして呼び出したり、コンテキスト (コールアウト) でパネルを呼び出したり、スタック内の現在のパネルと置き換えて呼び出したりすることができます。
これを行うには、CallOptions オブジェクトの [ Type ] プロパティを設定する必要があります。このプロパティの値は、
CallType という
列挙型ドメインで定義されます。
値:
- Push
- Replace
- Popup
- Callout
実行時に既定の動作を変更する構文は次のとおりです:
<オブジェクト名>.CallOptions.Type = CallType.<コールタイプ名>
既定の動作です。呼び出されたパネルは呼び出し元と同じ場所に表示されます。呼び出し元は待機状態で実行を継続します。
呼び出されたパネルによって、コールスタック内の呼び出し元が置き換えられます。この方法はメモリー空間の節約になります。つまり、この呼び出しタイプを使用してパネルを呼び出すと、(イベントを実行しているパネルがスタックから削除されるため) 現在のイベントの実行が終了します。このタイプの呼び出しは、呼び出し元のイベントの最終行である必要があります。
ポップアップのサイズは、CallOptions の次のパラメーターで変更できます (これらのパラメーターは、タイプが Popup または Callout の場合にのみ適用されます):
<オブジェクト名>.CallOptions.TargetSize = CallTargetSize.<パネル サイズ タイプ>
パネル サイズ タイプの値は次のとおりです:
- Default (プラットフォームの既定値)
- Small
- Medium
- Large
ターゲットの高さと幅の値を次のように設定して、カスタムサイズを定義することもできます:
CallOptions.TargetHeight = "親の高さの dip 値またはパーセント値"
CallOptions.TargetWidth = "親の幅の dip 値またはパーセント値"
注: [
Target ] プロパティは、CallType が Popup の場合は適用されません。
GeneXus 17 以降では、iOS 13 以降で iPhone を使用する際のポップアップオプションには、ターゲットサイズを Small または Medium に設定できます (ポップアップが画面全体をカバーしているわけではなく、パネルのアプリケーションバーが下から見えるようになっているので、同じように動作します)。
以前の GeneXus バージョンまたは以前の iOS バージョンでは、ポップアップは常に Large ターゲットサイズで表示され、画面全体をカバーしていました。
このコールタイプを使用すると、呼び出されたパネルインターフェース外の任意のアイテムをタッチすることで、呼び出しをキャンセルできます。パネルの呼び出しはモーダルではありません。
このコールタイプは、iPad でのみ完全にサポートされています。
Callout タイプは Android には実装されていません。Android プラットフォームの Popup オプションのような動作になります。
GeneXus 17 以降では、iPhone を使用しているときの Callout オプションは、iOS 13 以降の Small サイズのポップアップと同等です。旧バージョンの GeneXus や旧バージョンの iOS では、フルスクリーンのポップアップに相当します。