root/lang/actionscript/gmapkmz/ConfirmBox.as

Revision 14859, 2.4 kB (checked in by gyuque, 6 months ago)

v20080629

Line 
1package
2{
3        import flash.display.*;
4        import flash.text.*;
5        import flash.events.*;
6        public class ConfirmBox extends Sprite
7        {
8                private var mYesButton:CButton;
9                private var mNoButton:CButton;
10
11                private var mCText:TextField = new TextField();
12                private var mYText:TextField = new TextField();
13                private var mNText:TextField = new TextField();
14                function ConfirmBox(ctext:String, onYes:Function, onNo:Function)
15                {
16                        var fmt:TextFormat = new TextFormat();
17                        fmt.font = "Arial";
18                        fmt.size = 16;
19                       
20                        mCText.defaultTextFormat = fmt;
21                        mYText.defaultTextFormat = fmt;
22                        mNText.defaultTextFormat = fmt;
23                        mCText.text = ctext;
24                        mNText.text = "No";
25                        mYText.text = "Yes";
26                        mCText.mouseEnabled = false;
27                        mNText.mouseEnabled = false;
28                        mYText.mouseEnabled = false;
29
30                        mCText.width = mCText.textWidth + 8;
31                        mYText.x = mCText.textWidth + 16;
32                        mNText.x = mYText.x + mYText.textWidth + 16;
33
34                        addChild(mCText);
35
36                        drawBase(graphics);
37
38                        mYesButton = new CButton(mYText.textWidth + 5, mYText.textHeight + 4);
39                        mYesButton.x = mYText.x - 1;
40                        mYesButton.y = mYText.y - 1;
41                        addChild(mYesButton);
42                        mYesButton.buttonMode = true;
43                        mYesButton.addEventListener(MouseEvent.CLICK, onYes);
44
45                        mNoButton = new CButton(mNText.textWidth + 5, mNText.textHeight + 4);
46                        mNoButton.x = mNText.x - 1;
47                        mNoButton.y = mNText.y - 1;
48                        addChild(mNoButton);
49                        mNoButton.buttonMode = true;
50                        mNoButton.addEventListener(MouseEvent.CLICK, onNo);
51
52                        addChild(mNText);
53                        addChild(mYText);
54                }
55
56                protected function drawBase(g:Graphics):void
57                {
58                        g.beginFill(0xffffff, 0.8);
59                        g.lineStyle(3, 0xffffff, 0.2);
60                        g.drawRect(-4, -4, mNText.x + mNText.textWidth + 20, mCText.textHeight + 10);
61                }
62        }
63}
64
65class CButton extends flash.display.Sprite
66{
67        import flash.geom.*;
68        import flash.display.*;
69
70        public static const GRAD_COLORS:Array = [0xcccccc, 0xffffff, 0xeeeeee, 0xcccccc, 0xbbbbbb];
71        public static const GRAD_ALPHAS:Array = [1,        1,        1,        1,        1       ];
72        public static const GRAD_RATIOS:Array = [0,        5,        120,      121,      255     ];
73        private var mGradTrans:Matrix = new Matrix();
74
75        function CButton(w:int, h:int)
76        {
77                mGradTrans.createGradientBox(h, h, Math.PI/2, 0, 0);
78
79                var g:Graphics = graphics;
80                g.beginGradientFill(GradientType.LINEAR, GRAD_COLORS, GRAD_ALPHAS, GRAD_RATIOS, mGradTrans);
81                g.lineStyle(0, 0, 0.2);
82                g.drawRect(0, 0, w, h);
83        }
84}
Note: See TracBrowser for help on using the browser.