パッケージflash.text.engine
クラスpublic final class GroupElement
継承GroupElement Inheritance ContentElement Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

GroupElement オブジェクトは、TextElement、GraphicElement、または他の GroupElement オブジェクトの集合をグループ化します。これを全体として TextBlock オブジェクトの content プロパティに割り当てることができます。GroupElement オブジェクトでは、別の GroupElement オブジェクト内で共通フォーマットを共有することもできます。

GroupElement に他の GroupElement が含まれているときには、内部の GroupElement は独自のフォーマットを保持しています(ElementFormat 設定)。外側の GroupElement のフォーマットは継承しません。

GroupElement に対しては、フォーマットプロパティのほとんどは何の影響も与えません。この理由から、elementFormat パラメータが null となっている GroupElement オブジェクトのテキスト行を作成することができます。kerningligature など小数のフォーマットプロパティは、グループのメンバー間で交差がある箇所に関するフォーマットに影響を与えます。グループが持っているフォーマットが null の場合には、グループのメンバー間で生じる交差におけるフォーマットは、前のエレメントのフォーマットにより決定します。

例を表示

関連項目

ContentElement
GraphicElement
TextBlock
TextElement


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  elementCount : int
[読み取り専用] グループ内のエレメント数です。
GroupElement
 InheritedelementFormat : ElementFormat
エレメントに使用される ElementFormat オブジェクトです。
ContentElement
 InheritedeventMirror : EventDispatcher
このコンテンツエレメントに基づいた有効なテキスト行に送出されるすべてのイベントのコピーを受け取る EventDispatcher オブジェクトです。
ContentElement
 InheritedgroupElement : GroupElement
[読み取り専用] このエレメントを含む GroupElement オブジェクトです。グループ内に存在しない場合は null になります。
ContentElement
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
 InheritedrawText : String
[読み取り専用] U+FDEF 文字を含む、エレメント内のテキストのコピーです。
ContentElement
 Inheritedtext : String
[読み取り専用] String 内でグラフィックエレメントを表す U+FDEF 文字を含まない、エレメント内のテキストのコピーです。
ContentElement
 InheritedtextBlock : TextBlock
[読み取り専用] このエレメントが含まれる TextBlock です。
ContentElement
 InheritedtextBlockBeginIndex : int
[読み取り専用] このエレメントの最初の文字のテキストブロック内のインデックスです。
ContentElement
 InheritedtextRotation : String
エレメントを単位として適用される回転です。
ContentElement
 InheriteduserData : *
作成者が任意のデータをエレメントに関連付けるための方法を提供します。
ContentElement
パブリックメソッド
 メソッド定義元
  
GroupElement(elements:Vector.<ContentElement> = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")
新しい GroupElement インスタンスを作成します。
GroupElement
  
グループ内からエレメントを取得します。
GroupElement
  
charIndex パラメータで指定された位置の文字を含むエレメントを返します。
GroupElement
  
element パラメータで指定されたエレメントのインデックスを返します。
GroupElement
  
groupElements(beginIndex:int, endIndex:int):GroupElement
beginIndex パラメータと endIndex パラメータで指定されたエレメント範囲を、これらのエレメントを含む新しい GroupElement に置き換えます。
GroupElement
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
mergeTextElements(beginIndex:int, endIndex:int):TextElement
エレメントのフォーマットに影響を与えずに、beginIndex パラメータと endIndex パラメータで指定されたエレメントの範囲からのテキストを beginIndex で指定されたエレメントに結合します。
GroupElement
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
replaceElements(beginIndex:int, endIndex:int, newElements:Vector.<ContentElement>):Vector.<ContentElement>
beginIndex パラメータと endIndex パラメータで指定されたエレメント範囲を、newElements パラメータの内容に置き換えます。
GroupElement
  
グループ内のエレメントを Vector のコンテンツに設定します。
GroupElement
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
splitTextElement(elementIndex:int, splitIndex:int):TextElement
グループ内の TextElement の部分を、指定された TextElement の次にそのグループに挿入される新しい TextElement に分割します。
GroupElement
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
groupIndex が外側の GroupElement オブジェクト内で指定するネストされた GroupElement のエレメントをグループ解除します。
GroupElement
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
パブリック定数
 定数定義元
 InheritedGRAPHIC_ELEMENT : uint = 0xFDEF
[静的] テキスト内にグラフィックエレメントが存在するかどうかを示します。
ContentElement
プロパティの詳細
elementCountプロパティ
elementCount:int  [読み取り専用]

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

グループ内のエレメント数です。



実装
    public function get elementCount():int
コンストラクタの詳細
GroupElement()コンストラクタ
public function GroupElement(elements:Vector.<ContentElement> = null, elementFormat:ElementFormat = null, eventMirror:EventDispatcher = null, textRotation:String = "rotate0")

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

新しい GroupElement インスタンスを作成します。

パラメータ
elements:Vector.<ContentElement> (default = null) — GroupElement 内に格納される ContentElement オブジェクトの Vector です。Vector が空の可能性があります。デフォルト値は null です。
 
elementFormat:ElementFormat (default = null) — グループのエレメント形式です。デフォルト値は null です。このフォーマットは、グループ内のエレメントが交わる部分に適用されます。これらのエレメントはフォーマットを継承しません。
 
eventMirror:EventDispatcher (default = null) — このコンテンツエレメントに基づいて作成されたテキスト行に送出されるすべてのイベントのコピーを受け取る EventDispatcher オブジェクトです。デフォルト値は null です。
 
textRotation:String (default = "rotate0") — 単位としてエレメントに適用される回転です。このプロパティには、TextRotation 定数を使用します。デフォルト値は、TextRotation.ROTATE_0 です。

例外
ArgumentError — 指定された elementnull エレメントが含まれています。
 
ArgumentError — 指定された element に、ContentElement の既知のサブクラスではないエレメントが含まれています。
 
ArgumentError — 指定された element に、contentTextBlock)として指定されたエレメントが含まれています。
 
