Monday, December 15, 2008

DataGrid Pagenation

?xml version="1.0" encoding="utf-8" ?>
- mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="InitApp()" xmlns:MyComp="*">
- mx:Script>
- [CDATA[
import mx.collections.ArrayCollection;
import mx.events.ItemClickEvent;
import mx.controls.Button;
import mx.controls.Alert;

[Bindable]
public var myData:ArrayCollection = new ArrayCollection();
public var orgData:ArrayCollection = new ArrayCollection();
[Bindable]
public var nav:ArrayCollection = new ArrayCollection();
public var pageSize:uint = 10;
public var navSize:uint = 10;
private var index:uint = 0;
private var navPage:uint = 1;

private function InitApp():void
{
for( var x:uint = 1; x <= 500; x++ )
{
var obj:Object = new Object();
obj.Id = x.toString();
obj.Name = "Column " + x.toString();
obj.Street = "5555 Street";
obj.Title = "CEO";
obj.City = "El Paso";

orgData.addItem(obj);
}
refreshDataProvider(index);
createNavBar(Math.ceil(orgData.length/pageSize));
}

private function createNavBar(pages:uint = 1,set:uint = 0):void
{
nav.removeAll();
if( pages > 1 )
{
if( set != 0 )
{
nav.addItem({label:"<<",data:0});
if( (set - navSize ) >= 0 )
{
nav.addItem({label:"<",data:set - navSize});
}
else
{
nav.addItem({label:"<",data:0});
}
}

for( var x:uint = 0; x < navSize; x++)
{
var pg:uint = x + set;
nav.addItem({label: pg + 1,data: pg});
}
if( pg < pages - 1 )
{
nav.addItem({label:">",data:pg + 1});
nav.addItem({label:">>",data:pages - pageSize});
}
}
}

private function navigatePage(event:ItemClickEvent):void
{
refreshDataProvider(event.item.data);
var lb:String = event.item.label.toString();
if( lb.indexOf("<") > -1 || lb.indexOf(">") > -1 )
{
createNavBar(Math.ceil(orgData.length/pageSize),event.item.data);
if( event.item.data == 0 )
{
pageNav.selectedIndex = 0;
}
else
{
pageNav.selectedIndex = 2;
}
}

}

private function refreshDataProvider(start:uint):void
{
myData = new ArrayCollection( orgData.source.slice((start * pageSize),(start * pageSize) + pageSize) );
}


]]>
mx:Script>
- mx:VBox verticalGap="0">
mx:DataGrid id="dg" dataProvider="{myData}" />
mx:ToggleButtonBar id="pageNav" itemClick="navigatePage(event)" dataProvider="{nav}" width="{dg.width}" />
mx:VBox>
mx:Application>

Monday, December 8, 2008

TweenEffect to an Image(Rotating)

?xml version="1.0"?>
-- effects/MainRotation.mxml -->
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:MyComp="myEffects.*" paddingTop="150">
MyComp:Rotation id="Rotate90" angleFrom="0" angleTo="360" duration="1000" />
mx:Image source="@Embed(source='1.png')" mouseDownEffect="{Rotate90}"/>
mx:Application>


------------------Rotation.as-----------------------------------------------

package myEffects
{
// myEffects/Rotation.as
import mx.effects.TweenEffect;
import mx.effects.EffectInstance;
import mx.effects.IEffectInstance;

public class Rotation extends TweenEffect
{
// Define parameters for the effect.
public var angleFrom:Number = 0;
public var angleTo:Number = 360;

// Define constructor with optional argument.
public function Rotation(targetObj:* = null) {
super(targetObj);
instanceClass= RotationInstance;
}

// Override getAffectedProperties() method to return "rotation".
override public function getAffectedProperties():Array {
return ["rotation"];
}

// Override initInstance() method.
override protected function initInstance(inst:IEffectInstance):void {
super.initInstance(inst);
RotationInstance(inst).angleFrom = angleFrom;
RotationInstance(inst).angleTo = angleTo;
}
}
}


