メインメニューと上部メニュー

<< Click to Display Table of Contents >>

トレーニング(PA-Panel) > エンジニアリングガイド > DCSサンプル解説 > フレーム構造と画面呼び出し >

メインメニューと上部メニュー

メインメニューについて

デフォルトで画面左側に表示されているメニューエリアには、各機能やグラフィック画面の呼び出しボタンが表示されています。この部分のことを「メインメニュー」と称します。

 

pap_0203

 

メインメニューの実体は、PA-Client.xml内に実装されている「UserMenu」フォームです。新たなグラフィック画面を追加した場合に呼び出しボタンを追加したい場合は、このフォームに対して処理を追加します。

 

 

上部メニューについて

メインメニューとは別に、画面上部には以下のようなメニューが表示されています。この部分のメニュー表示のことを、「上部メニュー」と称します。

 

pap_0210

 

 

上部メニューの表示アイテムの定義やアイテム選択時の実行ロジックは、「メニューコントロール」によって実装されています。ログインしたユーザーレベルに応じた表示内容の切り替えなどのロジックも、メニューコントロール内のスクリプトに実装されています。

 

上部メニューのメニューコントロールの実体は、PA-Client側のフォーム「UserLogic」上に配置されている以下のコントロール「MainMenu」です。UserLogicフォームは、フォーム自身のHiddenFormプロパティにTrueが設定されているため、システムが実行されている間、常にバックグラウンドに存在し続けるフォームとして開かれます。

 

pap_0211

 

上部メニューのカスタマイズ(メニューアイテムの追加や文字変更、呼び出し画面の変更など)を行う場合には、上画像のメニューロジックコントロールに実装されているスクリプトを編集してください。

 

■メニューコントロールのスクリプト例(抜粋)

event OnMenu(msg)
{
	・・・
	switch (msg)
	{
		case "ALARM_SUMMARY":
			::CORE.gOpenForm("_AlarmSummary._Main");
			break;
		case "ALARM_HISTORY":
			::CORE.gOpenForm("_AlarmHistory._Main");
			break;
		case "EVENT_HISTORY":
			::CORE.gOpenForm("_EventHistory._Main");
			break;
		・・・
	}
	・・・
}

 

 

メインメニューからの画面呼び出しの実装方法(画面呼び出しボタン部品)

UserMenuフォーム上には、フレームワークの画面呼び出し専用に作りこまれたボタン部品が配置されています。メニューからの新たな画面呼び出し処理を追加する場合は、画面上に配置されている他のボタンをコピーして利用するのが最も簡単な方法です。

 

 

hint

新たなグラフィック画面を追加した場合は、かならず、フォーム一覧マスタCSV(graphic_list.csv)にフォームID等の情報を追加してください。gOpenForm関数の引数には、フォーム一覧マスタCSVに追加したフォームIDを渡してください。フォーム一覧マスタCSVに関する詳細は、「手順1-7)グラフィック画面作成」を参照してください。

 

 

■サブメニューを使用しない場合(単体の画面呼び出し処理)

 

サブメニューを持たない画面呼び出しの場合、たとえば「アラームサマリ」呼び出しボタンをコピーして利用することができます。

 

pap_0204

 

ボタンをコピーしてフォーム上に配置し、ボタンのプロパティを編集します。

 

pap_0205

 

_FormId に、ボタンクリックによって表示したいフォームのフォーム名を指定します。

_SubFormはブランクとします。

 

pap_0206

 

ImageFileプロパティを設定すると、ボタンにアイコン画像を表示することができます。

 

以上の設定を行うだけでボタンのクリックにより画面が呼び出されるようになります。スクリプトを編集する必要は特にありません。

 

 

hint

サンプルの画面呼び出しボタンのImageFileプロパティに設定されているアイコン画像のうち、先頭が「sys:」で始まるアイコンファイル群は、PA-Panelにあらかじめ用意されている画像です(システム内部に内蔵されています)。これらのアイコンは、画像データの実ファイルの存在を意識することなく使用することができます。

「sys:」のアイコン画像に関する詳細については、「システムリソース」を参照してください。

尚、Iconパラメータに設定可能なアイコン画像は、ユーザー独自の画像ファイルを指定する事もできます(ipeg, gif, png)。

 

 

■サブメニューを使用する場合

 

サブメニューを持つボタンを作成したい場合、「シンボル集」の呼び出しボタンを参考にしてください。

 

pap_0207

 

上画像のボタンのカスタムプロパティは以下のように設定されています。

 

pap_0208

 

_FormId はブランクとします。

_SubFormに、ボタンクリックによって表示するサブフォームのフォーム名を指定します。

 

ここで設定されているMenu_graphic1フォームは以下のようなフォームです。この設定により、ボタンをクリックすると当該フォームがボタンの横にポップアップ表示され、サブメニューとなります。

 

pap_0209

 

このようなフォームを手動で追加して(あるいは、Menu_graphic1フォームをコピーして)、フォーム上にボタン部品を配置して画面を呼び出すように設定してください。また、ボタンの数などによりフォームのサイズは任意に設定してください。

 

 

上部メニューからの画面呼び出し/独自処理からの画面呼び出し方法

上部メニューのスクリプトからのフォーム呼び出し処理の実装には、必ず、COREロジックのgOpenForm関数を使用するようにしてください。

 

画面呼び出しのスクリプトとしては、以下のようなコードを記述してください。

 

■フォーム呼び出しスクリプト(OnMouseUpイベントの例)

event OnMouseUp(button)
{
	::CORE.gOpenForm("GraphicSymbol_Sample1");
}

 

尚、UserMenuフォームの画面呼び出しボタンを使用せずに独自のボタンなどでフォームの呼び出し処理を構築する場合も、上スクリプトと同様の方法で画面の呼び出しを行ってください。