Search Flex Samples

Adding Buttons in Panel





Adding buttons in Panel's Footer


<?xml version=”1.0″ encoding=”utf-8″?>

<mx:Application xmlns:mx=” http://www.adobe.com/2006/mxml “>

<mx:Script>

<![CDATA[

import mx.controls.Alert;

private function show():void{

Alert.show(”Hello! How Are you?”)

}

]]>

</mx:Script>

<mx:Panel width=”250″ height=”200″ layout=”absolute” title=”hi”>

<mx:ControlBar>

<mx:Button label=”Hello” click=”show()”/>

</mx:ControlBar>

</mx:Panel>

</mx:Application>


Adding buttons in Panel's Header


// Main.mxml


<?xml version=”1.0″ encoding=”utf-8″?>

<mx:Application xmlns:mx=” http://www.adobe.com/2006/mxml ” xmlns=”*” layout=”horizontal”>

<MinMaxPanel id=”topPanel” title=”Special” width=”300″ height=”200″maxHeight=”{height-50}” maxWidth=”{width-300}” />

</mx:Application>


// MinMaxButtons.mxml


<?xml version=”1.0″ encoding=”utf-8″?>

<mx:Canvas xmlns:mx=” http://www.adobe.com/2006/mxml ” xmlns=”*” creationComplete=”initComp()” >

<mx:Metadata>

[DefaultProperty(”subComponents”)]

[Event(”minimized”)]

[Event(”maximized”)]

[Event(”normalized”)]

</mx:Metadata>

<mx:states>

<mx:State name=”minimized”>

<mx:SetProperty name=”height” value=”30″/>

</mx:State>

<mx:State name=”maximized”>

<mx:SetProperty name=”width” value=”{maxWidth}”/>

<mx:SetProperty name=”height” value=”{maxHeight}”/>

</mx:State>

</mx:states>

<mx:transitions>

<mx:Transition fromState=”*” toState=”*”>

<mx:Resize target=”{this}” />

</mx:Transition>

</mx:transitions>

<mx:Script>

<![CDATA[

private var _myChildren:Array;

public function set subComponents(a:Array) : void

{

_myChildren = a;

}

public function get subComponents() : Array

{

return _myChildren;

}

private function addSubComponents() : void

{

if( _myChildren == null ) {

return;

}

for(var i:int=0; i < _myChildren.length; i++) {

panel.addChild( _myChildren[i] );

}

}

private var _myControlChildren:Array;

public function set controlComponents(a:Array) : void

{

_myControlChildren = a;

}

public function get controlComponents() : Array

{

return _myControlChildren;

}

private function addControls() : void

{

if( _myControlChildren == null ){

return;

}

for(var i:int=0; i < _myControlChildren.length; i++) {

controlBar.addChild( _myControlChildren[i] );

}

}

public function minimize(fireEvent:Boolean=true) : void

{

if( currentState == ‘minimized' ) {

currentState = ”;

if( fireEvent ){

dispatchEvent( new Event(”normalized”) );

}

}

else {

currentState = ‘minimized';

if( fireEvent ){

dispatchEvent( new Event(”minimized”) );

}

}

}

public function maximize(fireEvent:Boolean=true) : void

{

if( currentState == ‘maximized' ) {

currentState = ”;

if( fireEvent ){

dispatchEvent( new Event(”normalized”) );

}

}

else {

currentState = ‘maximized';

if( fireEvent ){

dispatchEvent( new Event(”minimized”) );

}

}

}

[Bindable]

public var showMinimize:Boolean = true;

[Bindable]

public var showMaximize:Boolean = true;

private function initComp() : void

{

if( !showMinimize ){

minButton.width=0;

}

if( !showMaximize ){

maxButton.width=0;

}

}

private var _title:String;

public function set title(t:String) : void

{

_title = t;

}

[Bindable]

public function get title() : String

{

return _title;

}

]]>

</mx:Script>

<mx:Panel id=”panel” title=”{title}” layout=”absolute” left=”0″ top=”0″ bottom=”0″ right=”0″ creationComplete=”addSubComponents(); addControls()”>

<mx:ControlBar id=”controlBar”/>

</mx:Panel>

<mx:HBox top=”2″ right=”0″>

<mx:LinkButton top=”2″ right=”40″ id=”minButton” icon=”@Embed('minimize_icon.gif')” visible=”{showMinimize}”

click=”minimize()”/>

<mx:LinkButton top=”2″ right=”5″ id=”maxButton” icon=”@Embed('maximize_icon.gif')” visible=”{showMaximize}”

click=”maximize()”/>

</mx:HBox>

</mx:Canvas>

0 comments:

Related Flex Samples

Learn Flex: Flex Samples | Flex Video Tutorials Flex Examples