マスク

コンポーネントマスクとその機能の説明

コンポーネントマスクの紹介

コンポーネントマスクは、サブシステムコンポーネントブロック上に重ねることができるオブジェクトであり、サブシステム内の個々のコンポーネントとのやり取りを可能にします。これは通常、サブシステム内のコンポーネントに対応する特定のプロパティとハンドラを定義することで実現されます。コンポーネントマスクに定義されたマスクプロパティの値を変更したり、ハンドラを呼び出したりすることで、サブシステム内の内部回路図やコンポーネントプロパティ値を簡単に変更できます。

機能的には、コンポーネントマスクはサブシステムコンポーネントに新しいサブシステムレベルの名前空間を導入します。つまり、マスク上に新しいプロパティ値を作成でき、それらはサブシステムの名前空間の一部となり、内部コンポーネントからアクセスできるようになります。さらに、ハンドラーを使用して内部コンポーネントのプロパティを操作することもできます。

スケマティックエディタ内のサブシステムベースのコンポーネントはすべてマスクできます。コンポーネントの状態に応じて、マスクエディタツールを使用してコンポーネントのマスクを編集できます。

  • ロック – マスクを開いたり編集したりすることはできません。
  • リンク済み - マスクは開くことができますが、編集することはできません。
  • リンクなし - マスクを開いて編集できます。

マスクエディター

マスクは、サブシステムベースのコンポーネントを右クリックし、 「マスク」サブメニューに移動して「マスクエディター」アクションをクリック(またはキーボードショートカットCtrl + Mをクリック)することで作成できます。マスクエディターは3つのタブで構成されており、各タブでマスクのさまざまな機能を定義できます。これらのタブは以下のとおりです。

  • ビルダー タブ- マスクのプロパティと、マスク ダイアログで入力として使用するウィジェット タイプを定義します。
  • ハンドラー タブ- マスクとプロパティ ハンドラーを定義します。
  • 要件タブ- ツールボックスなどのマスクされたコンポーネントの可用性の要件を指定します。

さらに、マスク エディターには、ウィンドウの左下に 2 つの追加オプションがあります (図 1を参照)。

  • マスク解除- マスクとそのすべてのプロパティとハンドラーを削除します
  • プレビュー- コンポーネントのユーザーに表示されるマスク ダイアログを表示するウィンドウを開きます (コンポーネントをダブルクリックした場合など)。

ビルダータブ

ビルダータブを図 1に示します。

1.ビルダータブ

赤い枠で囲まれた番号付きの領域は次のとおりです。

  1. プロパティウィジェット
  2. レイアウトウィジェット
  3. 設定
  4. ハンドラー リンク- タブを自動的に変更し、クリックした特定のハンドラーを表示するショートカット。
  5. マスク ダイアログ領域- エディターのメインのインタラクティブ領域。プレビューとマスク構築キャンバスの両方として機能します。
  6. プロパティ属性

プロパティウィジェット

プロパティウィジェットは、コンポーネントのユーザーがコンポーネントマスクに値を入力するための様々なメソッドを定義します。これらのウィジェットは、サブシステム名前空間に含まれるプロパティを定義します。利用可能なプロパティウィジェットは以下のとおりです。

  • 編集ボックス
    • マスク ユーザーがプロパティに任意の値を入力できるようにします。
    • 評価プロパティ属性がマークされている場合、値文字列は選択されたType属性に従って評価され、入力の検証として機能します。
  • ボタン
    • クリックするとbutton_clickedハンドラー コードを実行するボタン。
  • コンボボックス
    • 「コンボ値」属性で設定された定義済みリストから 1 つの値を選択できます。
  • チェックボックス
    • チェック状態に応じてブール値 (True/False) を生成するボックス。
  • ファイル選択
    • マスクユーザーが対象ファイルを選択できるボタンです。想定されるファイル拡張子は「ファイル拡張子」ボックスで設定し、各エントリは*.ext形式である必要があります。ファイル選択ダイアログの開始フォルダは、「デフォルトパス」ウィジェット属性で定義されます。
  • シグナルセレクター
    • マスク ユーザーが回路図内のすべての表示されている信号の中から 1 つの信号を選択できるダイアログを開きます。
  • 信号アクセス
    • サブシステム内の信号の外部コンポーネントの可視性を制御します。マスク内ではウィジェットのインスタンスは1つだけ使用できます。使用可能なオプションは以下のとおりです。
      • パブリック- 制限は適用されません。
      • 保護- 信号を非表示にします。
      • 継承- 親コンポーネントで定義されたルールを適用します。

