フォームプロパティ
カラースキーム
配色プロパティは、macOS でのみ適用されます。
このプロパティは、フォームのカラースキームを定義します。 このプロパティが設定されていない場合のデフォルトでは、カラースキームの値は 継承済み です (フォームは アプリケーションレベル で定義されたカラースキームを使用します)。 これは、フォームに対して以下の 2つのオプションのいずれかに変更することができます:
- dark - 暗い背景に明るいテキスト
- light - 明るい背景に暗いテキスト
定義されたカラースキームを CSS で上書きすることはできません。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| colorScheme | string | "dark", "light" | 
CSS
このプロパティは、フォーム用に特定の CSSファイルを読み込むことを可能にします。
フォームレベルで定義された CSSファイルは、デフォルトのスタイルシートをオーバーライドします。 詳細については スタイルシート を参照ください。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| css | string または collection | CSSファイルパス: | 
フォームクラス
フォームに割り当てる既存のユーザークラス の名前。 ユーザークラスはホストプロジェクトのものでもコンポーネント のものでも使用可能です。後者の場合は正式なシンタックスは"componentNameSpace.className" となります。
フォームにクラスを割り当てることで、以下のような利点があります:
- フォームエディター を使用する際、割り当てられたクラスは式 をサポートするプロパティリスト の全てのエリア(例: 変数または式、フォントカラー式...)において、Form.myPropertyのような式に対する正確なシンタックスチェックを行うのに使用されます。 エラーは赤、警告は黄色で、プロパティリストの左カラムに表示され、ホバーすることで説明を受けることができます:
- 
コンパイラー による、フォームオブジェクトの式内でのコードのエラー検知は改善されました。 
- 
またコードエディター内での自動補完機能 を利用することもできます。 
- 
フォームが実行されると、4D は自動的にユーザークラスのオブジェクトをフォームに対してインスタンス化し、これは Formオブジェクトによって返されます。 これにより、DIALOG、Print form、FORM LOADあるいはPRINT SELECTIONといったコマンドにformData オブジェクトを渡さなくても、コードからFormコマンドを通してユーザークラスで定義されたクラス関数へと直接アクセスすることができます(例:Form.message()) 。
この新機能の説明に関しては、こちらのblog 記事 を参照してください。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| formClass | string | 既存のユーザークラスの名前("className" または "componentNameSpace.className") | 
フォーム名
このプロパティはフォームそのものの名称で、4Dランゲージで名前によってフォームを参照するのに使用されます。 フォーム名は、4Dの 識別子の命名規則 に準じたものでなければなりません。
JSON 文法
フォーム名は、form.4Dform ファイルを格納するフォルダーの名前で定義されます。 詳しくは プロジェクトのアーキテクチャー を参照ください。
フォームタイプ
フォームのタイプ、つまり その出力先によって、当該フォームで利用できる機能が定義されます。 たとえば、マーカー はリスト (出力) テーブルフォームでのみ設定できます。
データベースの各テーブルは通常、少なくとも 2つのテーブルフォームを持ちます。 1つは画面上にレコードを一覧表示するためのもので、もう 1つはレコードを 1件ずつ表示するためのものです (データ入力や修正に使用):
- 
出力フォーム - 出力フォーム (または リストフォーム) は、レコードのリストを、1レコードにつき 1行で表示します。 クエリの結果は出力フォームに表示され、ユーザーが行をダブルクリックすると、そのレコード用に入力フォームが表示されます。 
- 
入力フォーム - データ入力に使用されます。 1つの画面に 1件のレコードが表示され、一般的には、レコードの編集を保存・キャンセルするためのボタンや、レコード間を移動するためのボタン (先頭レコード、最終レコード、前レコード、次レコード等) を備えています。 
サポートされるタイプは、フォームのカテゴリーによって異なります:
| フォームタイプ | JSON 文法 | 説明 | サポートされているフォーム | 
|---|---|---|---|
| 詳細フォーム | detailScreen | データ入力・修正用の表示フォーム | プロジェクトフォームとテーブルフォーム | 
| 印刷用詳細フォーム | detailPrinter | 1ページにつき 1レコードの印刷レポート (請求書など) | プロジェクトフォームとテーブルフォーム | 
| リストフォーム | listScreen | レコードを画面上に一覧表示するフォーム | テーブルフォーム | 
| 印刷用リストフォーム | listPrinter | レコード一覧の印刷レポート | テーブルフォーム | 
| なし | no destination | 特定の機能を持たないフォーム | プロジェクトフォームとテーブルフォーム | 
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| destination | string | "detailScreen", "listScreen", "detailPrinter", "listPrinter" | 
継承されたフォーム名
このプロパティは、現在のフォームに 継承するフォーム を指定します。
テーブルフォームを継承する場合は、継承されたフォームテーブル プロパティにテーブルを設定します。
継承を解除するには、プロパティリストで \<なし> を選択します (JSON では " ")。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| inheritedForm | string | テーブルまたはプロジェクトフォームの名前, フォームを定義する .json ファイルへの POSIXパス, またはフォームを定義するオブジェクト | 
継承されたフォームテーブル
このプロパティは、現在のフォームに 継承するテーブルフォーム が属するデータベーステーブルを指定します。
プロジェクトフォームを継承する場合は、プロパティリストで \<なし> を選択します (JSON では " ")。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| inheritedFormTable | string または number | テーブル名またはテーブル番号 | 
Pages
各フォームは、少なくとも 2つのページで構成されています:
- ページ0 (背景ページ)
- ページ1 (メインページ)
詳細については フォームのページ を参照ください。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| pages | collection | ページのコレクション (各ページはオブジェクトで、ページ0 は最初の要素です) | 
サブフォームとして公開
コンポーネントフォームをホストアプリケーションの サブフォーム として選択するには、明示的に共有されている必要があります。 このプロパティが選択されていると、フォームがホストアプリケーションで公開されます。
公開されたサブフォームとして指定できるのは、プロジェクトフォームのみです。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| shared | boolean | true, false | 
配置を記憶
このオプションがチェックされていると、Open form window コマンドに * 演算子を渡して開かれたウィンドウが閉じられるとき、そのフォームの特定のプロパティ値については、それらがセッション中に変更された場合、4D によって自動的に保存されます:
- カレントページ
- それぞれのフォームオブジェクトの配置・大きさ・表示状態 (リストボックス列のサイズと表示状態も含む)。
このオプションは、
OBJECT DUPLICATEコマンドを使用して作成されたオブジェクトに対しては無効です。 このコマンドを使用したときに使用環境を復元させるには、デベロッパーがオブジェクトの作成・定義・配置の手順を再現しなければなりません。
このオプションが選択されているとき、一部のオブジェクトに置いては 値を記憶 のオプションが選択可能になります。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| memorizeGeometry | boolean | true, false | 
参照
ウィンドウタイトル
ウィンドウタイトルは、アプリケーションモードで Open window や Open form window コマンドを用いてフォームを開く際に使用されます。  ウィンドウタイトルはウィンドウのタイトルバーに表示されます。
動的参照を使用して、フォームのウィンドウタイトルを定義することもできます:
- Resourcesフォルダーに保存された、標準の XLIFF参照
- テーブル/フィールドラベル: 適用できるシンタックスは <?[TableNum]FieldNum>または<?[TableName]FieldName>です。
- 変数またはフィールド: 適用できるシンタックスは \<VariableName>または\<[TableName]FieldName>。 フィールドや変数の現在の値がウィンドウタイトルとして表示されます。
ウィンドウタイトルの最大文字数は 31 です。
JSON 文法
| 名称 | データタイプ | とりうる値 | 
|---|---|---|
| windowTitle | string | テキストまたは参照としてのウィンドウ名 |