進捗インジケーター (または"サーモメーター")、ルーラー、ダイアルは図形を用いて値を表示するオブジェクトです。これら3 つのオブジェクトはその外観が異なるだけであり、それぞれ同じように機能します。これらのオブジェクトを4Dではインジケーターと呼びます。
インジケーターを使用して値の表示や設定を行うことができます。例えばメソッドを用いてサーモメーターに値を指定すると、その値が表示されます。ユーザがインジケーターポイントをドラッグすると、その値が変更されます。この値はフィールド、入力可オブジェクト、入力不可オブジェクト等の他のオブジェクトで使用することができます。
進捗インジケーター / ダイアル / ルーラー
4Dは3つのメインタイプのインジケーターとその派生タイプを提供します。どのタイプのインジケーターを使用するかは"インジケータータイプを決定する"を参照してください。
主タイプ : 進捗インジケーター (サーモメーター)
進捗バーはデフォルトの進捗インジケーターです。縦または横の進捗バーを表示できます。どちらになるかはフォームエディター上に描かれたオブジェクトの形により決定されます。
主タイプ : 進捗インジケーター (サーモメーター)
(MacOS)
(Windows)
このタイプの進捗インジケーターは連続したアニメーションを表示します。“バーバーショップ”サーモメーターは通常プログラムが何らかの処理を行っていて、それが終了する時間が予測できない場合、そのことをユーザーに通知するために使用します。このバリエーションが選択されると"スケール"テーマは非表示になります。
フォームが実行されたとき、オブジェクトのアニメーションは開始されません。割り当てられた変数に値を代入してアニメーションを管理します:
非0値 = アニメーション開始 0 = アニメーション停止 注: “バーバーショップ”サーモメーターはアピアランスがシステムまたは印刷に設定されている場合にのみ動作します。
主タイプ : 進捗インジケーター (サーモメーター)
この円形のインジケーターも連続したアニメーションを表示します。このタイプのオブジェクトはネットワーク接続を確立したり、計算を行う作業を実行中である時に使用します。このバリエーションが選択されると"スケール"テーマは非表示となります。
フォームが実行されたとき、アニメーションは開始されません。割り当てられた変数に値を代入してアニメーションを管理します:
非0値 = アニメーション開始 0 = アニメーション停止
主タイプ : ルーラー
ルーラーはカーソルを使用して目盛り上を移動することで値を選択する標準インターフェースオブジェクトです。割り当てられた変数の値をフィールドに代入して格納したり、逆にオブジェクトの現在値を設定することもできます。
主タイプ : ルーラー
vStep変数に割り当てられたステッパー
この標準オブジェクトを使用すると、ユーザーは矢印ボタンをクリックすることで、数値、時間、または日付を定義済みのステップ毎にスクロールすることができます。
オブジェクトに割り当てた変数の値をフィールド等に代入して値を格納したり、逆にオブジェクトの現在値を変更したりできます。
ステッパーは直接数値、時間、日付変数に割り当てることができます。
時間タイプの値では最小、最大、ステッププロパティは秒を表します。例えばステッパーを8:00から18:00まで10分のステップで設定するには以下のように設定します:最小 = 28,800 (8*60*60) 最大 = 64,800 (18*60*60) ステップ = 600 (10*60) 日付タイプの値ではステッププロパティに入力された値が日数を表します。最小と最大プロパティは無視されます。 注: ステッパーを時間や日付変数に対して動作させるためには、プロパティリストで型を設定することとおよびC_TIME またはC_DATE コマンドで明示的に宣言する必要があります。
互換性に関する注意: ダイアルフォームオブジェクトは現代的なインターフェースの要件と合致しないため、4D v17 R3 以降廃止予定となります。これらは今後使用されるべきではありません。これらはダイナミックフォーム ではサポートされません。
主タイプ: ダイアル
このタイプのインジケーターは半円形の中にデータを表示します。
ダイアル、進捗インジケーター、ルーラーはフォームエディターのオブジェクトバーの ボタンから利用できます。さらに"進捗インジケーター" (サーモメーター) と "ルーラー" オブジェクトには数種のバリエーションがあります。
進捗インジケーターの場合、プロパティリストの"表示"テーマ内、インジケータータイプ プロパティを使用してバリエーションを設定します: ルーラーの場合、プロパティリストの"表示"テーマ内、表示タイプ プロパティを使用してバリエーションを設定します: 注: これらのバリエーションは
OBJECT SET FORMAT コマンドを使用して設定することもできます。
標準の位置調整とアピアランスの設定に加えて、インジケーター固有のプロパティを他にもいくつか設定することができます。つまり最小値、最大値、目盛りの単位、インジケーター最小単位、および表示オプション等のプロパティです。 またインジケーターのラベルの表示フォーマットを定義することも可能です(表示フォーマットに関する詳細はGET LIST ITEM PARAMETER を参照)。
いくつかの固有のプロパティは、プロパティリストの"スケール"テーマで設定します:
このプロパティは進捗バー、ルーラー、数値ステッパー、およびダイアルタイプのインジケーターの場合に表示されます。またインジケータータイプにより設定可能なプロパティも異なります。以下これらの各プロパティについて説明します:
最小 と最大 : インジケーターの最小値と最大値。 数値ステッパーの場合これらの値は、時間タイプの場合秒を表し、日付タイプの場合は無視されます。 単位 : 目盛の表示単位。 ステップ : 使用時に各値の間にあけることができる最小の間隔。 数値ステッパーの場合このプロパティは、時間タイプの場合秒を、日付タイプの場合日数を表します。 ラベル位置 : ラベルが表示される際の位置。右揃え : ラベルはインジケーターの右または下に表示されます。左揃え : ラベルはインジケーターの左または上に表示されます。 ラベル : ラベルを表示/非表示にします。 目盛 : ラベルの隣に目盛を表示、または非表示にします。
フォームエディターでインジケーターオブジェクトが選択されると、プロパティリストの"アクション"テーマには"オブジェクトメソッド実行 "プロパティが追加されます。
このオプションを選択した場合、ユーザーがインジケーターの値を変更すると、On Data Change イベントが生成され、オブジェクトメソッドが実行されます。デフォルトでは、変更後にメソッドが実行されます。
インジケーターに関連付けた変数により、その表示を管理します。メソッドを用いて、この変数に値を代入したり、またはインジケーターの値を使用したりします。例えばフィールドまたは入力可オブジェクトのメソッドを使用して、サーモメーターを管理できます:
vTherm :=[Employees]Salary
このメソッドはSalaryフィールドの値をvTherm 変数に代入します。このメソッドは例えばSalaryフィールドのオブジェクトメソッドとして記述できます。
逆にインジケーターを使用してフィールドの値を管理することも可能です。ユーザーはインジケーターをドラッグして値を設定します。このメソッドは次の通りです:
[Employees]Salary :=vTherm
このメソッドはインジケーターの値をSalaryフィールドに代入します。ユーザーがインジケーターをドラッグすると、Salaryフィールドの値が変わります。