Zahid, Here is my 2.0 banner.mxml<?xml version="1.0" encoding="utf-8"?>
<!--
////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2010 ESRI
//
// All rights reserved under the copyright laws of the United States.
// You may freely redistribute and use this software, with or
// without modification, provided you include the original copyright
// and use restrictions. See use restrictions in the file:
// <install location>/License.txt
//
////////////////////////////////////////////////////////////////////////////////
-->
<mx:Canvas xmlns:mx ="http://www.adobe.com/2006/mxml"
xmlns:s ="library://ns.adobe.com/flex/spark"
xmlns:flash ="flash.filters.*"
minWidth ="550"
minHeight ="70"
creationComplete="Init()">
<mx:Script>
<![CDATA[
import com.esri.ags.Map;
import com.esri.ags.SpatialReference;
import com.esri.ags.geometry.MapPoint;
import com.esri.viewer.AppEvent;
import com.esri.viewer.ViewerContainer;
import flash.filters.GlowFilter;
import mx.resources.ResourceBundle;
import widgets.ClassicController.ClassicControllerWidget;
private var _map:Map;
private var _logo:String;
private var _Width:Number;
/**
* The logo that is used to brand the application at the controller area.
*
* @param value the relative URL points to the logo image file.
*/
public function set logo(value:String):void
{
_logo = value;
if (value != "")
{
imgLogo.visible = true;
imgLogo.includeInLayout = true;
}
else
{
imgLogo.visible = false;
imgLogo.includeInLayout = false;
}
}
//init
private function Init():void
{
_map = ViewerContainer.getInstance().mapManager.map;
_map.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
}
private function mouseMoveHandler(event:MouseEvent):void
{
const mapPoint:MapPoint = _map.toMapFromStage(event.stageX, event.stageY);
mapXY = "X: "+ mapPoint.x.toFixed(4) + ", Y: " + mapPoint.y.toFixed(4);
}
/**
* @private
*/
[Bindable]
public function get logo():String
{
return _logo;
}
/**
* The title displayed in the banner.
*/
[Bindable]
public var title:String;
/**
* The maps XY coordinates in the banner.
*/
[Bindable]
public var mapXY:String = " ";
/**
* The subtitle displayed in the banner.
*/
[Bindable]
public var subtitle:String;
/**
* The current/activated tool status displayed in the banner.
*/
[Bindable]
public var status:String;
/**
* Displayed the maps xy coordinates on the banner.
*/
[Bindable]
public var DisplayXY:Boolean=true;
private function nlsString(nlsToken:String):String
{
return resourceManager.getString('ControllerStrings', nlsToken);
}
public function logoClick():void
{
var controler:ClassicControllerWidget;
if (vBox.visible){
setStyle("backgroundAlpha", 0.0);
vBox.visible = false;
_Width = this.width;
this.minWidth = 65;
this.width = 65;
this.verticalScrollPolicy = "off";
this.horizontalScrollPolicy = "off"
controler = parent.parent as ClassicControllerWidget;
controler.menuContainer.visible = false;
BorderCont.styleName = "ClassicBannerCanvasHidden";
} else {
setStyle("backgroundAlpha", 0.6);
this.minWidth = 500;
this .width = _Width;
this.verticalScrollPolicy = "auto";
this.horizontalScrollPolicy = "auto"
vBox.visible = true;
controler = parent.parent as ClassicControllerWidget;
controler.menuContainer.visible = true;
BorderCont.styleName = "ClassicBannerCanvas";
}
}
]]>
</mx:Script>
<mx:Metadata>
[ResourceBundle("ControllerStrings")]
</mx:Metadata>
<s:BorderContainer id="BorderCont" width="100%" height="70" styleName="ClassicBannerCanvas" >
<s:layout>
<s:VerticalLayout gap="0" />
</s:layout>
<s:HGroup width="100%" gap="0" verticalAlign="middle">
<mx:Spacer width="10" />
<mx:Image id="imgLogo"
source="{logo}"
maintainAspectRatio="true"
maxHeight="50"
maxWidth="70"
horizontalAlign="left"
verticalAlign="top"
visible="false"
includeInLayout="false"
click="logoClick()" toolTip="Click Here to Hide/Show Banner">
<mx:filters>
<flash:DropShadowFilter color="#000000" distance="5" alpha="1" blurX="5" blurY="5"/>
</mx:filters>
</mx:Image>
<mx:Spacer width="5" />
<mx:VBox id="vBox" verticalGap="0" horizontalAlign="left" width="100%" >
<mx:HBox width="100%" verticalAlign="top">
<mx:Label styleName="ClassicBannerTitle" text="{title}"/>
<mx:VBox verticalGap="1" horizontalAlign="right" width="100%" >
<mx:HBox width="100%" horizontalAlign="right">
<mx:Label styleName="ClassicBannerStatus" text="{mapXY}"/>
</mx:HBox>
</mx:VBox>
</mx:HBox>
<mx:HRule styleName="ClassicBannerRule" width="100%" />
<mx:HBox width="100%" verticalAlign="top">
<mx:Label styleName="ClassicBannerSubtitle" text="{subtitle}"/>
<mx:HBox width="100%" horizontalAlign="right">
<mx:Label styleName="ClassicBannerStatus" text="{nlsString('current_action') + status}"/>
</mx:HBox>
</mx:HBox>
</mx:VBox>
<mx:Spacer width="10" />
</s:HGroup>
<mx:Spacer height="15"/>
</s:BorderContainer>
</mx:Canvas>