http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/ApplicationHeader.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/ApplicationHeader.mxml b/TourDeFlex/TourDeFlex/src/components/ApplicationHeader.mxml index a01947c..65713b0 100644 --- a/TourDeFlex/TourDeFlex/src/components/ApplicationHeader.mxml +++ b/TourDeFlex/TourDeFlex/src/components/ApplicationHeader.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,65 +17,65 @@ limitations under the License. --> -<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="42" - verticalScrollPolicy="off" horizontalScrollPolicy="off" backgroundAlpha="0"> - - <mx:Script> - <![CDATA[ - import mx.controls.Alert; - import mx.managers.PopUpManager; - import mx.events.ListEvent; - - [Bindable] - private var resourceTitle:String = " "; - - /* - private function comboBox_about_change(event:ListEvent):void - { - if([email protected]().toLowerCase().indexOf("http") == 0) - { - navigateToURL(new URLRequest(comboBox_about.selectedItem.@data)); - } - else if(comboBox_about.selectedItem.@data == "SplashWindow") - { - var splashWindow:SplashWindow = new SplashWindow(); - PopUpManager.addPopUp(splashWindow, DisplayObject(this.parentApplication), false); - PopUpManager.centerPopUp(splashWindow); - } - else - { - var popup:AboutWindow = new AboutWindow(); - PopUpManager.addPopUp(popup, DisplayObject(this.parentApplication), false); - popup.url = comboBox_about.selectedItem.@data; - PopUpManager.centerPopUp(popup); - popup.move(popup.x + 70, popup.y + 50); // move it 50 pixels right - GAW - } - comboBox_about.selectedIndex = -1; // Reset menu - } - */ - - private function button_quickStart_click(event:MouseEvent):void - { - TourDeFlex(this.parentApplication).showQuickStart(); - } - - ]]> - </mx:Script> - - <mx:HBox styleName="applicationHeader" width="100%" height="100%" mouseDown="stage.nativeWindow.startMove()" /> - - <!--<mx:VBox right="37" y="2" height="100%" verticalAlign="middle" horizontalAlign="right">--> - <mx:HBox right="6" y="10" paddingTop="2" width="214" horizontalGap="2" horizontalScrollPolicy="off"> - <mx:Button styleName="aboutComboBox" width="103" height="14" click="button_quickStart_click(event)" /> - <!--<mx:ComboBox id="comboBox_about" prompt="{resourceTitle}" width="103" height="14" change="comboBox_about_change(event)" rowCount="20" styleName="aboutComboBox" dataProvider="{Config.ABOUT_MENU_LIST}" labelField="@label" />--> - <!--prompt="{Config.ABOUT_MENU_TITLE}" --> - <mx:Spacer width="30" /> - <mx:Button width="20" styleName="applicationMinimizeButton" click="parentApplication.minimize()" tabEnabled="false" toolTip="Minimize" buttonMode="true" mouseEnabled="true" useHandCursor="true" /> - <mx:Button width="20" styleName="applicationMaximizeButton" click="if(stage.displayState == StageDisplayState.FULL_SCREEN_INTERACTIVE) stage.displayState = StageDisplayState.NORMAL; else stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE" tabEnabled="false" toolTip="Full Screen" buttonMode="true" mouseEnabled="true" useHandCursor="true" /> - <mx:Button width="20" styleName="applicationCloseButton" - click="NativeApplication.nativeApplication.dispatchEvent(new Event(Event.EXITING,true,true));" - tabEnabled="false" toolTip="Close" buttonMode="true" mouseEnabled="true" useHandCursor="true" /> - - </mx:HBox> - <!--</mx:VBox>--> -</mx:Canvas> +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="42" + verticalScrollPolicy="off" horizontalScrollPolicy="off" backgroundAlpha="0"> + + <mx:Script> + <![CDATA[ + import mx.controls.Alert; + import mx.managers.PopUpManager; + import mx.events.ListEvent; + + [Bindable] + private var resourceTitle:String = " "; + + /* + private function comboBox_about_change(event:ListEvent):void + { + if([email protected]().toLowerCase().indexOf("http") == 0) + { + navigateToURL(new URLRequest(comboBox_about.selectedItem.@data)); + } + else if(comboBox_about.selectedItem.@data == "SplashWindow") + { + var splashWindow:SplashWindow = new SplashWindow(); + PopUpManager.addPopUp(splashWindow, DisplayObject(this.parentApplication), false); + PopUpManager.centerPopUp(splashWindow); + } + else + { + var popup:AboutWindow = new AboutWindow(); + PopUpManager.addPopUp(popup, DisplayObject(this.parentApplication), false); + popup.url = comboBox_about.selectedItem.@data; + PopUpManager.centerPopUp(popup); + popup.move(popup.x + 70, popup.y + 50); // move it 50 pixels right - GAW + } + comboBox_about.selectedIndex = -1; // Reset menu + } + */ + + private function button_quickStart_click(event:MouseEvent):void + { + TourDeFlex(this.parentApplication).showQuickStart(); + } + + ]]> + </mx:Script> + + <mx:HBox styleName="applicationHeader" width="100%" height="100%" mouseDown="stage.nativeWindow.startMove()" /> + + <!--<mx:VBox right="37" y="2" height="100%" verticalAlign="middle" horizontalAlign="right">--> + <mx:HBox right="6" y="10" paddingTop="2" width="214" horizontalGap="2" horizontalScrollPolicy="off"> + <mx:Button styleName="aboutComboBox" width="103" height="14" click="button_quickStart_click(event)" /> + <!--<mx:ComboBox id="comboBox_about" prompt="{resourceTitle}" width="103" height="14" change="comboBox_about_change(event)" rowCount="20" styleName="aboutComboBox" dataProvider="{Config.ABOUT_MENU_LIST}" labelField="@label" />--> + <!--prompt="{Config.ABOUT_MENU_TITLE}" --> + <mx:Spacer width="30" /> + <mx:Button width="20" styleName="applicationMinimizeButton" click="parentApplication.minimize()" tabEnabled="false" toolTip="Minimize" buttonMode="true" mouseEnabled="true" useHandCursor="true" /> + <mx:Button width="20" styleName="applicationMaximizeButton" click="if(stage.displayState == StageDisplayState.FULL_SCREEN_INTERACTIVE) stage.displayState = StageDisplayState.NORMAL; else stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE" tabEnabled="false" toolTip="Full Screen" buttonMode="true" mouseEnabled="true" useHandCursor="true" /> + <mx:Button width="20" styleName="applicationCloseButton" + click="NativeApplication.nativeApplication.dispatchEvent(new Event(Event.EXITING,true,true));" + tabEnabled="false" toolTip="Close" buttonMode="true" mouseEnabled="true" useHandCursor="true" /> + + </mx:HBox> + <!--</mx:VBox>--> +</mx:Canvas>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/CommentsWindow.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/CommentsWindow.mxml b/TourDeFlex/TourDeFlex/src/components/CommentsWindow.mxml index 67094d5..54e403b 100644 --- a/TourDeFlex/TourDeFlex/src/components/CommentsWindow.mxml +++ b/TourDeFlex/TourDeFlex/src/components/CommentsWindow.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,34 +17,34 @@ limitations under the License. --> -<WipeWindow xmlns="components.*" xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="right"> - - <mx:Script> - <![CDATA[ - - private var commentsInitiallyLoaded:Boolean = false; - - public function loadComments(objectId:int, isOnline:Boolean):void - { - if(isOnline) - this.html_comments.location = Config.COMMENTS_URL + objectId; - else - this.html_comments.location = Config.OFFLINE_URL; - } - - private function html_comments_loaded(event:Event):void - { - if(commentsInitiallyLoaded) - this.parentApplication.HTTP_GetCommentsTotal.send(); - - commentsInitiallyLoaded = true; - } - - ]]> - </mx:Script> - - <mx:Button click="{this.visible = false}" styleName="closeButton"/> - - <mx:HTML id="html_comments" width="100%" height="100%" complete="html_comments_loaded(event)" /> - -</WipeWindow> +<WipeWindow xmlns="components.*" xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="right"> + + <mx:Script> + <![CDATA[ + + private var commentsInitiallyLoaded:Boolean = false; + + public function loadComments(objectId:int, isOnline:Boolean):void + { + if(isOnline) + this.html_comments.location = Config.COMMENTS_URL + objectId; + else + this.html_comments.location = Config.OFFLINE_URL; + } + + private function html_comments_loaded(event:Event):void + { + if(commentsInitiallyLoaded) + this.parentApplication.HTTP_GetCommentsTotal.send(); + + commentsInitiallyLoaded = true; + } + + ]]> + </mx:Script> + + <mx:Button click="{this.visible = false}" styleName="closeButton"/> + + <mx:HTML id="html_comments" width="100%" height="100%" complete="html_comments_loaded(event)" /> + +</WipeWindow> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/DocumentTabs.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/DocumentTabs.mxml b/TourDeFlex/TourDeFlex/src/components/DocumentTabs.mxml index e9b1251..01fe4d7 100644 --- a/TourDeFlex/TourDeFlex/src/components/DocumentTabs.mxml +++ b/TourDeFlex/TourDeFlex/src/components/DocumentTabs.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,110 +17,110 @@ limitations under the License. --> -<mx:TabNavigator xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="components.*" - width="100%" height="100%" styleName="documentTabs" selectedTabTextStyleName="documentTabSelected"> - - <mx:Script> - <![CDATA[ - import classes.Document; - import mx.controls.HTML; - import mx.containers.VBox; - - public var needHtmlHack:Boolean = false; // This is a total hack to work around TWO bugs in Flex. Ask Greg Wilson for details - - public function addTabs(documents:Array, localRootPath:String):void - { - this.selectedIndex = 0; - this.validateNow(); - this.removeAllChildren(); - - for each(var document:Document in documents) - this.addTab(document.name, document.path, document.openLinksExternal, localRootPath); - } - - // There is a bug in the Flex 3.2 html control where the default font is set too large. This method puts it back to the desired default of 11px. - public function changeDefaultFont(e:Event):void { - var frames:Object = e.target.htmlLoader.window.document.getElementsByTagName("frame"); - if (frames.length == 0) - { - // document does not have frames - if(e.target.htmlLoader.window.document.getElementsByTagName("body")[0]) - e.target.htmlLoader.window.document.getElementsByTagName("body")[0].style.fontSize="11px"; - } - else - { - // document has frames... change style for document in each frame - for (var i:int=0;i<frames.length;i++) - { - if(frames[i].contentDocument.getElementsByTagName("body")[0]) - frames[i].contentDocument.getElementsByTagName("body")[0].style.fontSize="11px"; - } - } - e.target.visible = true; - } - - public function removeCleanup(e:Event):void { - if (this.needHtmlHack) { - //trace("CLEANUP"); - e.target.htmlText = ""; // Hack - GAW - forces any loaded SWFs to stop - } - } - - - public function addTab(name:String, path:String, openLinksExternal:String, localRootPath:String):void - { - var tab:VBox = new VBox(); - tab.percentWidth = 100; - tab.percentHeight = 100; - if(name.length == 0) - tab.label = getFileName(path); - else - tab.label = name; - this.addChild(tab); - - var html_illustration:HTML = new HTML(); - html_illustration.percentWidth = 100; - html_illustration.percentHeight = 100; - html_illustration.visible = false; // Set to true after changeDefaultFont - html_illustration.addEventListener(Event.COMPLETE,changeDefaultFont); - html_illustration.addEventListener(Event.REMOVED_FROM_STAGE, removeCleanup); - tab.addChild(html_illustration); - - if (openLinksExternal.toLowerCase() == "true") - { - html_illustration.htmlLoader.navigateInSystemBrowser = true; // Open links in default browser - } - - if(path.toLowerCase().indexOf("http") == 0) - { - if(Config.IS_ONLINE) - html_illustration.location = path; - else - html_illustration.location = Config.OFFLINE_URL; - } - else - { - html_illustration.location = localRootPath + path; - } - } - - private function getFileName(path:String):String - { - var fileName:String = ""; - var slashPos:int = path.lastIndexOf("/"); - var backslashPos:int = path.lastIndexOf("\\"); - - if(slashPos > 0) - fileName = path.substr(slashPos+1); - else if(backslashPos > 0) - fileName = path.substr(backslashPos+1); - else - fileName = "Document"; - - return fileName; - } - - ]]> - </mx:Script> - -</mx:TabNavigator> +<mx:TabNavigator xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="components.*" + width="100%" height="100%" styleName="documentTabs" selectedTabTextStyleName="documentTabSelected"> + + <mx:Script> + <![CDATA[ + import classes.Document; + import mx.controls.HTML; + import mx.containers.VBox; + + public var needHtmlHack:Boolean = false; // This is a total hack to work around TWO bugs in Flex. Ask Greg Wilson for details + + public function addTabs(documents:Array, localRootPath:String):void + { + this.selectedIndex = 0; + this.validateNow(); + this.removeAllChildren(); + + for each(var document:Document in documents) + this.addTab(document.name, document.path, document.openLinksExternal, localRootPath); + } + + // There is a bug in the Flex 3.2 html control where the default font is set too large. This method puts it back to the desired default of 11px. + public function changeDefaultFont(e:Event):void { + var frames:Object = e.target.htmlLoader.window.document.getElementsByTagName("frame"); + if (frames.length == 0) + { + // document does not have frames + if(e.target.htmlLoader.window.document.getElementsByTagName("body")[0]) + e.target.htmlLoader.window.document.getElementsByTagName("body")[0].style.fontSize="11px"; + } + else + { + // document has frames... change style for document in each frame + for (var i:int=0;i<frames.length;i++) + { + if(frames[i].contentDocument.getElementsByTagName("body")[0]) + frames[i].contentDocument.getElementsByTagName("body")[0].style.fontSize="11px"; + } + } + e.target.visible = true; + } + + public function removeCleanup(e:Event):void { + if (this.needHtmlHack) { + //trace("CLEANUP"); + e.target.htmlText = ""; // Hack - GAW - forces any loaded SWFs to stop + } + } + + + public function addTab(name:String, path:String, openLinksExternal:String, localRootPath:String):void + { + var tab:VBox = new VBox(); + tab.percentWidth = 100; + tab.percentHeight = 100; + if(name.length == 0) + tab.label = getFileName(path); + else + tab.label = name; + this.addChild(tab); + + var html_illustration:HTML = new HTML(); + html_illustration.percentWidth = 100; + html_illustration.percentHeight = 100; + html_illustration.visible = false; // Set to true after changeDefaultFont + html_illustration.addEventListener(Event.COMPLETE,changeDefaultFont); + html_illustration.addEventListener(Event.REMOVED_FROM_STAGE, removeCleanup); + tab.addChild(html_illustration); + + if (openLinksExternal.toLowerCase() == "true") + { + html_illustration.htmlLoader.navigateInSystemBrowser = true; // Open links in default browser + } + + if(path.toLowerCase().indexOf("http") == 0) + { + if(Config.IS_ONLINE) + html_illustration.location = path; + else + html_illustration.location = Config.OFFLINE_URL; + } + else + { + html_illustration.location = localRootPath + path; + } + } + + private function getFileName(path:String):String + { + var fileName:String = ""; + var slashPos:int = path.lastIndexOf("/"); + var backslashPos:int = path.lastIndexOf("\\"); + + if(slashPos > 0) + fileName = path.substr(slashPos+1); + else if(backslashPos > 0) + fileName = path.substr(backslashPos+1); + else + fileName = "Document"; + + return fileName; + } + + ]]> + </mx:Script> + +</mx:TabNavigator> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/DownloadWindow.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/DownloadWindow.mxml b/TourDeFlex/TourDeFlex/src/components/DownloadWindow.mxml index e0b7be8..c118aeb 100644 --- a/TourDeFlex/TourDeFlex/src/components/DownloadWindow.mxml +++ b/TourDeFlex/TourDeFlex/src/components/DownloadWindow.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,107 +17,107 @@ limitations under the License. --> -<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" horizontalAlign="center" verticalAlign="middle" styleName="downloadWindow" width="300" height="150" creationComplete="init()"> - <mx:Script> - <![CDATA[ - import mx.controls.Alert; - import mx.managers.PopUpManager; - - private var fileReference:FileReference; - private var localFileToSave:File; - private var fileToSave:File; - - private function init():void - { - fileReference = new FileReference(); - } - - public function download(path:String, localRootPath:String):void - { - if(path.toLowerCase().indexOf("http") == 0) - downloadHttp(path); - else - downloadLocal(localRootPath + path); - } - - private function downloadLocal(path:String):void - { - localFileToSave = File.applicationDirectory.resolvePath(path); - - fileToSave = new File(File.documentsDirectory.nativePath + File.separator + localFileToSave.name); - fileToSave.addEventListener(Event.SELECT, downloadLocal_directorySelect); - fileToSave.addEventListener(Event.CANCEL, downloadLocal_directorySelectCancel); - fileToSave.browseForSave("Save As"); - } - - private function downloadLocal_directorySelect(event:Event):void - { - localFileToSave.addEventListener(ProgressEvent.PROGRESS, download_progressHandler); - localFileToSave.addEventListener(Event.COMPLETE, download_completeHandler); - localFileToSave.copyToAsync(fileToSave, true); - progressBar_download.setProgress(100,100); - } - - private function downloadLocal_directorySelectCancel(event:Event):void - { - PopUpManager.removePopUp(this); - } - - private function downloadHttp(path:String):void - { - var request:URLRequest = new URLRequest(path); - fileReference = new FileReference(); - fileReference.addEventListener(Event.OPEN, download_openHandler); - fileReference.addEventListener(ProgressEvent.PROGRESS, download_progressHandler); - fileReference.addEventListener(Event.COMPLETE, download_completeHandler); - - try - { - fileReference.download(request); - } - catch (error:Error) - { - Alert.show(error.message, "Download Error"); - } - } - - private function download_openHandler(event:Event):void - { - progressBar_download.label = "DOWNLOADING %3%%"; - button_cancel.visible = true; - button_close.visible = false; - } - - private function download_progressHandler(event:ProgressEvent):void - { - progressBar_download.setProgress(event.bytesLoaded, event.bytesTotal); - } - - private function download_cancel(event:MouseEvent):void - { - fileReference.cancel(); - progressBar_download.label = "CANCELLED"; - button_close.visible = true; - button_cancel.visible = false; - - PopUpManager.removePopUp(this); - } - - private function download_completeHandler(event:Event):void - { - progressBar_download.label = "DOWNLOAD COMPLETE"; - button_close.visible = true; - button_cancel.visible = false; - } - - ]]> - </mx:Script> - - <mx:ProgressBar id="progressBar_download" width="90%" mode="manual" label="DOWNLOADING..." /> - - <mx:Canvas> - <mx:Button id="button_cancel" label="Cancel" visible="false" click="download_cancel(event)" horizontalCenter="0" /> - <mx:Button id="button_close" label="Close" click="{PopUpManager.removePopUp(this)}" horizontalCenter="0"/> - </mx:Canvas> - -</mx:TitleWindow> +<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" horizontalAlign="center" verticalAlign="middle" styleName="downloadWindow" width="300" height="150" creationComplete="init()"> + <mx:Script> + <![CDATA[ + import mx.controls.Alert; + import mx.managers.PopUpManager; + + private var fileReference:FileReference; + private var localFileToSave:File; + private var fileToSave:File; + + private function init():void + { + fileReference = new FileReference(); + } + + public function download(path:String, localRootPath:String):void + { + if(path.toLowerCase().indexOf("http") == 0) + downloadHttp(path); + else + downloadLocal(localRootPath + path); + } + + private function downloadLocal(path:String):void + { + localFileToSave = File.applicationDirectory.resolvePath(path); + + fileToSave = new File(File.documentsDirectory.nativePath + File.separator + localFileToSave.name); + fileToSave.addEventListener(Event.SELECT, downloadLocal_directorySelect); + fileToSave.addEventListener(Event.CANCEL, downloadLocal_directorySelectCancel); + fileToSave.browseForSave("Save As"); + } + + private function downloadLocal_directorySelect(event:Event):void + { + localFileToSave.addEventListener(ProgressEvent.PROGRESS, download_progressHandler); + localFileToSave.addEventListener(Event.COMPLETE, download_completeHandler); + localFileToSave.copyToAsync(fileToSave, true); + progressBar_download.setProgress(100,100); + } + + private function downloadLocal_directorySelectCancel(event:Event):void + { + PopUpManager.removePopUp(this); + } + + private function downloadHttp(path:String):void + { + var request:URLRequest = new URLRequest(path); + fileReference = new FileReference(); + fileReference.addEventListener(Event.OPEN, download_openHandler); + fileReference.addEventListener(ProgressEvent.PROGRESS, download_progressHandler); + fileReference.addEventListener(Event.COMPLETE, download_completeHandler); + + try + { + fileReference.download(request); + } + catch (error:Error) + { + Alert.show(error.message, "Download Error"); + } + } + + private function download_openHandler(event:Event):void + { + progressBar_download.label = "DOWNLOADING %3%%"; + button_cancel.visible = true; + button_close.visible = false; + } + + private function download_progressHandler(event:ProgressEvent):void + { + progressBar_download.setProgress(event.bytesLoaded, event.bytesTotal); + } + + private function download_cancel(event:MouseEvent):void + { + fileReference.cancel(); + progressBar_download.label = "CANCELLED"; + button_close.visible = true; + button_cancel.visible = false; + + PopUpManager.removePopUp(this); + } + + private function download_completeHandler(event:Event):void + { + progressBar_download.label = "DOWNLOAD COMPLETE"; + button_close.visible = true; + button_cancel.visible = false; + } + + ]]> + </mx:Script> + + <mx:ProgressBar id="progressBar_download" width="90%" mode="manual" label="DOWNLOADING..." /> + + <mx:Canvas> + <mx:Button id="button_cancel" label="Cancel" visible="false" click="download_cancel(event)" horizontalCenter="0" /> + <mx:Button id="button_close" label="Close" click="{PopUpManager.removePopUp(this)}" horizontalCenter="0"/> + </mx:Canvas> + +</mx:TitleWindow> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/IllustrationTab.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/IllustrationTab.mxml b/TourDeFlex/TourDeFlex/src/components/IllustrationTab.mxml index 7095a69..df4bcbb 100644 --- a/TourDeFlex/TourDeFlex/src/components/IllustrationTab.mxml +++ b/TourDeFlex/TourDeFlex/src/components/IllustrationTab.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,65 +17,65 @@ limitations under the License. --> -<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" remove="unloadIllustration();"> - - <mx:Script> - <![CDATA[ - import mx.controls.Alert; - import mx.core.Application; - import mx.core.FlexGlobals; - import mx.modules.ModuleLoader; - - public var downloadPath:String = ""; - public var illustrationURL:String = ""; - public var autoExpand:Boolean = false; - - public function setLocation(path:String, isModule:String):void - { - //mx.core.Application.application.button_expand.enabled = true; - FlexGlobals.topLevelApplication.button_expand.enabled = true; - - if(isModule.toLowerCase() == "true") - { - this.removeChild(html_illustration); - module_swfs.url = path; - illustrationURL = ""; - FlexGlobals.topLevelApplication.button_browser.enabled = false; - } - else - { - this.removeChild(module_swfs); - html_illustration.location = path; - illustrationURL = path; - FlexGlobals.topLevelApplication.button_browser.enabled = true; - - } - } - - public function unloadIllustration():void { - if (this.contains(html_illustration)) - { - html_illustration.htmlText = ""; // hack - GAW - this.removeChild(html_illustration); // hack - GAW - } - else - { - module_swfs.unloadModule(); - } - } - - ]]> - </mx:Script> - - <mx:Parallel id="arrowShow"> - <mx:Fade alphaFrom="0.5" alphaTo="1.0" duration="500"/> - </mx:Parallel> - - <mx:Parallel id="arrowDim"> - <mx:Fade alphaFrom="1.0" alphaTo="0.5" duration="500"/> - </mx:Parallel> - - <mx:HTML id="html_illustration" width="100%" height="100%" horizontalScrollPolicy="off" verticalScrollPolicy="off" /> - <mx:ModuleLoader id="module_swfs" height="100%" width="100%" backgroundColor="#323232" horizontalAlign="center" verticalAlign="middle" /> - -</mx:Canvas> +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" remove="unloadIllustration();"> + + <mx:Script> + <![CDATA[ + import mx.controls.Alert; + import mx.core.Application; + import mx.core.FlexGlobals; + import mx.modules.ModuleLoader; + + public var downloadPath:String = ""; + public var illustrationURL:String = ""; + public var autoExpand:Boolean = false; + + public function setLocation(path:String, isModule:String):void + { + //mx.core.Application.application.button_expand.enabled = true; + FlexGlobals.topLevelApplication.button_expand.enabled = true; + + if(isModule.toLowerCase() == "true") + { + this.removeChild(html_illustration); + module_swfs.url = path; + illustrationURL = ""; + FlexGlobals.topLevelApplication.button_browser.enabled = false; + } + else + { + this.removeChild(module_swfs); + html_illustration.location = path; + illustrationURL = path; + FlexGlobals.topLevelApplication.button_browser.enabled = true; + + } + } + + public function unloadIllustration():void { + if (this.contains(html_illustration)) + { + html_illustration.htmlText = ""; // hack - GAW + this.removeChild(html_illustration); // hack - GAW + } + else + { + module_swfs.unloadModule(); + } + } + + ]]> + </mx:Script> + + <mx:Parallel id="arrowShow"> + <mx:Fade alphaFrom="0.5" alphaTo="1.0" duration="500"/> + </mx:Parallel> + + <mx:Parallel id="arrowDim"> + <mx:Fade alphaFrom="1.0" alphaTo="0.5" duration="500"/> + </mx:Parallel> + + <mx:HTML id="html_illustration" width="100%" height="100%" horizontalScrollPolicy="off" verticalScrollPolicy="off" /> + <mx:ModuleLoader id="module_swfs" height="100%" width="100%" backgroundColor="#323232" horizontalAlign="center" verticalAlign="middle" /> + +</mx:Canvas> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/IllustrationTabs.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/IllustrationTabs.mxml b/TourDeFlex/TourDeFlex/src/components/IllustrationTabs.mxml index 1d4e226..26d55c5 100644 --- a/TourDeFlex/TourDeFlex/src/components/IllustrationTabs.mxml +++ b/TourDeFlex/TourDeFlex/src/components/IllustrationTabs.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,70 +17,70 @@ limitations under the License. --> -<local:TDFTabNavigator xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="components.*" width="100%" height="100%" - creationComplete="init()" styleName="illustrationTabs" selectedTabTextStyleName="illustrationTabSelected"> - - <mx:Script> - <![CDATA[ - import mx.controls.Image; - import mx.collections.ArrayCollection; - import mx.controls.HTML; - import mx.containers.VBox; - - public var associatedDocumentsCollection:ArrayCollection; - - private function init():void - { - var t:TDFTabNavigator = new TDFTabNavigator(); - associatedDocumentsCollection = new ArrayCollection(); - } - - public function addTab(name:String, path:String, localRootPath:String, isModule:String, downloadPath:String, autoExpand:String, openLinksExternal:String, scrollBars:String, associatedDocuments:Array):void - { - this.associatedDocumentsCollection.addItem(associatedDocuments); - - var tab:IllustrationTab = new IllustrationTab(); - tab.downloadPath = downloadPath; - tab.autoExpand = (autoExpand.toLowerCase() == "true")? true:false; - - if(name.length == 0) - tab.label = "Sample " + (this.getChildren().length + 1); - else - tab.label = name; - - this.addChild(tab); - - if(scrollBars.toLowerCase() == "true") { - tab.html_illustration.verticalScrollPolicy = "auto"; - tab.html_illustration.horizontalScrollPolicy = "auto"; - } - - if(openLinksExternal.toLowerCase() == "true") - tab.html_illustration.htmlLoader.navigateInSystemBrowser = true; - - if(path.toLowerCase().indexOf("http") == 0) - tab.setLocation(path, isModule); - else - tab.setLocation(localRootPath + path, isModule); - } - - public function removeAllIllustrations():void - { - //reset selected tab due to tab selection issue - HS - took out, use TDFTabNavigator class now instead. - //this.selectedIndex = 0; - //this.validateNow(); - - this.removeAllChildren(); - this.associatedDocumentsCollection.removeAll(); - - } - - public function hideSwf():void - { - this.selectedChild.visible = false; - } - - ]]> - </mx:Script> - -</local:TDFTabNavigator> +<local:TDFTabNavigator xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="components.*" width="100%" height="100%" + creationComplete="init()" styleName="illustrationTabs" selectedTabTextStyleName="illustrationTabSelected"> + + <mx:Script> + <![CDATA[ + import mx.controls.Image; + import mx.collections.ArrayCollection; + import mx.controls.HTML; + import mx.containers.VBox; + + public var associatedDocumentsCollection:ArrayCollection; + + private function init():void + { + var t:TDFTabNavigator = new TDFTabNavigator(); + associatedDocumentsCollection = new ArrayCollection(); + } + + public function addTab(name:String, path:String, localRootPath:String, isModule:String, downloadPath:String, autoExpand:String, openLinksExternal:String, scrollBars:String, associatedDocuments:Array):void + { + this.associatedDocumentsCollection.addItem(associatedDocuments); + + var tab:IllustrationTab = new IllustrationTab(); + tab.downloadPath = downloadPath; + tab.autoExpand = (autoExpand.toLowerCase() == "true")? true:false; + + if(name.length == 0) + tab.label = "Sample " + (this.getChildren().length + 1); + else + tab.label = name; + + this.addChild(tab); + + if(scrollBars.toLowerCase() == "true") { + tab.html_illustration.verticalScrollPolicy = "auto"; + tab.html_illustration.horizontalScrollPolicy = "auto"; + } + + if(openLinksExternal.toLowerCase() == "true") + tab.html_illustration.htmlLoader.navigateInSystemBrowser = true; + + if(path.toLowerCase().indexOf("http") == 0) + tab.setLocation(path, isModule); + else + tab.setLocation(localRootPath + path, isModule); + } + + public function removeAllIllustrations():void + { + //reset selected tab due to tab selection issue - HS - took out, use TDFTabNavigator class now instead. + //this.selectedIndex = 0; + //this.validateNow(); + + this.removeAllChildren(); + this.associatedDocumentsCollection.removeAll(); + + } + + public function hideSwf():void + { + this.selectedChild.visible = false; + } + + ]]> + </mx:Script> + +</local:TDFTabNavigator> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/ObjectList.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/ObjectList.mxml b/TourDeFlex/TourDeFlex/src/components/ObjectList.mxml index b79ea67..d9155ed 100644 --- a/TourDeFlex/TourDeFlex/src/components/ObjectList.mxml +++ b/TourDeFlex/TourDeFlex/src/components/ObjectList.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,72 +17,72 @@ limitations under the License. --> -<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="98%" height="98%"> - - <mx:Script> - <![CDATA[ - import classes.ObjectListSortTypes; - import classes.ObjectTreeItemRenderer; - import classes.ObjectTreeDataDescriptor; - import mx.events.FlexEvent; - import mx.collections.XMLListCollection; - import mx.events.ListEvent; - - [Bindable] public var treeDataProvider:Object; - [Bindable] public var listDataProvider:Object; - [Bindable] public var selectedId:int = -1; - [Bindable] public var selectedObject:XML; - [Bindable] public var sortType:String = ""; - public static const SORT_CHANGE:String = "sortChange"; - - private function list_objects_change(event:ListEvent):void - { - dispatchEvent(event); - } - - private function comboBox_sort_change(event:ListEvent):void - { - sortType = comboBox_sort.selectedLabel; - var sortEvent:ListEvent = new ListEvent(SORT_CHANGE, event.bubbles, event.cancelable, event.columnIndex, event.rowIndex, event.reason, event.itemRenderer); - dispatchEvent(sortEvent); - } - - private function tree_dataChange(event:FlexEvent):void - { - if(treeDataProvider && treeDataProvider[0].@autoExpand == true) - tree_objects.expandChildrenOf(treeDataProvider[0], true); - } - - public function showTreeView(show:Boolean):void - { - tree_objects.visible = show; - box_list_objects.visible = !show; - } - - public function setDescription(description:String, dateAdded:String, author:String):void - { - text_description.htmlText = description + "<br><b>Author:</b> " + author + "<br><b>Date Added:</b> " + dateAdded; - } - - ]]> - </mx:Script> - - <mx:Metadata> - [Event(name="change", type="mx.events.ListEvent")] - [Event(name="sortChange", type="mx.events.ListEvent")] - </mx:Metadata> - - <mx:Canvas width="100%" height="100%"> - - <mx:VBox id="box_list_objects" width="100%" height="100%"> - <mx:ComboBox id="comboBox_sort" width="100%" change="comboBox_sort_change(event)" dataProvider="{ObjectListSortTypes.ObjectListSortTypeArray}" /> - <mx:List id="list_objects" fontSize="11" fontAntiAliasType="advanced" labelField="@name" itemRenderer="components.ObjectListItemRenderer" change="list_objects_change(event)" dataProvider="{listDataProvider}" width="100%" height="100%" /> - </mx:VBox> - - <mx:Tree id="tree_objects" fontSize="11" fontAntiAliasType="advanced" labelField="@name" showRoot="true" defaultLeafIcon="{null}" valueCommit="tree_dataChange(event)" itemRenderer="classes.ObjectTreeItemRenderer" change="list_objects_change(event)" dataProvider="{treeDataProvider}" dataDescriptor="{new ObjectTreeDataDescriptor()}" height="100%" width="100%" openDuration="0" /> - - </mx:Canvas> - - <mx:Text id="text_description" width="100%" /> - -</mx:VBox> +<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="98%" height="98%"> + + <mx:Script> + <![CDATA[ + import classes.ObjectListSortTypes; + import classes.ObjectTreeItemRenderer; + import classes.ObjectTreeDataDescriptor; + import mx.events.FlexEvent; + import mx.collections.XMLListCollection; + import mx.events.ListEvent; + + [Bindable] public var treeDataProvider:Object; + [Bindable] public var listDataProvider:Object; + [Bindable] public var selectedId:int = -1; + [Bindable] public var selectedObject:XML; + [Bindable] public var sortType:String = ""; + public static const SORT_CHANGE:String = "sortChange"; + + private function list_objects_change(event:ListEvent):void + { + dispatchEvent(event); + } + + private function comboBox_sort_change(event:ListEvent):void + { + sortType = comboBox_sort.selectedLabel; + var sortEvent:ListEvent = new ListEvent(SORT_CHANGE, event.bubbles, event.cancelable, event.columnIndex, event.rowIndex, event.reason, event.itemRenderer); + dispatchEvent(sortEvent); + } + + private function tree_dataChange(event:FlexEvent):void + { + if(treeDataProvider && treeDataProvider[0].@autoExpand == true) + tree_objects.expandChildrenOf(treeDataProvider[0], true); + } + + public function showTreeView(show:Boolean):void + { + tree_objects.visible = show; + box_list_objects.visible = !show; + } + + public function setDescription(description:String, dateAdded:String, author:String):void + { + text_description.htmlText = description + "<br><b>Author:</b> " + author + "<br><b>Date Added:</b> " + dateAdded; + } + + ]]> + </mx:Script> + + <mx:Metadata> + [Event(name="change", type="mx.events.ListEvent")] + [Event(name="sortChange", type="mx.events.ListEvent")] + </mx:Metadata> + + <mx:Canvas width="100%" height="100%"> + + <mx:VBox id="box_list_objects" width="100%" height="100%"> + <mx:ComboBox id="comboBox_sort" width="100%" change="comboBox_sort_change(event)" dataProvider="{ObjectListSortTypes.ObjectListSortTypeArray}" /> + <mx:List id="list_objects" fontSize="11" fontAntiAliasType="advanced" labelField="@name" itemRenderer="components.ObjectListItemRenderer" change="list_objects_change(event)" dataProvider="{listDataProvider}" width="100%" height="100%" /> + </mx:VBox> + + <mx:Tree id="tree_objects" fontSize="11" fontAntiAliasType="advanced" labelField="@name" showRoot="true" defaultLeafIcon="{null}" valueCommit="tree_dataChange(event)" itemRenderer="classes.ObjectTreeItemRenderer" change="list_objects_change(event)" dataProvider="{treeDataProvider}" dataDescriptor="{new ObjectTreeDataDescriptor()}" height="100%" width="100%" openDuration="0" /> + + </mx:Canvas> + + <mx:Text id="text_description" width="100%" /> + +</mx:VBox> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/ObjectListItemRenderer.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/ObjectListItemRenderer.mxml b/TourDeFlex/TourDeFlex/src/components/ObjectListItemRenderer.mxml index d3d052e..39bc381 100644 --- a/TourDeFlex/TourDeFlex/src/components/ObjectListItemRenderer.mxml +++ b/TourDeFlex/TourDeFlex/src/components/ObjectListItemRenderer.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,70 +17,70 @@ limitations under the License. --> -<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" implements="mx.controls.listClasses.IDropInListItemRenderer" horizontalScrollPolicy="off"> - - <mx:Script> - <![CDATA[ - import mx.controls.listClasses.BaseListData; - - private var _listData:BaseListData; - - public function get listData():BaseListData - { - return _listData; - } - - public function set listData(value:BaseListData):void - { - _listData = value; - } - - override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void - { - super.updateDisplayList(unscaledWidth, unscaledHeight); - - if(data) - { - label_name.text = data.@name; - var iconPath:String = data.@iconPath; - if([email protected]().length > 0) - iconPath = data.@localIconPath; - - //Config.IS_ONLINE - if(iconPath.length > 0) - { - if(hasFullPath(data.@iconPath) && [email protected]().length == 0) - { - if(Config.IS_ONLINE) { - image_icon.source = iconPath; - } else { - image_icon.source = Config.TREE_NO_ICON; - } - } - else - { - image_icon.source = Config.LOCAL_OBJECTS_ROOT_PATH + iconPath; - } - } - else - { - image_icon.source = Config.TREE_NO_ICON; - } - } - } - - private function hasFullPath(path:String):Boolean - { - if(path.indexOf("//") >= 0 || path.indexOf(":") >= 0) - return true; - else - return false; - } - - ]]> - </mx:Script> - - <mx:Image id="image_icon" width="18" height="18" /> - <mx:Label id="label_name" x="20" /> - -</mx:Canvas> +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" implements="mx.controls.listClasses.IDropInListItemRenderer" horizontalScrollPolicy="off"> + + <mx:Script> + <![CDATA[ + import mx.controls.listClasses.BaseListData; + + private var _listData:BaseListData; + + public function get listData():BaseListData + { + return _listData; + } + + public function set listData(value:BaseListData):void + { + _listData = value; + } + + override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void + { + super.updateDisplayList(unscaledWidth, unscaledHeight); + + if(data) + { + label_name.text = data.@name; + var iconPath:String = data.@iconPath; + if([email protected]().length > 0) + iconPath = data.@localIconPath; + + //Config.IS_ONLINE + if(iconPath.length > 0) + { + if(hasFullPath(data.@iconPath) && [email protected]().length == 0) + { + if(Config.IS_ONLINE) { + image_icon.source = iconPath; + } else { + image_icon.source = Config.TREE_NO_ICON; + } + } + else + { + image_icon.source = Config.LOCAL_OBJECTS_ROOT_PATH + iconPath; + } + } + else + { + image_icon.source = Config.TREE_NO_ICON; + } + } + } + + private function hasFullPath(path:String):Boolean + { + if(path.indexOf("//") >= 0 || path.indexOf(":") >= 0) + return true; + else + return false; + } + + ]]> + </mx:Script> + + <mx:Image id="image_icon" width="18" height="18" /> + <mx:Label id="label_name" x="20" /> + +</mx:Canvas> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/SearchWindow.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/SearchWindow.mxml b/TourDeFlex/TourDeFlex/src/components/SearchWindow.mxml index 4b017be..ea687ff 100644 --- a/TourDeFlex/TourDeFlex/src/components/SearchWindow.mxml +++ b/TourDeFlex/TourDeFlex/src/components/SearchWindow.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,181 +17,181 @@ limitations under the License. --> -<WipeWindow xmlns="components.*" xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="right" creationComplete="init()"> - - <mx:Script> - <![CDATA[ - //-------------------------------------------------------------------------- - // Imports - //-------------------------------------------------------------------------- - import classes.ObjectData; - import mx.core.EdgeMetrics; - import mx.containers.GridItem; - import mx.containers.GridRow; - import mx.utils.StringUtil; - import mx.events.CollectionEvent; - import mx.controls.CheckBox; - - //-------------------------------------------------------------------------- - // Variables/properties - //-------------------------------------------------------------------------- - public var objectData:ObjectData; - public static const SEARCH_SUBMIT:String = "searchSubmit"; - - public function set searchTagsData(tags:Array):void - { - var tagCounter:int = 0; - - for each(var row:GridRow in grid_tags.getChildren()) - { - for each(var col:GridItem in row.getChildren()) - { - var checkBox:CheckBox = CheckBox(col.getChildAt(0)); - - var tagTotal:String = ""; - if(tags[tagCounter][1] && tags[tagCounter][1].toString().length > 0) - tagTotal = " (" + tags[tagCounter][1] + ")"; - - checkBox.label = tags[tagCounter][0] + tagTotal; - checkBox.data = tags[tagCounter][0]; - checkBox.addEventListener(Event.CHANGE, checkBox_tag_change); - checkBox.styleName = "tagCheckBox"; - checkBox.visible = true; - tagCounter++; - if(tagCounter == tags.length) - break; - } - if(tagCounter == tags.length) - break; - } - } - - //-------------------------------------------------------------------------- - // Grid creation - //-------------------------------------------------------------------------- - private function init():void - { - createTagGrid(); - } - - private function createTagGrid():void - { - for(var rows:int=0; rows<14; rows++) - { - var row:GridRow = new GridRow(); - row.percentWidth = 100; - row.percentHeight = 100; - - for(var cols:int=0; cols<4; cols++) - { - var col:GridItem = new GridItem(); - col.percentWidth = 100; - col.percentHeight = 100; - - if(cols == 0 && rows == 0) - col.styleName = "tagGridFirstRowItem" - else if(rows == 0) - col.styleName = "tagGridFirstRow"; - else if(cols == 0) - col.styleName = "tagGridFirstItem"; - else - col.styleName = "tagGridItem"; - - var checkBox:CheckBox = new CheckBox(); - checkBox.visible = false; - - col.addChild(checkBox); - row.addChild(col); - } - grid_tags.addChild(row); - } - } - - //-------------------------------------------------------------------------- - // Search controls - //-------------------------------------------------------------------------- - public function clear():void - { - textInput_search.text = ""; - clearGridTags(); - } - - private function button_clear_click(event:MouseEvent):void - { - objectData.filterList(""); - clear(); - } - - private function clearGridTags():void - { - for each(var row:GridRow in grid_tags.getChildren()) - { - for each(var col:GridItem in row.getChildren()) - { - var checkBox:CheckBox = CheckBox(col.getChildAt(0)); - checkBox.selected = false; - } - } - } - - private function textBox_submit(event:Event):void - { - clearGridTags(); - - objectData.filterList(textInput_search.text); - dispatchEvent(new Event(SEARCH_SUBMIT, true)); - } - - private function checkBox_tag_change(event:Event):void - { - textInput_search.text = ""; - var searchTerms:String = ""; - - for each(var row:GridRow in grid_tags.getChildren()) - { - for each(var col:GridItem in row.getChildren()) - { - var checkBox:CheckBox = CheckBox(col.getChildAt(0)); - if(checkBox.visible && checkBox.selected) - searchTerms += checkBox.data + " "; - } - } - - objectData.filterList(StringUtil.trim(searchTerms), true); - dispatchEvent(new Event(SEARCH_SUBMIT, true)); - } - - //-------------------------------------------------------------------------- - //-------------------------------------------------------------------------- - - ]]> - </mx:Script> - - <mx:Metadata> - [Event(name="searchSubmit", type="flash.events.Event")] - </mx:Metadata> - - <mx:HBox width="100%" paddingLeft="10"> - - <mx:VBox> - <mx:Label text="Search:" styleName="headingLabel" /> - <mx:HBox> - <TextBoxSearch id="textInput_search" width="240" textSubmit="textBox_submit(event)" /> - <mx:Button id="button_clear" label="Reset" click="button_clear_click(event)" /> - </mx:HBox> - </mx:VBox> - - <mx:HBox width="100%" horizontalAlign="right"> - <mx:Button click="{this.visible = false}" styleName="closeButton" /> - </mx:HBox> - - </mx:HBox> - - <mx:Spacer height="5" /> - - <mx:VBox styleName="searchWindowTagBox" width="100%" height="100%"> - <mx:Label text="Popular Tags:" styleName="headingLabel" /> - <mx:Grid id="grid_tags" width="100%" height="100%" styleName="searchWindowTags" verticalGap="0" horizontalGap="0" /> - </mx:VBox> - -</WipeWindow> +<WipeWindow xmlns="components.*" xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="right" creationComplete="init()"> + + <mx:Script> + <![CDATA[ + //-------------------------------------------------------------------------- + // Imports + //-------------------------------------------------------------------------- + import classes.ObjectData; + import mx.core.EdgeMetrics; + import mx.containers.GridItem; + import mx.containers.GridRow; + import mx.utils.StringUtil; + import mx.events.CollectionEvent; + import mx.controls.CheckBox; + + //-------------------------------------------------------------------------- + // Variables/properties + //-------------------------------------------------------------------------- + public var objectData:ObjectData; + public static const SEARCH_SUBMIT:String = "searchSubmit"; + + public function set searchTagsData(tags:Array):void + { + var tagCounter:int = 0; + + for each(var row:GridRow in grid_tags.getChildren()) + { + for each(var col:GridItem in row.getChildren()) + { + var checkBox:CheckBox = CheckBox(col.getChildAt(0)); + + var tagTotal:String = ""; + if(tags[tagCounter][1] && tags[tagCounter][1].toString().length > 0) + tagTotal = " (" + tags[tagCounter][1] + ")"; + + checkBox.label = tags[tagCounter][0] + tagTotal; + checkBox.data = tags[tagCounter][0]; + checkBox.addEventListener(Event.CHANGE, checkBox_tag_change); + checkBox.styleName = "tagCheckBox"; + checkBox.visible = true; + tagCounter++; + if(tagCounter == tags.length) + break; + } + if(tagCounter == tags.length) + break; + } + } + + //-------------------------------------------------------------------------- + // Grid creation + //-------------------------------------------------------------------------- + private function init():void + { + createTagGrid(); + } + + private function createTagGrid():void + { + for(var rows:int=0; rows<14; rows++) + { + var row:GridRow = new GridRow(); + row.percentWidth = 100; + row.percentHeight = 100; + + for(var cols:int=0; cols<4; cols++) + { + var col:GridItem = new GridItem(); + col.percentWidth = 100; + col.percentHeight = 100; + + if(cols == 0 && rows == 0) + col.styleName = "tagGridFirstRowItem" + else if(rows == 0) + col.styleName = "tagGridFirstRow"; + else if(cols == 0) + col.styleName = "tagGridFirstItem"; + else + col.styleName = "tagGridItem"; + + var checkBox:CheckBox = new CheckBox(); + checkBox.visible = false; + + col.addChild(checkBox); + row.addChild(col); + } + grid_tags.addChild(row); + } + } + + //-------------------------------------------------------------------------- + // Search controls + //-------------------------------------------------------------------------- + public function clear():void + { + textInput_search.text = ""; + clearGridTags(); + } + + private function button_clear_click(event:MouseEvent):void + { + objectData.filterList(""); + clear(); + } + + private function clearGridTags():void + { + for each(var row:GridRow in grid_tags.getChildren()) + { + for each(var col:GridItem in row.getChildren()) + { + var checkBox:CheckBox = CheckBox(col.getChildAt(0)); + checkBox.selected = false; + } + } + } + + private function textBox_submit(event:Event):void + { + clearGridTags(); + + objectData.filterList(textInput_search.text); + dispatchEvent(new Event(SEARCH_SUBMIT, true)); + } + + private function checkBox_tag_change(event:Event):void + { + textInput_search.text = ""; + var searchTerms:String = ""; + + for each(var row:GridRow in grid_tags.getChildren()) + { + for each(var col:GridItem in row.getChildren()) + { + var checkBox:CheckBox = CheckBox(col.getChildAt(0)); + if(checkBox.visible && checkBox.selected) + searchTerms += checkBox.data + " "; + } + } + + objectData.filterList(StringUtil.trim(searchTerms), true); + dispatchEvent(new Event(SEARCH_SUBMIT, true)); + } + + //-------------------------------------------------------------------------- + //-------------------------------------------------------------------------- + + ]]> + </mx:Script> + + <mx:Metadata> + [Event(name="searchSubmit", type="flash.events.Event")] + </mx:Metadata> + + <mx:HBox width="100%" paddingLeft="10"> + + <mx:VBox> + <mx:Label text="Search:" styleName="headingLabel" /> + <mx:HBox> + <TextBoxSearch id="textInput_search" width="240" textSubmit="textBox_submit(event)" /> + <mx:Button id="button_clear" label="Reset" click="button_clear_click(event)" /> + </mx:HBox> + </mx:VBox> + + <mx:HBox width="100%" horizontalAlign="right"> + <mx:Button click="{this.visible = false}" styleName="closeButton" /> + </mx:HBox> + + </mx:HBox> + + <mx:Spacer height="5" /> + + <mx:VBox styleName="searchWindowTagBox" width="100%" height="100%"> + <mx:Label text="Popular Tags:" styleName="headingLabel" /> + <mx:Grid id="grid_tags" width="100%" height="100%" styleName="searchWindowTags" verticalGap="0" horizontalGap="0" /> + </mx:VBox> + +</WipeWindow> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/SplashWindow.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/SplashWindow.mxml b/TourDeFlex/TourDeFlex/src/components/SplashWindow.mxml index 2d011b6..28f41bd 100644 --- a/TourDeFlex/TourDeFlex/src/components/SplashWindow.mxml +++ b/TourDeFlex/TourDeFlex/src/components/SplashWindow.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,70 +17,70 @@ limitations under the License. --> -<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#000000" horizontalScrollPolicy="off" verticalScrollPolicy="off" remove="video_intro.stop()" > - - <mx:Script> - <![CDATA[ - import mx.managers.PopUpManager; - - private var videoLength:int; - - private function setVolume(event:Event):void - { - if(event.target.selected) - { - video_intro.volume = 0; - } - else - { - video_intro.volume = 1; - video_intro.playheadTime = 0; - video_intro.play(); - } - //so.data.mute = ev.target.selected; - } - - private function checkBox_skip_click(event:Event):void - { - if(event.target.selected) - { - video_intro_complete(); - } - else - { - video_intro.playheadTime = 0; - video_intro.play(); - } - //so.data.skip = event.target.selected; - } - - private function video_intro_complete():void - { - //Preferences.preferencesXml.Splash.@skip = checkBox_skip.selected.toString(); -- no longer save skip - GAW - video_intro.playheadTime = video_intro.totalTime; - video_intro.stop(); - //PopUpManager.removePopUp(this); - //Preferences.save(); - } - - ]]> - </mx:Script> - - <mx:VideoDisplay id="video_intro" width="678" height="568" source="{Config.SPLASH_URL}" - autoPlay="true" borderThickness="2" borderColor="black" borderStyle="inset" - autoBandWidthDetection="false" bufferTime="0.1" volume="0" complete="video_intro_complete()" rollOver="panel_options.visible=true;" - rollOut="panel_options.visible=false;" autoRewind="false" /> - - <mx:Panel id="panel_options" width="90" height="35" color="0xFFFFFF" backgroundAlpha="0.6" backgroundColor="0x000000" borderColor="0x000000" layout="horizontal" borderAlpha="0.6" - borderThicknessTop="1" borderThicknessBottom="10" headerHeight="10" cornerRadius="5" x="{(video_intro.width/2)-(panel_options.width/2)}" - y="{(video_intro.height - 70)}" horizontalAlign="center" verticalAlign="middle" horizontalGap="20" visible="false" - roundedBottomCorners="true" rollOver="panel_options.visible=true;" > - - <mx:CheckBox id="checkBox_mute" label="MUTE" selected="true" click="setVolume(event);" textRollOverColor="0x55C0FF" textSelectedColor="0xACACAC" /> - <!-- Removed - GAW - <mx:VRule height="20" alpha="0.5" /> - <mx:Button id="checkBox_skip" label="SKIP" click="checkBox_skip_click(event);" textRollOverColor="0x55C0FF" textSelectedColor="0xACACAC" /> - --> - </mx:Panel> - -</mx:Canvas> +<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#000000" horizontalScrollPolicy="off" verticalScrollPolicy="off" remove="video_intro.stop()" > + + <mx:Script> + <![CDATA[ + import mx.managers.PopUpManager; + + private var videoLength:int; + + private function setVolume(event:Event):void + { + if(event.target.selected) + { + video_intro.volume = 0; + } + else + { + video_intro.volume = 1; + video_intro.playheadTime = 0; + video_intro.play(); + } + //so.data.mute = ev.target.selected; + } + + private function checkBox_skip_click(event:Event):void + { + if(event.target.selected) + { + video_intro_complete(); + } + else + { + video_intro.playheadTime = 0; + video_intro.play(); + } + //so.data.skip = event.target.selected; + } + + private function video_intro_complete():void + { + //Preferences.preferencesXml.Splash.@skip = checkBox_skip.selected.toString(); -- no longer save skip - GAW + video_intro.playheadTime = video_intro.totalTime; + video_intro.stop(); + //PopUpManager.removePopUp(this); + //Preferences.save(); + } + + ]]> + </mx:Script> + + <mx:VideoDisplay id="video_intro" width="678" height="568" source="{Config.SPLASH_URL}" + autoPlay="true" borderThickness="2" borderColor="black" borderStyle="inset" + autoBandWidthDetection="false" bufferTime="0.1" volume="0" complete="video_intro_complete()" rollOver="panel_options.visible=true;" + rollOut="panel_options.visible=false;" autoRewind="false" /> + + <mx:Panel id="panel_options" width="90" height="35" color="0xFFFFFF" backgroundAlpha="0.6" backgroundColor="0x000000" borderColor="0x000000" layout="horizontal" borderAlpha="0.6" + borderThicknessTop="1" borderThicknessBottom="10" headerHeight="10" cornerRadius="5" x="{(video_intro.width/2)-(panel_options.width/2)}" + y="{(video_intro.height - 70)}" horizontalAlign="center" verticalAlign="middle" horizontalGap="20" visible="false" + roundedBottomCorners="true" rollOver="panel_options.visible=true;" > + + <mx:CheckBox id="checkBox_mute" label="MUTE" selected="true" click="setVolume(event);" textRollOverColor="0x55C0FF" textSelectedColor="0xACACAC" /> + <!-- Removed - GAW + <mx:VRule height="20" alpha="0.5" /> + <mx:Button id="checkBox_skip" label="SKIP" click="checkBox_skip_click(event);" textRollOverColor="0x55C0FF" textSelectedColor="0xACACAC" /> + --> + </mx:Panel> + +</mx:Canvas> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/TextBoxSearch.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/TextBoxSearch.mxml b/TourDeFlex/TourDeFlex/src/components/TextBoxSearch.mxml index 978200f..59bf20e 100644 --- a/TourDeFlex/TourDeFlex/src/components/TextBoxSearch.mxml +++ b/TourDeFlex/TourDeFlex/src/components/TextBoxSearch.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,63 +17,63 @@ limitations under the License. --> -<mx:TextInput xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()" keyUp="textBox_keyUp(event)" change="textBox_change()"> - - <mx:Script> - <![CDATA[ - - public static const TEXT_SUBMIT:String = "textSubmit"; - private var isDirty:Boolean = false; - private var typingPauseTimer:Timer; - - private function init():void - { - typingPauseTimer = new Timer(700, 1); - typingPauseTimer.addEventListener(TimerEvent.TIMER, timer_typingPause); - } - - private function textBox_change():void - { - isDirty = true; - - if(typingPauseTimer.running) - typingPauseTimer.reset(); - typingPauseTimer.start(); - } - - private function timer_typingPause(event:TimerEvent):void - { - if(isDirty) - submitText(); - } - - private function textBox_keyUp(event:KeyboardEvent):void - { - if(event.keyCode == Keyboard.ENTER && isDirty) - submitText(); - } - - private function submitText():void - { - var notificationTimer:Timer = new Timer(100, 1); - notificationTimer.addEventListener(TimerEvent.TIMER, timer_turnNotificationOff); - notificationTimer.start(); - - isDirty = false; - this.setStyle("backgroundColor", 0xFFFFB3); - dispatchEvent(new Event(TEXT_SUBMIT, true)); - } - - private function timer_turnNotificationOff(event:TimerEvent):void - { - this.setStyle("backgroundColor", 0xFFFFFF); - } - - ]]> - </mx:Script> - - <mx:Metadata> - [Event(name="textSubmit", type="flash.events.Event")] - </mx:Metadata> - -</mx:TextInput> +<mx:TextInput xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()" keyUp="textBox_keyUp(event)" change="textBox_change()"> + + <mx:Script> + <![CDATA[ + + public static const TEXT_SUBMIT:String = "textSubmit"; + private var isDirty:Boolean = false; + private var typingPauseTimer:Timer; + + private function init():void + { + typingPauseTimer = new Timer(700, 1); + typingPauseTimer.addEventListener(TimerEvent.TIMER, timer_typingPause); + } + + private function textBox_change():void + { + isDirty = true; + + if(typingPauseTimer.running) + typingPauseTimer.reset(); + typingPauseTimer.start(); + } + + private function timer_typingPause(event:TimerEvent):void + { + if(isDirty) + submitText(); + } + + private function textBox_keyUp(event:KeyboardEvent):void + { + if(event.keyCode == Keyboard.ENTER && isDirty) + submitText(); + } + + private function submitText():void + { + var notificationTimer:Timer = new Timer(100, 1); + notificationTimer.addEventListener(TimerEvent.TIMER, timer_turnNotificationOff); + notificationTimer.start(); + + isDirty = false; + this.setStyle("backgroundColor", 0xFFFFB3); + dispatchEvent(new Event(TEXT_SUBMIT, true)); + } + + private function timer_turnNotificationOff(event:TimerEvent):void + { + this.setStyle("backgroundColor", 0xFFFFFF); + } + + ]]> + </mx:Script> + + <mx:Metadata> + [Event(name="textSubmit", type="flash.events.Event")] + </mx:Metadata> + +</mx:TextInput> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/components/WipeWindow.mxml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/components/WipeWindow.mxml b/TourDeFlex/TourDeFlex/src/components/WipeWindow.mxml index fe8cea9..88a7a20 100644 --- a/TourDeFlex/TourDeFlex/src/components/WipeWindow.mxml +++ b/TourDeFlex/TourDeFlex/src/components/WipeWindow.mxml @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more @@ -17,29 +17,29 @@ limitations under the License. --> -<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" showEffect="{this.wipeDown}" hideEffect="{this.wipeUp}" styleName="wipeWindow"> - - <mx:Script> - <![CDATA[ - import mx.events.FlexEvent; - import mx.events.EffectEvent; - - public static const HIDE_COMPLETE:String = "hideComplete"; - - private function hideComplete(event:EffectEvent):void - { - var hideCompleteEvent:FlexEvent = new FlexEvent(HIDE_COMPLETE); - dispatchEvent(hideCompleteEvent); - } - - ]]> - </mx:Script> - - <mx:Metadata> - [Event(name="hideComplete", type="mx.events.FlexEvent")] - </mx:Metadata> - - <mx:WipeDown id="wipeDown" duration="500" /> - <mx:WipeUp id="wipeUp" duration="500" effectEnd="hideComplete(event)" /> - -</mx:VBox> +<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" showEffect="{this.wipeDown}" hideEffect="{this.wipeUp}" styleName="wipeWindow"> + + <mx:Script> + <![CDATA[ + import mx.events.FlexEvent; + import mx.events.EffectEvent; + + public static const HIDE_COMPLETE:String = "hideComplete"; + + private function hideComplete(event:EffectEvent):void + { + var hideCompleteEvent:FlexEvent = new FlexEvent(HIDE_COMPLETE); + dispatchEvent(hideCompleteEvent); + } + + ]]> + </mx:Script> + + <mx:Metadata> + [Event(name="hideComplete", type="mx.events.FlexEvent")] + </mx:Metadata> + + <mx:WipeDown id="wipeDown" duration="500" /> + <mx:WipeUp id="wipeUp" duration="500" effectEnd="hideComplete(event)" /> + +</mx:VBox> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/data/offline.html ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/data/offline.html b/TourDeFlex/TourDeFlex/src/data/offline.html index fa557c0..a6c289a 100644 --- a/TourDeFlex/TourDeFlex/src/data/offline.html +++ b/TourDeFlex/TourDeFlex/src/data/offline.html @@ -14,20 +14,20 @@ See the License for the specific language governing permissions and limitations under the License. --> -<html> - <head> - <title>Offline</title> - </head> - <body> - <table width="100%" height="100%"> - <tr> - <td align="center"> - <div style="background-color:#E7E2E0; border:solid 2px #B30000; font-size:12px; font-weight:bold; width:50%; padding:60px 20px 60px 20px;"> - An Internet connection is required. - </div> - </td> - </tr> - </table> - - </body> +<html> + <head> + <title>Offline</title> + </head> + <body> + <table width="100%" height="100%"> + <tr> + <td align="center"> + <div style="background-color:#E7E2E0; border:solid 2px #B30000; font-size:12px; font-weight:bold; width:50%; padding:60px 20px 60px 20px;"> + An Internet connection is required. + </div> + </td> + </tr> + </table> + + </body> </html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/data/settings.xml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/data/settings.xml b/TourDeFlex/TourDeFlex/src/data/settings.xml index 33e690d..3aaffa2 100644 --- a/TourDeFlex/TourDeFlex/src/data/settings.xml +++ b/TourDeFlex/TourDeFlex/src/data/settings.xml @@ -16,34 +16,34 @@ See the License for the specific language governing permissions and limitations under the License. --> -<Settings title="Tour de Flex"> - - <AboutMenu title="Flex Resources"> - <Item label="About" data="data/about.html" /> - <Item label="Tour de Flex Home Page" data="http://flex.org/tour" /> - - <Item label="Adobe Flash Platform Home Page" data="http://www.adobe.com/flashplatform/" /> - - <Item label="Adobe Flex Home Page" data="http://www.adobe.com/products/flex/" /> - - <Item label="Adobe AIR Home Page" data="http://www.adobe.com/products/air/" /> - - <Item label="Adobe Flex Developer Center" data="http://www.adobe.com/devnet/flex/" /> - - <Item label="Adobe AIR Developer Center" data="http://www.adobe.com/devnet/air/" /> - - <Item label="Flex.org" data="http://flex.org" /> - - <Item label="Flex Showcase" data="http://flex.org/showcase" /> - - <Item label="Flex 3 LiveDocs" data="http://livedocs.adobe.com/flex/3" /> - - <Item label="Flex 3 Language Reference" data="http://livedocs.adobe.com/flex/3/langref/index.html" /> - - <Item label="Flex Builder Trial Download" data="http://www.adobe.com/go/flex_trial" /> - - <Item label="Flex Builder free for Students and Educators" data="http://www.flexregistration.com" /> - - </AboutMenu> - -</Settings> +<Settings title="Tour de Flex"> + + <AboutMenu title="Flex Resources"> + <Item label="About" data="data/about.html" /> + <Item label="Tour de Flex Home Page" data="http://flex.org/tour" /> + + <Item label="Adobe Flash Platform Home Page" data="http://www.adobe.com/flashplatform/" /> + + <Item label="Adobe Flex Home Page" data="http://www.adobe.com/products/flex/" /> + + <Item label="Adobe AIR Home Page" data="http://www.adobe.com/products/air/" /> + + <Item label="Adobe Flex Developer Center" data="http://www.adobe.com/devnet/flex/" /> + + <Item label="Adobe AIR Developer Center" data="http://www.adobe.com/devnet/air/" /> + + <Item label="Flex.org" data="http://flex.org" /> + + <Item label="Flex Showcase" data="http://flex.org/showcase" /> + + <Item label="Flex 3 LiveDocs" data="http://livedocs.adobe.com/flex/3" /> + + <Item label="Flex 3 Language Reference" data="http://livedocs.adobe.com/flex/3/langref/index.html" /> + + <Item label="Flex Builder Trial Download" data="http://www.adobe.com/go/flex_trial" /> + + <Item label="Flex Builder free for Students and Educators" data="http://www.flexregistration.com" /> + + </AboutMenu> + +</Settings> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/5ed4d983/TourDeFlex/TourDeFlex/src/data/settings_ja.xml ---------------------------------------------------------------------- diff --git a/TourDeFlex/TourDeFlex/src/data/settings_ja.xml b/TourDeFlex/TourDeFlex/src/data/settings_ja.xml index 9d47c36..46b6dfe 100644 --- a/TourDeFlex/TourDeFlex/src/data/settings_ja.xml +++ b/TourDeFlex/TourDeFlex/src/data/settings_ja.xml @@ -16,35 +16,35 @@ See the License for the specific language governing permissions and limitations under the License. --> -<Settings title="Tour de Flex"> - - <AboutMenu title="Flex ãªã½ã¼ã¹"> - <Item label="About" data="data/about.html" /> - <Item label="Tour de Flex Home Page" data="http://flex.org/tour" /> - - <Item label="Adobe Flash Platform Home Page" data="http://www.adobe.com/jp/flashplatform/" /> - - <Item label="Adobe Flex Home Page" data="http://www.adobe.com/jp/products/flex/" /> - - <Item label="Adobe AIR Home Page" data="http://www.adobe.com/jp/products/air/" /> - - <Item label="Adobe Flex Developer Center" data="http://www.adobe.com/jp/devnet/flex/" /> - - <Item label="Adobe AIR Developer Center" data="http://www.adobe.com/jp/devnet/air/" /> - - <Item label="Flex.org" data="http://flex.org" /> - - <Item label="Flex Showcase" data="http://flex.org/showcase" /> - - <Item label="Flex 3 Resource" data="http://www.adobe.com/support/documentation/jp/flex/" /> - - <Item label="Flex 3 Language Reference" data="http://livedocs.adobe.com/flex/3_jp/langref/index.html" /> - - <Item label="Flex Builder Trial Download" data="https://www.adobe.com/cfusion/tdrc/index.cfm?loc=ja&product=flex" /> - - <Item label="Flex Builder free for Students and Educators" data="http://www.flexregistration.com" /> - <Item label="Education Vanguards" data="http://www.adobe.com/jp/education/hed/vanguards/license_free_faq.html" /> - - </AboutMenu> - +<Settings title="Tour de Flex"> + + <AboutMenu title="Flex ãªã½ã¼ã¹"> + <Item label="About" data="data/about.html" /> + <Item label="Tour de Flex Home Page" data="http://flex.org/tour" /> + + <Item label="Adobe Flash Platform Home Page" data="http://www.adobe.com/jp/flashplatform/" /> + + <Item label="Adobe Flex Home Page" data="http://www.adobe.com/jp/products/flex/" /> + + <Item label="Adobe AIR Home Page" data="http://www.adobe.com/jp/products/air/" /> + + <Item label="Adobe Flex Developer Center" data="http://www.adobe.com/jp/devnet/flex/" /> + + <Item label="Adobe AIR Developer Center" data="http://www.adobe.com/jp/devnet/air/" /> + + <Item label="Flex.org" data="http://flex.org" /> + + <Item label="Flex Showcase" data="http://flex.org/showcase" /> + + <Item label="Flex 3 Resource" data="http://www.adobe.com/support/documentation/jp/flex/" /> + + <Item label="Flex 3 Language Reference" data="http://livedocs.adobe.com/flex/3_jp/langref/index.html" /> + + <Item label="Flex Builder Trial Download" data="https://www.adobe.com/cfusion/tdrc/index.cfm?loc=ja&product=flex" /> + + <Item label="Flex Builder free for Students and Educators" data="http://www.flexregistration.com" /> + <Item label="Education Vanguards" data="http://www.adobe.com/jp/education/hed/vanguards/license_free_faq.html" /> + + </AboutMenu> + </Settings> \ No newline at end of file
