スタイル・シート

スタイル・シートは、.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 ユーザー・インターフェース・コンポーネントもスタイル・シートによってカスタマイズすることができます。 詳細は、『ユーザー・インターフェース・コンポーネント』を参照してください。