ちょっと便利な付箋アプリを作りました。
ちょっと便利な付箋アプリを作ってみました。
こんな感じ
色とかサイズとかURLがつけられるのが便利かなぁ。
アプリのダウンロード
データーはSharedObjectに保存しています。
#ホントはSqliteで遊ぶと面白いんだろうけど、今回は簡単にってことで(^^;
ドラッグやリサイズできるパネルってことでSuperPanelPlusを使用しています。
メインのソースコードはこちら
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:panel="com.visualempathy.extensions.panel.*" xmlns:local="*" layout="absolute" backgroundAlpha="0" borderThickness="0" showGripper="false" showInAutomationHierarchy="false" showStatusBar="false" showTitleBar="false" verticalScrollPolicy="off" horizontalScrollPolicy="off" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.managers.PopUpManager; //初期化関数 public var so:SharedObject; private function init():void{ // this.setFocus(); this.nativeWindow.x = 0; this.nativeWindow.y = 0; this.nativeWindow.width = Capabilities.screenResolutionX; this.nativeWindow.height = Capabilities.screenResolutionY; doPopup(); } public function doPopup():void{ //シェアードオブジェクトゲット so = SharedObject.getLocal("khusenAir"); var popup_window:myPanel = new myPanel(); popup_window.myText = so.data.myText; popup_window.x = so.data.x; popup_window.y = so.data.y; if( so.data.width ){ popup_window.width = so.data.width; popup_window.height = so.data.height; }else{ popup_window.width = 200; popup_window.height = 400; } this.addChild( popup_window ); // PopUpManager.addPopUp(popup_window, this); // PopUpManager.centerPopUp(popup_window); } ]]> </mx:Script> </mx:WindowedApplication>
SuperPanelPlusを拡張したmyPanelのソースコードはこちら
リッチテキストエディターが追加されています。
<?xml version="1.0" encoding="utf-8"?> <SuperPanelPlus xmlns="com.visualempathy.extensions.panel.*" xmlns:mx="http://www.adobe.com/2006/mxml" title="付箋" width="300" height="600" layout="vertical" horizontalAlign="right" showControls="true" dragEnabled="true" resizeEnabled="true" styleColor="0x333333" backgroundColor="#333333" borderColor="#333333" color="0xffffff" backgroundAlpha="0.9" selectedBorderAlpha="0.8" unselectedBorderAlpha="0.5" moveAlpha=".5" highlightAlpha1=".3" highlightAlpha2=".1" verticalScrollPolicy="off" horizontalScrollPolicy="off" creationCompleteEffect="Fade" closeClickEvent="onClose()"> <mx:Script> <![CDATA[ /* private function closeWindow( event:Event ):void { this.alpha = 0; this.visible = false; this.includeInLayout = false; } private function showWindow( event:Event ):void { this.alpha = 1; this.visible = true; this.includeInLayout = true; } */ [Bindable]public var myText:String; //エディターの表示・非表示 private var showed:Boolean = false; private function setEdite():void{ if( showed ){ rte.showControlBar = false; showed = false; lb.label = "Show Editor"; }else{ showed = true; rte.showControlBar = true; lb.label = "Close Editor"; } } import mx.core.Application; //テキストを保存 private function saveText():void{ Application.application.so.data.myText = rte.htmlText; Application.application.so.flush(); } //位置情報やサイズ情報を保存 private function onClose():void{ Application.application.so.data.x = this.x; Application.application.so.data.y = this.y; Application.application.so.data.width = this.width; Application.application.so.data.height = this.height; Application.application.so.flush(); Application.application.nativeWindow.close(); } ]]> </mx:Script> <mx:Style> .myText{ backgroundAlpha:0.1; color:#ffffff; } .myControl{ backgroundAlpha:1; color:#000000; } ComboBox{ backgroundAlpha:1; } </mx:Style> <mx:Style source="assets/css/styles.css"/> <!-- <mx:Resize id="showEdite" heightFrom="{this.height+100}" heightTo="{this.height}"/> <mx:Resize id="hideEdite" heightFrom="{this.height}" heightTo="{this.height+100}"/> --> <mx:RichTextEditor id="rte" width="100%" height="100%" showInAutomationHierarchy="false" showControlBar="false" htmlText="{myText}" borderThickness="0" change="saveText()" headerHeight="4" backgroundAlpha="0.5" alpha="1.0" borderAlpha="0.5" disabledOverlayAlpha="0.5" highlightAlphas="0.5" backgroundColor="#000000" borderColor="#000000" textAreaStyleName="myText" controlBarStyleName="myControl"/> <mx:LinkButton id="lb" label="Show Editor" bottom="3" right="3" click="setEdite()" color="0xffffff"/> </SuperPanelPlus>