You can write a class to do anything within the current limitations, of course. And if you name the package exactly the same as the original and don't include the original in the classpath, you will be OK. It does, however, rather go against the principles of package-naming.
If you *don't* name it the same as the original package, then (again, of course) it won't work because you stipulated it had to be done "in such a way that I don't have to touch the existing program's source code" and "without changing its import statement". Ian http://examples.roughian.com 2009/4/7 Jake <[email protected]> > > Isaac, thank you for the informed response, I believe that was exactly > what I was looking for. > > Best regards, > > Jake > > On Apr 7, 3:27 pm, Isaac Truett <[email protected]> wrote: > > Jake, > > > > You would have to create a class org.eclipse.swt.widgets.Canvas such > > that it is GWT-compatible. That means only using emulated JRE classes > > (String, collections, etc.). Any class required for the Canvas class > > API has to be implemented in a GWT-compatible manner as well. This > > transitive dependency is what really kills you. If you get to a point > > where you have to use a non-emulated JRE class (e.g., java.io.* > > (almost)), you're hosed (I believe this was essentially Ian's point). > > > > Assuming you manage to implement the entire API, you create a module > > file (gwt.xml) that includes the source you just wrote, inherit that > > module in your GWT app, and enjoy. > > > > For more on JRE emulation, see: > > > > http://code.google.com/docreader/#p=google-web-toolkit-doc-1-5&s=goog... > > > > - Isaac > > > > On Tue, Apr 7, 2009 at 3:14 PM, Jake <[email protected]> wrote: > > > > > I feel like I'm not expressing myself clearly. Let's just focus on the > > > reduced case: > > > > > import org.eclipse.swt.widgets.Canvas; > > > > > public class foo { > > > > > } > > > > > Right now, if I try to run this through GWT, it will throw an error > > > because it can't compile Canvas and all of its dependencies. This is > > > to be expected. So what I would like is to roll my own Canvas class > > > which extends GWT's Widget class, and have that be used instead, but > > > in such a way that I don't have to touch the existing program's source > > > code. > > > > > Ian, you seem to be suggesting that I need to hack this into the > > > internals of GWT itself, and try to push it upstream. I feel like > > > there should be a way to do this without having modify GWT internals, > > > because this would allow certain applications (not all of them) that > > > leverage native GUI toolkits to be compiled directly to a browser- > > > based version, without having to port them to a GWT-friendly set of > > > libraries. This would be a very powerful feature, but it may not > > > exist. If I could just get confirmation on this, I would appreciate > > > it. > > > > > Thanks, > > > > > Jake > > > > > On Apr 7, 2:38 pm, Ian Bambury <[email protected]> wrote: > > >> GWT isn't Java. It just uses Java syntax so that Java books are > useful, and > > >> things like Eclipse work for it. > > >> GWT code becomes JavaScript. It is never at any point Java. > > > > >> A very simple compiler might recognise '"Window.alert(" and translate > it to > > >> '"document.alert(" > > > > >> If you whole program consists of Window.alert("Hello"); then it will > be OK. > > >> Anything else will fail. > > > > >> The Google team have emulated many other commands and structures, but > not > > >> all of them: some are obscure and therefore not high enough up the > priority > > >> list, and some are impossible because, like threading, JS just doesn't > do > > >> that. > > > > >> It would be an impossible task to emulate every possible class in > every Java > > >> library in existence. And would take for ever. > > > > >> So if it ain't emulated, it ain't gonna work because the compiler will > issue > > >> a polite and rather technical version of 'WTF?' > > > > >> And just throwing any old java program into the GWT compiler is, > pretty > > >> much, pointless. > > > > >> But if you really want to help Google and emulate > rg.eclipse.swt.widgets.Canvas > > >> for GWT, then I'm sure they (and many others) will be eternally > grateful for > > >> at least a week or two :-) > > > > >> If so, troll your little old lallies over to the very bonahttp:// > groups.google.com/group/Google-Web-Toolkit-Contributors > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