ArgumentError — 指定された element に、既にグループのメンバーであるか、elements に複数回表示されたエレメントが含まれています。

関連項目

メソッドの詳細
getElementAt()メソッド
public function getElementAt(index:int):ContentElement

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

グループ内からエレメントを取得します。

パラメータ

index:int — 取得するエレメントのインデックスです。

戻り値
ContentElement

例外
RangeError index が範囲外の場合。
getElementAtCharIndex()メソッド 
public function getElementAtCharIndex(charIndex:int):ContentElement

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

charIndex パラメータで指定された位置の文字を含むエレメントを返します。

パラメータ

charIndex:int — 検索するエレメントの文字に対する 0 から始まるインデックス値です。0 の値はグループ内の最初の文字に対応します。TextBlock 内の最初の文字ではありません。

戻り値
ContentElementcharIndex で指定された位置の文字を含むエレメントです。

例外
RangeError charIndex0 ~ rawText.length の範囲内にない場合。
getElementIndex()メソッド 
public function getElementIndex(element:ContentElement):int

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

element パラメータで指定されたエレメントのインデックスを返します。

パラメータ

element:ContentElement — インデックスを検索するグループのエレメントです。

戻り値
intelement で指定されたエレメントのインデックスです。エレメントがグループ内にない場合は -1 になります。
groupElements()メソッド 
public function groupElements(beginIndex:int, endIndex:int):GroupElement

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

beginIndex パラメータと endIndex パラメータで指定されたエレメント範囲を、これらのエレメントを含む新しい GroupElement パラメータに置き換えます。意図したとおり、beginIndex から endIndex-1 までのエレメントが置き換えられます。

パラメータ

beginIndex:int — グループ化する範囲の開始位置の 0 から始まるインデックス値です。
 
endIndex:int — グループ化する範囲の終了位置の後の 0 から始まるインデックス値です。

戻り値
GroupElement — 新しいグループです。

例外
RangeError beginIndex または endIndex が範囲外の場合。
mergeTextElements()メソッド 
public function mergeTextElements(beginIndex:int, endIndex:int):TextElement

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

エレメントのフォーマットに影響を与えずに、beginIndex パラメータと endIndex パラメータで指定されたエレメントの範囲からのテキストを beginIndex で指定されたエレメントに結合します。意図したとおり、beginIndex から endIndex-1 までのエレメントからのテキストが結合されます。テキストが結合された後、beginIndex+1 から endIndex-1 までのエレメントはグループ解除されて孤立化し、group プロパティが null になります。

パラメータ

beginIndex:int — 結合範囲の開始位置の 0 から始まるインデックス値です。
 
endIndex:int — 結合範囲の終了位置に後続する位置の 0 ベースのインデックス値です。

戻り値
TextElement — 範囲内の最初のテキストエレメントに、範囲内のすべてのテキストが含まれるようになります。

例外
RangeError beginIndex または endIndex が範囲外の場合。
 
ArgumentError — 指定された範囲内のいずれかのエレメントが TextElement ではない場合。

関連項目

replaceElements()メソッド 
public function replaceElements(beginIndex:int, endIndex:int, newElements:Vector.<ContentElement>):Vector.<ContentElement>

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

beginIndex パラメータと endIndex パラメータで指定されたエレメント範囲を、newElements パラメータの内容に置き換えます。意図したとおり、beginIndex から endIndex-1 までのエレメントが置き換えられます。

エレメントを削除するには、nullnewElements に渡します。

エレメントを挿入するには、beginIndex および endIndex に同じ値を渡します。新しいエレメントは、指定されたインデックスの前に挿入されます。

エレメントを追加するには、elementCountbeginIndex および endIndex に渡します。

処理の後、置き換えられたエレメントは孤立化し、group プロパティが null になります。

パラメータ

beginIndex:int — 置換範囲の開始位置の 0 から始まるインデックス値です。
 
endIndex:int — 置換範囲の終了位置に後続する位置の 0 ベースのインデックス値です。
 
newElements:Vector.<ContentElement> — 指定されたエレメント範囲の置き換えに使用されるエレメントです。

戻り値
Vector.<ContentElement> — 置き換えられたエレメントを含む Vector です。

例外
RangeError — 指定された beginIndex または endIndex は範囲外です。
 
