⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 screenshotsslider.mxml

📁 flex 实现的一个showcase 喜欢flex的朋友可以
💻 MXML
字号:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas
	xmlns:mx="http://www.adobe.com/2006/mxml"
	xmlns:Screenshots="org.flex.backend.screens.account.screenshots.*"
	
	horizontalScrollPolicy="off"
	verticalScrollPolicy="off"
	
	creationComplete="creationCompleteHandler(event);">
	
	
	<mx:Script>
		<![CDATA[
			//////////////////////////////////////////////////
			//import
			
			import flash.events.Event;
			import mx.collections.ArrayCollection;
			import mx.events.ListEvent;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			import org.flex.engine.FlexEngine;
			import org.flex.engine.managers.Project;
			import org.flex.engine.managers.ProjectScreenshot;
			import org.flex.engine.managers.ServiceManager;
			import org.flex.events.ScreenshotSliderEvent;
			
			
			//////////////////////////////////////////////////
			//private variables
			private var _dataProvider:ArrayCollection;
			
			//////////////////////////////////////////////////
			//public variables
			public var lastSelectedIndex:uint;
			
			/////////////////////////////////////////////////////////////////////////////
			//getter/setter
			
			[Bindable]
			public function get dataProvider():ArrayCollection {
				return _dataProvider;
			}
			
			public function set dataProvider(value:ArrayCollection):void {
				_dataProvider = value;
			}
			
			////////////////////////////////////////////////////////////////////////////////////
			//initialization
			private function creationCompleteHandler(event:Event):void {
				lastSelectedIndex = 0;
			}
			
			//general---------------------------------------------------------------------------------
			
			public function clear():void {
				screenshotHorizontalList.dataProvider = null;
			}
			
			
			public function deleteSelectedImage():void {
				var selectedItem:ProjectScreenshot = screenshotHorizontalList.selectedItem as ProjectScreenshot;
				
				var flexEngine:FlexEngine = FlexEngine.getInstance();
				var serviceManager:ServiceManager = flexEngine.serviceManager;
				serviceManager.flexdotorg.addEventListener(ResultEvent.RESULT, deleteScreenshotResultHandler);
				serviceManager.flexdotorg.addEventListener(FaultEvent.FAULT, deleteScreenshotFaultHandler);
				serviceManager.flexdotorg.deleteScreenshot(selectedItem.projectID, selectedItem.id);
			}
			
			//screenshot list-------------------------------------------------------------
			private function handleListDrawUpdate(event:Event):void {
				if(screenshotHorizontalList.selectedIndex != lastSelectedIndex){
					screenshotHorizontalList.selectedIndex = lastSelectedIndex;
				}
			}
			
			private function screenshotHorizontalListChangeHandler(listEvent:ListEvent):void {
				lastSelectedIndex = screenshotHorizontalList.selectedIndex;
			}
			
			//default screenshot--------------------------------------------------------------------
			public function markSelectedImageAsDefault():void {
				var selectedItem:ProjectScreenshot = screenshotHorizontalList.selectedItem as ProjectScreenshot;
				
				var flexEngine:FlexEngine = FlexEngine.getInstance();
				var serviceManager:ServiceManager = flexEngine.serviceManager;
				serviceManager.flexdotorg.addEventListener(ResultEvent.RESULT, setDefaultScreenshotResultHandler);
				serviceManager.flexdotorg.addEventListener(FaultEvent.FAULT, setDefaultScreenshotFaultHandler);
				serviceManager.flexdotorg.setDefaultScreenshot(selectedItem.projectID, selectedItem.id);
			}
			
			private function setDefaultScreenshotResultHandler(resultEvent:ResultEvent):void {
				var flexEngine:FlexEngine = FlexEngine.getInstance();
				var serviceManager:ServiceManager = flexEngine.serviceManager;
				serviceManager.flexdotorg.removeEventListener(ResultEvent.RESULT, setDefaultScreenshotResultHandler);
				serviceManager.flexdotorg.removeEventListener(FaultEvent.FAULT, setDefaultScreenshotFaultHandler);
				
				flexEngine.currentUserProject.load();
			}
			
			private function setDefaultScreenshotFaultHandler(faultEvent:FaultEvent):void {
				var flexEngine:FlexEngine = FlexEngine.getInstance();
				var serviceManager:ServiceManager = flexEngine.serviceManager;
				serviceManager.flexdotorg.removeEventListener(ResultEvent.RESULT, setDefaultScreenshotResultHandler);
				serviceManager.flexdotorg.removeEventListener(FaultEvent.FAULT, setDefaultScreenshotFaultHandler);
			}
			
			//delete screenshot----------------------------------------------------------------------
			private function deleteScreenshotResultHandler(resultEvent:ResultEvent):void {
				var flexEngine:FlexEngine = FlexEngine.getInstance();
				var serviceManager:ServiceManager = flexEngine.serviceManager;
				serviceManager.flexdotorg.removeEventListener(ResultEvent.RESULT, deleteScreenshotResultHandler);
				serviceManager.flexdotorg.removeEventListener(FaultEvent.FAULT, deleteScreenshotFaultHandler);
				
				flexEngine.currentUserProject.load();
			}
			
			private function deleteScreenshotFaultHandler(faultEvent:FaultEvent):void {
				var flexEngine:FlexEngine = FlexEngine.getInstance();
				var serviceManager:ServiceManager = flexEngine.serviceManager;
				serviceManager.flexdotorg.removeEventListener(ResultEvent.RESULT, deleteScreenshotResultHandler);
				serviceManager.flexdotorg.removeEventListener(FaultEvent.FAULT, deleteScreenshotFaultHandler);
			}
			
		]]>
	</mx:Script>
	
	
	<mx:Image source="@Embed('/assets/images/screenshots_slider_bg.png')" />
	<mx:Canvas id="imagesHolder_mc" horizontalScrollPolicy="off" verticalScrollPolicy="off">
		<Screenshots:ScreenshotHorizontalList
			id="screenshotHorizontalList"
			borderStyle="none"
			borderThickness="0"
			backgroundAlpha="0"
			horizontalScrollPolicy="off"
			verticalScrollPolicy="off"
			useRollOver="false"
			dataProvider="{dataProvider}"
			itemRenderer="org.flex.backend.screens.account.screenshots.ScreenshotsSliderImage"
			change="screenshotHorizontalListChangeHandler(event)"
			updateComplete="handleListDrawUpdate(event)"/>
	</mx:Canvas>
	
</mx:Canvas>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -