blob: 37f46147811b43588b407afb2b83c87b348c49eb [file] [log] [blame]
////////////////////////////////////////////////////////////////////////////////
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.html.staticControls.beads
{
import flash.display.DisplayObjectContainer;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFieldType;
import org.apache.flex.core.IBead;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.ITextBead;
import org.apache.flex.core.ITextModel;
public class TextFieldBead implements IBead, ITextBead
{
public function TextFieldBead()
{
_textField = new TextField();
_textField.selectable = false;
_textField.type = TextFieldType.DYNAMIC;
_textField.mouseEnabled = false;
}
private var textModel:ITextModel;
private var _strand:IStrand;
public function set strand(value:IStrand):void
{
_strand = value;
textModel = value.getBeadByType(ITextModel) as ITextModel;
textModel.addEventListener("textChange", textChangeHandler);
textModel.addEventListener("htmlChange", htmlChangeHandler);
DisplayObjectContainer(value).addChild(_textField);
if (textModel.text !== null)
text = textModel.text;
if (textModel.html !== null)
html = textModel.html;
}
private function textChangeHandler(event:Event):void
{
text = textModel.text;
}
private function htmlChangeHandler(event:Event):void
{
html = textModel.html;
}
private var _textField:TextField;
public function get text():String
{
return _textField.text;
}
public function set text(value:String):void
{
_textField.text = value;
}
public function get html():String
{
return _textField.htmlText;
}
public function set html(value:String):void
{
_textField.htmlText = value;
}
}
}