-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathTabItemBass.as
More file actions
131 lines (117 loc) · 3.13 KB
/
TabItemBass.as
File metadata and controls
131 lines (117 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package tabMenu
{
import appManager.displayContentElemets.TitleText;
import contents.Contents;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.utils.clearTimeout;
import flash.utils.setTimeout;
public class TabItemBass extends MovieClip
{
protected var _group:String,
_bg:MovieClip,
_name:String,
_defaultTabe:String,
_selected:Boolean,
_activeCurrentTab:Boolean,
_sendOnLoadEvent:Boolean,
_selectableInActive:Boolean,
_title:TitleText;
private var _timerId:uint;
public function TabItemBass(GroupName_p:String=null,ActiveCurrentTab_p:Boolean=false,SendOnLoadEvent_p:Boolean=true,SelectableInActive_p:Boolean=false)
{
super();
_group = GroupName_p;
_activeCurrentTab = ActiveCurrentTab_p;
_name = this.name.split('_')[0];
_sendOnLoadEvent = SendOnLoadEvent_p;
_selectableInActive = SelectableInActive_p;
try
{
this.gotoAndStop(_name);
_bg = Obj.get('bg',this);
setTitle();
}
catch(e:Error)
{
trace('<<<Frame label '+_name+' not found in scene '+_name+'.>>>');
}
_defaultTabe = this.name.split('_')[1];
TabMenuManager.event.addEventListener(TabMenuEvent.SELECT,onSelected);
if(_activeCurrentTab && TabMenuManager.getCurrentTabe(GroupName_p,_name)==true)
{
_timerId = setTimeout(sendEventBytimer,5);
}
else if( !TabMenuManager.getAtiveGroup(GroupName_p)&& _defaultTabe!=null && _defaultTabe.toLowerCase()=='true')
{
_timerId = setTimeout(sendEventBytimer,5);
}
else if(!_sendOnLoadEvent)
{
onSelected(new TabMenuEvent(TabMenuEvent.SELECT,_group,null));
}
this.addEventListener(MouseEvent.CLICK,click_fun);
this.addEventListener(Event.REMOVED_FROM_STAGE,unload);
}
protected function setTitle():void
{
if(_bg!=null)_title = Obj.findThisClass(TitleText,_bg);
if(_title!=null)_title.setUp(Contents.lang.t[_name]);
}
protected function unload(event:Event):void
{
TabMenuManager.event.removeEventListener(TabMenuEvent.SELECT,onSelected);
}
private function sendEventBytimer():void
{
if(_sendOnLoadEvent)
{
sendEvent();
}
else
{
onSelected(new TabMenuEvent(TabMenuEvent.SELECT,_group,_name));
}
clearTimeout(_timerId);
}
/** defined active tab selected metod or add _true of end name tabe simple 'tabname_true' if add true this tab is default selected tab*/
public function setup():void
{
sendEvent();
}
protected function onSelected(event:TabMenuEvent):void
{
if(event.group == _group)
{
if(event.name == _name && _bg!=null)
{
_selected = true;
}
else if(_bg!=null)
{
_selected = false;
}
if(_bg!=null)
{
_bg.gotoAndStop(_selected);
}
}
}
protected function click_fun(event:MouseEvent):void
{
if(!_selected || _selectableInActive)
{
sendEvent();
if(_activeCurrentTab)
{
TabMenuManager.setCurrentTabe(_group,_name,true);
}
}
}
protected function sendEvent():void
{
TabMenuManager.event.dispatchEvent(new TabMenuEvent(TabMenuEvent.SELECT,_group,_name));
}
}
}