Subversion Repositories HomeAutomation

Rev

Rev 73 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 73 Rev 641
1
import mx.transitions.Tween;
1
import mx.transitions.Tween;
2
 
2
 
3
class MenuItemObj {
3
class MenuItemObj {
4
   
4
   
5
    private var menuItem:MovieClip;
5
    private var menuItem:MovieClip;
6
    private var menuText:TextField;
6
    private var menuText:TextField;
7
    private var menuFont:TextFormat;
7
    private var menuFont:TextFormat;
8
   
8
   
9
    //ska sättas så fort objektet kopplas till ett index i data
9
    //ska sättas så fort objektet kopplas till ett index i data
10
    private var inUse:Boolean = false;
10
    private var inUse:Boolean = false;
11
    private var free:Boolean = false;
11
    private var free:Boolean = false;
12
    //håller en koppling till det index i data vars text nu finns i objektet
12
    //håller en koppling till det index i data vars text nu finns i objektet
13
    private var dataIndex:Number;
13
    private var dataIndex:Number;
14
   
14
   
15
    private var menuVisible:Boolean = false;
15
    private var menuVisible:Boolean = false;
16
   
16
   
17
    private var tweenArr:Array;
17
    private var tweenArr:Array;
18
   
18
   
19
    function MenuItemObj (mainScene:MovieClip, font:TextFormat, left:Number, width:Number, unitHeight:Number) {
19
    function MenuItemObj (mainScene:MovieClip, font:TextFormat, left:Number, width:Number, unitHeight:Number) {
20
        menuItem = mainScene.createEmptyMovieClip("menuItem", mainScene.getNextHighestDepth());
20
        menuItem = mainScene.createEmptyMovieClip("menuItem", mainScene.getNextHighestDepth());
21
        menuItem._x = left;
21
        menuItem._x = left;
22
        menuText = menuItem.createTextField("menuText", 1, 0, 0, 0, 10);
22
        menuText = menuItem.createTextField("menuText", 1, 0, 0, 0, 10);
23
        menuText.text = "-";
23
        menuText.text = "-";
24
        //font.font = "MenuText";
24
        //font.font = "MenuText";
25
        menuText.setTextFormat(font);
25
        menuText.setTextFormat(font);
26
 
26
 
27
        //size the textfield, strange way
27
        //size the textfield, strange way
28
        menuText.autoSize = "left";
28
        menuText.autoSize = "left";
29
        var fontSize = menuText._height;
29
        var fontSize = menuText._height;
30
        //var fontSize = menuText._height + 2;
30
        //var fontSize = menuText._height + 2;
31
        menuText.autoSize = "none";
31
        menuText.autoSize = "none";
32
        menuText._width = width*fontSize / unitHeight;
32
        menuText._width = width*fontSize / unitHeight;
33
        menuItem._width = width;
33
        menuItem._width = width;
34
        //dessa bredder är nu beroende av menuItem._height / menuText._height (unitsize), för att få det bra
34
        //dessa bredder är nu beroende av menuItem._height / menuText._height (unitsize), för att få det bra
35
           
35
           
36
        menuText.selectable = false;
36
        menuText.selectable = false;
37
        menuText.type = "dynamic";
37
        menuText.type = "dynamic";
38
        //menuText.textColor = 0xFF0000;
38
        //menuText.textColor = 0xFF0000;
39
        menuText._height = fontSize;
39
        menuText._height = fontSize;
40
        menuText.embedFonts = true;
40
        menuText.embedFonts = true;
41
        menuItem._visible = false;
41
        menuItem._visible = false;
42
        menuItem._height=0;
42
        menuItem._height=0;
43
       
43
       
44
        menuFont = font;
44
        menuFont = font;
45
       
45
       
46
        tweenArr = new Array();
46
        tweenArr = new Array();
47
    }       //end constructor
47
    }       //end constructor
48
   
48
   
49
    public function setText(text:String) {
49
    public function setText(text:String) {
50
        menuText.text = text;
50
        menuText.text = text;
51
        menuText.setTextFormat(menuFont);
51
        menuText.setTextFormat(menuFont);
52
    }
52
    }
53
   
53
   
54
    public function isInUse():Boolean {
54
    public function isInUse():Boolean {
55
        return inUse;
55
        return inUse;
56
    }
56
    }
57
 
57
 
58
    public function isvisible():Boolean {
58
    public function isvisible():Boolean {
59
        return menuItem._visible;
59
        return menuItem._visible;
60
    }
60
    }
61
   
61
   
62
    public function notInUse() {
62
    public function notInUse() {
63
        inUse = false;
63
        inUse = false;
64
    }
64
    }
65
 
65
 
66
    public function isFree():Boolean {
66
    public function isFree():Boolean {
67
        return free;
67
        return free;
68
    }
68
    }
69
   
69
   
70
    public function setFree(freeVar:Boolean) {
70
    public function setFree(freeVar:Boolean) {
71
        free = freeVar;
71
        free = freeVar;
72
    }
72
    }
73
   
73
   
74
    public function setDataIndex(index:Number) {
74
    public function setDataIndex(index:Number) {
75
        dataIndex = index;
75
        dataIndex = index;
76
        inUse = true;
76
        inUse = true;
77
    }
77
    }
78
   
78
   
79
    public function fforward() {
79
    public function fforward() {
80
        var tweenObj:Object;
80
        var tweenObj:Object;
81
        for (; tweenArr.length > 0; tweenObj = tweenArr.pop()) {
81
        for (; tweenArr.length > 0; tweenObj = tweenArr.pop()) {
82
            //var testobj:Tween = tweenObj;
82
            //var testobj:Tween = tweenObj;
83
            if (tweenObj.time != undefined && tweenObj.time != tweenObj.duration) {
83
            if (tweenObj.time != undefined && tweenObj.time != tweenObj.duration) {
84
                tweenObj.fforward();
84
                tweenObj.fforward();
85
            }
85
            }
86
            //tweenObj.stop();
86
            //tweenObj.stop();
87
        }
87
        }
88
    }
88
    }
89
   
89
   
90
    //scroll använder movieclippets nuvarande parametrar för höjd och y-position
90
    //scroll använder movieclippets nuvarande parametrar för höjd och y-position
91
    public function scroll(newTop:Number, newHeight:Number, timeToScroll:Number):Tween {
91
    public function scroll(newTop:Number, newHeight:Number, timeToScroll:Number):Tween {
92
        menuItem._visible = (menuVisible && inUse);
92
        menuItem._visible = (menuVisible && inUse);
93
        //menuItem._alpha = 100;
93
        //menuItem._alpha = 100;
94
        //trace(menuText.text + " " + menuVisible);
94
        //trace(menuText.text + " " + menuVisible);
95
        var tweenObj:Tween;
95
        var tweenObj:Tween;
96
        if (newHeight != menuItem._height) {
96
        if (newHeight != menuItem._height) {
97
            tweenObj = new Tween(menuItem, "_height", null, menuItem._height, newHeight, timeToScroll, true);
97
            tweenObj = new Tween(menuItem, "_height", null, menuItem._height, newHeight, timeToScroll, true);
98
            tweenArr.push(tweenObj);
98
            tweenArr.push(tweenObj);
99
            /*if (newHeight == 0) {
99
            /*if (newHeight == 0) {
100
                trace(menuItem._visible);
100
                trace(menuItem._visible);
101
            }*/
101
            }*/
102
        }
102
        }
103
        if (newTop != menuItem._y) {
103
        if (newTop != menuItem._y) {
104
            tweenObj = new Tween(menuItem, "_y", null, menuItem._y, newTop, timeToScroll, true);
104
            tweenObj = new Tween(menuItem, "_y", null, menuItem._y, newTop, timeToScroll, true);
105
            tweenArr.push(tweenObj);
105
            tweenArr.push(tweenObj);
106
        }
106
        }
107
        return tweenObj;
107
        return tweenObj;
108
    }
108
    }
109
   
109
   
110
    public function fade(from:Number, to:Number, timeToFade:Number):Tween {
110
    public function fade(from:Number, to:Number, timeToFade:Number):Tween {
111
        var tweenObj:Tween;
111
        var tweenObj:Tween;
112
        if (from != to) {
112
        if (from != to) {
113
            tweenObj = new Tween(menuItem, "_alpha", null, from, to, timeToFade, true);
113
            tweenObj = new Tween(menuItem, "_alpha", null, from, to, timeToFade, true);
114
            tweenArr.push(tweenObj);
114
            tweenArr.push(tweenObj);
115
        }
115
        }
116
        return tweenObj;
116
        return tweenObj;
117
       
117
       
118
    }
118
    }
119
   
119
   
120
    public function visible(isVisible:Boolean) {
120
    public function visible(isVisible:Boolean) {
121
        menuVisible = isVisible;
121
        menuVisible = isVisible;
122
        menuItem._visible = (menuVisible && inUse);
122
        menuItem._visible = (menuVisible && inUse);
123
    }
123
    }
124
   
124
   
125
    public function getText():String {
125
    public function getText():String {
126
        return menuText.text;
126
        return menuText.text;
127
    }
127
    }
128
   
128
   
129
    public function getTop():Number {
129
    public function getTop():Number {
130
        return menuItem._y;
130
        return menuItem._y;
131
    }
131
    }
132
   
132
   
133
    public function setAlpha(value:Number) {
133
    public function setAlpha(value:Number) {
134
        if (value <= 100 && value >= 0) {
134
        if (value <= 100 && value >= 0) {
135
            menuItem._alpha = value;
135
            menuItem._alpha = value;
136
        }
136
        }
137
    }
137
    }
138
   
138
   
139
    public function getHeight():Number {
139
    public function getHeight():Number {
140
        //trace("synlig: " + menuItem._visible + " höjd: " + menuItem._height + " bredd: " + menuItem._width + " y: " +menuItem._y + " bredd: " + menuText._width + " höjd: " + menuText._height);
140
        //trace("synlig: " + menuItem._visible + " höjd: " + menuItem._height + " bredd: " + menuItem._width + " y: " +menuItem._y + " bredd: " + menuText._width + " höjd: " + menuText._height);
141
        return menuItem._height;
141
        return menuItem._height;
142
    }
142
    }
143
    public function setTop(top:Number) {
143
    public function setTop(top:Number) {
144
        //animera senare?
144
        //animera senare?
145
        menuItem._visible = (menuVisible && inUse);
145
        menuItem._visible = (menuVisible && inUse);
146
        menuItem._y = top;
146
        menuItem._y = top;
147
    }
147
    }
148
    public function setHeight(height:Number) {
148
    public function setHeight(height:Number) {
149
        //animera senare?
149
        //animera senare?
150
        menuItem._visible = (menuVisible && inUse);
150
        menuItem._visible = (menuVisible && inUse);
151
        menuItem._height = height;
151
        menuItem._height = height;
152
    }
152
    }
153
   
153
   
154
}
154
}