-------------------------------RotationInstance.as-------------------------------

package myEffects
{
// myEffects/RotationInstance.as
import mx.effects.effectClasses.TweenEffectInstance;
import mx.effects.Tween;

public class RotationInstance extends TweenEffectInstance
{
// Define parameters for the effect.
public var angleFrom:Number;
public var angleTo:Number;

public function RotationInstance(targetObj:*) {
super(targetObj);
}

// Override play() method class.
override public function play():void {
// All classes must call super.play().
super.play();
// Create a Tween object. The tween begins playing immediately.
var tween:Tween =
createTween(this, angleFrom, angleTo, duration);
}

// Override onTweenUpdate() method.
override public function onTweenUpdate(val:Object):void {
target.rotation = val;
}

// Override onTweenEnd() method.
override public function onTweenEnd(val:Object):void {
// All classes that implement onTweenEnd()
// must call super.onTweenEnd().
super.onTweenEnd(val);
}
}
}

Monday, December 1, 2008

Remove Duplicates from an Array & Display in List

?xml version="1.0" encoding="utf-8"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical" verticalAlign="middle" backgroundColor="white" creationComplete="init()">
mx:Script>
![CDATA[
private var keys:Object = {};
private function init():void {
/* Create a dummy data source with some semi-random data. */
var arr:Array = [];
arr.push({data:1, label:"one"});
arr.push({data:1, label:"one"});
arr.push({data:1, label:"one"});
arr.push({data:1, label:"one"});
arr.push({data:2, label:"two"});
arr.push({data:2, label:"two"});
arr.push({data:2, label:"two"});
arr.push({data:1, label:"one"});
arr.push({data:3, label:"three"});
arr.push({data:3, label:"three"});
/* Filter the original array and call the removeDuplicates() function on each item in the array.*/
var filteredArr:Array = arr.filter(removedDuplicates);
arrColl.source = arr;
dedupedArrColl.source = filteredArr;
}
private function removedDuplicates(item:Object, idx:uint, arr:Array):Boolean {
if (keys.hasOwnProperty(item.data)) {
/* If the keys Object already has this property, return false and discard this item. */
return false;
} else {
/* Else the keys Object doesN'T already have this key, so add this item 2 the new dataprovider*/
keys[item.data] = item;
return true;
}
}
]]>
mx:Script>
mx:ArrayCollection id="arrColl" />
mx:ArrayCollection id="dedupedArrColl" />
mx:HBox>
mx:VBox>
mx:Label text="Original ({arrColl.length} items):" />
mx:List dataProvider="{arrColl}" />
mx:VBox>
mx:VBox>
mx:Label text="Filtered ({dedupedArrColl.length} items):" />
mx:List dataProvider="{dedupedArrColl}" />
mx:VBox>
mx:HBox>
mx:Application>

Thursday, November 27, 2008

Passing data from PopUp to a component of an Appplication

//passindata.mxml
?xml version="1.0"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
mx:Script>
![CDATA[
import mx.managers.PopUpManager;
public var helpWindow:Object;
public function displayForm():void
{
// Array with data for the custom control ComboBox control.
var doctypes:Array = ["*.as", "*.mxml", "*.swc"]
// Create the pop-up and cast the return value of the createPopUp()
// Method to the ArrayEntryForm custom component.
var pop1:ArrayEntryForm = ArrayEntryForm(
PopUpManager.createPopUp(this, ArrayEntryForm, true));
// Set TitleWindow properties.
pop1.title="Select File Type";
pop1.showCloseButton=true;
// Set properties of the ArrayEntryForm custom component.
pop1.targetComponent = ti1;
pop1.myArray = doctypes;
PopUpManager.centerPopUp(pop1);
}
]]>
mx:Script>
mx:VBox>
mx:TextInput id="ti1" text=""/>
mx:VBox>
mx:Button id="b1" label="Select File Type" click="displayForm();"/>
mx:Application>


---------------------------------------------
Create MXML Component.. with the name..ArrayEntryForm.MXML



