<?xml version="1.0" encoding="utf-8"?> <components:ExtendedTitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:components="components.*" xmlns:navigator="components.navigator.*"> <mx:Script> <![CDATA[ import data.DataSource; import mx.managers.PopUpManager; import mx.controls.listClasses.ListItemRenderer; [Bindable] public var items:XMLList; [Bindable] public var parentNode:XML; [Bindable] public var dataSource:DataSource; [Bindable] public var elementName:Object; private function ok():void { dataSource.addRef(XML(comboBox.selectedItem), parentNode); PopUpManager.removePopUp(this); } [Bindable(name="propertyChange")] private function get comboBox() : ComboBox { for each(var child:Object in chooseNavigator.currentContainer.getChildren()) { if(child is ComboBox) { return child as ComboBox; } } return null; } [Bindable(name="propertyChange")] private function get listState() : String { return items.length() > 0 ? 'choose' : 'close'; } ]]> </mx:Script> <mx:Component id="itemRenderer"> <mx:VBox paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" verticalGap="-5" toolTip="{resourceManager.getString('language', 'Lbl_ExistingTitle') + ' ' + itemTitle}"> <mx:Script> <![CDATA[ [Bindable] private var serverTitle:String; [Bindable] private var itemTitle:String; override public function set data(value:Object):void { super.data = value; if(data.Server.length() > 0) { serverTitle = outerDocument.dataSource.getProps(data.Server[0])[0].Title; } else { serverTitle = null; } itemTitle = data.Titles.Title.(Language == String(resourceManager.localeChain[0]).substr(0, 2)).Title; } ]]> </mx:Script> <mx:Label text="{data.Name}"/> <mx:Label fontStyle="italic" text="{serverTitle != null ? (resourceManager.getString('language', 'Lbl_ExistingServer') + ' ' + serverTitle) : resourceManager.getString('language', 'Lbl_ExistingNoServer') + ' '}"/> </mx:VBox> </mx:Component> <components:states> <mx:State name="choose"> <mx:AddChild relativeTo="{box}"> <components:Navigator id="chooseNavigator" elementName="{elementName}" resizeToMaxWidth="false" containerSwitch="{title = chooseNavigator.title}"> <components:containers> <navigator:Element element="Map" direction="horizontal" title="{resourceManager.getString('language', 'Etl_Map')}"> <mx:Label text="{resourceManager.getString('language', 'Lbl_ExistingMap')}"/> <mx:ComboBox dataProvider="{items}" labelField="Name" itemRenderer="{itemRenderer}" width="200"/> </navigator:Element> <navigator:Element element="QueryAspect" direction="horizontal" title="{resourceManager.getString('language', 'Etl_QueryAspect')}"> <mx:Label text="{resourceManager.getString('language', 'Lbl_ExistingQueryAspect')}"/> <mx:ComboBox dataProvider="{items}" labelField="Name" itemRenderer="{itemRenderer}" width="200"/> </navigator:Element> <navigator:Element element="Layer" direction="horizontal" title="{resourceManager.getString('language', 'Etl_Layer')}"> <mx:Label text="{resourceManager.getString('language', 'Lbl_ExistingLayer')}"/> <mx:ComboBox dataProvider="{items}" labelField="Name" itemRenderer="{itemRenderer}" width="200"/> </navigator:Element> </components:containers> </components:Navigator> </mx:AddChild> <mx:AddChild relativeTo="{bar}"> <mx:Button label="{resourceManager.getString('language', 'Btn_OK')}" click="{ok()}"/> </mx:AddChild> <mx:AddChild relativeTo="{bar}"> <mx:Button label="{resourceManager.getString('language', 'Btn_Cancel')}" click="{PopUpManager.removePopUp(this)}"/> </mx:AddChild> </mx:State> <mx:State name="close"> <mx:AddChild relativeTo="{box}"> <components:Navigator id="closeNavigator" elementName="{elementName}" resizeToMaxWidth="false" containerSwitch="{title = closeNavigator.title}"> <components:containers> <navigator:Element element="Layer" title="{resourceManager.getString('language', 'Etl_Layer')}"> <mx:Label text="{resourceManager.getString('language', 'Lbl_ExistingNoUnusedLayer')}"/> </navigator:Element> <navigator:Element element="QueryAspect" title="{resourceManager.getString('language', 'Etl_QueryAspect')}"> <mx:Label text="{resourceManager.getString('language', 'Lbl_ExistingNoUnusedQueryAspect')}"/> </navigator:Element> <navigator:Element element="Map" title="{resourceManager.getString('language', 'Etl_Map')}"> <mx:Label text="{resourceManager.getString('language', 'Lbl_ExistingNoUnusedMap')}"/> </navigator:Element> </components:containers> </components:Navigator> </mx:AddChild> <mx:AddChild relativeTo="{bar}"> <mx:Button label="{resourceManager.getString('language', 'Btn_Close')}" click="{PopUpManager.removePopUp(this)}"/> </mx:AddChild> </mx:State> </components:states> <components:currentState>{listState}</components:currentState> <mx:HBox id="box"/> <mx:ControlBar> <mx:HBox width="100%"> <mx:HBox width="100%"/> <mx:HBox id="bar"/> </mx:HBox> </mx:ControlBar> </components:ExtendedTitleWindow>