why do u want to do that?if a user pastes text via context menu u
would not get it anyway. I would go for this:let paste the text and in
ur onchange handler u would trigger a scan for inserted text and
simulate the keyevents for each charachter entered.but again please
tell us ur idea :)

On Jul 22, 5:28 pm, Jim Douglas <[email protected]> wrote:
> You can't do this in any reliable cross-browser way.  The following
> code works only in IE and WebKit.  It fails in Firefox because there's
> no reliable way to retrieve the pasted text in Firefox (there are
> unreliable ways involving the Mozilla security manager).  It fails in
> Opera and Mobile Safari (iOS) because they don't fire the ONPASTE
> event.
>
> But if you want to give it a shot, the basic strategy would be:
>
> (1) Subclass the TextArea.
>
> (2) Do this:
>
>         sinkEvents(Event.ONPASTE);
>
> (3) Add this:
>
>     public static native String getClipboardData(Event event)
>     /*-{
>         var text = "";
>
>         // This should eventually work in Firefox:
>         //https://bugzilla.mozilla.org/show_bug.cgi?id=407983
>         if (event.clipboardData) // WebKit (Chrome/Safari)
>         {
>             try
>             {
>                 text = event.clipboardData.getData("Text");
>                 return text;
>             }
>             catch (e)
>             {
>                 // Hmm, that didn't work.
>             }
>         }
>
>         if ($wnd.clipboardData) // IE
>         {
>             try
>             {
>                 text = $wnd.clipboardData.getData("Text");
>                 return text;
>             }
>             catch (e)
>             {
>                 // Hmm, that didn't work.
>             }
>         }
>
>         return text;
>     }-*/;
>
> (4) Add this:
>
>     @Override
>     public void onBrowserEvent(Event event)
>     {
>         super.onBrowserEvent(event);
>         switch (event.getTypeInt())
>         {
>             case Event.ONPASTE:
>             {
>                 event.preventDefault();
>                 String text = getClipboardData(event);
>                 for (int i = 0; i < text.length(); ++i)
>                 {
>                     doCharacter(text.charAt(i)); // this is your code
> to process the character
>                 }
>                 break;
>             }
>         }
>     }
>
> http://google-web-toolkit.googlecode.com/svn/javadoc/2.1/com/google/g...)http://google-web-toolkit.googlecode.com/svn/javadoc/2.1/com/google/g...http://google-web-toolkit.googlecode.com/svn/javadoc/2.1/com/google/g...)
>
> On Jul 21, 8:08 am, Catorcio <[email protected]> wrote:
>
> > I have a TextArea widget and I need to be able to discern when the
> > user pastes text in it from the clipboard (instead of typing at the
> > keyboard). I would like to be able to block the paste action, get the
> > text to be pasted and simulate that the user has typed at the keyboard
> > that text (i.e. I would like to simulate KeyPressEvents because I have
> > already in place a KeyPressHandler that does the processing I need ).
> > Any idea? Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to