?xml version="1.0"?>
mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" showCloseButton="true" width="200" close="removeMe();" borderAlpha="1">
mx:Script>
[CDATA[
import mx.controls.TextInput;
import mx.managers.PopUpManager;
// Variables whose values are set by the main application.
// Data provider array for the component's ComboBox control.
[Bindable]public var myArray:Array;
// A reference to the TextInput control in which to put the result.
public var targetComponent:TextInput;
// OK button click event listener.
// Sets the target component in the application to the
// selected ComboBox item value.
private function submitData():void
{
targetComponent.text = String(cb1.selectedItem);
removeMe();
}
// Cancel button click event listener.
private function removeMe():void
{
PopUpManager.removePopUp(this);
}
]]>
mx:Script>
mx:ComboBox id="cb1" dataProvider="{myArray}"/>
mx:HBox>
mx:Button label="OK" click="submitData();"/>
mx:Button label="Cancel" click="removeMe();"/>
mx:HBox>
mx:TitleWindow>

Saturday, November 22, 2008

Sending Mail using PHP file

xml version="1.0" encoding="utf-8"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
mx:HTTPService url="http://hemadri.info/sendmail.php" id="srv" result="res(event)" fault="flevent(event)"/>
mx:Form>
mx:FormHeading label="Sending Mail"/>
mx:FormItem label="E-Mail">
mx:TextInput id="tiemail"/>
mx:FormItem>
mx:FormItem label="Message">
mx:TextInput id="timsg"/>
mx:FormItem>
mx:Form>
mx:Button label="Send Mail" click="sendsrv()"/>
mx:Script>
[CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
private function res(e:ResultEvent)
{
Alert.show("Mail sent Successfully");
}
private function flevent(f:FaultEvent)
{
Alert.show('fault '+f.fault.toString());
}
private function sendsrv()
{
var ob:Object=new Object;
ob.email=tiemail.text;
ob.message=timsg.text;
srv.send(ob);
}
]]>
mx:Script>
mx:Application>

Friday, November 21, 2008

SWF Loader

xml version="1.0" encoding="utf-8"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
mx:TabNavigator resizeToContent="true" paddingTop="0" width="100%">
mx:Canvas width="100%">
mx:SWFLoader source="Jagan/swfs/AddComponents.swf" width="100%"/>
mx:Canvas>
mx:Canvas width="100%">
mx:SWFLoader source="Jagan/swfs/clouds.swf"/>
mx:Canvas>
mx:TabNavigator>
mx:Application>

Tuesday, November 18, 2008

Title Window

