MPS 2019.2ヘルプ

アイコンの説明

アイコン記述言語は、さまざまなMPS要素(概念、アクションなど)のアイコンの記述とインスタンス化に役立ちます

言語には2つの目的があります:
1.クイックアイコンプロトタイピング用のツールを提供します(例:コンセプト用の新しいアイコンの作成)
2.アイコンを拡張可能な言語構成にする

第一印象

MPS言語定義言語でアイコンが必要な場合は、既存の.pngファイルを指す代わりに、目的のアイコンのテキスト説明を入力できます。

icon4

jetbrains.mps.lang.resourcesには2つの構造が含まれます。

  • アイコン{}は、イメージをjavax.swing.Iconクラスのインスタンスとして表します。

  • iconResource {}は、jetbrains.mps.smodel.runtime.IconResourceクラスのインスタンスを返します。

icon5

アイコンのプロトタイプを作成する

アイコンを説明するとき、アイコンの作成 インテンションから支援を受けることができます。アイコンの作成は、アイコンのテキスト説明を自動的に作成して、プロトタイプをすばやく作成する方法を提供します。

icon1

インテンションを呼び出すと、簡単なアイコン定義が作成されます。

icon2

この定義は、内部に文字「X」が付いた円形アイコンを記述しています。再生成すると、生成されたアイコンが有効になり、UIに表示されます。

icon3

言語の説明

アイコンの説明はレイヤーで構成され、各レイヤーは次のいずれかになります。

  • 原始的な図形

  • ファイルからロードされたカスタムイメージ

  • キャラクター

これらのレイヤーは、アイコンを表す単一のイメージに結合されます。これらのアイコンの説明を使用できます。

  • 言語定義言語のさまざまな場所でアイコンを指定する-概念、アクションなど、アイコンが期待される場所

  • アイコンを返すことになっているMPS UIのメソッド

言語の拡張

言語は拡張のために開かれています。新しいアイコンタイプを追加するには、新しいコンセプトを作成し、アイコンインターフェースを実装する必要があります。アイコンインターフェースは目的のアイコンを表し、makeプロセス中に.pngファイルに変換されます。

モデルを生成した後、すべてのアイコンが出力モデルから収集され、それらのgenerate()メソッドが呼び出されます。これらは、対応するアイコンによって記述されたイメージに対応する.pngファイルを作成します。アイコンリソースが要求されると(たとえば、アイコン{}構文を使用)、Icon.getResourceId()メソッドによって参照されるリソースは、対応するモジュールのクラスローダーを使用してロードされ、Java アイコンオブジェクトに変換されます。

icon {} vs iconResource {}

リソースをロードするために、リソース言語には2つの構造があります。アイコン{}javax.swing.Iconクラスのインスタンスとしてイメージをロードし、iconResource {}jetbrains.mps.smodel.runtime.IconResourceクラスのインスタンスを返します。2つ目は、javax.swingパッケージに依存しないコアMPSアスペクトで使用されます。すべてのUI関連コードはアイコン{}を使用します。

最終更新日: 2019年8月30日