レイアウトウィジェット

レイアウトウィジェットは、マスクダイアログの構成を支援するユーザーインターフェースウィジェットです。名前空間内のプロパティは定義しません。

  • セクション
    • プロパティ ウィジェットの周囲に折りたたみ可能なボックスを定義して整理するために使用されるタイトル付きのセクション。
    • 1 行に単独でのみ存在でき、セクションに含まれる最初のプロパティ ウィジェットと最後のプロパティ ウィジェットを定義するウィジェットのペアで構成されます。
  • 空のウィジェット

設定

この領域では、現在開いているマスク エディターダイアログの設定を定義します。

  • 視点の選択
  • ウィジェットのツールチップを表示
  • 非表示のウィジェットを非表示にする
    • ビルダーで非表示のウィジェットを非表示にします。ウィジェットを追加または移動する前にこの設定をオフにして、最終的なウィジェットの位置が期待どおりになることを確認してください。
  • ウィジェットのアウトラインを非表示にする
    • ウィジェットの境界を示すアウトラインを非表示にします。
  • initと変更されたハンドラを実行する
    • チェックを入れると、エディターで「OK」をクリックした際に、マスク初期化ハンドラーとプロパティ値変更ハンドラーが実行されます。これは、ライブラリエクスプローラーからコンポーネントを追加する際の動作を模倣します。

ダイアログ領域をマスク

マスクダイアログ領域は、マスク作成のためのメインキャンバスです。このプロセスは非常にインタラクティブで、プロパティウィジェットレイアウトウィジェットをドラッグアンドドロップしたり、既に配置されているウィジェットを移動したり、別のタブに移動したり、タブ自体を移動して順序を変更したりできます。プロパティ属性パネルで行った変更はプロパティの表示に影響し、マスクダイアログ領域にも即座に反映されます。プロパティラベル、単位、タブ名のテキストは、ダブルクリックすることでインライン編集できます。操作は簡単に元に戻す( Ctrl + Z )とやり直す( Ctrl + Y )ことができます。

プロパティ属性