xml version="1.0" encoding="utf-8"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
mx:Style>
.psubheader
{
fontFamily:verdana;
fontSize:10.5;
color:#000000;
fontWeight:bold;
}
.psubfooter
{
fontFamily:verdana;
fontSize:10.5;
color:#000000;
fontWeight:bold;
}
.textName
{
fontFamily:verdana;
fontSize:10;
color:#000000;
textAlign: left;
paddingLeft: 0;
}
.textValue
{
fontFamily:verdana;
fontSize:10;
color:#525252;
textAlign: left;
paddingLeft: 0;
}
mx:Style>
mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:controls="com.ssc.wid.fi.control.*" title="ACCOUNT REFERENCE"
showCloseButton="true" close="onClose();" creationComplete="init();"
verticalGap="0" width="875" height="410" backgroundColor="#ffffff">
mx:Script>
[CDATA[
import mx.events.PropertyChangeEvent;
import mx.binding.utils.ChangeWatcher;
import mx.events.ItemClickEvent;
import mx.controls.RichTextEditor;
import mx.controls.Text;
import mx.controls.Label;
import mx.containers.GridItem;
import mx.containers.GridRow;
import mx.collections.XMLListCollection;
import mx.managers.PopUpManager;
import mx.collections.ArrayCollection;
import mx.controls.listClasses.ListData;
import mx.controls.ComboBox;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.styles.StyleManager;
import mx.events.StyleEvent;
import flash.net.*;
import mx.controls.Alert;
import mx.core.Application;
import flash.external.ExternalInterface;
import mx.rpc.http.HTTPService;
import mx.collections.Sort;
import mx.collections.SortField;
[Bindable] public var titleAcctNumber : String;
[Bindable] public var acctNumber : String;
[Bindable] public var acctName : String;
[Bindable] public var combo: Array ;
[Bindable] public var dataXML:Object;
[Bindable] public var accountInfoXML:XML;
[Bindable] public var accountIdenXMLList:XMLListCollection;
[Bindable] public var investInfoXMLList:XMLListCollection;
[Bindable] public var accountCharXMLList:XMLListCollection;
[Bindable] public var relAcctsXMLList:XMLListCollection;
[Bindable] public var accountAffilXMLList:XMLListCollection;
[Bindable] public var accountPrtfoXMLList:XMLListCollection;
[Bindable] public var assetAllocXMLList:XMLListCollection;
[Bindable] public var stmtrcptXMLList:XMLListCollection;
[Bindable] public var evtXMLList:XMLListCollection;
[Bindable] public var inputXML:XML;
[Bindable] private var showData:Boolean = false;
private var accountDataWatcher:ChangeWatcher;
private var stmtrcptXML:XML =

;
private var evtXML:XML =

;
public function showApp(event:StyleEvent):void
{
mx.core.Application.application.visible = true;
}
public function openSE(event:MouseEvent):void
{
var u:URLRequest = new RLRequest("SecurityExplorer.html");
navigateToURL(u,"_blank");
}
public function onClose():void
{
PopUpManager.removePopUp(this);
}
public function init():void
{
resultHandler();
}
private function addEscapeEvent():void
{
this.addEventListener(KeyboardEvent.KEY_DOWN, closePopup,false, 0.0,true);
this.setFocus();
}
private function closePopup(event : KeyboardEvent):void
{
if( event.keyCode == 27 )
onClose();
}
private function resultHandler():void
{
accountInfoXML = new XML(
AccountInfo>
AccountIdentification name="Investment Counselor" order="1" value="AAAAAAAAAAAAAAAAA"/>
AccountIdentification name="XXXXXXXX" order="2" value=""/>
AccountIdentification name="DDDDDDDDDDD" order="3" value="Barbara Brewer"/>
AccountIdentification name="Tax Id" order="4" value="444444444"/>
AccountIdentification name="AAAAAAAAA" order="5" value="SSSSSSSSSSSSSSS"/>
AccountIdentification name="Owner Address" order="6" value="N/A"/>
AccountIdentification name="SSSSSSSS" order="7" value=""/>
AccountIdentification name="Business Phone" order="8" value=""/>
AccountIdentification name="Mobile Phone" order="9" value=""/>
AccountIdentification name="Email" order="10" value=""/>
InvestmentInformation name="Inception Date" order="11" value="05/26/1989"/>
AccountInfo>);
accountIdenXMLList = new XMLListCollection(accountInfoXML.AccountIdentification);
var sort:Sort = new Sort();
var sortField:SortField = new SortField('@order',true,false);
sortField.numeric = true;
sort.fields = [sortField];
accountIdenXMLList.sort = sort;
accountIdenXMLList.refresh();
for each(var xml:XML in accountIdenXMLList)
{
var row:GridRow = new GridRow();
var item1:GridItem = new GridItem();
var item2:GridItem = new GridItem();
var txt1:Text = new Text();
var txt2:Text = new Text();
txt1.text = xml.@name + ":"
txt1.styleName="textName";
txt1.width=150;
txt2.htmlText = xml.@value;
if (xml.@value == '')
{
txt2.text = "N/A";
}
txt2.styleName="textValue";
txt2.width = 250;
item1.addChild(txt1);
item2.addChild(txt2);
row.addChild(item1);
row.addChild(item2);
gdAcctIdent.addChild(row);
}
for each(var xml:XML in accountIdenXMLList)
{
var row:GridRow = new GridRow();
var item1:GridItem = new GridItem();
var item2:GridItem = new GridItem();
var txt1:Text = new Text();
var txt2:Text = new Text();
txt1.text = xml.@name + ":"
txt1.styleName="textName";
txt1.width=150;
txt2.htmlText = xml.@value;
if (xml.@value == '')
{
txt2.text = "N/A";
}
txt2.styleName="textValue";
txt2.width = 250;
item1.addChild(txt1);
item2.addChild(txt2);
row.addChild(item1);
row.addChild(item2);
gdAcctIdent.addChild(row);
}
showData = true;
}
private function faultHandler(event:FaultEvent):void
{
trace("Error occurs in http service call",event.message);
if (event.fault.faultCode == "Client.CouldNotDecode")
ExternalInterface.call ("flexKeepAlive");
}
]]>
mx:Script>
mx:Canvas width="100%" height="100%">
mx:Box height="100%" width="100%" horizontalAlign="center" verticalAlign="middle">
mx:ProgressBar indeterminate="true" mode="event" visible="{!showData}"
label="Loading Data..." labelPlacement="top" fontSize="12" fontWeight="bold"
styleName="dataprogressbar" />
mx:Box>
mx:VBox top="5" left="5" verticalGap="1" visible="{showData}">
mx:Label id="acctNum" text="{titleAcctNumber}" styleName="subHeader" fontSize="11"
fontWeight="bold" paddingLeft="0" left="5" top="5"/>
mx:Label id="acctNm" text="{acctName}" styleName="subHeader" fontWeight="bold" left="5" top="16" paddingLeft="0"/>
mx:VBox>
mx:TabNavigator historyManagementEnabled="false" top="22" left="5" right="5" bottom="5" id="vsAcctRef" selectedIndex="1" horizontalAlign="right" horizontalGap="2"
paddingTop="3" paddingBottom="0" paddingLeft="5" paddingRight="5" visible="{showData}">

