(25)S2Flex2画像パレット 画面の作成2
前回の続きです。
サンプルにしては規模がおおきすぎたと、
今思いましたが途中でやめれないので突っ走ります。
■ChildImageListItems.mxml(ポップアップの子画面の要素コンポーネント)
<?xml version="1.0" encoding="utf-8"?> <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" autoLayout="true" height="100%" width="100%" horizontalAlign="center"> <mx:Image source="{data.myUrl}" width="50" height="50"/> </mx:VBox>
前回の要素コンポーネントと同じです。TileListの要素コンポーネント。
■ImagePickerSearch.mxml(ポップアップの子画面1)
<?xml version="1.0" encoding="utf-8"?> <mx:Box xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:helper="imagepicker.imagemanage.helper.*"> <helper:ImagePickerSearchHelper id="imagePickerSearchHelper" /> <mx:VBox width="100%" height="100%"> <mx:HBox width="100%"> <mx:TextInput id="txtSearch" width="103"/> <mx:Button id="btnSearch" click="imagePickerSearchHelper.onSelectBtn();" label="検索"/> <mx:Button id="btnUpload" label="アップロード"/> </mx:HBox> <mx:TileList id="tllChildImageList" width="100%" height="100%" dataProvider="{imagePickerSearchHelper.model.imageList}" itemRenderer="jp.co.genephics.imagepicker.imagemanage.view.ChildImageListItems" initialize="imagePickerSearchHelper.selectAll();" doubleClickEnabled="true" doubleClick="imagePickerSearchHelper.onTileList();" /> </mx:VBox> </mx:Box>
画像パレット(ポップアップ)の中の子画面。
検索フォームと画像一覧を持ちます。
■ImagePickerUrl.mxml(ポップアップの子画面2)
<?xml version="1.0" encoding="utf-8"?> <mx:Box xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:helper="imagepicker.imagemanage.helper.*"> <helper:ImagePickerUrlHelper id="imagePickerUrlHelper" /> <mx:VBox width="100%" height="100%"> <mx:Text text="画像のURLを指定してください。"/> <mx:Form width="250" height="141"> <mx:FormItem label="URL"> <mx:TextInput id="txtUrl" text="http://" width="130" /> </mx:FormItem> <mx:FormItem > <mx:Button click="imagePickerUrlHelper.onOkBtn();" id="btnOk" label="OK"/> </mx:FormItem> </mx:Form> </mx:VBox> </mx:Box>
画像URLでも指定できるようにしました。
■ImagePicker.mxml(ポップアップ)
<?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="300" height="300" xmlns:helper="imagepicker.imagemanage.helper.*" xmlns:components="imagepicker.imagemanage.view.*" x="287" y="116" title="ImagePicker" showCloseButton="true" close="imagePickerHelper.closeWindow()" mouseDownOutside="imagePickerHelper.mouseDownOutside();"> <helper:ImagePickerHelper id="imagePickerHelper" /> <mx:Object id="mainApp" /> <mx:TabNavigator paddingRight="10" paddingLeft="10" paddingTop="10" paddingBottom="10" width="100%" height="100%"> <mx:Canvas id="vsImagePickerSearch" label="検索" width="100%" height="100%"> <components:ImagePickerSearch id="imagePickerSearch" x="0" y="0" /> </mx:Canvas> <mx:Canvas id="vsImagePickerUrl" label="URL" width="100%" height="100%"> <components:ImagePickerUrl id="imagePickerUrl" x="0" y="0" /> </mx:Canvas> </mx:TabNavigator> </mx:TitleWindow>
画像パレット本体。タブナビゲータで、先に作成したImagePickerSearchとImagePickerUrlを切り替えるようにします。
■SampleApp.mxml(サンプルのフォーム)
<?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:helper="imagepicker.imagemanage.helper.*"> <helper:SampleAppHelper id="sampleAppHelper" /> <mx:Label x="76" y="41" text="例えば、フォームなんかで。"/> <mx:Label x="76" y="98" text="画像"/> <mx:TextInput id="txtForm" x="119" y="96" width="160"/> <mx:Button id="btnRef" click="sampleAppHelper.onBtnRef();" x="287" y="96" label="参照"/> <mx:Image id="imgThmb" x="119" y="126"/> </mx:Canvas>
使用例のページです。
■Application.mxml(アプリケーションMXML)
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" xmlns:view="imagepicker.imagemanage.view.*" xmlns:control="imagepicker.common.control.*" xmlns:service="imagepicker.common.service.*" layout="absolute" width="100%" height="100%" backgroundSize="100%" viewSourceURL="srcview/index.html" creationComplete="init();" backgroundColor="#ffffff" pageTitle="ImagePicker"> <control:ImagePickerController /> <service:ImagePickerService /> <mx:VBox width="90%" height="90%"> <mx:HBox x="0" y="0" width="100%" height="80%"> <view:SampleApp width="50%" height="100%"/> <mx:Panel paddingRight="10" paddingLeft="10" paddingTop="10" paddingBottom="10" width="50%" height="100%" title="ImageMagaer *管理画面*"> <view:ImageManage /> </mx:Panel> </mx:HBox> </mx:VBox> </mx:Application>
アプリケーションMXMLです。
Cairngormを使用しているのでFrontControllerとサービスクラスのインスタンスを取得しています。
画面は全部終わりました。
次回は、AS側のファイルアップロード部分を作成します。