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:Nu
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.getNextHighestDepth(
)
,
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
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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
_______________________________________________
Flashcoders@chattyfig.figleaf.com
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