source: Collectif_Otra/global.reflet-web.net/lib/reflet_swf/src/objet/texte/ChampTexteAutoAdaptable.as @ 2803

Last change on this file since 2803 was 2803, checked in by kent1, 10 years ago

Reflet presque up 2 date (reste les externals)

  • Property svn:executable set to *
File size: 6.6 KB
Line 
1package objet.texte 
2{ 
3        import asgard.text.CoreTextField; 
4        import flash.display.Sprite;
5        import flash.events.MouseEvent;
6        import flash.text.Font;
7        import flash.text.TextFormat; 
8        import pegas.display.DisplayObjects;
9        import pegas.draw.Align
10        import flash.geom.Rectangle
11        import pegas.draw.FreePolygonPen
12        import flash.display.Shape
13        import pegas.geom.Vector2
14        import pegas.draw.FillStyle
15        import flash.display.Sprite 
16        import flash.text.TextFieldAutoSize
17        import objet.ui.Etiquette
18        import pegas.transitions.TweenLite
19        import pegas.transitions.easing.*
20       
21       
22        public class ChampTexteAutoAdaptable extends Sprite // CoreTextField
23        {
24               
25               
26               
27                public var textField:CoreTextField = new CoreTextField()
28               
29                private var adaptation:Boolean; 
30               
31                public var formatage:TextFormat; 
32               
33                private var tailleInitiale:int; 
34               
35                private var stylisation:Boolean;
36               
37                private var pen         :       FreePolygonPen
38               
39                public  var shape       :       Shape   = new Shape();
40               
41                private var over        :       Boolean
42               
43                private var out         :       Boolean 
44               
45                private var tweeners:Boolean
46               
47                private var alphaTweener                :       TweenLite ;
48                private var scaleXTweener               :       TweenLite ;
49                private var scaleYTweener               :       TweenLite ;
50                private var fontTweener         :       TweenLite ;
51               
52                public var tweenDuration : Number = 0;
53
54                private var alphaTween  : Boolean
55                private var scaleXTween  : Boolean
56                private var scaleYTween  : Boolean
57                private var fontTween   : Boolean
58                private var  etiquette  :       Etiquette;
59                private var etiquetteter :Boolean
60                public var id:String;
61               
62                public function ChampTexteAutoAdaptable () 
63                {
64                        //ToolTipExample()
65                       
66                } 
67               
68                // FORMAT
69                public function set format (format:TextFormat ):void 
70                {
71                        formatage = format; 
72                       
73                }
74               
75                public function get format ():TextFormat
76                {
77                        return formatage;
78                } 
79                //-----------------------------------------
80               
81               
82               
83               
84                // AUTO-ADAPTATION
85                public function set autoAdaptation (pAdaptation:Boolean ):void 
86                {
87                        adaptation = pAdaptation; 
88                }
89               
90                public function get autoAdaptation ():Boolean 
91                {
92                        return adaptation;
93                }
94                //-----------------------------------------
95               
96               
97               
98               
99                //AUTO-STYLISATION
100                public function set autoStylisation (pStylisation:Boolean ):void 
101                {
102                        stylisation = pStylisation; 
103                }
104               
105                public function get autoStylisation ():Boolean 
106                {
107                        return stylisation;
108                } 
109                //-----------------------------------------
110                import system.events.ActionEvent
111                import flash.events.Event
112               
113               
114                //OVER
115                public function set rollover (pOver:Boolean ):void 
116                {
117                        over = pOver;
118                       
119                        if ( over ) addEventListener(MouseEvent.ROLL_OVER, overFunction);
120                        if ( !over )removeEventListener(MouseEvent.ROLL_OVER, overFunction);
121                       
122                       
123                }
124               
125                public function get rollover():Boolean 
126                {
127                        return over;
128                } 
129               
130                //-----------------------------------------
131               
132                //OUT
133                public function set rollout (pOut:Boolean ):void 
134                {
135                        out      = pOut
136                        if ( out )      addEventListener(MouseEvent.ROLL_OUT, outFunction);
137                        if ( !out )     removeEventListener(MouseEvent.ROLL_OUT, outFunction);
138                       
139                }
140               
141                public function get rollout():Boolean 
142                {
143                        return out;
144                } 
145               
146                //-----------------------------------------
147               
148               
149               
150                //-----------------------------------------
151               
152                //tweeners
153                public function set tweens (pTweens:Boolean ):void 
154                {
155                        tweeners         = pTweens
156                       
157                        if ( !tweeners ) activeTweens(false,false,false,false)
158                       
159                }
160               
161                public function get tweens():Boolean 
162                {
163                        return tweeners;
164                } 
165               
166                //-----------------------------------------
167               
168               
169               
170                //-----------------------------------------
171               
172               
173               
174               
175                public function set text ( pText:String ):void 
176                {
177                        this.addChild(textField)
178                        this.textField.defaultTextFormat=formatage
179                        this.textField.text = pText; 
180                        if (autoAdaptation) adapte();
181                        if (stylisation) style()
182                       
183                }
184               
185               
186               
187                private function adapte ():void
188                {
189                        //if (formatage == null) formatage = textField.getTextFormat();trace("nul")
190                         
191                        tailleInitiale = int(formatage.size); 
192                       
193                       
194                       
195                       
196                        while ( textField.textWidth > width || textField.textHeight > height )
197                        {
198                       
199                                if ( formatage.size <= 0 ) return;
200                       
201                                formatage.size = --tailleInitiale; textField.setTextFormat ( formatage ); 
202                        }
203                       
204                }
205               
206
207               
208                private function style():void
209                {
210                       
211                        textField.autoSize = TextFieldAutoSize.LEFT
212                       
213                        var hauteur:int = this.textField.height
214                        var largeur:int = this.textField.width + 5
215                       
216                               
217                        pen             = new FreePolygonPen (shape , new Vector2(0,0),new Vector2(largeur-10,0),new Vector2(largeur, hauteur / 4),new Vector2(largeur,hauteur),new Vector2(0,hauteur) ) ;
218                        pen.fill        = new FillStyle(0xFFFFFF ) ;
219                        pen.draw() ;
220                        removeChild(textField)
221                        addChild(shape)
222                        addChild(textField)
223                       
224                }
225               
226
227                private function outFunction(e:MouseEvent):void
228                {
229                       
230                        if (tweeners) doTweens(0.8)
231                       
232                       
233                }
234               
235                private function overFunction(e:MouseEvent):void
236                {
237                       
238                        if (tweeners) doTweens(1)
239                       
240                }
241               
242               
243                private function doTweens(pAlpha:Number=1,pScaleX:Number=1,pScaleY:Number=1,pFont:Number=1):void
244                {
245                       
246                        if (tweenDuration == 0) 
247                        {
248                                trace (" \n !!! ---------------  "); 
249                                //trace(this + " : Erreur, TweenDuration vaut : " + tweenDuration);
250                                trace(" ------------------- !!!!  \n") 
251                        }
252                        if (!stylisation  || shape==null) 
253                        {
254                                trace (" \n !!! ---------------  "); 
255                                //trace(this + " : Erreur, shape vaut :  " + shape + "")
256                                trace (" !!! --------------- \n"); 
257                        }
258                       
259                        if (alphaTween)
260                        { 
261                                alphaTweener = new TweenLite (shape, "alpha",null, shape.alpha, pAlpha, tweenDuration, true) ; 
262                                alphaTweener.start()
263                        } else alphaTweener = null
264                       
265                        if (scaleXTween)
266                        { 
267                                scaleXTweener = new TweenLite (shape, "scaleX",null, shape.scaleX, pScaleX, tweenDuration, true) ; 
268                                scaleXTweener.start()
269                        } else scaleXTweener = null
270                       
271                        if (scaleYTween)
272                        { 
273                                scaleYTweener = new TweenLite (shape, "scaleY",null, shape.scaleY, pScaleY, tweenDuration, true) ;
274                                scaleYTweener.start()
275                        } else scaleYTweener = null
276                        //
277                        if (fontTween)
278                        {
279                                trace (" \n !!! ---------------  "); 
280                                trace(this + " : Erreur, fontTweener en chantier ;-) ")
281                                trace (" !!! --------------- \n"); 
282                        }
283                       
284                       
285                       
286                       
287                                               
288                }
289               
290               
291                public function activeTweens(pAlpha:Boolean=false,pScaleX:Boolean=false,pScaleY:Boolean=false,pFont:Boolean=false):void
292                {
293                                alphaTween = pAlpha                             
294                                scaleXTween = pScaleX
295                                scaleYTween = pScaleY
296                                fontTween = pFont
297                }
298               
299               
300               
301               
302               
303               
304               
305               
306               
307               
308        }
309}
310
311
312
Note: See TracBrowser for help on using the repository browser.