2020-10-20 00:58:15 +02:00

142 lines
3.9 KiB
ActionScript
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
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.mediaPlayerClasses
{
import flash.events.Event;
import flash.events.MouseEvent;
import fl.controls.LabelButton;
import fl.controls.BaseButton;
import flash.text.TextFieldAutoSize;
import fl.events.ComponentEvent;
import fl.core.InvalidationType;
import com.yahoo.astra.fl.events.MediaEvent;
import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
//--------------------------------------
// Class description
//--------------------------------------
/**
* The IconButton class extends Label button. Icons are sized
* based on the dimensions of the button and the <code>verticalPadding</code>
* and <code>horizontalPadding</code> properties
*/
public class IconButton extends LabelButton
{
//--------------------------------------
// Constructor
//--------------------------------------
/**
* Constructor
*
* @langversion 3.0
* @playerversion Flash 9.0.28.0
*/
public function IconButton()
{
//sets _toggle to true
//set _label to an empty string
//adds itself to the DisplayList
//sets the model and controller
//adds event listeners
super();
_toggle = true;
_label = "";
}
//--------------------------------------
// Properties
//--------------------------------------
/**
* The amount vertical space between the icon and the top and bottom edges
*/
public var verticalPadding:Number = 4;
/**
* The amount horizontal space between the icon and the top and bottom edges
*/
public var horizontalPadding:Number = 4;
/**
* @private
*
* @langversion 3.0
* @playerversion Flash 9.0.28.0
*/
private static var defaultStyles:Object = {
upSkin:"IconButton_upSkin",
downSkin:"IconButton_downSkin",
overSkin:"IconButton_overSkin",
disabledSkin:"IconButton_disabledSkin",
selectedDisabledSkin:"IconButton_selectedDisabledSkin",
selectedUpSkin:"IconButton_selectedUpSkin",
selectedDownSkin:"IconButton_selectedDownSkin",
selectedOverSkin:"IconButton_selectedOverSkin",
focusRectSkin:null,
focusRectPadding:null,
repeatDelay:500,
repeatInterval:35
};
//--------------------------------------
// Public Methods
//--------------------------------------
/**
* Gets the styles for the component
* @return Object created from defaultStyle and the BaseButton styles.
*
* @langversion 3.0
* @playerversion Flash 9.0.28.0
*/
public static function getStyleDefinition():Object
{
return defaultStyles;
}
//--------------------------------------
// Protected Methods
//--------------------------------------
/**
* @private (protected)
*
* @langversion 3.0
* @playerversion Flash 9.0.28.0
*/
override protected function drawIcon():void {
var oldIcon:DisplayObject = icon;
var styleName:String = (enabled) ? mouseState : "disabled";
if (selected) {
styleName = "selected"+styleName.substr(0,1).toUpperCase()+styleName.substr(1);
}
styleName += "Icon";
var iconStyle:Object = getStyleValue(styleName);
if (iconStyle == null) {
// try the default icon:
iconStyle = getStyleValue("icon");
}
if (iconStyle != null) {
icon = getDisplayObjectInstance(iconStyle);
icon.width = _width - (horizontalPadding*2);
icon.height = _height - (verticalPadding*2);
}
if (icon != null) {
addChildAt(icon,1);
}
if (oldIcon != null && oldIcon != icon) {
removeChild(oldIcon);
}
}
}
}