mx:HBox id="hbGenInfo" label="General Information" backgroundColor="#FFFFFF"
backgroundAlpha="1.0" horizontalScrollPolicy="off" paddingLeft="4" paddingRight="4"
paddingTop="4" paddingBottom="4">
mx:VBox height="100%" width="50%" verticalGap="0" paddingLeft="0" paddingRight="0" >
mx:HBox styleName="popuplabelsbg">
mx:Label text="Sub Header1" styleName="popuplabels"/>
mx:HBox>
mx:Grid id="gdAcctIdent" width="100%" paddingLeft="0"/>
mx:Spacer height="15" />
mx:VBox>
mx:HBox>
mx:TabNavigator>
mx:Canvas>
mx:TitleWindow>
mx:Application>

Monday, November 17, 2008

FileUpload to a PHP file

http://weblog.cahlan.com/files/FileUpload/srcview/index.html

Datagrid selecteditem from dg1 to dg2

xml version="1.0" encoding="utf-8"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
mx:Script>
![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var expenses1:ArrayCollection = new ArrayCollection([
{Month:"Jan", Profit:2000, Expenses:120, Amount:45},
{Month:"Feb", Profit:1000, Expenses:200, Amount:60},
{Month:"Mar", Profit:1500, Expenses:500, Amount:30}]);

[Bindable]
public var expenses2:ArrayCollection = new ArrayCollection([
{Month:"Apr", Profit:2500, Expenses:150, Amount:55},
{Month:"May", Profit:1800, Expenses:220, Amount:70},
{Month:"Jun", Profit:2700, Expenses:400, Amount:50}]);

private function copyToDg2(evt:Event):void
{
if(dg1.selectedItem!=null)
{
expenses2.addItem(dg1.selectedItem);
//If your looking for move add this below statement
//expenses1.removeItemAt(dg1.selectedIndex);
}
}
private function copyToDg1(evt:Event):void
{
if(dg2.selectedItem!=null)
{
expenses1.addItem(dg2.selectedItem);
//If your looking for move add this below statement
//expenses2.removeItemAt(dg2.selectedIndex);
}
}
]]>
mx:Script>

