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

📄 filesavepanel.mxml

📁 一个flex apollo sample用flex builder IDE开发
💻 MXML
字号:
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
				width="400"
		  		title="Save File"
		  		showCloseButton="true"
		  		paddingLeft="10" paddingTop="10"
		  		paddingRight="10" paddingBottom="10"
		  		close="closeHandler(event)">

	<mx:Script>
	<![CDATA[
		import mx.events.FileEvent;
			
		import flash.filesystem.File;
		import mx.core.Application;
		import mx.events.CloseEvent;
		import mx.events.MenuEvent;
		import mx.managers.PopUpManager;
		
	    //----------------------------------------------------------------------
	    //
	    //  Class methods
	    //
	    //----------------------------------------------------------------------

		public static function show(directory:File = null,
							 		name:String = null):FileSavePanel
		{
			var panel:FileSavePanel =
				FileSavePanel(PopUpManager.createPopUp(
				DisplayObject(mx.core.Application.application),
				FileSavePanel, true));
			
			PopUpManager.centerPopUp(panel);
			
			panel.setup(directory, name);
			
			return panel;
		}
			
	    //----------------------------------------------------------------------
	    //
	    //  Properties
	    //
	    //----------------------------------------------------------------------

	    //------------------------------
		//  cancelButtonLabel
	    //------------------------------
		
		[Bindable]

		public var cancelButtonLabel:String = "Cancel";
		
	    //------------------------------
		//  openDirectoryButtonLabel
	    //------------------------------
		
		[Bindable]

		public var openDirectoryButtonLabel:String = "Open";
		
	    //------------------------------
		//  saveFileButtonLabel
	    //------------------------------
		
		[Bindable]

		public var saveFileButtonLabel:String = "Save";
		
	    //----------------------------------------------------------------------
	    //
	    //  Methods
	    //
	    //----------------------------------------------------------------------

		public function setup(directory:File = null,
							  name:String = null):void
		{
			if (!directory)
				directory = FileSystemList.COMPUTER;
				
			fileSystemList.directory = directory;
			fileSystemList.resetHistory(directory);
			
			if (name)
				fileNameTextInput.text = name;
		}
		
		private function updateSaveButton():void
		{
			var listHasFocus:Boolean =
				fileSystemList.focusManager.getFocus() == fileSystemList;
			
			saveButton.label = listHasFocus && fileSystemList.canNavigateDown ?
							   openDirectoryButtonLabel :
							   saveFileButtonLabel;
			
			saveButton.enabled =
				fileSystemList.directory != FileSystemList.COMPUTER &&
				fileNameTextInput.text != "";
		}
		
		private function dispatchSelectEvent():void
		{
			var selectEvent:FileEvent = new FileEvent(FileEvent.SELECT);
			selectEvent.file =
				fileSystemList.directory.resolve(fileNameTextInput.text);
			dispatchEvent(selectEvent);
		}
	    
	    //----------------------------------------------------------------------
	    //
	    //  Event handlers
	    //
	    //----------------------------------------------------------------------

		private function closeHandler(event:CloseEvent):void
		{
			dispatchEvent(new Event(Event.CANCEL));
			
			PopUpManager.removePopUp(this);
		}
		
		private function backButton_clickHandler(event:MouseEvent):void
		{
			fileSystemList.navigateBack();
		}
		
		private function backButton_itemClickHandler(event:MenuEvent):void
		{
			fileSystemList.navigateBack(event.index);
		}

		private function forwardButton_clickHandler(event:MouseEvent):void
		{
			fileSystemList.navigateForward();
		}
		
		private function forwardButton_itemClickHandler(event:MenuEvent):void
		{
			fileSystemList.navigateForward(event.index);
		}

		private function fileSystemComboBox_changeHandler(event:Event):void
		{
			fileSystemList.navigateTo(File(fileSystemComboBox.selectedItem));
		}

		private function upButton_clickHandler(event:MouseEvent):void
		{
			fileSystemList.navigateUp();
		}
		
		private function fileSystemList_directoryChangeHandler(event:FileEvent):void
		{
			updateSaveButton();
		}
		
		private function fileSystemList_focusInHandler(event:FocusEvent):void
		{
			updateSaveButton();
		}
		
		private function fileSystemList_focusOutHandler(event:FocusEvent):void
		{
			updateSaveButton();
		}
		
		private function fileSystemList_selectHandler(event:Event):void
		{
		}
		
		private function fileNameTextInput_changeHandler(event:Event):void
		{
			updateSaveButton();
		}

		private function fileNameTextInput_enterHandler(event:Event):void
		{
			dispatchSelectEvent();
			
			PopUpManager.removePopUp(this);
		}

		private function saveButton_clickHandler(event:MouseEvent):void
		{
			dispatchSelectEvent();
			
			PopUpManager.removePopUp(this);
		}
		
		private function cancelButton_clickHandler(event:MouseEvent):void
		{
			dispatchEvent(new Event(Event.CANCEL));
			
			PopUpManager.removePopUp(this);
		}
		
	]]>
	</mx:Script>
	
	<mx:HBox width="100%">
		
		<mx:FileSystemHistoryButton id="backButton" width="40" label="&lt;" toolTip="Back"
									enabled="{fileSystemList.canNavigateBack}"
									dataProvider="{fileSystemList.backHistory}"
						    		click="backButton_clickHandler(event)"
						    		itemClick="backButton_itemClickHandler(event)"/>
		
		<mx:FileSystemHistoryButton id="forwardButton" width="40" label="&gt;" toolTip="Forward"
									enabled="{fileSystemList.canNavigateForward}"
									dataProvider="{fileSystemList.forwardHistory}"
									click="forwardButton_clickHandler(event)"
									itemClick="forwardButton_itemClickHandler(event)"/>

		<mx:FileSystemComboBox id="fileSystemComboBox" width="100%" toolTip="Current Directory"
							   directory="{fileSystemList.directory}"
							   change="fileSystemComboBox_changeHandler(event)"/>
	
		<mx:Button id="upButton" width="22" label="^" toolTip="Up"
				   enabled="{fileSystemList.canNavigateUp}"
				   click="upButton_clickHandler(event)"/>

	</mx:HBox>

	<mx:FileSystemList id="fileSystemList" width="100%" rowCount="10"
					   directoryChange="fileSystemList_directoryChangeHandler(event)"
					   focusIn="fileSystemList_focusInHandler(event)"
					   focusOut="fileSystemList_focusOutHandler(event)"
					   select="fileSystemList_selectHandler(event)"/>
					   
	<mx:HBox width="100%">
		
		<mx:Label text="File name:"/>
		
		<mx:TextInput id="fileNameTextInput" width="100%"
					  change="fileNameTextInput_changeHandler(event)"
					  enter="fileNameTextInput_enterHandler(event)"/>
		
	</mx:HBox>
	
	<mx:HBox width="100%" horizontalAlign="center">
	
		<mx:Button id="cancelButton" width="80" label="{cancelButtonLabel}"
				   click="cancelButton_clickHandler(event)"/>
		
		<mx:Button id="saveButton" width="80"
				   click="saveButton_clickHandler(event)"/>
		
	</mx:HBox>
		
</mx:TitleWindow>

⌨️ 快捷键说明

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