ArgumentError — 指定された newElementsnull エレメントが含まれています。
 
ArgumentError — 指定された newElementsthis が含まれています。
 
ArgumentError — 指定された newElements に、ContentElement の既知のサブクラスではないエレメントが含まれています。
 
ArgumentError — 指定された newElements に、contentTextBlock)として指定されたエレメントが含まれています。
 
ArgumentError — 指定された newElements に、既にグループのメンバーであるか、elements に複数回表示されたエレメントが含まれています。
 
ArgumentError — 処理の結果、GroupElement 内で回転がネストする場合。
setElements()メソッド 
public function setElements(value:Vector.<ContentElement>):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

グループ内のエレメントを Vector のコンテンツに設定します。

パラメータ

value:Vector.<ContentElement>


例外
ArgumentError — 指定された valuenull エレメントが含まれています。
 
ArgumentError — 指定された valuethis が含まれています。
 
ArgumentError — 指定された value に、ContentElement の既知のサブクラスではないエレメントが含まれています。
 
ArgumentError — 指定された value に、TextBlockcontent として指定されたエレメントが含まれています。
 
ArgumentError — 指定された value に、既にグループのメンバーであるか、value に複数回表示されたエレメントが含まれています。
 
ArgumentError — 処理の結果、GroupElement 内で回転がネストする場合。
splitTextElement()メソッド 
public function splitTextElement(elementIndex:int, splitIndex:int):TextElement

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

グループ内の TextElement の部分を、指定された TextElement の次にそのグループに挿入される新しい TextElement に分割します。

パラメータ

elementIndex:int — グループ内のエレメントの位置の 0 から始まるインデックス値です。
 
splitIndex:int — 分割が発生する TextElement 内の文字の 0 から始まるインデックス値です。指定された文字は、新しい TextElement 内の最初の文字になります。

戻り値
TextElement — 元のテキストエレメントの後ろの部分を含む新しいテキストエレメントです。

例外
RangeError elementIndex または charIndex が範囲外の場合。
 
ArgumentError elementIndex の位置のエレメントが TextElement ではない場合。

関連項目

ungroupElements()メソッド 
public function ungroupElements(groupIndex:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: Flash Player 10, AIR 1.5

groupIndex が外側の GroupElement オブジェクト内で指定するネストされた GroupElement のエレメントをグループ解除します。処理後、グループ解除されたエレメントは、ネストされた GroupElement に置き換えられて孤立化し、group プロパティが null になります。

パラメータ

groupIndex:int — 分割されるグループの位置の 0 から始まるインデックス値です。


例外
RangeError groupIndex が範囲外の場合。
 
ArgumentError groupIndex の位置のエレメントが GroupElement ではない場合。
例の使用法
GroupElementExample.as

この例では、GraphicElement オブジェクトとして赤いボックスを作成し、これを 2 つの TextElement オブジェクトと結合して、GroupElement オブジェクトを作成します。GroupElement オブジェクトを TextBlock の content プロパティに割り当て、そこから 3 行作成します。

package {

    import flash.display.Sprite;
    import flash.display.MovieClip;
    import flash.text.engine.ContentElement;
    import flash.text.engine.TextBlock;
    import flash.text.engine.TextElement;
    import flash.text.engine.GraphicElement;
    import flash.text.engine.GroupElement;
    import flash.text.engine.TextLine;
    import flash.text.engine.ElementFormat;
    import flash.text.engine.FontDescription;
    
    public class GroupElementExample extends Sprite {
        
        public function GroupElementExample():void {
            
            var redBox:MovieClip = new MovieClip();
            redBox.graphics.beginFill(0xCC0000, 1.0);
            redBox.graphics.drawRect(0, 0, 20, 20);
            redBox.graphics.endFill(); 
            
            var format:ElementFormat = new ElementFormat();
            var fontDescription:FontDescription = new FontDescription("Arial");
            format.fontSize = 16;
            format.fontDescription = fontDescription;
            
            var str1:String = "This red box is a GraphicElement ";
            var str2:String = " in the middle of two TextElements, " +
            " which together make " +
            "up a GroupElement in a TextBlock that is broken into three lines.";
            
            var textElement1:TextElement = new TextElement(str1,format);
            var graphicElement:GraphicElement = new GraphicElement(redBox,redBox.width,redBox.height, format);
            var textElement2:TextElement = new TextElement(str2, format);
            var groupVector:Vector.<ContentElement> = new Vector.<ContentElement>();
            groupVector.push(textElement1, graphicElement, textElement2);
            var groupElement = new GroupElement(groupVector);
            var textBlock:TextBlock = new TextBlock();
            textBlock.content = groupElement;
            createTextLines(textBlock);
        }
        
        private function createTextLines(textBlock:TextBlock):void 
        {
        
            var yPos = 20;
            var line_length:Number = 450;
            var textLine:TextLine = textBlock.createTextLine (null, line_length);
 
            while (textLine)
            {
                addChild(textLine);
                textLine.x = 15;
                yPos += textLine.height+8;
                textLine.y = yPos;
                textLine = textBlock.createTextLine(textLine, line_length);
            }
        }
    }    
}






 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/text/engine/GroupElement.html