first commit

This commit is contained in:
2020-10-20 00:58:15 +02:00
commit 7f1b9bfca5
222 changed files with 56918 additions and 0 deletions

View File

@ -0,0 +1,168 @@
/*
Copyright (c) 2009 Yahoo! Inc. All rights reserved.
The copyrights embodied in the content of this file are licensed under the BSD (revised) open source license
*/
package com.yahoo.astra.fl.controls.containerClasses
{
import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFieldAutoSize;
import fl.core.UIComponent;
//--------------------------------------
// Styles
//--------------------------------------
/**
* The <code>TextFormat</code> object that will be applied to the text.
*
* @default new TextFormat("_sans", 11, 0xffffff)
*/
[Style(name="textFormat", type="TextFormat", inherit="no")]
//--------------------------------------
// Class description
//--------------------------------------
/**
* MessageBox extends UIComponent and creates a text field based on minimum and
* maximum widths<
*
* @see fl.core.UIComponent
*
* @langversion 3.0
* @playerversion Flash 9.0.28.0
* @author Dwight Bridges
*/
public class MessageBox extends UIComponent
{
//--------------------------------------
// Constructor
//--------------------------------------
/**
* Constructor
*/
public function MessageBox()
{
_textField = new TextField();
_autoSizeStyle = TextFieldAutoSize.CENTER;
this.setStyle("textFormat", defaultStyles["textFormat"] as TextFormat);
}
//--------------------------------------
// Properties
//--------------------------------------
/**
* @private (protected)
*/
protected var _textField:TextField;
/**
* Gets the value of the text field. (read-only)
*/
public function get textField():TextField
{
return _textField;
}
/**
* @private (protected)
*/
protected var _autoSizeStyle:String;
/**
* Gets or sets autoSizeStyle
*/
public function get autoSizeStyle():String
{
return _autoSizeStyle;
}
/**
* @private (setter)
*/
public function set autoSizeStyle(value:String):void {_autoSizeStyle = value;}
/**
* @private
*/
private var defaultStyles:Object =
{
textFormat:new TextFormat("_sans", 11, 0xffffff)
}
//--------------------------------------
// Public Methods
//--------------------------------------
/**
* Displays the message text and updates the height of the MessageBox
*
* @param maxTextWidth - maximum width allowed for textfield
* @param minTextWidth - minimum width allowed for textfield
* @param messageText - string to display in the text field
*/
public function drawMessage(maxTextWidth:int, minTextWidth:int, messageText:String):void
{
var textFieldWidth:int = getTextFieldWidth(messageText, maxTextWidth, minTextWidth);
_textField.multiline = false;
_textField.wordWrap = true;
_textField.autoSize = _autoSizeStyle;
_textField.width = textFieldWidth;
_textField.height = 5;
var tF:TextFormat = getStyle("textFormat") as TextFormat;
tF.align = _autoSizeStyle;
_textField.defaultTextFormat = tF;
_textField.text = messageText;
this.width = _textField.width;
}
//--------------------------------------
// Protected Methods
//--------------------------------------
/**
* @private (protected)
* Gets the width of the text field.
*
* @param message - text to use
* @param maxTextWidth - maximum width allowed for textfield
* @paramminTextWidth - minimum width allowed for textfield
*
* @return int
*/
protected function getTextFieldWidth(message:String, maxTextWidth:int, minTextWidth:int):int
{
var textFieldWidth:int;
var tempText:TextField = new TextField();
var tF:TextFormat = new TextFormat("_sans", 11);
tF.align = _autoSizeStyle;
tempText.defaultTextFormat = this.getStyle("textFormat") as TextFormat;
tempText.width = 10;
tempText.height = 5;
tempText.wordWrap = false;
tempText.multiline = false;
tempText.autoSize = TextFieldAutoSize.LEFT;
tempText.text = message;
var tempTextWidth:int = Math.round(tempText.width);
if(tempTextWidth > maxTextWidth)
{
textFieldWidth = maxTextWidth;
}
else if(tempTextWidth > minTextWidth)
{
textFieldWidth = tempTextWidth;
}
else
{
textFieldWidth = minTextWidth;
}
if(_autoSizeStyle == TextFieldAutoSize.LEFT) textFieldWidth += 1;
return textFieldWidth;
}
}
}