Apache Flex アプリケーションのスタイル

Apache Flex 3.x で開発されたアプリケーションについて、Silk4J ではスタイルとプロパティを区別しません。この結果、スタイルはプロパティとして公開されます。ただし、Apache Flex 4.x の Spark という接頭辞が付いているすべての新しい Flex コントロール(SparkButton など)では、スタイルがプロパティとして公開されません。この結果、Flex 4.x コントロールの GetProperty() メソッドおよび GetPropertyList() メソッドでは colorfontSize などのスタイルが返されず、textname などのプロパティのみが返されます。

GetStyle(string styleName) メソッドは、スタイルの値を文字列として返します。どのようなスタイルが存在するかを確認するには、次の Adobe ヘルプを参照してください: http://help.adobe.com/ja_JP/FlashPlatform/reference/actionscript/3/package-detail.html.

スタイルが設定されていない場合は、再生中に StyleNotSetException が発生します。

FlexTree などの Flex 3.x コントロールでは、GetProperty() を使用してスタイルを取得できます。GetStyle() を使用することもできます。Flex 3.x コントロールでは、GetProperty() メソッドと GetStyle() メソッドの両方が動作します。

色スタイルの計算

Flex では、色は数値として表されます。色は、以下の式を使用して計算できます。
red*65536 + green*256 + blue

以下のスクリプト例では、フォント サイズが 12 であるかどうかを検証しています。16711680 という数値は、255*65536 + 0*256 + 0 という式から算出されます。この値は赤色を表し、スクリプトは背景色に対してこの色を検証します。
Assert.That(control.GetStyle("fontSize"), [Is].EqualTo("12"))
Assert.That(label.GetStyle("backgroundColor"), [Is].EqualTo("16711680"))