Hi chris,
I got an idea and when I implemented it worked very good(except for
small bugs).
I added a movieclip(invisible) behind the textinput and and used
rollover and rollout by using the coordinates of the movie clip.
It is working good as I could see the rollover and enter the data and
also when out of the textinput,rollover is disappearing.The small bug is
that when I drag the mouse very fast out of the textinput,the rollover
is getting carried and randomly(maybe once in 15-20 times) dragging out
of the textinput,rollover is staying...atleast for sometime...it is
perfect and is working what we wanted.Here is the code.
var txt_invisible_mc:MovieClip;
Function onLoad() {
txt_invisible_mc.onRollOver = Delegate.create(this,function()
{
if(tt == undefined)
{
tt = new
customToolTip(0xE5E5E5,0x022954,0x022954,50,10,15,20);
tt.showTip("Total Annual sales");
}
});
txt_invisible_mc.onRollOut = txt_invisible_mc.onDragOut =
Delegate.create(this,function()
{
if(_xmouse <= txt_invisible_mc._x ||
_xmouse >= txt_invisible_mc._x +
txt_invisible_mc._width ||
_ymouse <= txt_invisible_mc._y ||
_ymouse >= txt_invisible_mc._y +
txt_invisible_mc._height)
{
trace("tool tip hidden");
tt.removeTip();
tt = undefined;
}
});
}
Everything is working good except for sometime, the rollovers are
getting carried...
Thanks,
Subba
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Chris
Hill
Sent: Thursday, August 10, 2006 11:59 AM
To: Flashcoders mailing list
Subject: Re: [Flashcoders] Tooltip rollovers for textinput..help plss
Yeah, I tried a lot of methods to attempt to get the tooltip to
disappear and ran into just too many problems. I'm sure there's a way
tho using some ridiculous workaround. If you find the answer, please
post it!
And, perhaps I should've mentioned this earlier, but I do have a ToolTip
class available on my website:
http://ubergeek.tv/article.php?pid=96
I just updated it with the latest version, which has a couple
fixes/features added. For my own projects, I don't actually use
onRollOver/Out etc. for toolitps because they generally muck up event
handling elsewhere. I don't recommend my method necessarily but it has
worked for me in the past better than mucking with event handling.
Adding a tooltip to a TextInput using my method is as simple as this:
ToolTip.getInstance().addClip(txt, "My tooltip text");
You can download the zip, check out the fla, and install and modify the
packages if it works for you.
C
Subba Chalamalasetty wrote:
>Hey chris,
>
>Thank you very much for your help and time.I have good news about this
>program. focusIn and focusOut events worked and now as long as I am not
>using onRollOver, onROllOut, onPress, onRelease the program is working
>fine. But there is one problem when I use focus in and out..i.e when I
>click on the textinput, I am getting the rollover and also could enter
>data, but when I come out (focus out)...untill I click somewhere else,
>that rollover is getting carried. If that small problem is solved..that
>will be a huge conquer for me. I am trying different ways to get it. If
>you have time, can you please suggest me some ideas from your side.
Once
>again thank you very much for your help...here is the code
>
> txt.addEventListener("focusIn",Delegate.create(this,txtOver));
>
> txt.addEventListener("focusOut",Delegate.create(this,txtPress));
>
>private function txtOver(){
> tt786 = new
>customToolTip(0xE5E5E5,0x022954,0x022954,20,10,15,20);
> tt786.showTip("Total sales.");
>
> }
>
>private function txtPress(){
> tt786.removeTip();
> // TRIED onRollOut also
> tx.onKillFocus = function(){
> tt786.removeTip();
> trace("is it coming out?");
> }
> }
>
>
>Thanks,
>Subba
>
>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED] On Behalf Of Chris
>Hill
>Sent: Wednesday, August 09, 2006 6:23 PM
>To: Flashcoders mailing list
>Subject: Re: [Flashcoders] Tooltip rollovers for textinput..help plss
>
>wow, ok, I've spent way too much time on this so I have to get back to
>work. But here's what my last hour showed me:
>
>txt has no onPress, onRelease, etc.
>You cannot determine if the TextField inside a TextInput is rolled over
>or out. There are no onRollOver/onRollOut methods to use.
>You can determine if the TextInput receives focus(ie is clicked in or
>tabbed to) with
>txt.addEventListener("focusIn",this);
>txt.addEventListener("focusOut",this);
>
>You can consistently determine a way to show the clip by putting an
>invisible button above the text field. But this stops the text field
>from receiving input, and so you must set _visible=false on the button
>after its rolled over. But now we have no way of determining when we've
>rolled off the textfield, and so there's no way to turn off the
tooltip.
>
>I never realized how broken this whole thing is. But it seems like
>TextField (not TextInput) objects don't have any event handling, and
>instead whatever behind them will receive onRollOver/Out events. This
>makes it really hard to do anything like a tooltip with them.
>
>Sorry I couldn't give you a better answer!
>Chris
>
>
>
>Subba Chalamalasetty wrote:
>
>
>
>>I did change it when using it for the first time...I noticed the
>>function names are different and changed them so that they are same.
>>I also tried this
>>
>>txt.onRollOver = txt.onPress = Delegate.create(this, txtOver);
>>txt.onRollOut = txt.onPress = Delegate.create(this,txtPress);
>>
>>private function txtOver(){
>> tt = new
>>customToolTip(0xE5E5E5,0x022954,0x022954,20,10,15,20);
>> tt.showTip("Total sales.");
>>
>> }
>>
>> private function txtPress(){
>> tt.removeTip();
>> oldOnPress.apply(txt);
>> }
>>
>>I am still having the same problem.
>>
>>Thanks,
>>Subba
>>
>>-----Original Message-----
>>From: [EMAIL PROTECTED]
>>[mailto:[EMAIL PROTECTED] On Behalf Of Subba
>>Chalamalasetty
>>Sent: Wednesday, August 09, 2006 5:07 PM
>>To: Flashcoders mailing list
>>Subject: RE: [Flashcoders] Tooltip rollovers for textinput..help plss
>>
>>
>>
>>I tried this also...still same problem..
>>
>>Subba
>>
>>-----Original Message-----
>>From: [EMAIL PROTECTED]
>>[mailto:[EMAIL PROTECTED] On Behalf Of Chris
>>Hill
>>Sent: Wednesday, August 09, 2006 4:52 PM
>>To: Flashcoders mailing list
>>Subject: Re: [Flashcoders] Tooltip rollovers for textinput..help plss
>>
>>This:
>>
>> txt.onRollOut = txt.onPress = Delegate.create(this,txtPress);
>>
>>Should be this:
>>
>> txt.onRollOut = txt.onPress = Delegate.create(this,txtOut);
>>
>>According to the code given.
>>
>>See if that works,
>>Chris
>>
>>
>>Subba Chalamalasetty wrote:
>>
>>
>>
>>
>>
>>>Hi Chris,
>>>
>>>I tried using Delegate and i am still having the same problem.
>>>I used your code and tried to save the onpress handler,but didn't
work
>>>import mx.utils.Delegate;
>>>class test {
>>> private var txt:TextInput;
>>> private var oldOnPress:Function;
>>> private var tt:ToolTip;
>>> private function onLoad(){
>>> oldOnPress = txt.onPress;
>>> txt.onRollOver = Delegate.create(this, txtOver);
>>> txt.onRollOut = txt.onPress = Delegate.create(this,txtPress);
>>> }
>>>
>>> private function txtOver(){
>>> tt = new customToolTip(0xE5E5E5,0x022954,0x022954,20,10,15,20);
>>> tt.showTip("Total sales.");
>>> }
>>>
>>> private function txtOut(){
>>> tt.removeTip();
>>> oldOnPress.apply(txt);
>>> }
>>>}
>>>
>>>it is still having the same problem.Am I using the right event?.I am
>>>totally lost and donno y it is not working(I also used TeoToolTip
>>>component and it was giving me the same problem too).can you help me
>>>out?
>>>
>>>Thanks,
>>>Subba
>>>
>>>-----Original Message-----
>>>From: [EMAIL PROTECTED]
>>>[mailto:[EMAIL PROTECTED] On Behalf Of Chris
>>>Hill
>>>Sent: Wednesday, August 09, 2006 3:56 PM
>>>To: Flashcoders mailing list
>>>Subject: Re: [Flashcoders] Tooltip rollovers for textinput..help plss
>>>
>>>You're overwriting the onPress event on your text field. You need to
>>>save your old onPress event before overwriting it, and make sure that
>>>
>>>
>>>
>>>
>>it
>>
>>
>>
>>
>>>is called:
>>>
>>>class test {
>>> private var txt:TextInput;
>>>
>>> private function test() {
>>> }
>>>
>>> private function onLoad() {
>>> //save the onPress handler
>>> txt.oldOnPress = txt.onPress;
>>> txt.onRollOver = function() {
>>> tt = new
>>>customToolTip(0xE5E5E5,0x022954,0x022954,20,10,15,20);
>>> tt.showTip("Total sales.");
>>> }
>>>
>>> txt.onRollOut = txt.onPress = function() {
>>> tt.removeTip();
>>> //call the onPress Handler
>>> oldOnPress();
>>> }
>>>
>>>I don't think my changes will compile, but I hope you get the idea. I
>>>would suggest using the ascb.util.Proxy or mx.util.Delegate class to
>>>more gracefully handle your handlers. Something like this:
>>>
>>>import ascb.util.Proxy;
>>>class test {
>>> private var txt:TextInput;
>>> private var oldOnPress:Function;
>>> private var tt:ToolTip;
>>> private function onLoad(){
>>> oldOnPress = txt.onPress;
>>> txt.onRollOver = Proxy.create(this, txtOver);
>>> txt.onRollOut = txt.onPress = Proxy.create(this,txtPress);
>>> }
>>>
>>> private function txtOver(){
>>> tt = new customToolTip(0xE5E5E5,0x022954,0x022954,20,10,15,20);
>>> tt.showTip("Total sales.");
>>> }
>>>
>>> private function txtOut(){
>>> tt.removeTip();
>>> oldOnPress.apply(txt);
>>> }
>>>}
>>>
>>>Hope this helps
>>>Chris
>>>
>>>Subba Chalamalasetty wrote:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>>Hi,
>>>>I have rollovers for textinput boxes.When i use the onRollOver,i
>>>>
>>>>
>could
>
>
>>>>get the rollover text(movie clip), but when i click the text input,I
>>>>
>>>>
>>>>
>>>>
>>am
>>
>>
>>
>>
>>>>not able to enter data in the textinput.I wrote a small tooltip
class
>>>>and can somebody please help me to get the focus on textinput.i.e
>>>>
>>>>
>when
>
>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>i
>>>
>>>
>>>
>>>
>>>
>>>
>>>>click on the textinput,I should be able to enter data and rollover
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>movie
>>>
>>>
>>>
>>>
>>>
>>>
>>>>clip be removed.here is the code
>>>>
>>>>
>>>>
>>>>class customToolTip {
>>>>
>>>> private var theTip:MovieClip;
>>>> private var tFormat:TextFormat;
>>>>
>>>> function
>>>>customToolTip(hex:Number,hex2:Number,colorOfText:Number,heightOfBox:
N
>>>>
>>>>
>u
>
>
>>>>
>>>>
>>>>
>>>>
>>m
>>
>>
>>
>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>b
>>>
>>>
>>>
>>>
>>>
>>>
>>>>er,x1:Number,x2:Number,x3:Number) {
>>>>
>>>> movieLoader = new MovieClipLoader();
>>>> movieListener = new Object();
>>>> movieLoader.addListener(movieListener);
>>>> this.theTip = _root.createEmptyMovieClip("tooltip",
>>>>_root.getNextHighestDepth());
>>>> //this.theTip.createEmptyMovieClip("tooltip",
>>>>_root.getNextHighestDepth());
>>>>
>>>>this.theTip.createTextField("theText",this.theTip.getNextHighestDept
h
>>>>
>>>>
>(
>
>
>>>>
>>>>
>>>>
>>>>
>>)
>>
>>
>>
>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>,
>>>
>>>
>>>
>>>
>>>
>>>
>>>>3,1,1030,70);
>>>> this.theTip.beginFill(hex);
>>>> this.theTip.lineStyle(1, hex2, 100);
>>>> this.theTip.moveTo(0, 0);
>>>> this.theTip.lineTo(x1, 0);
>>>> this.theTip.lineTo(x2, -10);
>>>> this.theTip.lineTo(x3, 0);
>>>> this.theTip.lineTo(205, 0); // (100,0)
>>>> this.theTip.lineTo(205, heightOfBox); // (100,20)
>>>>
>>>> this.theTip.lineTo(0, heightOfBox); // (0,20)
>>>> this.theTip.lineTo(0, 0); // (0,0)
>>>> this.theTip.endFill();
>>>> this.theTip._visible = false;
>>>> this.theTip.theText.selectable = false;
>>>> this.tFormat = new TextFormat();
>>>> this.tFormat.font = "Arial";
>>>> this.tFormat.size = 9;
>>>> this.tFormat.color = colorOfText;
>>>> this.tFormat.align = "center";
>>>> this.tFormat.italic = true;
>>>> this.theTip.theText.setNewTextFormat(this.tFormat);
>>>> }
>>>>
>>>> public function showTip(theTextInput:String):Void {
>>>>
>>>> this.theTip.theText.text = theTextInput;
>>>>
>>>> trace(this.theTip.theText.text);
>>>>
>>>> this.theTip._x = _root._xmouse;
>>>> this.theTip._y = _root._ymouse+10;
>>>> this.theTip._visible = true;
>>>> this.theTip.onMouseMove = function() {
>>>> this._x = _root._xmouse;
>>>> this._y = _root._ymouse+25;
>>>> updateAfterEvent();
>>>> }
>>>> }
>>>> public function removeTip():Void {
>>>>
>>>> delete this.theTip.onEnterFrame;
>>>> this.theTip._visible = false;
>>>> this.theTip.clear();
>>>> }
>>>>}
>>>>
>>>>
>>>>
>>>>
>>>>and here I am using the tooltip class
>>>>
>>>>class test {
>>>> private var txt:TextInput;
>>>> private function test() {
>>>> }
>>>>
>>>> private function onLoad() {
>>>> txt.onRollOver = function() {
>>>> tt = new
>>>>customToolTip(0xE5E5E5,0x022954,0x022954,20,10,15,20);
>>>> tt.showTip("Total sales.");
>>>> }
>>>>
>>>> txt.onRollOut = txt.onPress = function() {
>>>> tt.removeTip();
>>>> }
>>>>
>>>>
>>>>
>>>>When i click on the textinput,I need to get the focus on textinput
>>>>
>>>>
>and
>
>
>>>>able to type data in textinput box .Can somebody help me in this...
>>>>
>>>>Thanks,
>>>>Subba
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>_______________________________________________
>>>>[email protected]
>>>>To change your subscription options or search the archive:
>>>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>>
>>>>Brought to you by Fig Leaf Software
>>>>Premier Authorized Adobe Consulting and Training
>>>>http://www.figleaf.com
>>>>http://training.figleaf.com
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>_______________________________________________
>>>[email protected]
>>>To change your subscription options or search the archive:
>>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>
>>>Brought to you by Fig Leaf Software
>>>Premier Authorized Adobe Consulting and Training
>>>http://www.figleaf.com
>>>http://training.figleaf.com
>>>_______________________________________________
>>>[email protected]
>>>To change your subscription options or search the archive:
>>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>>
>>>Brought to you by Fig Leaf Software
>>>Premier Authorized Adobe Consulting and Training
>>>http://www.figleaf.com
>>>http://training.figleaf.com
>>>
>>>
>>>
>>>
>>>
>>>
>>_______________________________________________
>>[email protected]
>>To change your subscription options or search the archive:
>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>>Brought to you by Fig Leaf Software
>>Premier Authorized Adobe Consulting and Training
>>http://www.figleaf.com
>>http://training.figleaf.com
>>_______________________________________________
>>[email protected]
>>To change your subscription options or search the archive:
>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>>Brought to you by Fig Leaf Software
>>Premier Authorized Adobe Consulting and Training
>>http://www.figleaf.com
>>http://training.figleaf.com
>>_______________________________________________
>>[email protected]
>>To change your subscription options or search the archive:
>>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>>
>>Brought to you by Fig Leaf Software
>>Premier Authorized Adobe Consulting and Training
>>http://www.figleaf.com
>>http://training.figleaf.com
>>
>>
>>
>>
>_______________________________________________
>[email protected]
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
>Brought to you by Fig Leaf Software
>Premier Authorized Adobe Consulting and Training
>http://www.figleaf.com
>http://training.figleaf.com
>_______________________________________________
>[email protected]
>To change your subscription options or search the archive:
>http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
>Brought to you by Fig Leaf Software
>Premier Authorized Adobe Consulting and Training
>http://www.figleaf.com
>http://training.figleaf.com
>
>
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com
_______________________________________________
[email protected]
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com