使用可能なプロパティ属性は次のとおりです。

  • 選択されたプロパティ
    • 現在選択されているプロパティ ウィジェットを表示し、新しいウィジェットを選択できるようにします。
  • 注文の変更
    • プロパティリスト内のプロパティの位置を表示し、変更できます。これは、ウィジェットが属するグループタブ内の位置に影響します。
  • 基本属性
    • 名前
      • 内部サブシステム コンポーネントからアクセスできるプロパティの識別子。
    • ラベル
      • コンポーネント ダイアログ内のプロパティを説明するテキスト キュー。
    • ウィジェットの種類
      • プロパティ値の入力方法として機能するウィジェット タイプ。
  • 値属性
    • タイプ
      • マスクユーザーが入力すると予想される値のタイプ。
    • 最小
      • 数値型プロパティに許容される最小値。
    • 最大
      • 数値型プロパティに許容される最大値。
    • 評価する
      • チェックを入れると、編集ウィジェットのテキスト入力は選択された値の型に従って評価されます。チェックを外すと、値は入力された文字列になります。
    • シリアル化可能
      • チェックを入れると、プロパティはシリアル化されたJSONモデルに含まれます。チェックを入れない場合は、シリアル化プロセス中にスキップされます。
    • ユニット
      • プロパティの単位を示すラベル。コンパイルには影響しません。
  • 視覚的属性
    • 有効
      • マスク ユーザーがプロパティ ウィジェットを操作できないようにするには、このボックスのチェックを外します。
    • 見える
      • このボックスのチェックを外すと、マスク ダイアログ レイアウト内のウィジェットが非表示になります。
    • キープライン
      • このボックスをオンにすると、プロパティ ウィジェットがグループ タブ レイアウト内の前のウィジェットと同じ行に再配置されます。
    • 説明
      • プロパティの説明。マスクダイアログでプロパティウィジェットにマウスを移動したときにツールチップに表示されます。
  • コンテキストベースの属性
    • コンテクスト
    • 必要とする
      • 選択したコンテキストでプロパティを使用できるようにするために満たす必要がある条件を定義します
      • 例えば、特定のツールボックスを要求するには、 「tb_toolboxname 」と入力します。複数の要求は、論理演算子「 and」を使用して組み合わせることができます(例: tb_toolboxname and tb_othertoolboxname )。
    • サポートされていません
      • 選択したコンテキストでプロパティがサポートされていないことを示すには、これをチェックします。
      • デフォルトまたは許可された値以外の値を指定すると、コンパイルが失敗します。
    • 見えない
      • 選択したコンテキスト内のプロパティを非表示にするには、これをチェックします。
    • 無視された
      • 選択したコンテキストに対してこのボックスをオンにすると、コンパイル プロセス中にプロパティとその値は無視されます。
    • 許容値
      • サポートされていないプロパティがコンパイルを通過できるようにする値のセット。
  • ウィジェット固有の属性
    • ボタンテキスト(ボタン)
      • ボタン内に表示されるテキスト。プロパティのデフォルト値として保存されます。
    • コンボ値(コンボボックス)
      • コンボ ボックスのオプションとして表示する必要がある値のリスト (1 行に 1 つずつ)。
    • ファイル拡張子(ファイル選択)
      • ファイル選択ダイアログで受け入れられるファイル拡張子。
      • 各拡張子は新しい行に追加し、 *.ext形式にする必要があります。
    • デフォルトパス(ファイル選択)
      • ファイル選択時の開始フォルダ。表示されるパスはモデルファイルフォルダからの相対パスです。

ハンドラータブ

ハンドラータブを図 2に示します。

2ハンドラータブ

番号が付けられたエリアの説明は次のとおりです。

  1. コンテナリスト
    • コンテナ(プロパティまたはマスクのいずれか)を左クリックすると、そのハンドラーが表示されます。リスト内のプロパティエントリをコードエディターにドラッグ&ドロップすると、プロパティハンドルのゲッターコードスニペットを簡単に追加できます。右クリックすると、他のコードスニペットのオプションと、ビルダータブのプロパティへのクイックリンクが表示されます。
  2. ハンドラー名リスト
    • 選択したコンテナで利用可能なハンドラーのリストを表示します(マスクハンドラープロパティハンドラーを参照)。ハンドラーの1つを選択すると、コードエディターにそのコードが表示されます。
  3. コードエディター
    • このテキストエリアにハンドラーのコードを記述します。コンテナリストまたはコード名前空間アウトラインツリーから、コードエディターに項目をドラッグアンドドロップできます。
  4. コード名前空間アウトラインツリー
    • このツリーには、現在のハンドラーコードで定義されている変数と関数が表示され、クリックするとその行にジャンプできます。プロパティハンドラーの場合は、初期化ハンドラーで定義されている関数も表示されます。ツリー内の関数名をコードエディターにドラッグすると、必要なパラメータを含む関数呼び出しのコードスニペットを挿入できます。

要件タブ

要件は一連の条件であり、Falseと評価された場合、ライブラリエクスプローラーにおけるコンポーネントの表示、またはコンポーネントを含むモデルのコンパイルに影響します。要件は「and」論理演算子で組み合わせることができます(図3を参照)。

3要件タブ