|
1: package {
2: import flash.text.*;
3: import flash.display.*;
4: import flash.events.*;
5: import flash.system.*;
6: import mx.controls.*;
7:
8: public class Sticky {
9: public var window:NativeWindow; // 付箋ウィンドウ
10: public var editor:TextField; // 入力欄
11: public var id:Number; // 主キー
12: public static var RESIZE_HANDLE_SIZE:int = 20; // リサイズ用領域の大きさ
13:
14: // 付箋ウィンドウを生成
15: public function Sticky():void {
16: var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
17: initOptions.systemChrome = NativeWindowSystemChrome.NONE;
18: initOptions.transparent = false;
19: initOptions.type = NativeWindowType.LIGHTWEIGHT;
20: window = new NativeWindow(false, initOptions);
21: window.stage.align = StageAlign.TOP_LEFT;
22: window.stage.scaleMode = StageScaleMode.NO_SCALE;
23:
24: // 入力欄
25: editor = new TextField();
26: editor.x = editor.y = 0;
27: editor.selectable = true;
28: editor.border = false;
29: editor.type = TextFieldType.INPUT;
30: editor.multiline = true;
31: editor.background = true;
32: editor.wordWrap = true;
33: editor.backgroundColor = 0xE6E082;
34: window.stage.addChild(editor);
35:
36: // ウィンドウと入力欄のサイズ
37: window.width = editor.width = 300;
38: window.height = editor.height = 100;
39:
40: // ウィンドウをリサイズすると入力欄も追従
41: window.stage.addEventListener(Event.RESIZE, function(evt:Event):void {
42: resized();
43: });
44:
45: // 移動とリサイズ
46: window.stage.addEventListener(MouseEvent.MOUSE_DOWN,
47: function(evt:MouseEvent):void {
48: var x:Number = evt.stageX;
49: var y:Number = evt.stageY;
50: if (y > window.height - RESIZE_HANDLE_SIZE && x > window.width - RESIZE_HANDLE_SIZE) {
51: window.startResize(NativeWindowResize.BOTTOM_RIGHT);
52: }
53: else {
54: window.startMove();
55: }
56: }
57: );
58: } // end of function Sticky
59:
60: // ウィンドウを表示する
61: public function show():void {
62: window.visible = true;
63: }
64:
65: // ウィンドウをリサイズしたあとに呼ばれる
66: public function resized():void {
67: editor.width = window.width;
68: editor.height = window.height;
69: }
70:
71: } // end of class Sticky
72:
73: } // end of package
|
|