ちょっと便利な付箋アプリを作りました。

ちょっと便利な付箋アプリを作ってみました。
こんな感じ

色とかサイズとか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>