mx:DataGrid id="dg1" dataProvider="{expenses1}"/>
mx:VBox>
mx:Button label=">>" click="copyToDg2(event)"/>
mx:Button label="<<" click="copyToDg1(event)"/>
mx:VBox>
mx:DataGrid id="dg2" dataProvider="{expenses2}"/>
mx:Application>

Sunday, November 9, 2008

Changing position of slider automatically

?xml version="1.0" encoding="utf-8"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
mx:HSlider id="mySlider" value="{Number(userVal.text)}" minimum="0" maximum="100" labels="[0,25,50,75,100]"/>
mx:TextInput id="userVal"/>
mx:Application>

Monday, October 27, 2008

Video Player with Fullscreen,play,pause,stop,mute,volume,progress

?xml version="1.0" encoding="utf-8"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white" cornerRadius="14" backgroundAlpha="0" width="100%" height="100%">
mx:Script source="ascript.as" />
mx:ArrayCollection id="playlist">
mx:String>videos/AdobeBand_640.flv
mx:String>videos/phone.flv
mx:String>videos/sample.flv
mx:ArrayCollection>
mx:Style source="new.css"/>
mx:HBox >
mx:VideoDisplay id="videoDisplay"
width="260"
height="220"
playheadUpdate="changeProgressBar()"
volume="{volumesl.value}"
complete="reply()"
doubleClickEnabled="true"
doubleClick="makeFullScreen()" />
mx:List id="mylist"
dataProvider="{playlist}"
click="loadButton_list(event)"
dropEnabled="true"
dragEnabled="true"
height="100%"/>
mx:HBox>
mx:HSlider id="progress"
thumbSkin="@Embed(source='skins/thumb.png')"
showTrackHighlight="true"
slideEasingFunction="undefined"
liveDragging="false"
tickColor="black"
trackSkin="@Embed(source='skins/prg.png')"
width="{videoDisplay.width}"/>
mx:ControlBar>
mx:Button id="loadButton"
styleName="Play"
toggle="true"
click="plyBtn(event);" />
mx:Button id="unloadButton"
styleName="Stop"
toggle="true"
click="unloadButton_click(event);" />
mx:HSlider id="volumesl"
minimum="0"
maximum="1"
width="75"
snapInterval="0.1"
allowTrackClick="true"
trackSkin="@Embed(source='skins/vol.png')"
change="volchange()"
thumbSkin="@Embed(source='skins/thumb.png')" />
mx:Button id="fs"
styleName="Fscreen"
toggle="true"
click="makeFullScreen()"/>
mx:Button id="mute"
toggle="true"
styleName="Mute" width="34"
click="SoundOff()"/>
mx:ControlBar>
mx:Application>

ascript.as
----------
import flash.events.*;
public static var vol:int;
private function reply():void
{
videoDisplay.play();
SoundOff();
}
public function loadButton_click(evt:MouseEvent):void
{
volumesl.value=vol;
var url:String =mylist.selectedItem.toString();
videoDisplay.source = url;
vol=volumesl.value;
if (loadButton.selected )
{

videoDisplay.play();
vol=volumesl.value;
}
else
{
videoDisplay.pause();
}
}
public function plyBtn(evt1:MouseEvent):void
{
volumesl.value=vol;
videoDisplay.source = "videos/sample.flv";
vol=volumesl.value;
if (loadButton.selected )
{
videoDisplay.play();
vol=volumesl.value;
}
else
{
videoDisplay.pause();
}
}
public function loadButton_list(evt:MouseEvent):void
{
var url:String =mylist.selectedItem.toString();
videoDisplay.source = url;
var i:int=videoDisplay.source.length;
progress.minimum=0;
progress.maximum=i;
videoDisplay.play();
}
public function SoundOff():void
{
if (mute.selected)
{
videoDisplay.volume=0;
}
else
{
videoDisplay.volume=volumesl.value;
}
}
public function volchange():void
{
vol=volumesl.value;
mute.selected=false;
}
private function unloadButton_click(evt:MouseEvent):void
{
videoDisplay.close();
videoDisplay.source = null;
videoDisplay.mx_internal::videoPlayer.clear();
videoDisplay.volume=0;
progress.value=0;
loadButton.selected=false;
}
private function changeProgressBar(): void
{
progress.value = videoDisplay.playheadTime
}
private function makeFullScreen():void
{
fs.enabled="false";
if(stage.displayState == StageDisplayState.FULL_SCREEN)
{
stage.displayState = StageDisplayState.NORMAL
videoDisplay.width=260;
videoDisplay.height=220;
}
else
{
stage.displayState = StageDisplayState.FULL_SCREEN
videoDisplay.width=810;
videoDisplay.height=590;
}

}

