スタイル・シートは、
.css
ファイルです。
これは、URL によって参照されます。スタイル・シートは、import
ステートメントを使用して、他のスタイル・シートをロードすることができます。
スタイル・シートは、CSS レベル 2 構文に準拠するスタイル・ルールを使用して、データのグラフィック表示へのマッピングを制御します。
これは、データ・モデルのオブジェクトをグラフィック・オブジェクトに変換する方法を定義します。SDM エンジンは、Cascading
Style Sheets (CSS) を受け入れます。Cascading Style Sheets を使用して、複数レベルのカスタマイズを定義することができます。
例えば、会社全体、グループ、および個々のユーザーに異なるスタイル・シートを定義することができます。
スタイル・シートは、手作業で作成するか、あるいは、Rogue Wave JViews Diagrammer Designer を使用して作成することができます。例えば、最終的なアプリケーションがカスタム・データ・モデルをロードする場合でも、Designer を使用してダイアグラムのスタイルを定義することができます。
しなければならないのは、実際のデータと同じプロパティーを持つオブジェクトを含むサンプル XML ファイルを作成するだけです。
次に、Designer を使用して、ノードとリンクのグラフィック・スタイルを定義します。
プロジェクトを保存すると、Designer は次の 3 つのファイルを作成します。
プロジェクト・ファイル (
.idpr
)、
サンプル・データが含まれる XML ファイル (.xml
)、および
すべてのスタイリング情報が含まれる CSS ファイル (.css
) です。
最終的なアプリケーションでは、次に説明するように CSS ファイルのみを使用し、Designer で使用したサンプル・データの代わりに実際のデータをロードします。
スタイル・シートは、通常、特定のデータ・モデルに対してのみ適しています。
例えば、データ・モデルがワークフロー・プロセスを説明している場合、そのデータ・モデルはアクティビティー、アクティビティー間の遷移、およびそのアクティビティーを実行する関与者などのオブジェクトを含みます。
そうしたデータ・モデルのスタイル・シートには、オブジェクトのグラフィック表示を定義するために、これらの特定のオブジェクト・タイプとそのプロパティーを突き合わせるルールがあります。
したがって、ワークフローのスタイル・シートは、別のデータ・モデルについては、オブジェクトのタイプとプロパティーが同じではないため、おそらく機能しません。
スタイル・シートを Java™
のダイアグラム・コンポーネントに割り当てるには、メソッド
setStyleSheet を呼び出します。このメソッドは、各要素が 1 つのスタイル・シートを表す
String
の配列を受け取ります。
この配列は、スタイル・シートのカスケードをシミュレートしており、最後のスタイル・シートがその前のすべてのスタイル・シートより高い優先順位になります。
以下のコード例は、スタイル・シートが 1 つのみである例を示しています。
ダイアグラム・コンポーネントのスタイル・シートの設定
String[] styleSheet = new String[] { "file:example.css" }; engine.setStyleSheets(styleSheet);
あるいは、プロジェクト・ファイルをロードすることによって、データ・ソースとスタイル・シートを同時に設定することもできます (「プロジェクト」を参照)。
スタイル・シートはカスケードすることができます。すなわち、前のスタイル・シートより優先順位が高い後のスタイル・シートと連結させることができます。
スタイル・シートをカスケードするには、 addStyleSheet メソッドを使用します。以下のコード例を参照してください。
カスケードされたスタイル・シートのダイアグラム・コンポーネントへの追加
Diagrammer.addStyleSheet(new URL("file:cascaded.css"));
スタイル・シートの構文、およびスタイル・シートを使用してノードとリンクをカスタマイズする方法について詳しくは、「スタイル・シート内での CSS 構文の使用」を参照してください。
ダイアグラム・コンポーネントそのものだけでなく、その関連の Swing ユーザー・インターフェース・コンポーネントもスタイル・シートによってカスタマイズすることができます。
詳細は、『ユーザー・インターフェース・コンポーネント』を参照してください。