StyleRule (クラス)
public StyleRule {inherits StyleSpec}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.GUI.BASE.

セレクタパターンとパターンによってマッチされるオブジェクトに適用されるオプション バインディングのコレクションから構成される、1つのスタイルルールです。

説明

スタイル ルールは、パターン文字列(”セレクター”と呼ばれます。)とオプション バインディングから構成されます。
StyleSheetとスタイル ルールはStyleManagerによって処理され、保持されます。StyleManagerが、ルール内のセレクターにマッチするオブジェクトを見つけた時、ルールに関連付けられたオプション バインディングがそのオブジェクトに適用されます。これはstyle-managerのノンローカルオプションがオブジェクトにセットされた時に発生します。(恐らく含んでいるオブジェクトからの継承によって発生します。)
ルールは順番に処理され、特定のオプションが記述された最後のルールはもっとも高い優先順位を持ちます。スタイル ルールに関連付けられたオプション バインディングは、オブジェクトに直接設定されたオプションよりも優先順位が低くなりますが、グラフィカル階層から継承されたオプションよりも高い優先順位を持ちます。
セレクター パターン文字列は、ピリオドによって区切られた2つの部分を持ちます。その両方ともオプションです。ですから、空の文字列と文字列"."は、両方の部分が空である有効なパターンになります。典型的なセレクター パターンは、"link"や"TextDisplay.error"です。
セレクター パターンの最初の部分は、オブジェクトのVisual.style-elementプロパティにマッチした文字列です。このプロパティは、クラスの名前であるか(例えば"TextDisplay")または、オブジェクトを作成するのに使われるプロシージャの名前です(例えばlink)。空白のstyle-elementのオブジェクトは、スタイル システムで不可視であり、いかなるスタイル ルールからも影響を受けません。最初の部分が、空または、"*"の場合、それは、全てのstyle-elementにマッチします。
2番目の部分は、Visual.style-classローカル オプションにマッチする文字列です。パターン"CommandButton" は、全てのCommandButtonにマッチします。パターン"CommandButton.big"は、style-class = "big"であるCommandButtonにマッチします。パターン".big"は、style-elementに関わらず(もちろんブランクでない場合でも)、style-classが"big"である全てのオブジェクトにマッチします。
style-classは、スペースで区切られた文字列のリストになります。ですからstyle-class"urgent warning"は、".urgent" もしくは ".warning"を含むルールにマッチします。
以下は、幾つかのスタイル ルールを適用した"スタイル シート"のサンプルです。任意のCurlコードをスタイル シートに含める事が出来ることに注意して下さい。

{StyleSheet
    {StyleRule "text.important",
        font-style = "italic",
        font-weight = "bold"
    },
    {StyleRule "CalendarControl",
        calendar-control-today-background = "yellow",
        day-proc =
            {proc {cc:CalendarControl, date:DateTime}:(#Graphic, bool)
                {return
                    {if date.info.day-of-week >= 6 then
                        {text
                            color = "orange",
                            {value date.info.day}
                        }
                     else
                        null
                    },
                    true
                }
            }
    }
}
導入: バージョン 7.0

コンストラクタ
default:パターン文字列とキーワードの値のペアから1つのスタイル ルールを生成します。
コンストラクタ public {StyleRule.default ...}

プロパティ
bindings:このルールに関連したオプション バインディング
フィールド public constant StyleRule.bindings:{HashTable-of String, any} ={new {HashTable-of String, any}}
selectors:ルールから抽出されたセレクター
フィールド public constant StyleRule.selectors:StringArray ={StringArray}

メソッド
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {StyleRule.default ...}

パターン文字列とキーワードの値のペアから1つのスタイル ルールを生成します。

...:
それぞれの文字列引数は、1つのセレクタを表し、StyleRule.selectorsに追加されます。
それぞれのキーワード/値のペアは、セレクタにマッチしたオブジェクト上で作成されるオプションバインディングを表します。これらは、StyleRule.bindingsプロパティに保存されます。
引数は、{HashTable-of String, any}型のテーブルにもなります。この場合、テーブル内のエントリは、バインディング テーブルに追加されます。これはスタイル ルールをプログラムから生成する時に役に立ちます。
文字列引数は、最初になければなりません。最初のキーワード/値のペアの後に文字引数が現れるとIllegalArgumentExceptionがスローされます。
導入: バージョン 7.0



プロパティ詳細
bindings (フィールド)
public constant StyleRule.bindings:{HashTable-of String, any} ={new {HashTable-of String, any}}

このルールに関連したオプション バインディング

導入: バージョン 7.0


selectors (フィールド)
public constant StyleRule.selectors:StringArray ={StringArray}

ルールから抽出されたセレクター

導入: バージョン 7.0





メソッド詳細