new.css
-------

Canvas
{
borderThicknessLeft: 14;
borderThicknessRight: 14;
borderThicknessTop: 2;
borderThicknessBottom: 12;
headerHeight: 28;
backgroundAlpha: 0;
cornerRadius: 28;
titleStyleName: "mypanelTitle";
roundedBottomCorners: true;
backgroundAlpha: 0;
highlightAlphas: 0, 0;

}
.Play
{
skin:Embed(source='skins/play.png');
over-skin : Embed('skins/play pushed.png');
downSkin: Embed('skins/pause hot.png');
selectedUpSkin: Embed('skins/pause hot.png');
selectedOverSkin: Embed('skins/pause pushed.png');
selectedDownSkin: Embed('skins/play.png');
}
.Play1
{
skin:Embed(source='skins/play.png');
}
.Mute
{
skin:Embed(source="skins/sound1.png");
over-skin : Embed('skins/sound2.png');
selected-up-skin:Embed('skins/sound3.png');
down-skin:Embed('skins/sound3.png');
}
.Stop
{
skin:Embed(source='skins/stop hot.png');
over-skin : Embed('skins/stop pushed.png');
}
.Fscreen
{
skin:Embed(source='skins/FS.png');
}


/* CSS file */

Monday, October 20, 2008

playing videos one after one

  1.  
  2.  
  3. http://www.adobe.com/2006/mxml" 
  4.         layout="vertical" 
  5.         verticalAlign="middle" 
  6.         backgroundColor="white" viewSourceURL="srcview/index.html"> 
  7.      
  8.         
  9.              private function reply():void 
  10.             { 
  11.                 videoDisplay.play(); 
  12.             } 
  13.            public function loadButton_click(evt:MouseEvent):void { 
  14.              var url:String = "http://www.helpexamples.com/flash/video/ 
  15. clouds.flv"; 
  16.                 videoDisplay.source = url; 
  17.             } 
  18.             private function unloadButton_click(evt:MouseEvent):void { 
  19.                 videoDisplay.close(); 
  20.                 videoDisplay.source = null; 
  21.                 videoDisplay.mx_internal::videoPlayer.clear(); 
  22.             } 
  23.         ]]> 
  24.      
  25.      
  26.          
  27.              
  28.                 
  29.                         minimum="0.0" 
  30.                         maximum="1.0" 
  31.                         value="1" 
  32.                         snapInterval="0.01" 
  33.                         liveDragging="true" /> 
  34.              
  35.              
  36.                  
  37.              
  38.          
  39.      
  40.     
  41.             backgroundAlpha="{slider.value}" 
  42.             backgroundColor="{colorPicker.selectedColor}" 
  43.             width="160" 
  44.             height="120" complete="reply()" /> 
  45.      
  46.         
  47.                 label="Load" 
  48.                 click="loadButton_click(event);" /> 
  49.         
  50.                 label="Unload" 
  51.                 click="unloadButton_click(event);" /> 
  52.      
  53.  

Sunday, October 19, 2008

Gradient Canvas Style explorer

Fr customizing Canvas with different gradient colors for border and
for different styles, check this Gradient Canvas Style explorer

http://afoucal.free.fr/wp-content/GradientCanvas/v2.1/index.html

Dissolve Effect of a Image

?xml version="1.0" encoding="utf-8"?>
!-- Simple example to demonstrate the Dissolve effect. -->
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

mx:Dissolve id="dissolveOut" duration="1000" alphaFrom="1.0" alphaTo="0.0"/>
mx:Dissolve id="dissolveIn" duration="1000" alphaFrom="0.0" alphaTo="1.0"/>

mx:Panel title="Dissolve Effect Example"
width="95%" height="95%" layout="horizontal"
paddingTop="5" paddingLeft="10" paddingRight="10" paddingBottom="5">

mx:VBox height="100%">
mx:Label text="Nokia 9930"
fontSize="14"
visible="{cb1.selected}"
hideEffect="{dissolveOut}" showEffect="{dissolveIn}"/>

mx:Image source="@Embed(source='assets/Nokia_6630.png')"
visible="{cb1.selected}"
hideEffect="{dissolveOut}" showEffect="{dissolveIn}"/>
mx:VBox>

mx:VBox height="100%" width="100%">
mx:Text width="100%" color="blue"
text="Use the Dissolve effect to show or hide the text, image, and button."/>

mx:Spacer height="100%"/>

mx:Button label="Purchase"
visible="{cb1.selected}"
hideEffect="{dissolveOut}" showEffect="{dissolveIn}"/>
mx:VBox>

mx:ControlBar>
mx:CheckBox id="cb1" label="visible" selected="true"/>
mx:ControlBar>
mx:Panel>
mx:Application>

Adding & Deleting Effects of a TileList

?xml version="1.0"?>
mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

mx:Script>
![CDATA[
import mx.effects.easing.Elastic;
import mx.collections.ArrayCollection;

[Bindable]
private var myDP:ArrayCollection = new ArrayCollection(
['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P']);

private function deleteItem():void {
// As each item is removed, the index of the other items changes.
// So first get the items to delete, then determine their indices
// as you remove them.
var toRemove:Array = [];
for (var i:int = 0; i < tlist0.selectedItems.length; i++)
toRemove.push(tlist0.selectedItems[i]);
for (i = 0; i < toRemove.length; i++)
myDP.removeItemAt(myDP.getItemIndex(toRemove[i]));
}

private var zcount:int = 0;
private function addItem():void {
// Always add the new item after the third item,
// or after the last item if the length is less than 3.
myDP.addItemAt("Z"+zcount++,Math.min(3,myDP.length));
}
]]>
mx:Script>

!-- Define a custom data effect as a Sequence effect. -->
mx:Sequence id="itemsChangeEffect1">
mx:Blur
blurYTo="12" blurXTo="12"
duration="300"
perElementOffset="150"
filter="removeItem"/>
mx:Parallel>
mx:Move
duration="750"
easingFunction="{Elastic.easeOut}"
perElementOffset="20"/>
mx:RemoveItemAction
startDelay="400"
filter="removeItem"/>
mx:AddItemAction
startDelay="400"
filter="addItem"/>
mx:Blur
startDelay="410"
blurXFrom="18" blurYFrom="18" blurXTo="0" blurYTo="0"
duration="300"
filter="addItem"/>
mx:Parallel>
mx:Sequence>

mx:Panel title="AddItemEffect/RemoveItemEffect Example" width="75%" height="75%"
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10">

!-- This TileList uses a custom data change effect -->
mx:TileList id="tlist0"
height="100%" width="100%"
fontSize="18" fontStyle="bold"
columnCount="4" rowCount="4"
direction="horizontal"
dataProvider="{myDP}"
allowMultipleSelection="true"
offscreenExtraRowsOrColumns="4"
itemsChangeEffect="{itemsChangeEffect1}"/>

mx:Button
label="Delete selected item(s)"
click="deleteItem();"/>
mx:Button
label="Add item"
click="addItem();"/>

mx:Panel>
mx:Application>