Re: [gwt-contrib] New Google Groups apparent with GWT ?

2010-12-09 Thread Joel Webber
I believe it is, though I think they may have taken Gmail's Javascript  
rich-text editor (the one from the Closure library). I'm pretty happy with  
it, too.


On 10:55 am, stuckagain david.no...@gmail.com wrote:

Hi, I'm writing this message using the new Groups... and what do I
see... it is now written in GWT! Looking sweet! Although I see a bit a
lag when typing (in IE8) David


--
http://groups.google.com/group/Google-Web-Toolkit-Contributors


[gwt-contrib] Re: Fix some timeout typos, and increase delay on RequestFactoryTest. (issue1163801)

2010-11-30 Thread Joel Webber

Ready for review now?

On 2:32 pm, Ray Ryan rj...@google.com wrote:

http://gwt-code-reviews.appspot.com/1163801/show


--
http://groups.google.com/group/Google-Web-Toolkit-Contributors


Re: Fixing Internet Explorer specific memory leaks (circular references, etc)

2010-11-15 Thread Joel Webber
Paul,

First off, I'd like to applaud your diligent efforts to track down these
leaks. It's often very hard in practice, especially with the paucity of good
tools and no access to the browser's source.

That Microsoft leak detector is definitely the right one to be using -- Drip
(which I wrote ages ago) was always kind of a hack without access to
internal data structures, and I no longer trust it at all. One caveat about
the MS tool, though -- IIRC it has two modes, one of which reports
potential leaks, and which I've found to be extremely misleading on GWT
output. I'd double-check to make sure you're using the strict check. Based
on the result that your app *actually* stopped leaking (and the fact that it
was leaking in the first place), I'm guessing this isn't the problem, but I
thought I'd mention it for completeness.

As far as getting a GWT app to leak is concerned, you are correct that it
was carefully designed such that you should never have to remove the event
handlers explicitly. We're quite certain the theory is sound, and we've
confirmed it on apps up to the complexity of Wave and AdWords. But you *did*
see leaks in your app, so how could that happen? The most obvious cases I've
seen are:
- Using libraries that wrap external Javascript libraries
  - Either because said library isn't careful enough or because there's some
strange interaction making things worse.
- Writing JSNI methods that hook events by hand in Javascript, but not
cleaning up after them.
- Overriding Widget.onDetach() without calling super.onDetach() (onUnload()
was meant to serve this purpose without the added danger, and we couldn't
make onDetach() final, unfortunately). This stops the widgets from calling
setEventListener(null), which breaks the reference cycle.

I just posted a wiki page I've been sitting on for a few months with some
(hopefully) more useful information and background:
  http://code.google.com/p/google-web-toolkit/wiki/UnderstandingMemoryLeaks

If you uncover any leads in your quest (or a simple repro), I'd love to hear
about it. This problem has been my personal Moby Dick for years now, and
since I can't eliminate old versions of IE, I'd really like to see it laid
to rest!

Cheers,
joel.

Le 7 novembre 2010 03:10, Paul McLachlan pmclach...@gmail.com a écrit :

 I’d like to chronicle my experiences fixing a memory leak in our
 enterprise GWT application when running on Internet Explorer.

 A few facts getting started:

  1. Using a click-recording tool, QA could get our application to
 leak hundreds of megabytes of memory in Internet Explorer.
  2. No leak measured using Java memory analysis tools in hosted mode.
  3. Non-trivial application - we have over 100K SLOC just for GWT
 (ie, not counting server side or any non .java files)

 Reproducibility was handled by QA, but the first problem was working
 out what was going on.  We didn't see these kinds of problems with
 Firefox  this strongly implies some kind of Internet Explorer
 circular reference strangeness between DOM elements and javascript.

 We spent some time playing with Drip and sIEve, but we were advised
 not to use these tools (misleading output) and didn't have wonderful
 success with them in any case.

 A bit more googling found a javascript memory leak analyzer from
 Microsoft at:
 http://blogs.msdn.com/b/gpde/archive/2009/08/03/javascript-memory-leak-detector-v2.aspx
 .  That's actually the v2 and most google hits send you to a (now
 removed v1), so it's a little difficult to find.

 In any case, the results of using Microsoft's javascript memory leak
 detector are basically unintelligible in a regular production mode GWT
 compile.  I had more luck when compiling with -style PRETTY
 (obviously), and I also turned on -draftCompile.  I think I remember
 that -draftCompile did less inlining, which made the generated
 javascript closer to our Java code.  This was important because the
 output of the tool is basically a series of leaks, like:

  DIV leaked due to onclick from stack XYZ

 where XYZ is a javascript stack trace of where the onclick event
 handler was set.  By clicking back up the stack you can generally get
 a reasonable idea of which widget in your application is causing the
 problem.

 At this point, I didn't actually trust the tool - so from a
 methodology perspective my first step was to validate the tools
 output.

 I commented out code and otherwise configured our application down to
 a bare-bones login, display a couple of things, logout script that I
 could run in a loop.  Having done so, I could demonstrate that:

 a) that operational loop actually leaked in IE
 b) the tool reported about 15 elements as being leaked

 Then, I proceeded to ... try to fix those leaks.

 First attempt was to click the ClickListener (or ClickHandler or
 KeyPressHandler or whatever).  I mean, calling Handler.remove(), or
 removeClickListener() during onDetach().  My theory was that my
 ClickHandler was a Java inner class and it somehow just 

Re: [gwt-contrib] protected com.google.gwt.user.client.ui.Widget.addHandler(H, TypeH)

2010-11-10 Thread Joel Webber
The point of that method being protected is that under normal circumstances
you don't want to be able to add handlers to a widget that's not capable of
firing them in the first place. So a widget subclass creates
addFooHandler(), then uses this method internally.

Are you saying you want to add a custom event handler to a widget, then
force that widget to fire the event from external code? Sounds like it wants
to be a subclass.

Le 9 novembre 2010 01:56, cokol eplisc...@googlemail.com a écrit :

 why is com.google.gwt.user.client.ui.Widget.addHandler(H, TypeH)
 protected? in case I want to fire a custom event on a widget so that
 the widget is not aware of custom event handler, it makes it difficult
 to manage.

 thanks

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Fwd: [gwt-contrib] Re: Comment on WhyWidgetIsAClass in google-web-toolkit

2010-11-04 Thread Joel Webber
[+rjrjr]
I haven't put much thought into widget interfaces recently (I've been busy
wrestling low-level stuff on other fronts), but clearly Ray and others have
been thinking about this problem (based upon the appearance of IsWidget,
which seems to have worked out well). Thoughts?

-- Message transféré --
De : codesite-nore...@google.com
Date : 4 novembre 2010 10:56
Objet : [gwt-contrib] Re: Comment on WhyWidgetIsAClass in google-web-toolkit
À : Google-Web-Toolkit-Contributors@googlegroups.com


Comment by stephen.haberman:

Hurray for structural typing. :-)

That being said, I think you're coupling benefits of a concrete base class
with cannot use interfaces for widgets--to me, they're separate concerns
because you can:

* Enforce a concrete class internally within the widget impls by immediately
doing asWidget() whenever a widget comes into the API

* Allow external clients to /think/ you support widget interfaces, by
providing IsWidget method overloads where ever you take widgets.

Note that this is already being done in GWT 2.1's Panel.add(IsWidget
widget).

What makes this really useful is if Panel itself had an interface:

https://github.com/stephenh/gwt-mpv/blob/master/user/src/main/java/org/gwtmpv/widgets/IsPanel.java

Then presenter/etc. code can add fake widgets to fake panels, be thoroughly
unit tested, but at GWT time they all turn into real/Widget-extending
widgets.

Also, union types become needed less if you just have per-widget
interfaces--e.g. IsTextBox. IsTextBox inherently defines the union of its
HasValueString/etc. characteristic interfaces (/plus/ the the
TextBox-specific methods that are not in a characteristic interface and so
could never be accessed before), so client code just uses IsTextBox.

(Unless the code really does need to be generic across widgets that don't
share a IsXxx interface.)


For more information:
http://code.google.com/p/google-web-toolkit/wiki/WhyWidgetIsAClass

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] factory methods

2010-10-13 Thread Joel Webber
Specific examples might be helpful here. I can see how this might be useful
in some specific cases, but wrapping every new in a template method sounds
like a horribly contorting way to have to write all one's code.

Le 13 octobre 2010 05:19, cokol eplisc...@googlemail.com a écrit :

 many other developers, including me, would appreciate if you'd use
 protected factory methods in non-final classes (even if the class is
 not abstract), like:

 a no-go:
 
 void func() {
  A = new A();
  A.doSomething();
 }

 instead, a better pattern:
 ---
 protected A createA() {
  return new A();
 }

 void func() {
  A = createA();
  A.doSomething();
 }
 -


 because in some situations the integration of GWT into existing
 environment becomes a little nightmare, and it would be great pay more
 attention to DI

 thank you!!

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] panel does not fire attach events (issue981801)

2010-10-12 Thread Joel Webber
Hmm... I didn't even realize AttachEvent had been added. John  Ray, you
might want to take a look at this -- in the original design this super
invocation wouldn't have mattered, because widget's onLoad() was empty
(onAttach/Detach() weren't really meant to overridden outside of Panel and
Composite -- onLoad/Unload() were the methods to override). But now it
appears that Widget.onLoad() has actual code in it. Could this not be moved
to onAttach?

Le 11 octobre 2010 14:05, stephen.haber...@gmail.com a écrit :

 Reviewers: ,

 Description:
 Panel's onLoad does not call super.onLoad. This is a simple fix that
 just adds the missing onLoad call.

 I have another patch set which fires the attach event in
 onAttach/onDetach, given these are more stable methods that user's are
 less prone overriding them.

 Please review this at http://gwt-code-reviews.appspot.com/981801/show

 Affected files:
  user/src/com/google/gwt/user/client/ui/Panel.java
  user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java


 Index: user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 ===
 --- user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 (revision 8929)
 +++ user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 (working copy)
 @@ -121,9 +121,12 @@
 }

 TestPanel tp = new TestPanel();
 +TestAttachHandler tpa = new TestAttachHandler();
 +tp.addAttachHandler(tpa);
 +
 TestWidget tw = new TestWidget();
 -TestAttachHandler ta = new TestAttachHandler();
 -tw.addAttachHandler(ta);
 +TestAttachHandler twa = new TestAttachHandler();
 +tw.addAttachHandler(twa);

 tp.add(tw);
 RootPanel.get().add(tp);
 @@ -134,9 +137,9 @@
 assertTrue(tp.onAttachOrder  tp.onLoadOrder);
 assertTrue(tp.onDetachOrder  tp.onUnloadOrder);
 assertTrue(tw.onAttachOrder  tw.onLoadOrder);
 -assertTrue(tw.onLoadOrder  ta.delegateAttachOrder);
 +assertTrue(tw.onLoadOrder  twa.delegateAttachOrder);
 assertTrue(tw.onDetachOrder  tw.onUnloadOrder);
 -assertTrue(tw.onUnloadOrder  ta.delegateDetachOrder);
 +assertTrue(tw.onUnloadOrder  twa.delegateDetachOrder);

 // Also trivial. Ensure that the panel's onAttach/onDetach is called
 before
 // its child's onAttach/onDetach.
 @@ -150,6 +153,9 @@
 // detached/unloaded.
 assertTrue(tp.onUnloadOrder  tw.onUnloadOrder);

 +assertTrue(tp.onLoadOrder  tpa.delegateAttachOrder);
 +assertTrue(tp.onUnloadOrder  tpa.delegateDetachOrder);
 +
 // Make sure each widget/panel's elements are actually still attached
 to the
 // DOM during onLoad/onUnload.
 assertTrue(tp.domAttachedOnLoad);
 Index: user/src/com/google/gwt/user/client/ui/Panel.java
 ===
 --- user/src/com/google/gwt/user/client/ui/Panel.java   (revision 8929)
 +++ user/src/com/google/gwt/user/client/ui/Panel.java   (working copy)
 @@ -183,6 +183,7 @@
*/
   @Override
   protected void onLoad() {
 +super.onLoad();
   }

   /**
 @@ -193,6 +194,7 @@
*/
   @Override
   protected void onUnload() {
 +super.onUnload();
   }

   /**


 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] 2 questions about TabBar internals

2010-10-08 Thread Joel Webber
Thanks for pointing these out, Jay. If you could put together a quick patch,
we'd be glad to commit it.

Le 6 octobre 2010 16:52, jay jay.gin...@gmail.com a écrit :

 While debugging my code I ran across two things within the TabBar
 class that I seemed strange... (Line numbers are from svn 8960.)

 1.
 com.google.gwt.user.client.ui.TabBar.ClickDelegatePanel#onBrowserEvent
 -- There's a comment on line 149: // No need for call to super., and
 yet there *is* a call to super.onBrowserEvent. I assume the comment
 should be deleted?

 2. com.google.gwt.user.client.ui.TabBar#TabBar -- Line 201 is
 first.setHeight(100%); and guess what's on line 206? The same
 thing! I'm guessing one of these is not necessary.


 Thanks,

 jay

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Why is getOffsetWidth/getOffsetHeight returning 0 even after onLoad is called for LayoutPanel children?

2010-09-27 Thread Joel Webber
getOffsetWidth/Height() always read the current state of the widget's
backing element, which won't be updated until the layout panels are done
laying themselves out. All the layout panels have the potential to be
animated, and defer actually laying things out until the end of the current
event (in this case, the current event is likely the module startup). This
is pretty important for optimization, because layout can be expensive, and
you don't want to do any layout work until the app's done fiddling with its
structure. That's why you're seeing the correct value in a DeferredCommand
-- it's guaranteed to run after the current event.

If you really need to force layout earlier, you can call
LayoutPanel.forceLayout(). But be careful with this, because you can end up
forcing more layouts than you mean to (in the example you show, it would be
fine, but if you were to take a similar structure and nest it within another
that *also* called forceLayout(), you would end up doing extra work).

Hope that helps,
joel.

Le 27 septembre 2010 11:20, Damon Lundin damon.lun...@gmail.com a écrit :

 I posted this over on the normal group but hopefully I can get some
 useful responses here.  I am attempting to use the new GWT
 LayoutPanels and unfortunately they are causing me some grief.  We are
 using the layout panels (RootLayoutPanel, DockLayoutPanel,
 LayoutPanel, etc) to arrange the overall layout of the panel.  Then,
 the children of one of these panels needs to know how big it is so
 that it can size one of its children properly to cause a scroll bar to
 appear.  As far as I can tell, the only way to do this is by calling
 getOffsetWidth and getOffsetHeight.  I know that these methods will
 return 0 if the widget is not attached but I am finding that in even
 putting the calls in onLoad, these methods are still returning 0.
 Clearly I don't understand when GWT and/or the browser figures out
 what the sizes of these layout panels are.

 Below is a simplification of my problem.  The widget added to the
 RootLayoutPanel cannot determine its size when it is attached to the
 DOM.  I made sure the widget had something in it and to prove that it
 ends up with a size, I added the call to the deferred command to
 display the size again.

 If you simply replace RootLayoutPanel with RootPanel then it will
 output the full window width.  What am I doing wrong here?

 final FlowPanel testWidget = new FlowPanel() {
protected void onLoad() {
int width = getOffsetWidth();
Window.alert(width= + width);  // Outputs 0
}
 };

 testWidget.add(new Label(Something));

 RootLayoutPanel.get().add(testWidget);

 Window.alert(width= + width);  // Outputs 0

 DeferredCommand.add(new Command() {
public void execute() {
int width = testWidget.getElement().getOffsetWidth();
Window.alert(width= + width); // Outputs non-zero
}
 }

 The value of 0 comes from FF 3.6.  IE6 has almost the same problem
 except that in the cases where FF returns 0, IE6 is returning 60
 (presumably the default size of the label).  In both cases, it returns
 the full Window width in the DeferredCommand.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: Let MenuItem implement HasEnabled (issue846801)

2010-09-20 Thread Joel Webber
Sorry about that. Will look at it this afternoon (US/EST).

Le 20 septembre 2010 04:45, johan.rydb...@gmail.com a écrit :

 Ping!

 On 2010/09/07 16:49:52, rjrjr wrote:

 Please!


  On Tue, Sep 7, 2010 at 8:01 AM, Joel Webber mailto:j...@google.com

 wrote:

   @rjrjr: I notice you own the bug -- do you have time to look at

 this, or

  would you like me to take it off your hands?
 
  Le 6 septembre 2010 04:48, mailto:johan.rydb...@gmail.com a écrit

 :

 
  Reviewers: ,
 
  Description:
  Let MenuItem implement HasEnabled and update MenuBar to use this
  information when selecting items.
 
  The themes are also updated with a gwt-MenuItem-disabled rule.
 
  This is an attempt to fix
  http://code.google.com/p/google-web-toolkit/issues/detail?id=1649
 
 
  Please review this at

 http://gwt-code-reviews.appspot.com/846801/show

 
  Affected files:
   user/src/com/google/gwt/user/client/ui/MenuBar.java
   user/src/com/google/gwt/user/client/ui/MenuItem.java
 

 user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome.css

 
 

 user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome_rtl.css

   user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark.css
 

 user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark_rtl.css

 
 


 user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard.css

 
 



 user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard_rtl.css

 
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 
 
 





 http://gwt-code-reviews.appspot.com/846801/show

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: How to detect HTML5 support?

2010-09-15 Thread Joel Webber
Daniel,

Which HTML5 features are you thinking of emulating on older browsers? It
seems to me that the only ones realistically emulatable are a few of the
input types -- most of the stuff like canvas, audio/video, et al would be
impossible without direct browser support. It might be kind of possible to
support a few of the things like local storage, but it would have to depend
on an ugly combination of flash/gears. Is this the kind of thing you're
thinking of?

Cheers,
joel.

Le 14 septembre 2010 07:00, dflorey daniel.flo...@gmail.com a écrit :

 Thanks for your reply. Yes, I know that html5 support is a mess.
 I guess I'll split up my stuff into separate projects supporting a
 single feature/property like webDB (requires native webDB / gears
 detection property), css3 transforms etc.
 Thanks for the link, very impressive!

 Daniel

 On Sep 14, 11:24 am, Thomas Broyer t.bro...@gmail.com wrote:
  On Sep 13, 6:04 pm, dflorey daniel.flo...@gmail.com wrote:
 
   I'm working on a HTML5 widget library that will emulate html5 when it
   is not supported by the browser (html5 form elements etc.)
   I don't know what is the best approach to take advantage of deferred
   binding to use the native/emulated classes.
   Is it better to extend the user agent to be able to detect Chrome7/
   Safari etc. (CSS3 transforms) or is it better to introduce a new
   property?
 
  If you want to do it right, you'll actually have to add a bunch of
  properties, because there's nothing like HTML5 support. Even if you
  only talk about form additions, some browsers support a few new input
  type values but not all, some say they support a given type but don't
  provide any specific UI and/or validation (e.g. input type=date in
  WebKit), some browsers support validation (Chrome 7 is said to support
  validation on html5test.com, but it won't abort submission if a
  constrained input field –such as type=date or type=email– contains an
  invalid value). And this is only about new input types and form
  validation!
 
  BTW, have you looked athttps://code.google.com/p/gwt-ns/?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] GWT Compiler or widget.gwt.xml file optimisation for 2.1 ?

2010-09-13 Thread Joel Webber
This is slightly off-topic, but I'm curious -- would having a formal nightly
build actually be acceptable for use within your locked-down environment?
And would the same go for offline dev-mode plugin installers?

Le 12 septembre 2010 08:43, David david.no...@gmail.com a écrit :

 Eric,

 No I'm not using the draftCompile option, I will see if it improves even
 more.

 And yes, after removing the incubator from my project the whole
 project compile process only took 1/3rd of the time (7 minutes instead
 of 22 minutes). I guess the main reason is probably because we had to
 import both gen2 and widgetideas in.

 I am not able/allowed to get the trunk downloaded due to corporate
 policies. That's why in the past I asked if the GWT team did not want
 to consider daily builds/dev builds. So I will have to wait until 2.1
 is out.

 And when it is, I guess I will again have to ask for non installers
 for the IE/Firefox/Chrome plugins that do not mandate an internet
 connection :-S. So maybe for the poor corporate developers in very
 secure environments that fight to get GWT accepted: think about us!
 ;-)

 David

 On Fri, Sep 10, 2010 at 8:48 PM, Eric Ayers zun...@google.com wrote:
  Hi David,
 
  Are you using the -draftCompile option? The reason I ask is that using
 this
  option cuts out the optimization steps to make the compile run faster.
  The
  end result i that running the JDT compiler takes dominates the compile
 time
  when using it.   Everything on the sourcepath is compiled at least once
 to
  build the TypeOracle.  Every class that is actually used is run through
 the
  JDT compile library twice.  So, removing even unreferenced files from the
  source path should have a significant impact.
 
  We are considering all kinds of performance improvements, but keeping
  modules small and independent and referencing the smallest number needed
 is
  going to always give the best compilation performance.  In the future, if
  you need one widget from a module that is full of unreferenced code, you
  could define a custom one that includes just the paths you need to
 minimize
  compile time.
 
  If you like, run your build with a tip of trunk GWT and add
  -Dgwt.speedtracerlog=/tmp/speedtracer.html both with and without the
  incubator dependencies and I can tell more about why your compile time
  improved so dramatically.
 
  -Eric.
 
  On Fri, Sep 10, 2010 at 11:02 AM, stuckagain david.no...@gmail.com
 wrote:
 
  Hi,
 
  I managed to finally factor our the incubator widgets from my medium
  sized application and now that I have no dependencies left I saw the
  compile time decrease with 66%. Which is an amazing.
 
  We were only using 2 widgets yet this library had such a huge impact.
 
  Are there any plans to improve on this in the future ?
 
  David
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 
 
 
  --
  Eric Z. Ayers
  Google Web Toolkit, Atlanta, GA USA
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] PopupPanel rolldown animation is only accesable with incubator!?

2010-09-13 Thread Joel Webber
@jlabanca: Sounds like a bit of an anachronism in the code. Is this
something we can clean up now (and do you need a hand getting it done if
so)?

Le 13 septembre 2010 03:50, stuckagain david.no...@gmail.com a écrit :

 Hi,

 While factoring out a dependency on GWT incubator I stumbled upon the
 way the animation type is selected in the PopupPanel.

 This is what the javadoc says:
 /**
   * Sets the animation used to animate this popup. Used by gwt-
 incubator to
   * allow DropDownPanel to override the default popup animation. Not
 protected
   * because the exact API may change in gwt 1.6.
   *
   * @param animation the animation to use for this popup
   */
  void setAnimation(ResizeAnimation animation) {
resizeAnimation = animation;
  }

 So basically I will have to put my code in the same package if I want
 to re-enable the rolldown animation instead of the centered one for
 PopupPanel...

 David

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Wrong error message...

2010-09-13 Thread Joel Webber
Whoops, looks like I missed a rename :)
Thanks for the heads-up.

Le 13 septembre 2010 11:03, dflorey daniel.flo...@gmail.com a écrit :

 ...in ResizeComposite:25

 java.lang.AssertionError: LayoutComposite requires that its wrapped
 widget implement HasLayout

 should be

 java.lang.AssertionError: LayoutComposite requires that its wrapped
 widget implements RequiresResize

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: Deletes the bikeshed. (issue816801)

2010-09-10 Thread Joel Webber
Don't worry, I'm sure it will come back next time we need to do something
big that needs time to settle. This ended up being a much, much better
pattern than the incubator, which just became a dumping ground with
version-skew hell...

Le 10 septembre 2010 03:28, edwin...@gmail.com a écrit :

 Amen, nevertheless Bikeshed is still a good example for those who has
 strong willing to know and use the GWT, at least for me.

 On 2010/08/31 02:36:17, jlabanca wrote:

 Bikeshed will always have a special place in my heart.  I remember not

 that long

 ago the first time I committed a Cell based widget to bikeshed, and

 all those

 hours we spent together tweaking the Expenses sample.  But alas, the

 Expenses

 sample has grown up and moved out to trunk, and the Scaffold app has

 moved into

 Roo.  Bikeshed is a beast from an ancient time, with no place in the

 modern

 world.  You will be missed bikeshed.  By most.




 http://gwt-code-reviews.appspot.com/816801/show


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] GWT Compiler or widget.gwt.xml file optimisation for 2.1 ?

2010-09-10 Thread Joel Webber
Wait, are you saying that your compile time went down *by* 2/3 (meaning to
1/3 of its original duration)?
And this is a result of pulling the incubator off of the classpath (and
hoisting out a couple of widgets)?

That would seem to be a pretty big difference!
@Eric: This might be interesting fodder for compiler optimizations.

Le 10 septembre 2010 11:02, stuckagain david.no...@gmail.com a écrit :

 Hi,

 I managed to finally factor our the incubator widgets from my medium
 sized application and now that I have no dependencies left I saw the
 compile time decrease with 66%. Which is an amazing.

 We were only using 2 widgets yet this library had such a huge impact.

 Are there any plans to improve on this in the future ?

 David

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] [conference]

2010-09-09 Thread Joel Webber
Allez Nicolas!

Le 9 septembre 2010 09:18, nicolas de loof nicolas.del...@gmail.com a
écrit :

 For info,

 I'll speak at JugSummerCamp http://www.jugsummercamp.org/ conference
 tomorrow on GWT 2.
 Long live GWT :D

 Nicolas

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Let MenuItem implement HasEnabled (issue846801)

2010-09-07 Thread Joel Webber
@rjrjr: I notice you own the bug -- do you have time to look at this, or
would you like me to take it off your hands?

Le 6 septembre 2010 04:48, johan.rydb...@gmail.com a écrit :

 Reviewers: ,

 Description:
 Let MenuItem implement HasEnabled and update MenuBar to use this
 information when selecting items.

 The themes are also updated with a gwt-MenuItem-disabled rule.

 This is an attempt to fix
 http://code.google.com/p/google-web-toolkit/issues/detail?id=1649


 Please review this at http://gwt-code-reviews.appspot.com/846801/show

 Affected files:
  user/src/com/google/gwt/user/client/ui/MenuBar.java
  user/src/com/google/gwt/user/client/ui/MenuItem.java
  user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome.css
  user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome_rtl.css
  user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark.css
  user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark_rtl.css

  user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard.css

  
 user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard_rtl.css


 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: Memory Leak IE7 GWT 2.0.4

2010-09-03 Thread Joel Webber
Sorry I didn't follow up earlier (this should have showed up in my
inbox, but didn't for some reason...).

@chrisr:
It is at least remotely possible that this could have leaked in 1.5.4,
but I'm not aware of any memory-leak fixes as recently as that. The
architecture that guards against leaks is sound, and hasn't changed
significantly since 1.0. There were a couple of bug fixes for little
pieces of Javascript that were triggering leaks (notably in the
RequestBuilder code, which this doesn't exercise), but that was some
time ago. As for the dev mode leak, I've asked one of my team members
who's working on optimizing dev mode to take a look at that.

@Marcos:
I wish I could do more to help with memory leaks in SmartGWT, but
that's way beyond the knowledge of anyone on our team. SmartGWT's a
wrapper around a huge Javascript library that, from your earlier post,
appears to require destroy() calls on widgets as part of its memory-
leak strategy (IIUC). That strategy's rife with problems and very hard
for users to get right in practice (I've tried it in other frameworks,
and always found myself squashing leaks ad infinitum). Do the SmartGWT
tools not provide some mechanism for tracing and finding leaks?

On Aug 30, 9:10 am, chrisr chris.robert.rowl...@gmail.com wrote:
 This may be a valid solution, however its not an ideal one, as this
 application is already significantly large, and its not going to be
 easy to refactor all of the existing code to work this way.  It will
 be easy to keep this in mind while going forward, however.

 As I said above, I was trying to reproduce the way a lot of the code
 I'm working with has been written.  Also, while I thought this was
 reproducing the situation we are seeing in our live app (using GWT
 1.5.4) it turns out this only produces the memory leak in development
 mode using the most recent GWT.  I will have to see if this produces a
 leak when compiled using 1.5.4.  If not then I'll probably need to
 find a new simple case that reproduces the leak we're seeing.

 On Aug 28, 11:48 am, Michael W mwang_2...@yahoo.com wrote:



  I doubt following code causing the memory leak.
  In reloadRight method, you create and assign new DecoratedTabPanel()
  to tabPanel every time.

                  protected void reloadRight(){
                          ++rightPanelCount;
                          rPanel.clear();

                          tabPanel = new DecoratedTabPanel();

  You may reuse existing tabPanel instead of create new one.

  On Aug 27, 4:21 pm, chrisr chris.robert.rowl...@gmail.com wrote:

   Hi Joel, i appreciate your help.

   I was running in development mode and it appears that this memory
   bloat goes away when not using development mode.
   We have been developing our application using older GWT (1.5.4 I
   belive) so I'm used to using the old hosted mode.  I didn't realize
   the in browser development mode might have this side effect.

   The goal of this was to reproduce a memory leak that we have in our
   application (when compiled, of course) using as simple a case as
   possible, in the newest version of GWT, if possible.  I erroneously
   thought this was accomplishing that.

   Does the fact that this growth occurs in development mode suggest
   anything about why I might see similar growth in a compiled GWT 1.5.4
   application?

   On Aug 27, 12:52 pm, Joel Webber j...@google.com wrote:

Hmm... I've tried to reproduce this on IE7 and IE8 (both quirks 
standards), to no avail. I doubt it's anything in the outer HTML file,
but just in case, here's what I used:

!DOCTYPE HTML
html
  head
    titleHello/title
    script type=text/javascript language=javascript src=hello/
hello.nocache.js/script
  /head
  body
    div id='container'/div
  /body
/html

The initial calls to getSomeText() were causing a huge number of slow-
script warnings on IE, so I was only able to run through a few
iterations. I then dropped the count by a factor of 10 to get the SSWs
under control, and the memory usage appears quite stable after a
couple of hundred clicks. (~30MB). Can you think of anything else that
might be different in your setup?

On 27 août, 08:20, chrisr chris.robert.rowl...@gmail.com wrote:

 Sorry for posting this twice.  If a moderator wants to/can remove the
 duplicate go ahead.

 On Aug 25, 2:56 pm, chrisr chris.robert.rowl...@gmail.com wrote:

  I created a simple application in an attempt to reproduce a memory
  leak issue in our decently large GWT application.

  This test application basically contains a split panel with a button
  on the left, and a tab panel full of large blocks of text on the
  right.
  Clicking the reload button fires the reloadRight method, and does a
  panel.clear() to remove the old tab panel and a  panel.add() to add 
  a
  new tab panel to the right panel.  Doing this repeatedly causes 
  memory

Re: Memory Leak IE7 GWT 2.0.4

2010-08-27 Thread Joel Webber
Hmm... I've tried to reproduce this on IE7 and IE8 (both quirks 
standards), to no avail. I doubt it's anything in the outer HTML file,
but just in case, here's what I used:

!DOCTYPE HTML
html
  head
titleHello/title
script type=text/javascript language=javascript src=hello/
hello.nocache.js/script
  /head
  body
div id='container'/div
  /body
/html

The initial calls to getSomeText() were causing a huge number of slow-
script warnings on IE, so I was only able to run through a few
iterations. I then dropped the count by a factor of 10 to get the SSWs
under control, and the memory usage appears quite stable after a
couple of hundred clicks. (~30MB). Can you think of anything else that
might be different in your setup?

On 27 août, 08:20, chrisr chris.robert.rowl...@gmail.com wrote:
 Sorry for posting this twice.  If a moderator wants to/can remove the
 duplicate go ahead.

 On Aug 25, 2:56 pm, chrisr chris.robert.rowl...@gmail.com wrote:



  I created a simple application in an attempt to reproduce a memory
  leak issue in our decently large GWT application.

  This test application basically contains a split panel with a button
  on the left, and a tab panel full of large blocks of text on the
  right.
  Clicking the reload button fires the reloadRight method, and does a
  panel.clear() to remove the old tab panel and a  panel.add() to add a
  new tab panel to the right panel.  Doing this repeatedly causes memory
  consumption to increase without bounds.

  For example, on the initial load IE7 uses around 35 MB.  125 clicks
  later its using nearly 1.5GB.

  Is this example doing something in a fundamentally incorrect way?
  How  can I keep memory usage from exploding like this?

  /* Example Below */

  package com.example.myproject.client;

  import com.google.gwt.core.client.EntryPoint;
  import com.google.gwt.event.dom.client.ClickEvent;
  import com.google.gwt.event.dom.client.ClickHandler;
  import com.google.gwt.user.client.ui.Button;
  import com.google.gwt.user.client.ui.DecoratedTabPanel;
  import com.google.gwt.user.client.ui.DecoratorPanel;
  import com.google.gwt.user.client.ui.HTML;
  import com.google.gwt.user.client.ui.HTMLPanel;
  import com.google.gwt.user.client.ui.HorizontalSplitPanel;
  import com.google.gwt.user.client.ui.RootPanel;

  /**
   * Entry point classes define codeonModuleLoad()/code.
   */
  public class TestApplication01 implements EntryPoint {

          /**
           * This is the entry point method.
           */
          public void onModuleLoad() {
                  RootPanel.get(container).add( new MainPanel() );
          }

          private class MainPanel extends DecoratorPanel{

                  private HorizontalSplitPanel hsp;
                  private HTMLPanel lPanel;
                  private HTMLPanel rPanel;
                  private DecoratedTabPanel tabPanel;
                  int rightPanelCount = 0;

                  public MainPanel(){
                          hsp = new HorizontalSplitPanel();
                          hsp.setSplitPosition(25%);
                          hsp.setSize(800px, 400px);
                          lPanel = new HTMLPanel(div 
  id=\reloadButton\/);

                          rPanel = new HTMLPanel(div 
  id=\right-panel-contents\/);
                          Button reloadButton = new ReloadButton(this);
                          reloadButton.setVisible(true);
                          lPanel.add( reloadButton, reloadButton );
                          hsp.setLeftWidget(lPanel);
                          hsp.setRightWidget(rPanel);
                          this.add( hsp );
                          reloadRight();
                  }

                  char[] chars = new char[] {' ',' ',' ', ' ', ' ',
  'a','b','c','d','e','f','g','h','i','j','k','l','m',
                                                                   
  'n','o','p','q','r','s','t','u','v','w','x','y','z' };

                  private String getSomeText(int length){
                          StringBuffer sb = new StringBuffer(length);
                          for ( int i=0; ilength; ++i ){

  sb.append( chars[ (int)Math.round(Math.random()*(chars.length-1)) ]);
                                  if ( i0  i % 60 == 0 )
                                          sb.append(br);
                          }
                          return sb.toString();
                  }

                  protected void reloadRight(){
                          ++rightPanelCount;
                          rPanel.clear();

                          tabPanel = new DecoratedTabPanel();
                          tabPanel.setWidth(400px);
                          tabPanel.setAnimationEnabled(true);

                          String text = Load count = +rightPanelCount;

                          tabPanel.add( new HTML(text+br+getSomeText((int)
  (Math.random()*500)+50)), Tab One);
                          tabPanel.add( new HTML(text+br+getSomeText((int)
 

Re: [gwt-contrib] IE6/7/8 huge speed problems when adding Stylenames on the fly.

2010-08-19 Thread Joel Webber
[+some people who have looked at this problem in the past]

Le 19 août 2010 09:36, stuckagain david.no...@gmail.com a écrit :

 Hi,

 I found out that using something like addStylename() in an onmouseover
 can have really catastrophic effects on performance in IE (6/7 and 8).
 In fact IE8 seems to be worse than the older versions. In my
 applications the browser locks up for many seconds even minutes
 running at 100% CPU. DynaTrace reveals that the browser is busy doing
 layout calculations.

 For example we were doing a style change when moving the mouse over a
 big table. In some situations this would block the browser for many
 seconds (sometimes minutes, depending on the complexity of the UI).

 If I just directly set the style attribute changes directly in the
 code it takes almost no CPU with the same complex UI. The problem here
 is that I loose a lot of flexibility in my UI to use CSS to do the
 styling (what if I want to change more than just the color for
 example).

 I know there is something like CssResource, but as I understand it, it
 will not solve the issue in this case since I still need to use an
 addStyleName.

 Would there be a way, or wouldn't it be an great Idea, that GWT would
 have support in CssResource to copy style attributes from the
 CssResouce directly in the styles of the element that I am
 targetting ? That way I would not need a addStylename/addClassname but
 I still have the flexibility to write down these changes in a CSS
 file.

 Or did I overlook such a feature ?

 As I understood, the declarative UI mechanism in GWT is doing such
 things, but in our apps we can not use this.


We haven't built anything like this, but we've definitely seen this problem
before. It doesn't seem unreasonable to be able to extract the text of a
CSSResource rule's properties (a bit unfortunate, since it only affects IE
and would be slower everywhere else -- maybe it would be better to provide a
more abstract mechanism that could do the right thing everywhere). There
is also some complexity added by the fact that the fastest way to apply such
a style would be Element.style = '{css string}'. But the only efficient
way to do this would be to set the whole thing at once (meaning you couldn't
easily mix them).

If I recall correctly (Kelly, Jaime,  John please check me on this), the
speed problems on this case in IE tended to be a combination of layout and
style matching. Layout can be mitigated a bit if you separate the table
from the rest of the page by putting it in a position:absolute container
(putting it in a layout panel does this), but that may not help enough
and/or fit your design.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] HTML5 tags in com.google.gwt.dom.DOM.gwt.xml module

2010-08-18 Thread Joel Webber
Le 15 août 2010 10:40, Cristiano cristiano.costant...@gmail.com a écrit :

 Hello all,
 I need to work with new HTML5 elements: video and SVG's tags.

 Now I'm doing some experiment and I'm working out this HTML5 support
 by myself on a modified src of GWT: I'm adding some new Element
 subclasses for some example element (video,svg,g,image) and
 extending the com.google.gwt.dom.client.Document.java and
 com.google.gwt.user.client.DOM.java classes by adding in a
 straightforward way all the SVG and video element creation methods I
 need for my tests.

 I want to ask you if is there anyone else who is doing the same on an
 official branch of GWT or into the incubator, so not to do a duplicate
 work.


Jaime and Philip have started looking at this, but I don't believe they've
committed anything yet (and I doubt they'd mind a little help). There are
also a couple of projects out there that have begun this as well (see
below). Maybe it's time to start a concerted effort to clean up all our
HTML5 libraries and wrappers?

  http://code.google.com/p/gwt-mobile-webkit/
  http://code.google.com/p/gwt-html5-media

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] This is a bug in JSORestrictionsChecker

2010-08-11 Thread Joel Webber
Bob  Lex,

I just ran into an interesting error message while experimenting with some
JSO stuff that you might be able to shed some light on. First, here's the
error:

 InternalCompilerException: Already seen an implementing JSO subtype
(DocumentImpl) for interface (Node) while examining newly-added type
(ElementImpl). This is a bug in JSORestrictionsChecker.

The structure that triggered this is the following:

interface Node
interface Element extends Node
interface Document extends Node

class NodeImpl extends JSO implements Node
class ElementImpl extends NodeImpl implements Element
class DocumentImpl extends NodeImpl implements Document

At first glance, this would appear to anger the SingleJSO gods. However,
because NodeImpl contains implementations of all Node methods, there is no
actual ambiguity as to which method implementation to bind to. The this is
a bug wording in the error also raised my eyebrows a bit :)

If I'm correct about the lack of actual ambiguity here, it would seem that
the restrictions checker is just being a bit too aggressive. Do either of
you have any sense for how difficult it would be to fix this (and the
associated code in the compiler itself that generates the method dispatch
code)? I'm perfectly willing to dig into it myself, but thought you might be
able to provide a bit of context.

Thanks,
joel.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: This is a bug in JSORestrictionsChecker

2010-08-11 Thread Joel Webber
Le 11 août 2010 15:11, BobV b...@google.com a écrit :

  At first glance, this would appear to anger the SingleJSO gods. However,
  because NodeImpl contains implementations of all Node methods, there is
 no
  actual ambiguity as to which method implementation to bind to. The this
 is
  a bug wording in the error also raised my eyebrows a bit :)

 Is NodeImpl abstract?


Tried both with and without. But there is only one JSO implementation of
each method in the Node interface, so there can be no ambiguity in which one
to call.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: Make GWT template javascript suitable for XHTML

2010-08-02 Thread Joel Webber
The best way would be to upload a patch to http://
gwt-code-reviews.appspot.com/ . That makes it much easier to understand the
diffs.

Le 1 août 2010 11:07, Henri hfman...@gmail.com a écrit :

 I updated function computeScriptBase() in IFrameTemplate.js to work
 with DOM javascript functions instead of document.write, which seems
 to work, and would like you to look at it. How can I send this file to
 you?

 On Jul 23, 3:17 pm, Joel Webber j...@google.com wrote:
  We've tried to get rid of the document.write() tricks before, but with no
  success. There's always some squirrely case that crops on (especially on
 IE)
  that's forced us to put them back in. There are also a couple of specific
  corner cases that rely on document.write(), which would need to be
  preserved:
  1. computeScriptBase() uses it to find the current script element, so
 it
  can compute the base url from which it was loaded.
  2. It's used to determine when script injection (i.e., script tags
  referenced in the .gwt.xml file) is done.
 
  The above two cases are probably impossible to solve without
  document.write(), though I'm certainly open to ideas. Assuming that's
  correct, it would mean you'd have to remove automatic script base
 detection
  and disable script injection. As much as I'd like to do that, we can't do
 so
  without breaking many existing apps.
 
  If you really must have XHTML support (something I've never found any
 actual
  utility in personally), then probably the better approach would be to
 design
  a different linker for it that explicitly removes the above features.
 
  Le 22 juillet 2010 05:28, Henri hfman...@gmail.com a écrit :
 
   Hello,
 
   Currently the template javascript files IFrameTemplate.js,
   SingleScriptTemplate.js, and XSTemplate.js in com/google/gwt/core/
   linker and HostedModeTemplate.js in com/google/gwt/core/ext/linker/
   impl use document.write to manipulate the HTML page. This is not
   allowed in XHTML. I changed IFrameTemplate.js so it now uses
   equivalent DOM statements instead and that is working. XHTML documents
   are useful since one can use embedded SVG and MathML.
 
   If you are interested I can send the modified IFrameTemplate.js to you
   to check out if I did it the right way. Then we can update the other
   template javascript files.
 
   Hope to hear from you!
 
   Kind regards,
 
   Henri Manson
 
   --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Phasing in a new, unified linker

2010-07-26 Thread Joel Webber
[+matt, who's one of the few people I know outside of Google creating custom
linkers]

I'm 100% on board with this as well. These things weren't all that carefully
designed for extension from the beginning, so it's going to be difficult to
make significant changes to them without breaking existing linker
extensions. Having one true linker, except for fundamentally different
cases (like Chrome and Firefox extensions) would be hugely convenient.

Le 26 juillet 2010 12:37, Scott Blum sco...@google.com a écrit :

 SGTM as far as process.

 Is the new linker designed to curtail extension, or to sanely encourage it?
  The existing primary linkers ended up getting extended in brittle ways.

 On Mon, Jul 26, 2010 at 12:06 PM, Lex Spoon sp...@google.com wrote:

 Joel, Miguel, GWTers,

 I am trying to phase in a new linker as the default GWT linker, and I
 could use some feedback on how that is accomplished.

 My first thought was to modify the cross-site linker in place, as was
 started by this patch:

 http://gwt-code-reviews.appspot.com/674802/show


 After further thought, though, the changes in that patch are simply not
 backward compatible. The most fundamental problem is that there are
 currently linkers extending the XSLinker class, and any major change to
 XSLinker will break these other ones. Additionally, the cross-site linker
 has $wnd==window, but that's no longer true in the unified linker. Both of
 these problems won't affect most apps, but an indeterminate few will be
 broken by simply committing the above patch.

 Here's an alternate phase-in plan that avoids the above two problems:

 1. Make a new linker class and new linker name, so as not to disturb any
 code inheriting from our existing linkers. Commit the above patch under the
 new names. Anyone who can live without dev mode support can use it
 immediately.

 2. Add development mode support to the new linker.

 3. Redirect the std linker to the new one. We could add a deprecated
 iframe name for the iframe linker for anyone who desperately needs it.
 Note that people using the std linker must already be using $wnd in the
 necessary places.

 4. Deprecate the iframe and xs linkers, and after a year or two remove
 them. Users of the cross-site linker will need to make sure they use $wnd in
 the right places before they change over.


 A benefit of this approach is that most apps use the std linker and will
 simply pick up the improvements without needing any changes. Updating people
 currently on the cross-site linker is trickier, but I don't see any way to
 get around the $wnd/window problem. Their code simply needs to be updated.

 -Lex


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors




-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Make GWT template javascript suitable for XHTML

2010-07-23 Thread Joel Webber
We've tried to get rid of the document.write() tricks before, but with no
success. There's always some squirrely case that crops on (especially on IE)
that's forced us to put them back in. There are also a couple of specific
corner cases that rely on document.write(), which would need to be
preserved:
1. computeScriptBase() uses it to find the current script element, so it
can compute the base url from which it was loaded.
2. It's used to determine when script injection (i.e., script tags
referenced in the .gwt.xml file) is done.

The above two cases are probably impossible to solve without
document.write(), though I'm certainly open to ideas. Assuming that's
correct, it would mean you'd have to remove automatic script base detection
and disable script injection. As much as I'd like to do that, we can't do so
without breaking many existing apps.

If you really must have XHTML support (something I've never found any actual
utility in personally), then probably the better approach would be to design
a different linker for it that explicitly removes the above features.

Le 22 juillet 2010 05:28, Henri hfman...@gmail.com a écrit :

 Hello,

 Currently the template javascript files IFrameTemplate.js,
 SingleScriptTemplate.js, and XSTemplate.js in com/google/gwt/core/
 linker and HostedModeTemplate.js in com/google/gwt/core/ext/linker/
 impl use document.write to manipulate the HTML page. This is not
 allowed in XHTML. I changed IFrameTemplate.js so it now uses
 equivalent DOM statements instead and that is working. XHTML documents
 are useful since one can use embedded SVG and MathML.

 If you are interested I can send the modified IFrameTemplate.js to you
 to check out if I did it the right way. Then we can update the other
 template javascript files.

 Hope to hear from you!

 Kind regards,

 Henri Manson

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: IE9 Preview 3 issues

2010-07-15 Thread Joel Webber
Thanks, Brendan. I entered issue 5125 to capture the general IE9 support
issue. I agree that it seems likely we'll be able to shift to an IE9 that
derives from the standard browser base classes. Nothing would make me
happier :)

Le 24 juin 2010 15:08, Brendan Kenny bcke...@gmail.com a écrit :

 I haven't verified this on another machine, but it appears that the
 new IE9 Preview (when in full IE9 standards mode) no longer accepts
 markup in document.createElement(), which is DomImplTrident's approach
 to creating several elements (like buttons). I've filed an issue here:
 http://code.google.com/p/google-web-toolkit/issues/detail?id=5058
 It seems like any GWT project that uses buttons or input elements
 (among others) will trigger the error and stop running. To see it in
 action, visit showcase with the console open, or run the following in
 the console:
 var b = document.createElement(BUTTON type='button'/BUTTON);

 The good thing (for the web) is that this seems to be the correct
 behavior wrt standards. For GWT, IE9's DOM impl might get to be a lot
 closer to DomImplStandard. Microsoft also doesn't include normal
 navigation in the preview, so regular users won't be using it as their
 browser and run into this problem too soon, but this change does
 appear to be coming.


Le 24 juin 2010 15:19, Brendan Kenny bcke...@gmail.com a écrit :

 Also--and I haven't completely figured this out yet--something seems
 to be going on with support for IE's ancient filters. I'm not aware of
 any use of filters in GWT outside of maybe a PNG transparency fix (for
 IE6? not sure), but I'm sure there are third party module authors that
 use them to add HTML5/CSS3-style features.

 element.filters is throwing an error and element.style.filter is being
 ignored (again, just checked on my machine). This must be partly a bug
 (it's just wrong that checking !document.body.filters would fail),
 but it might be a sign that filters are going away.

 I use filters for IE in a module for cross-browser CSS3-like
 transformations, and I believe that this will leave me without a way
 to support them in IE9, so I'll definitely be keeping up with this.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] UiBinder tweaks for GWT Designer

2010-06-23 Thread Joel Webber
Konstantin,

I've not gone over these proposals in great detail, but it does seem like a
reasonable idea to build design time hooks into UiBinder-generated code.
One very important caveat would be that it must be possible for the compiler
to strip them out completely in production mode (this seems likely, but we'd
have to be very careful to make sure it happens in practice).

I'm going to have to defer to Ray on the architectural details (I haven't
touched this generator in a while), and I suspect he'd want to make sure the
proposed mechanisms would be generally useful for other kinds of design
tools. He's on vacation this week, so I doubt he'll be able to look into it
until next week at the earliest.

@rjrjr: Please do have a look at this when you have a moment, and if you'd
like me to look at anything in particular, I'd be happy to.

Cheers,
joel.

Le 23 juin 2010 06:40, Konstantin.Scheglov konstantin.scheg...@gmail.com a
écrit :


  To support UiBinder in GWT Designer we need to have several changes
 in UiBinder generators, writer and parsers.
  I will describe below these changes as they are done now.
  In real patch I will group as much implementation details as
 possible into single class like DesignTimeUtils or GWTDesignerSupport.
 It will check for GWT Designer presence and do something only in this
 case.

  So, main question is following. Will GWT team accept patch with such
 changes?
  This would allow us avoid creating internal patches for 2.0 and each
 future version of GWT.


 1. Declare in binder implementation interface and field with it.
 Something like this:
   public static interface WBPObjectHandler {void handle(String
 path, Object object);}
   public WBPObjectHandler wbpObjectHandler;
In method createAndBindUi() directly after creating each Widget
 instance (but before applying setX() methods) wbpObjectHandler is
 used to notify GWT Designer about new widget and its path in XML. GWT
 Designer bind Widget instance to model (using path) and also asks
 default values for all properties using getX() methods.

  Path in XML is / separated string of indexes.
  For example in
 ui:UiBinder
ui:style/
g:FlowPanel styleName={style.panel}
g:Button text=New Button/
/g:FlowPanel
 /ui:UiBinder

  0/1 is FlowPanel
  0/1/0 is Button

 2. Declare in binder implementation Map with values of attributes.
   public final java.util.Map wbpAttributes = new
 java.util.HashMap();
  and fill it, here is example if code generated for ui.xml above

if (wbpObjectHandler != null) wbpObjectHandler.handle(0/1/0,
 f_Button2);
f_Button2.setText(New Button);
wbpAttributes.put(0/1/0 text, New Button);
f_FlowPanel1.add(f_Button2);
if (wbpObjectHandler != null) wbpObjectHandler.handle(0/1,
 f_FlowPanel1);
f_FlowPanel1.setStyleName( + style.panel() + );

  GWT Designer needs to know attribute values to show them to user in
 properties table. Not all properties have getter, so we can not get
 these values for existing Widget object.


 3. In special parsers for panels, remember also values of attributes
 for artificial elements. For example Cell in CellPanelParser (and
 Dock in DockPanel).

// Parse horizontal and vertical alignment attributes.
if (cellElem.hasAttribute(HALIGN_ATTR)) {
  String value = cellElem.consumeAttribute(HALIGN_ATTR,
 hAlignConstantType);
  writer.addStatement(%1$s.setCellHorizontalAlignment(%2$s,
 %3$s);,
  fieldName, childFieldName, value);
  //XXX Instantiations
  writer.addStatement(wbpAttributes.put(\%s\, %s);,
 widgetElem.getPath() +  Cell. + HALIGN_ATTR, value);
  //XXX Instantiations
}



 4. To allow quick updates of design canvas as user changes properties,
 without reloading GWT context each time, we should:
 4.1. Generate Binder implementation class with new name each time, so
 be able to define each time new class in same ClassLoader. Right now
 we just add current time to the name of class.
//XXX Instantiations
// generate class with new name each time, to allow refresh in
 same ClassLoader
implName += _wbp + System.currentTimeMillis();
//XXX Instantiations
 4.2. To parse/render UI.XML file content without saving, i.e. from
 memory/editor, generate should try to read document from memory.
 Something like this:
  private Document getW3cDoc(MortalLogger logger, String templatePath)
  throws UnableToCompleteException {
//XXX Instantiations
{
  String content = System.getProperty(wbp.gwt.UiBinder  +
 templatePath);
  if (content != null) {
Document doc = null;
try {
  doc = new
 W3cDomHelper(logger.getTreeLogger()).documentFor(content);
} catch (SAXParseException e) {
  logger.die(Error parsing XML (line  + e.getLineNumber() +
 ): 
  + e.getMessage() +   + content, e);
} catch (Throwable e) {
  logger.die(Error parsing XML   + content, e);
}
return doc;
  

[gwt-contrib] Re: UiBinder. Parser for TextAlignConstant (issue612803)

2010-06-23 Thread Joel Webber
@rjrjr: What say ye? Have you considered doing something like this before,
and perhaps found a way to generalize it such that we don't have to create a
separate attribute parser for every enum?

Le 22 juin 2010 07:14, konstantin.scheg...@gmail.com a écrit :

 Reviewers: jgw,

 Description:
 It uses friendly names.

 I will post patch with adding support for names like this for
 horizontal/vertical alignments (in addition, not replace to keep
 compatibility with existing code) later.

 Please review this at http://gwt-code-reviews.appspot.com/612803/show

 Affected files:
  user/src/com/google/gwt/uibinder/attributeparsers/AttributeParsers.java

  
 user/src/com/google/gwt/uibinder/attributeparsers/TextAlignConstantParser.java
  user/test/com/google/gwt/uibinder/UiBinderJreSuite.java

  
 user/test/com/google/gwt/uibinder/attributeparsers/TextAlignConstantParser_Test.java
  user/test/com/google/gwt/uibinder/test/UiJavaResources.java




-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: UiBinder. Code style for constant parsers.

2010-06-23 Thread Joel Webber
Le 22 juin 2010 07:03, Konstantin.Scheglov konstantin.scheg...@gmail.com a
écrit :


  Pretty much everything we've done so far has been limited to
 automatically
  exposing the Java-level APIs in all their ugliness. The h/v alignment
 values
  are implemented somewhat manually, but for things like enums I really
 like
  the idea that they can be exposed completely automatically.
 
  On the other hand, it would be nice to have prettier names. Perhaps we
 could
  find some sort of convention for exposing prettier names for
 [pseudo-]enums.
  What about a shortName() method on the enum itself?

   Hm...
  Yes, I think that it is possible to create some generic parser for
 enum-like constants.
  However because they are not real enums, following things come to
 mind:

 1. During registration in AttributeParsers we will need to pass list
 of values;
 2. To check for shortName() using reflection;
 3. To test that each such constant parser instance works correctly, I
 would write special ui.xml file.

  Also one more thing worries me. Do you think that it is OK to add
 into GWT classes on this level information which is used only by some
 presentation of GWT? I mean that parsing ui.xml files is part of
 UiBinder, so it should be problem of UiBinder how to parse it.


It *does* seem a little odd to have to add a UiBinder-specific short name
to every enum (or enum-alike) used as a widget property (especially if they
somehow end up in the compiled output). On the other hand, it would also
kind of suck to have to put them in a completely separate place, which most
widget authors would simply forget to do.

On second thought, maybe we can actually get away with just convention. Most
enums (e.g., Style.Unit) have names that are upper-case by convention, but
we could allow UiBinder to specify them in a case-insensitive manner without
ambiguity. That would leave only a handful of special cases (like the
TextAlignmentParser patch you just sent).

@rjrjr, konstantin: How does that sound to you both?

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: Improving event handling, as initiated in 1.6

2010-06-22 Thread Joel Webber
Just to let everyone know, I've finally gotten around to picking up this
task again, and have updated the linked wave with my proposals. Please feel
free to chime in; I could use the feedback.

Le 11 juin 2010 11:13, Thomas Broyer t.bro...@gmail.com a écrit :

 On Thu, Jun 10, 2010 at 11:59 PM, Dan ddum...@gmail.com wrote:
  I don't suppose you could bump the wave Thomas?   I seem to not have
  access to do anything but add blank replies...

 I've added you to the wave. Don't know what happened as you're a
 member of GWT-Contrib, which has full access to the wave...

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Any ETA for 2.1?

2010-06-21 Thread Joel Webber
We're also working to get the new widgets  libraries stabilized well before
that, though we don't have hard dates. One thing to look for would be the
removal of the Note: This class is new and its interface subject to
change. warnings in the javadoc. Or just ask here :)

Le 21 juin 2010 14:29, Chris Ramsdale cramsd...@google.com a écrit :

 While this shouldn't be taken as a binding set of dates, we are looking to
 wrap up a 2.1 RC in late Q3, with GA release in early Q4.


 On Mon, Jun 21, 2010 at 12:30 PM, Thomas Broyer t.bro...@gmail.comwrote:

 Hi Googlers^H^H G-men!

 Do you have any ETA for 2.1 M2 (or RC1?), and/or 2.1 GA?

 We're looking at RequestFactory, ActivityManager and data presentation
 widgets for a new project, but they're far from complete now
 (particularly RequestFactory, and ActivityManager isn't plugged with
 the History). So we'd like to know when do you think they'll be
 usable enough so we can start use them, or if we should rather plan
 on using something else (GWT-RPC, our already-existing-though-not-
 perfect PlaceManager, etc.)

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] mail patch

2010-06-21 Thread Joel Webber
Thanks, Stephen.
@Dan: Is this still applicable, or has it been fixed already?

Le 9 juin 2010 13:21, Stephen Haberman step...@exigencecorp.com a écrit :

 Hi,

 I was playing with the Mail example this morning and saw a stack trace
 casting the Message class to Comparable for the TreeMap inside of the
 MailSelectionModel.toString(). Seemed to happen most reliably when
 clicking select all on this page. A simple fix is attached.

 Thanks,
 Stephen


 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] UiBinder. Code style for constant parsers.

2010-06-21 Thread Joel Webber
Le 19 juin 2010 10:34, Konstantin.Scheglov konstantin.scheg...@gmail.com a
écrit :


  Why existing horizontal/vertical alignment parsers use so unfriendly
 names for alignments? ALIGN_RIGHT looks not very good in XML. Why
 not just right? This would be more natural for people with HTML
 background.

  I ask because I have already TextAlignConstantParser and not sure
 which style to use - same as in existing parsers, or more friendly.
 Right now it looks so:

  private static final String PREFIX =
 com.google.gwt.user.client.ui.TextBoxBase.ALIGN_;
  private static final HashMapString, String values = new
 HashMapString, String();

  static {
values.put(left, PREFIX + LEFT);
values.put(center, PREFIX + CENTER);
values.put(right, PREFIX + RIGHT);
values.put(justify, PREFIX + JUSTIFY);
  }


Pretty much everything we've done so far has been limited to automatically
exposing the Java-level APIs in all their ugliness. The h/v alignment values
are implemented somewhat manually, but for things like enums I really like
the idea that they can be exposed completely automatically.

On the other hand, it would be nice to have prettier names. Perhaps we could
find some sort of convention for exposing prettier names for [pseudo-]enums.
What about a shortName() method on the enum itself?

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] DockPanelParser and width/height attributes

2010-06-18 Thread Joel Webber
That certainly looks like a leftover implementation detail that could be
cleaned up. If you don't mind putting together a patch I'd be happy to
commit it.

Le 18 juin 2010 08:23, Konstantin.Scheglov konstantin.scheg...@gmail.com a
écrit :


  Is there reason to have separate handling for width/height
 attributes?
  As I can see, CellPanelParser.parseCellAttributes() already handles
 these attributes and generates same statements.

  // And they can optionally have a width.
  if (child.hasAttribute(width)) {
writer.addStatement(%1$s.setCellWidth(%2$s, \%3$s\);,
fieldName, childFieldName,
 child.consumeRawAttribute(width));
  }

  // And they can optionally have a height.
  if (child.hasAttribute(height)) {
writer.addStatement(%1$s.setCellHeight(%2$s, \%3$s\);,
fieldName, childFieldName,
 child.consumeRawAttribute(height));
  }

  // Parse the CellPanel-specific attributes on the Dock element.
  CellPanelParser.parseCellAttributes(child, fieldName,
 childFieldName, writer);

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: DockPanelParser and width/height attributes

2010-06-18 Thread Joel Webber
I'll have a look this afternoon. w.r.t. the other patch, I'm running all the
tests right now. Thanks for both of these!

Le 18 juin 2010 11:08, Konstantin.Scheglov konstantin.scheg...@gmail.com a
écrit :


  I've added patch for review.
  http://gwt-code-reviews.appspot.com/633802/show

 BTW, I've added also other patch yesterday and would like to add more
 of them in future (TextAlignConstant parser, AbsolutePanel support,
 etc). What is procedure for asking review? Sorry if I'm too
 impatient. ;-)

 On Jun 18, 5:26 pm, Joel Webber j...@google.com wrote:
  That certainly looks like a leftover implementation detail that could be
  cleaned up. If you don't mind putting together a patch I'd be happy to
  commit it.
 
  Le 18 juin 2010 08:23, Konstantin.Scheglov 
 konstantin.scheg...@gmail.com a
  écrit :
 
 
 
Is there reason to have separate handling for width/height
   attributes?
As I can see, CellPanelParser.parseCellAttributes() already handles
   these attributes and generates same statements.
 
// And they can optionally have a width.
if (child.hasAttribute(width)) {
  writer.addStatement(%1$s.setCellWidth(%2$s, \%3$s\);,
  fieldName, childFieldName,
   child.consumeRawAttribute(width));
}
 
// And they can optionally have a height.
if (child.hasAttribute(height)) {
  writer.addStatement(%1$s.setCellHeight(%2$s, \%3$s\);,
  fieldName, childFieldName,
   child.consumeRawAttribute(height));
}
 
// Parse the CellPanel-specific attributes on the Dock element.
CellPanelParser.parseCellAttributes(child, fieldName,
   childFieldName, writer);
 
   --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] FileUpload.setEnabled(false) causing invalid access of stack red zone 0x141055ff8 rip=0x101098a05

2010-06-07 Thread Joel Webber
Even if that were a stupid thing to do, it shouldn't be crashing like that
:) I suspect that most browsers would either silently fail or throw an
exception under those circumstances, but that should be pretty harmless.

What browser/platform are you seeing this on? At a glance, the bug looks
like something to do with the plugin's marshalling code.


Le 4 juin 2010 13:47, Aaron Steele eightyste...@gmail.com a écrit :

 I'm seeing something fairly funky occur if I disable a FormUpload
 widget in a FormPanel.onSubmit() handler (here's the code:
 http://pastebin.com/SSSqGtB1). Basically the Dev server and browser
 crashes with the following console message:

 Invalid access of stack red zone 0x141055ff8 rip=0x101098a05

 Running it with log=SPAM prints the following output over and over and
 over again until the crash:

 Invoke native method
 @com.google.gwt.dom.client.Element::setPropertyBoolean(Ljava/lang/String;Z)
 - this=JavaScript object(12)
 - arg[0]=string: 'disabled'
 - arg[1]=bool: true
 - return void
 Invoke native method
 @com.google.gwt.dom.client.Element::setPropertyBoolean(Ljava/lang/String;Z)
 - this=JavaScript object(7)
 - arg[0]=string: 'disabled'
 - arg[1]=bool: true
 - return void

 What's the expected behavior if a FormUpload is disabled in the
 FormPanel.onSubmit() handler (if disabling a FormUpload is kind of a
 stupid thing to do, uh, FHMP)?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Tabless

2010-06-03 Thread Joel Webber
That's all basically correct. The VerticalPanel alignment methods are a
little funky to reimplement in FlowPanel -- someone would have to sit down
and actually try all the cases to make sure they work (I'm fairly sure
text-alignment: will do it, but I'd need to confirm).

Le 3 juin 2010 12:11, Ray Ryan rj...@google.com a écrit :

 So that'd mean deprecating DockPanel, SplitPanel, TabPanel and
 VerticalPanel. Any others? We shouldn't deprecate RootPanel, right?

 The deprecation language will probably need to point out that the new
 panels aren't just drop in replacements — that they require standards mode,
 and are most easily used under a RootLayoutPanel. Is that accurate? Anything
 else to say?

 For VerticalPanel, we'd tell them to use FlowPanel instead, but what could
 we tell them about its alignment methods? Is there generic advice to offer
 for doing that kind of thing in a FlowPanel?

 On Wed, May 26, 2010 at 8:41 AM, Joel Webber j...@google.com wrote:

 Well... HorizontalPanel is still useful in some instances, and we have no
 way of providing the same behavior in a general way because CSS layout is a
 bloody mess. I'd be ok with deprecating the others (StackPanel, TabPanel,
 VerticalPanel, and DockPanel) though.

 Le 26 mai 2010 11:36, Ray Ryan rj...@google.com a écrit :

  Joel, can we  @Deprecate all the redundant non-flow panels yet? It's
 getting harder and harder for people to discover the right thing to do.

 On Wed, May 26, 2010 at 7:15 AM, Joel Webber j...@google.com wrote:

 The FlowPanel (just a simple div that leaves its children's styles
 unmodified) already allows you to do this. For the vertical case, this 
 tends
 to happen naturally with block-level children.

 The horizontal case is trickier, however. Using float:left captures
 some, but definitely not all cases (vertical alignment is quite hard).
 inline-block isn't supported on all browsers (and has behavior quirks even
 on modern browsers). Basically, there's no simple answer that actually 
 works
 across browsers, so we haven't yet tried to offer a widget that does this
 automatically. Your best bet is to actually just use a FlowPanel and style
 its children using the kinds of tricks described in the linked Wikipedia
 article. Maybe one day we'll get hbox/vbox/flexbox across browsers, but
 until then horizontal alignment is extremely difficult to generalize.

 Cheers,
 joel.

 Le 25 mai 2010 06:39, Ivo ivom...@gmail.com a écrit :

 The next GWT Developments, will have alternatives to the VerticalPanel
 and HorizontalPanel, using no table tags??
 http://en.wikipedia.org/wiki/Tableless_web_design

 For instance, the HorizontalPanel could have a alternative named
 HorizontalFlowPanel, that instead of generate this code:

 table
  tr
  td
   cell1
  /td
  td
   cell2
  /td
  /tr
 /table

 Generate that:

 div style=float:left
  cell1
 /div
 div style=float:left
  cell2
 /div

 This alternative is lighter for the browser, and for the developer
 when we needs to know what code are GWT generating. You have some
 development in this area?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Tabless

2010-06-03 Thread Joel Webber
I'm fine with leaving h/v undeprecated for the time being. It is worth
pointing out that the vertical alignment *within* cells of a vertical panel
isn't usually useful, because as John says, it tightly wraps its content
vertically. Getting a vertical panel to stretch out vertically such that
there is any freedom of vertical movement for its children is both unusual
and hard to achieve.

Le 3 juin 2010 12:56, Ray Ryan rj...@google.com a écrit :

 No argument. And since we've never, ever managed to actually delete a
 deprecated class so far as I know, the issue may not come up for a while…


 On Thu, Jun 3, 2010 at 9:53 AM, Amir Kashani amirkash...@gmail.comwrote:

 While I think deprecating these widgets is definitely the right move, I
 don't think the normal policy of removing them after one release will work
 (is this still the actual policy?). Breaking an application's dependence on
 these widgets and switching to the new equivalents is a particular daunting
 task for a large application as it has to happen all at once. That is,
 either the entire app becomes standards compliant or none of it. That could
 be a awful lot of tables  CSS to fix.

 - Amir

 On Wed, May 26, 2010 at 8:36 AM, Ray Ryan rj...@google.com wrote:

 Joel, can we  @Deprecate all the redundant non-flow panels yet? It's
 getting harder and harder for people to discover the right thing to do.


 On Wed, May 26, 2010 at 7:15 AM, Joel Webber j...@google.com wrote:

 The FlowPanel (just a simple div that leaves its children's styles
 unmodified) already allows you to do this. For the vertical case, this 
 tends
 to happen naturally with block-level children.

 The horizontal case is trickier, however. Using float:left captures
 some, but definitely not all cases (vertical alignment is quite hard).
 inline-block isn't supported on all browsers (and has behavior quirks even
 on modern browsers). Basically, there's no simple answer that actually 
 works
 across browsers, so we haven't yet tried to offer a widget that does this
 automatically. Your best bet is to actually just use a FlowPanel and style
 its children using the kinds of tricks described in the linked Wikipedia
 article. Maybe one day we'll get hbox/vbox/flexbox across browsers, but
 until then horizontal alignment is extremely difficult to generalize.

 Cheers,
 joel.

 Le 25 mai 2010 06:39, Ivo ivom...@gmail.com a écrit :

 The next GWT Developments, will have alternatives to the VerticalPanel
 and HorizontalPanel, using no table tags??
 http://en.wikipedia.org/wiki/Tableless_web_design

 For instance, the HorizontalPanel could have a alternative named
 HorizontalFlowPanel, that instead of generate this code:

 table
  tr
  td
   cell1
  /td
  td
   cell2
  /td
  /tr
 /table

 Generate that:

 div style=float:left
  cell1
 /div
 div style=float:left
  cell2
 /div

 This alternative is lighter for the browser, and for the developer
 when we needs to know what code are GWT generating. You have some
 development in this area?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: RR : Rework ImageResourceGenerator to address several issues (issue335802)

2010-06-02 Thread Joel Webber
Crap, sorry. I/O ate my brain. Reviewing now.

Le 2 juin 2010 10:04, b...@google.com a écrit :

 Ping.

 http://gwt-code-reviews.appspot.com/335802/show


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Tabless

2010-05-26 Thread Joel Webber
The FlowPanel (just a simple div that leaves its children's styles
unmodified) already allows you to do this. For the vertical case, this tends
to happen naturally with block-level children.

The horizontal case is trickier, however. Using float:left captures some,
but definitely not all cases (vertical alignment is quite hard).
inline-block isn't supported on all browsers (and has behavior quirks even
on modern browsers). Basically, there's no simple answer that actually works
across browsers, so we haven't yet tried to offer a widget that does this
automatically. Your best bet is to actually just use a FlowPanel and style
its children using the kinds of tricks described in the linked Wikipedia
article. Maybe one day we'll get hbox/vbox/flexbox across browsers, but
until then horizontal alignment is extremely difficult to generalize.

Cheers,
joel.

Le 25 mai 2010 06:39, Ivo ivom...@gmail.com a écrit :

 The next GWT Developments, will have alternatives to the VerticalPanel
 and HorizontalPanel, using no table tags??
 http://en.wikipedia.org/wiki/Tableless_web_design

 For instance, the HorizontalPanel could have a alternative named
 HorizontalFlowPanel, that instead of generate this code:

 table
  tr
  td
   cell1
  /td
  td
   cell2
  /td
  /tr
 /table

 Generate that:

 div style=float:left
  cell1
 /div
 div style=float:left
  cell2
 /div

 This alternative is lighter for the browser, and for the developer
 when we needs to know what code are GWT generating. You have some
 development in this area?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Tabless

2010-05-26 Thread Joel Webber
Well... HorizontalPanel is still useful in some instances, and we have no
way of providing the same behavior in a general way because CSS layout is a
bloody mess. I'd be ok with deprecating the others (StackPanel, TabPanel,
VerticalPanel, and DockPanel) though.

Le 26 mai 2010 11:36, Ray Ryan rj...@google.com a écrit :

 Joel, can we  @Deprecate all the redundant non-flow panels yet? It's
 getting harder and harder for people to discover the right thing to do.

 On Wed, May 26, 2010 at 7:15 AM, Joel Webber j...@google.com wrote:

 The FlowPanel (just a simple div that leaves its children's styles
 unmodified) already allows you to do this. For the vertical case, this tends
 to happen naturally with block-level children.

 The horizontal case is trickier, however. Using float:left captures some,
 but definitely not all cases (vertical alignment is quite hard).
 inline-block isn't supported on all browsers (and has behavior quirks even
 on modern browsers). Basically, there's no simple answer that actually works
 across browsers, so we haven't yet tried to offer a widget that does this
 automatically. Your best bet is to actually just use a FlowPanel and style
 its children using the kinds of tricks described in the linked Wikipedia
 article. Maybe one day we'll get hbox/vbox/flexbox across browsers, but
 until then horizontal alignment is extremely difficult to generalize.

 Cheers,
 joel.

 Le 25 mai 2010 06:39, Ivo ivom...@gmail.com a écrit :

 The next GWT Developments, will have alternatives to the VerticalPanel
 and HorizontalPanel, using no table tags??
 http://en.wikipedia.org/wiki/Tableless_web_design

 For instance, the HorizontalPanel could have a alternative named
 HorizontalFlowPanel, that instead of generate this code:

 table
  tr
  td
   cell1
  /td
  td
   cell2
  /td
  /tr
 /table

 Generate that:

 div style=float:left
  cell1
 /div
 div style=float:left
  cell2
 /div

 This alternative is lighter for the browser, and for the developer
 when we needs to know what code are GWT generating. You have some
 development in this area?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: Adds a mobile-friendly drag-scroll implementation. (issue530801)

2010-05-18 Thread Joel Webber
We should definitely consider how we're going to bring gesture/touch events
into the existing event framework. I went ahead and wrote this the simple
way because it will only ever need to work on mobile webkit browsers, which
all safely support addEventListener() and don't leak memory.

Le 14 mai 2010 15:07, cromwell...@gmail.com a écrit :


 Joel, I think post I/O perhaps we should add touch events support to
 dispatchEvent() rather than call addEventListener directly, so you'd be
 able to invoke sinkEvents(Event.TOUCH_EVENTS);. I did this for my apps
 and have working code.



 http://gwt-code-reviews.appspot.com/530801/diff/1/9
 File /bikeshed/src/com/google/gwt/mobile/client/TouchHandler.java
 (right):

 http://gwt-code-reviews.appspot.com/530801/diff/1/9#newcode57
 /bikeshed/src/com/google/gwt/mobile/client/TouchHandler.java:57: },
 capture);
 Memory leak?


 http://gwt-code-reviews.appspot.com/530801/show


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Setting DocType or Standards mode within generated cache.html files

2010-05-14 Thread Joel Webber
Erin,

The DOCTYPE of the script HTML won't affect the behavior of the outer page.
You should only have to put a simple !DOCTYPE html in the outer page --
that's it. If you're still having troubles with LayoutPanel after that, ping
me.

Cheers,
joel.

Le 13 mai 2010 15:04, Erin sparkle...@gmail.com a écrit :

 I am trying to use the TabLayoutPanel, but having issues within IE.
 Using Debug bar, I can see that the frame created from the generated
 files has document mode of IE5 Quirks. There is no DocType set within
 the generated cache.html. I have tried just adding the DocType
 definition to the page that my jJavascript reference to the module is
 on, but though the frame containing the main page is IE7Standards, the
 frame containing the module is still Quirks. Is there a setting that
 can be made in the java code or the module definition(gwt.xml) that
 can set the DocType on the frames created to hold the gwt module
 generated code.

 I would appreciate any assistance.

 Thanks,

  Erin

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: use ParameterizedType at GWT#create method (issue429801)

2010-05-12 Thread Joel Webber
I'm not the right one to review this, but I just wanted you to (a) apologize
for your email getting caught by the spam filter (which I just fixed), and
(b) let you know that we're all pretty slammed getting ready for I/O, so it
might be a while before anyone has time to take a look. This looks like a
fairly complex change, so it would be very helpful if you could post some
sort of (at least rough) design document.

Le 1 mai 2010 03:50, takeshi.ko...@gmail.com a écrit :

 Hi All

 This patch is my first contribution.
 I don't know whom to ask for this review.
 Please teach it to me?


 http://gwt-code-reviews.appspot.com/429801/show

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] History misses token set by Window.Location.replace()

2010-05-07 Thread Joel Webber
I've added comments to the bug so they don't get lost.
The short form of the story is that I'm not sure it's possible to make this
work in the general case because of various cross-browser issues (I'm always
happy to be proven wrong, though!)

Le 6 mai 2010 18:58, jarrod jarrod.carl...@gmail.com a écrit :

 In my module's entry point, I check the current History token, and if
 it is blank, I set it to a default value. This allows my normal MVP
 mechanisms to show the default view on startup.

 I set the default value using Window.Location.replace() so as not to
 create an entry in the browser's history stack. Unfortunately, History
 misses this new token and returns the blank one from before I replaced
 the URL.

 This looks like a defect to me. Anyone? I filed an issue with code
 samples...
 http://code.google.com/p/google-web-toolkit/issues/detail?id=4919

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: Selection/Cursor for RichTextArea implementation

2010-04-30 Thread Joel Webber
You can always just put it up in a little code.google.com (or github, as you
see fit) project. That usually makes it easier for others to try it out.

Le 30 avril 2010 14:03, kozura koz...@gmail.com a écrit :

 Ok, understood, just didn't want it to get lost in the mix.  Maybe for
 now I'll just attach the library as-is to the issue, and worry about
 making it GWT-compliant later.

 Thanks,
 jk

 On Apr 30, 11:57 am, John LaBanca jlaba...@google.com wrote:
  External contributions are always welcome, but we've all been heads down
 for
  the last couple of weeks getting ready for Google I/O.  We promise to be
  more attentive and look at your proposal once I/O is over.
 
  Thanks,
  John LaBanca
  jlaba...@google.com

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] RootLayoutPanel

2010-04-26 Thread Joel Webber
Kerr,

Can you show me roughly the code needed to get into this state? It sounds
like it could be a problem, but I'm having a slightly hard time imagining
the precise code that got you here.

Cheers,
joel.

Le 15 avril 2010 12:34, kerrr kerr.rai...@gmail.com a écrit :

 Hi,

 I've been playing around with RootLayoutPanel and have some questions
 about how it works.

 I had a UI layed out by placing widgets in lements on a page using
 RootLayout.get(foo).add(widget).  This was fine.  I wanted to try
 adding a LayoutPanel on top to achieve a LightBox style effect.  This
 was all goign well untill I wanted to gt rid of the LayoutPanel.  I
 couldn't work out how to do it.  I removed the LayoutPanel from the
 RootLayoutPanel but none of the underlying ui could be clicked.
 Eventually I discovered that I needed to remove the RootLayoutPanel
 from the RootPanel.  This works but leaves the singleton
 RootLayoutPanel detached and calling RootLayoutPanel.get() again
 simply returns the detached RootLayoutPanel.  Trying to add anything
 to it throws an exception.  You can work around this my reattaching
 the RootLayoutPanel yourself, but this seems a bit ugly.

 So here are my thoughts on an improvement.  Please let me know if
 there is any reason why this would cause a problem.

 1. Have RootLayoutPanel detach itself automatically from its parent if
 all it's children are removed.
 2. Defer attaching the RootLayoutPanel to RootPanel untill a child is
 added to it.

 I'm planning on implementing my own replacement RootLayoutPanel to see
 how it works, but please let me know if there is anything I should
 consider when doing this.

 Cheers
 Kerr

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Text Area enhancement

2010-04-19 Thread Joel Webber
Allahbaksh,

That seems like it would be useful, though looking at the code I'm a little
wary as to whether it works in all circumstances (font-size changes, etc).
The first step would be to convert it to Java (usually pretty
straightforward) and test it under all the circumstances you can think of --
change the font-size, resize the element, try it on all browsers, and so
forth.

Cheers,
joel.

Le 19 avril 2010 03:02, Allahbaksh Asadullah a.allahba...@gmail.com a
écrit :

 Hi,
 I want to get the coordinates of the Cursor position in TextArea so
 that I can show the popup appropriately. Please find the similar
 implementation of  http://enobrev.info/cursor/.

 I am not sure whether a new method to get the coordinates of the
 cursor is really helpful to other but I think it would grea.

 Warm Regards,
 Allahbaksh

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] TabLayoutPanel: Distinguish between user- and code-initiated SelectionEvents

2010-04-12 Thread Joel Webber
[I just commented directly on the linked issue]

On Thu, Apr 8, 2010 at 11:17 PM, jarrod jarrod.carl...@gmail.com wrote:

 I would really like to see a way to distinguish between
 SelectionEvents (and BeforeSelectionEvents) in TabLayoutPanel based on
 whether the event occurred in response to a user action (e.g. clicking
 a tab) or a programmatic call (e.g. TabLayoutPanel#selectTab).

 I have created an issue for this request:
 http://code.google.com/p/google-web-toolkit/issues/detail?id=4834

 Any thoughts on a possible work around? Will sub-classing
 TabLayoutPanel mean I need to also sub-class the TabLayoutPanelParser
 for use with UiBinder?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

 To unsubscribe, reply using remove me as the subject.


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: RFC: Web worker proposal and proof of concept

2010-04-12 Thread Joel Webber
Brendan,

At a quick glance, this looks pretty much like I would have expected a good
workers library to look like. Is there any way I *could* convince you to
make a wave of it? It's a pretty big description, and would probably diverge
badly on a mailing list (@everyone: If anyone who frequents this list
doesn't yet have a wave account, don't hesitate to ping me so I can get you
invites).

If I understand correctly, it looks like you've made this work without
patching GWT proper. Assuming that's correct, are there any changes that
would have made it simpler or more efficient?

Cheers,
joel.

On Thu, Apr 8, 2010 at 9:41 PM, Brendan Kenny bcke...@gmail.com wrote:

 Gah, well, it should have been a wave.

 Aside from the assorted grammatical problems, the library is
 https://code.google.com/p/gwt-ns/
 and the all important goal of To patching of GWT should of course be
 NO patching.

 Also, I'm not sure if the workflow of the current implementation is
 entirely clear.

 1) A class extends the WorkerEntryPoint and does what it needs to do,
 dealing with messages from its parent as they arrive. If it fulfills
 the requirements listed above under Valid Worker Modules, it can be
 instantiated and used as a web worker.
 2) The parent project instantiates a worker from a worker module as
 listed under To Use a Worker. The object created can only give
 messages, receive them, and be terminated.
 3) Developers compile *only* the parent project. The invoked generator
 and linkers handle the rest.


 On Apr 8, 8:05 pm, Brendan Kenny bcke...@gmail.com wrote:
  This might be a bit unusual. I have a fairly reasonable proposal for
  supporting web workers in GWT proper, and a working proof of concept
  that shouldn't come anywhere near the core toolkit. Everyone seems
  busy with what looks like 2.1 and the upcoming I/O, so I'm not
  expecting miracles, but I would appreciate any wider perspective and
  maybe some Compiler insight to make the implementation less of a
  complete hack.
 
  A few months ago I put together a module to get workers working nicely
  with the GWT compiling/linking process. It was originally just on a
  bit of a lark, but it's proven so easy to use (thanks to GWT, not me)
  that I've ended up developing a few projects with it, two examples of
  which I've posted over with the code (http://code.google.com/p/gwt-
  ns/). I finally have some time to come back to the module and finish
  some lingering issues, but thought I might try and get some other
  perspectives first. If there's a GWT 2.1 web worker skunkworks project
  already in progress, please let me know now =)
 
  To give credit where its due: several files came from the Speedtracer
  worker overlay code and one or two files came from GALGWT. I've
  preserved copyright notices everywhere, and everything else is also
  Apache 2.0 licensed. I also finally got around to watching 2008's GWT
  Extreme! and found out my compilation scheme is very similar to what
  Ray Cromwell was up to two years ago (which probably happens a lot).
  He called it the Generator+Linker+Generator+Linker pattern, though in
  this case it's more Generator+Linker(+Generator+Linker)*.
 
  Anyway, like Ray Ryan, I wish this were a wave, but I'll stick to the
  board for now. I tried to keep it short, but it got rather long, so if
  there is interest I can make it look a bit more like an actual design
  document in a wave and hook it up to the water cooler.
 
  === Motivation ===
  Web workers, as currently specifiedhttp://
 www.whatwg.org/specs/web-workers/current-work/
  have two primary requirements. They are separate Javascript files,
  loaded in a worker constructor that
  1. Doesn't access the DOM
  2. Don't share state or context with other execution contexts (e.g.
  their parent script).
  Once a worker is loaded and running, the worker and its parent can
  pass messages to each other, usually in JSON form.
 
  At least for transitional worker support, I'm suggesting a third
  condition
  3. No single code execution will throw a slow script warning, even
  when run *normally* in an older/slower browser.
  This does necessarily limit functionality, e.g. ruling out the usual
  worker examples of blocking I/O and long running calculations. The
  first isn't really welcome in the GWT world, anyways, and really any
  synchronous operation is a bad fit for GWT/Javascript. This condition
  can also just be considered transitional; I'll go with it for now and
  just assert that another level of deferred binding could give allow
  more flexibility on this point.
 
  Accepting these three conditions, a true worker object becomes
  functionally equivalent to a simple isolated object with only post and
  receive message methods in its exposed interface (an Actor, if you're
  into that sort of thing). In practice, the only difference is that
  some newer platforms will execute the native worker off the main
  thread.
 
  In exchange for some loss of flexibility, instead of 

Re: [gwt-contrib] Re: Comment on EnumOptimizations in google-web-toolkit

2010-04-12 Thread Joel Webber
[+cromwell: What's the current state of the enum optimizations? I seem to
recall they were partially done, but forgot where the doc is]

On Mon, Apr 12, 2010 at 11:28 AM, codesite-nore...@google.com wrote:

 Comment by piotr.swigon:

 Joel,

 I would like to ask if anything has changed regarding enums implementation
 in GWT 2.0.X ? We're having a discussion in gwt-google-apis if we should
 start using enums instead of string-enum pattern, and some information about
 current state would be highly appreciated.


 For more information:
 http://code.google.com/p/google-web-toolkit/wiki/EnumOptimizations

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

 To unsubscribe, reply using remove me as the subject.


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: A question!

2010-04-09 Thread Joel Webber
[+gwt group]

Konark,

I actually don't see an attached screenshot (perhaps you forgot the
attachment -- I do that all the time). I would normally recommend just
looking at the Showcase source (it's part of the GWT distribution, and you
can find it online here:
http://code.google.com/p/google-web-toolkit/source/browse/#svn/trunk/samples/showcase).
If you have questions about specifics, please feel free to ask them here on
the group, and I may be able to help as well.

Cheers,
joel.

On Wed, Apr 7, 2010 at 2:40 PM, Konark Shah sha...@plu.edu wrote:

 Hello Sir,

 I am a student of Pacific Lutheran University ,Tacoma ,WA. I am currently
 working on my final year (Computer Sci) project which is a website, being
 development with GWT.

 My team and I are stuck at one part in the project which might be a piece
 of cake for skilled developers like you. All we are trying to do is figure
 out how to create a bar similar to the one in your GWT Showcase application.
 It will make more sense if you check the  screenshot attached with this
 email.

 It will be a huge favor on us if you can give us some idea how to create a
 link-bar like that. We are aware that there is Tab bar and tab-panel widget
 available however, they are not matching our GUI design.

 We look forward for your email.

 Konark Shah
 Student
 Pacific Lutheran University, Tacoma WA


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



Re: [gwt-contrib] DockLayoutPanel addLayoutCompleteHandler

2010-03-31 Thread Joel Webber
I was hoping that because most people (not using the Maps API) wouldn't need
this, it wouldn't be necessary to provide a special case for layout
complete outside of the existing animation callbacks. Does it not work to
put the Map in a RequiresResize container and call its layout method when
onResize() is called?

On Thu, Mar 18, 2010 at 2:42 AM, jd jdpatter...@gmail.com wrote:

 Hi, I use DockLayoutPanel with Google maps and there is a known issue
 where any component inside a DockLayoutPanel that depends on the size
 of its container must be initialized like this:

 root.animate(0, new AnimationCallback()
 {
  public void onLayout(Layer layer, double progress)
  {
  }

  public void onAnimationComplete()
  {
  // init internal widget
  }
 }

 I was thinking it might be more obvious to include a handler after the
 layout is complete?

 addLayoutCompleteHandler()?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

 To unsubscribe from this group, send email to
 google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to
 this email with the words REMOVE ME as the subject.


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: LayoutImplIE6 and onResize()

2010-03-31 Thread Joel Webber
John,

Sorry for the slow response -- I've had a browser window open for several
days to respond, but I keep getting pulled off onto other things.

It sounds like this is indeed an ordering bug. It's hard to be sure
precisely when IE's going to call onresize() (onmove() and onresize() are
obscure non-standard events that aren't documented all that well). But what
you're saying makes perfect sense, and I'll try to find a way to get the
ordering straight. Would you mind entering an issue (or pointing me to it if
you already have) that captures this?

It may take me a little while to get a test case together and work out a
solution. Please let me know anything you discover that might help.

Thanks,
joel.

On Wed, Mar 31, 2010 at 5:51 AM, jd jdpatter...@gmail.com wrote:

 Does anyone think this is a bug?  Or is it expected behaviour?

 On Mar 23, 10:40 pm, jd jdpatter...@gmail.com wrote:
  Something else related to this problem:  when a DockLayoutPanel is
  animated to resize its children, onResize() is called *before* the
  resize but my child component was expecting to examine its new size.
 
  The JavaDoc for onResize says This method must be called whenever the
  implementor's size has been modified.
 
  Has been modified signifies that it should be called *after* the
  resize has occurred which would definitely be more useful and
  expected.
 
  Currently, onResize is not called at the end of the animation because
  the animations onComplete() calls Layout.layout() and not
  Layout.layout(0, callback).  i.e. if the callback was passed then
  onResize() should also get called at the end of the animation.
 
  John
 
  On Mar 20, 12:31 pm, jd jdpatter...@gmail.com wrote:
 
 
 
   Hi,
 
   I am experiencing a problem using a DockLayoutPanel with IE6 where a
   child widgets RequiresResize.onResize() is fired before the
   LayoutImplIE6 has updated the widgets width and height with new
   values.
 
   I have a child widget that needs to know when it is resized so it can
   resize a nested MapWidget.  I must do this because setting the maps
   height to 100% does not work inside a DockLayoutPanel child in IE7
   because the element is positioned absolutely using top, bottom, left,
   right.  Using this same absolute positioning for the child map does
   work in IE7 but obviously not in IE6.
 
   My current solution is to implement RequiresResize and explicitly
   resize the map to the dimensions of the container.  This works well in
   all browsers except IE6 because the container element has not yet been
   resized by LayoutImplIE6
 
   It looks like this is due to the RootLayoutPanel registering its
   window resize handler before the LayoutImplIE6 registers its handler.
 
   I could work around this problem by either making the map a direct
   child of the DockLayoutPanel which means that the browser specific
   resize problems are handled by the Layout.
 
   Alternatively, I could use another nested LayoutPanel or implement
   browser specific resize logic myself.
 
   But it seems that onResize() is designed for situations like this?
 
   Thanks,
 
   John

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

 To unsubscribe, reply using remove me as the subject.


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] TabLayoutPanel suggestion: Add tab-position property

2010-03-31 Thread Joel Webber
On Wed, Mar 24, 2010 at 1:01 PM, dflorey daniel.flo...@gmail.com wrote:

 I've been missing that one as well.
 I can provide patches if desired.

 --


On Wed, Mar 24, 2010 at 11:40 AM, dflorey daniel.flo...@gmail.com wrote:


 I just needed a TabLayoutPanel with Tabs on the bottom instead of tabs
 on the top. I copied the TabLayoutPanal and changed the orientation.
 I'd like to suggest to add this feature as an option in another cstr.
 It requires just 3 lines of code ;-)


[sorry for the slow response -- swamped lately]
Would you mind entering issues for these and pointing me at them? I know it
sounds kind of pedantic for little changes, but we're trying to manage our
workflow more carefully these days. Patches always speed things up, of
course :)

Cheers,
joel.

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: IE9 preview support ?

2010-03-22 Thread Joel Webber
I just installed the preview the other day as well, and most things seem to
be working ok (the UA script should detect it as IE8 for the time being). As
others point out on this thread, the DOMContentLoaded thing is expected
(because they added addEventListener()) but likely harmless.

I haven't had time to look into it too deeply yet, but I'm really hoping
that they're far enough along in standards implementation that we can switch
away from the DOMImplTrident base and consider IE9 a standard browser.
We'll see how that goes in practice soon...

On Sun, Mar 21, 2010 at 9:24 PM, Brendan Kenny bcke...@gmail.com wrote:

 I get the same DOMContentLoaded error, but that's as expected. Check
 out the addEventListener event registration section in the release
 notes:

 http://ie.microsoft.com/testdrive/info/ReleaseNotes/Default.html#WPKI

 My applications all work as well--even while throwing that error--
 which is weird. I wouldn't think the bootstrap script would work if
 the event is detected as implemented but never fires, but there it is.

 I'm a big fan of Microsoft's choice of chrome for the preview...no one
 will be using this as their default browser and complaining
 accordingly.

 On Mar 21, 2:32 pm, Matt Mastracci matt...@mastracci.com wrote:
  I'm seeing the same thing in our application. I haven't had time to dig
 into it, but I'm seeing 'unknown event DOMContentLoaded' in the developer
 tools console.  The GWT Showcase example works, however.  Maybe some sort of
 doctype issue?
 
  On 2010-03-20, at 4:53 AM, nicolas.deloof wrote:
 
 
 
   Hi,
 
   I tried my GWT 2.0 webapp with the recent test build of IE9 and it
   doesn't display. I wonder IE9 is not recognized as IE, event whit IE8
   mode set.
 
   The browser may use a unsuported user-agent ID, is there allready any
   test done on this new browser ? roadmap to support its better
   support for standards ?
 
   Cheers,
   Nicolas
 
   --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 
   To unsubscribe from this group, send email to
 google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to
 this email with the words REMOVE ME as the subject.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

 To unsubscribe from this group, send email to
 google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to
 this email with the words REMOVE ME as the subject.


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe from this group, send email to 
google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to this 
email with the words REMOVE ME as the subject.


Re: [gwt-contrib] Proposal for including easyXDM as a new cross-domain Transport/RPC

2010-03-22 Thread Joel Webber
[+matt]

I can't speak to any experience with either of these libraries, but this
also sounds like the work Matt's been doing here:
  http://code.google.com/p/gwt-rpc-plus/

http://code.google.com/p/gwt-rpc-plus/Can anyone speak to the relationship
between these libraries? I'd love to see a standard way of dealing with XDM
make it into the GWT core.

On Sun, Mar 21, 2010 at 10:59 AM, Sean Kinsey okin...@gmail.com wrote:

 I've seen many questions on the net on how to enable cross-domain
 requests with GWT, and most of the solutions I've seen mentioned has
 been less efficient than what I know the easyXDM library can offer.

 For those who has never heard of it, easyXDM is a library that
 conveniently abstracts away all the hassle of hash/fragments,
 window.name and postMessage, and that exposes a simple and reliable
 Socket that allows strings to be passed between two documents (no
 reloads, so both documents can keep state).
 Whatever kind of transport being used internally (based on what the
 browser offers etc) the stack will provide _reliability_, queuing (and
 fragmenting if necessary) and security.

 Whats interesting with the library is that it also contains an Rpc
 class, that allows you to invoke methods, with complex arguments
 (JSON), and with or without return values.

 From the consumers calling an RPC method is as easy as doing
 //set up rpc object, only a few simple lines
 var rpc = new easyXDM.Rpc(...


 rpc.nameOfMethod(arg1, arg2, arg3, function
 methodToHandleResponse(response){
 ...
 });


 Why don't you give it a try?
 The library has several easy to follow examples at http://easyxdm.net/;
 the Rpc sample can be found at
 http://consumer.easyxdm.net/current/example/methods.html

 Regards
 Sean Kinsey

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

 To unsubscribe from this group, send email to
 google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to
 this email with the words REMOVE ME as the subject.


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe from this group, send email to 
google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to this 
email with the words REMOVE ME as the subject.


Re: [gwt-contrib] Re: Array implementation for Lightweight Collections. Pure Java implementation only. (issue232801)

2010-03-22 Thread Joel Webber
I think we're talking about two different things here. Rodrigo's (valid)
point is that implementing immutability sanely early on is a good idea. And
this implementation is pretty much analogous to the one you describe from
Cocoa.

The question at hand is whether it makes sense to get an immutable
collection from a mutable one, with no copies. There are two ways to do
this:
1. Create an immutable view of a mutable list, but with no guarantees that
the list won't be mutated by the original owner later.
2. Freeze a mutable list into an immutable view of said list, making the
former runtime immutable.

(1) solves the problem of a class giving access to one of its internal
collections without having to guard against external mutation. (2) can be
used to replicate the builder pattern.

I don't have a strong opinion about (2) myself, but (1) is pretty damned
important, because it's the source of innumerable stupid defensive copies in
JRE code. The provider of such an interface would just have to be very clear
about whether the immutable list might be modified later (because it's a
view on a mutable one).

On Mon, Mar 22, 2010 at 5:23 PM, Ray Ryan rj...@google.com wrote:

 I think you're missing my point. An object is immutable if there exists no
 api to mutate it. That should be enough.

 Let me put it another way. It's lame that the JRE achieves immutability by
 turning mutate methods into runtime errors. It will be equally lame of us to
 do the same, especially since we can't enforce it at production time. It
 would be much better to provide an api such that there is not even possible
 to compile the mutate call (without cheating with casts, but then you know
 you're being bad).

 The Cocoa approach to this is to have interfaces like NSArray be immutable,
 and then have NSMutableArray extend NSArray. If we're going to roll our own
 collection classes, it seems to me we could do the same: e.g.
 LiteImmutableList and List extends LiteImmutableList.

 rjrjr


 On Mon, Mar 22, 2010 at 2:12 PM, Rodrigo Chandia rchan...@google.comwrote:

 I like the *concept* of immutability being introduced early in the
 development. The initial implementation may be limiting for some use cases,
 but I believe it is a useful concept to expand on. If specific needs require
 simultaneous mutable and immutable access we can provide implementations to
 address that problem (copy on write semantics, for example).

 2010/3/22 Ray Ryan rj...@google.com

 I guess I'm overstating my opposition. It's not really dangerous, but it
 just doesn't seem useful. Just by existing I think it'll promote confusion
 and perhaps bad habits. Why bother?

 I think the 90% use case is for something like the following (writing in
 JRE terms here):

 private final ListString magicValues;
 {
ListString buildValues = new ArrayListString();
buildValues.add(able);
buildValues.add(baker);
buildValues.add(charlie);
magicValues = Collections.unmodifiableList(buildValues);
 }

 Ta da: it's a read only structure and no copy was made. In our world, we
 could do better:

 private final ImmutableLiteListString magicValues;
 {
LiteListString buildValues = new LiteListString();
buildValues.add(able);
buildValues.add(baker);
buildValues.add(charlie);
magicValues = buildValues.immutableView(); // more equivalent of
 cast()
 }

 The user never thinks in terms of freezing, just cutting off access. No
 extra dev mode mechanism to maintain, and basically the same idiom already
 in use in Java.



  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

 To unsubscribe from this group, send email to
 google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to
 this email with the words REMOVE ME as the subject.


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe from this group, send email to 
google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to this 
email with the words REMOVE ME as the subject.


Re: [gwt-contrib] ClientBundle produce memory leaks in IE6

2010-03-19 Thread Joel Webber
I am able to reproduce this leak as well, and can confirm that it only
happens on IE6 (not 7+). If I use a standard image url rather than a
ClientBundle, the leak goes away. Interestingly, though, it doesn't appear
to be a standard circular-ref leak, because Microsoft's own leak detector
doesn't flag it, and the memory is recouped when you navigate away from the
page (IE7+ will try to clean up some kinds of leaks when you leave the page,
but IE6 makes no such attempt).

This implicates the ClippedImageImplIE6 code, which has been a nasty thorn
in our side for some time. I've tried without success to replicate the leak
in a simple Javascript snippet, but that likely means I just haven't stepped
on whatever particular set of problems is causing it.

@Adrien: Would you mind entering an issue for this so we can track it? I'm
likely to use this as another opportunity to push for removing that
god-awful code (see issues 1765, 3236, 3573, and 3588).

Thanks,
joel.

On Fri, Mar 19, 2010 at 10:50 AM, AdrienA aubry.adr...@gmail.com wrote:

 Hello,

 I find out a problem with the using of ClientBundle wich produce
 memory leaks in IE6.

 To proove that, I have realised a very simple application (you can
 find the source code at this address :

 http://google-web-toolkit-contributors.googlegroups.com/web/SampleCode-memoryLeakFromClientBundleOnIE6.zip
 )

 In this application, there is just one popup which contains 1000 times
 the same image creating by a ClientBundle.

 I open and close several times this popup and I observe the memory
 leaks in IE6 (with the soft Process Explorer for example).

 The result is alarming :
 http://www.googleonlinestorage.com/pictures/3077dd392df167271d24f526e41b637e.gif


 Is the problem already known? Maybe there is something to do ?


 Thank you,
 Adrien AUBRY


 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

 To unsubscribe from this group, send email to
 google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to
 this email with the words REMOVE ME as the subject.


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe from this group, send email to 
google-web-toolkit-contributors+unsubscribegooglegroups.com or reply to this 
email with the words REMOVE ME as the subject.


Re: [gwt-contrib] GWT's JsonpRequest conflicts browser caching

2010-03-18 Thread Joel Webber
That's definitely a valid point, and I understand how it would defeat
caching. However, I believe using a hash for the callback name would make it
impossible to properly deal with two requests to the same URL, because there
would be no way to distinguish which AsyncCallback should get which
response. This could lead to very difficult-to-debug errors.

It's not immediately obvious to me that there's a way to deal with this
correctly in the general case (though ideas are of course welcome). It might
be worth considering to allow the user to name the callback explicitly, but
it would have to come with dire warnings about making multiple overlapping
requests with the same callback name. Thoughts?

On Fri, Mar 12, 2010 at 3:48 PM, Frank frank.man...@yahoo.com wrote:

 I had a look at JsonpRequest and JsonpRequestBuilder provided by GWT
 2.0 for cross domain HTTP requests. Very nice, worked right away.

 However, there is one serious flaw...

 Like many other JSONP implementations, GWT's JsonRequest generates a
 unique callback name for each single jsonp request containing a serial
 number (e.g., __gwt_jsonp__.I1.onSuccess, __gwt_jsonp__.I2.onSuccess,
 and so on). This callback name is appended to the URI of the GET
 request, e.g.,
 http://service.whatsoever.com/book/12345678?callback=__gwt_jsonp__.I37.onSuccess
 .

 A response header such as Cache-Control: public, max-age=... telling
 the browser to cache the resource, will not have any effect because
 the URI was skewed. Getting one and the same resource (e.g., /book/
 12345678) with many different URIs makes browser caching through Cache-
 Control impossible.

 My proposal for GWT's JsonRequest is to provide an alternative
 strategy for generating callback names. If you use a hash value of the
 URI rather than a serial number, browser caching through Cache-Control
 would work.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Multiple inheritance in Widget hierarchy

2010-03-18 Thread Joel Webber
John,

The background behind that weird type hierarchy is that it stems from a time
before overlay types existed. Originally c.g.g.user.client.Element was a
simple opaque handle that had to be passed to the DOM.*() methods to get
anything done (same for Event). After the compiler got overlay type support
we added c.g.g.dom.client.Element as a superclass to user.Element, and
refactored all the DOM.*() methods to use the new dom.* node/element
hierarchy.

Unfortunately we couldn't banish user.Element altogether without breaking
everyone, so we ended up with a number of warts like
setElement(user.Element). It's been on our TODO list for some time to
deprecate user.Element and remove all references to it, but no one's found
the time yet. As you've probably discovered, we just end up using JSO.cast()
to work around this where necessary, but of course that won't work in real
Java.

If I understand what you're doing correctly, it sounds like clearing this up
would simplify your life. But it might take a while, because we have to go
through a fair amount of work to get there.

@kathrin  amit: How did you guys deal with this in the HtmlUnit testing
stuff? Sounds like it would have come up there.

Cheers,
joel.

On Thu, Mar 18, 2010 at 12:45 AM, jd jdpatter...@gmail.com wrote:

 Hi,

 I am reposting this question here as the user list got no reply and I
 guess it is more a dev question:

 I am experimenting with compiling GWT code with a standard JDK so I
 can use the same code to generate HTML on both the client and the
 server.  So far it seem to be working OK but will only be practical if
 I can also get UIBinder and i18n working.

 My goal is to create HTML pages that can be crawled and indexed and
 also allow GWT code to add, load and modify the page.  Others have
 recommended building two parallel sites - an html one and a GT one
 which seems a bit redundant.

 My experiement has put a real w3c Node inside every GWT Node and
 replace native methods with ones that manipulate the w3c node.  Then
 finally I take the full w3c node from any element and convert it into
 html.

 I found that the object hierarchy needed to be changed to be valid
 Java.  An example of the issue is with the Anchor widget:

  public Anchor() {
setElement(Document.get().createAnchorElement());
setStyleName(gwt-Anchor);
  }

 com.google.gwt.dom.client.AnchorElement extends
 com.google.gwt.dom.client.AnchorElement but setElement expects a
 com.google.gwt.user.client.Element so AnchorElement must extend both
 classes which is impossible.


 I have modified AnchorElement and friends to extends
 com.google.gwt.user.client.Element instead which seems to have
 worked.


 My question is:  Is this impossible inheritance hierarchy intentional
 to stop this kind of messing about?

 Cheers,

 John

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: Avira and HTML/CryptedGen (again)

2010-03-17 Thread Joel Webber
This is Avira, isn't it? Ddi you ever hear anything back from them about
this? It seems like it really ought to be fixed on their end, though I
applaud your spelunking for a workaround :)

On Tue, Mar 16, 2010 at 3:08 PM, Matt Mastracci matt...@mastracci.comwrote:

 On Mar 16, 12:42 pm, Matt Mastracci matt...@mastracci.com wrote:

   Holy cow -- how do they think that is an acceptable measure?  Surely
 they could at least change the warning to say potentially dangerous JS or
 something rather than declaring it a virus.

  This probably will likely affect a significant number GWT applications
 that use RPC. Avira seems to check files ending in .js* and .html* for this
 pattern.  I verified that the scanner intercepts these patterns in HTTP
 traffic and detects them in IE cache files.  There might be some negative
 patterns as well: Avira doesn't block my message in the Google Groups web
 interface, but it does block it when viewing the raw message source.

 Even better: it turns out that if you put the string google anywhere
 in the file matching CryptedGen, it no longer matches the heuristic. I
 imagine that it would pick up the string from the class metadata for
 those not using -XdisableClassMetadata.

 So this is a virus:

 for eval .fromcharcode .charcodeat math.min 0,0,0,0,0,0

 And this is not:

 google for eval .fromcharcode .charcodeat math.min 0,0,0,0,0,0

 The easiest solution for us seems to be putting the string Google Web
 Toolkit in a comment in our header.

 Matt.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Support runAsync with the cross-site linker.

2010-03-15 Thread Joel Webber
That's great news, and will really help with efforts to make our linkers
more sane. Out of curiosity, what's the strategy for loading fragments into
the enclosing namespace (and yes, that's the sound of me being too lazy to
dig into the patch)?

On Mon, Mar 15, 2010 at 6:17 PM, sp...@google.com wrote:

 Reviewers: cromwellian,

 Description:
 Support runAsync with the cross-site linker.


 Please review this at http://gwt-code-reviews.appspot.com/213801

 Affected files:
  M
 dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
  M dev/core/src/com/google/gwt/core/linker/IFrameLinker.java
  M dev/core/src/com/google/gwt/core/linker/XSLinker.java
  M dev/core/src/com/google/gwt/core/linker/XSTemplate.js
  M dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
  M dev/core/src/com/google/gwt/dev/jjs/impl/FragmentLoaderCreator.java
  A
 dev/core/src/com/google/gwt/dev/jjs/impl/HandleCrossIslandReferences.java
  M dev/core/src/com/google/gwt/dev/jjs/impl/JsFunctionClusterer.java
  M dev/core/src/com/google/gwt/dev/js/JsToStringGenerationVisitor.java
  A dev/core/test/com/google/gwt/dev/js/JavaScriptStringTest.java
  M user/src/com/google/gwt/core/CompilerParameters.gwt.xml
  M user/src/com/google/gwt/core/Core.gwt.xml
  A user/src/com/google/gwt/core/XSLinker.gwt.xml
  user/src/com/google/gwt/core/client/impl/AsyncFragmentLoader.java
  A user/src/com/google/gwt/core/client/impl/CrossSiteLoadingStrategy.java
  M user/src/com/google/gwt/core/client/impl/XhrLoadingStrategy.java
  M user/test/com/google/gwt/core/client/impl/AsyncFragmentLoaderTest.java
  M user/test/com/google/gwt/core/client/impl/XhrLoadingStrategyTest.java
  A user/test/com/google/gwt/dev/jjs/CompilerSuiteCrossSite.gwt.xml
  A user/test/com/google/gwt/dev/jjs/CrossSiteRunAsyncFailure.gwt.xml
  A user/test/com/google/gwt/dev/jjs/CrossSiteRunAsyncMetrics.gwt.xml
  A user/test/com/google/gwt/dev/jjs/CrossSiteRunAsyncSuite.java
  M user/test/com/google/gwt/dev/jjs/RunAsyncFailure.gwt.xml
  M user/test/com/google/gwt/dev/jjs/RunAsyncMetricsIntegrationTest.gwt.xml
  user/test/com/google/gwt/dev/jjs/public/empty-gwt-stats.js
  A user/test/com/google/gwt/dev/jjs/test/CrossSiteRunAsyncFailureTest.java
  A user/test/com/google/gwt/dev/jjs/test/CrossSiteRunAsyncMetricsTest.java
  A user/test/com/google/gwt/dev/jjs/test/CrossSiteRunAsyncTest.java
  M user/test/com/google/gwt/dev/jjs/test/RunAsyncFailureTest.java
  A
 user/test/com/google/gwt/user/client/runasync/CrossSiteLoadingStrategyForRunAsyncFailureTest.java
  D
 user/test/com/google/gwt/user/server/runasync/RunAsyncFailureIFrameLinker.java


 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: Generated widget markup

2010-03-12 Thread Joel Webber
First of all, there have always been widgets that have used tables, and
those that don't. When we started designing them, tables were pretty much
the only way to get sane layout behavior, especially before anything like
standards mode was widely supported. But it's always been possible to
avoid them -- they're not baked deeply into the system.

We have definitely been moving away from tables for most layout structure
and newer widgets, and will continue to do so. And as Chris points out, the
2.0 layout widgets avoid tables altogether (and are much more stable in
their behavior than the old table-based widgets).

However, when you say that semantically correct markup is a MUST BE, it's
important to be clear about your actual goals, rather than making such a
statement a priori. These DOM structures are never serialized into static
content, for example. And it's also a fair question to ask what the
semantics of a stack of divs are, as opposed to a table -- they're both
semantically meaningless.

We will continue to do what works best in practice, not conform to an
arbitrary standard that has no effect on functionality. Fortunately, this
will likely lead us to an outcome where we *do* use the elements that you're
proposing are appropriate, but if there are cases where a table works better
in practice, then that's what we'll use.

On Fri, Mar 12, 2010 at 10:32 AM, Chris Lercher cl_for_mail...@gmx.netwrote:

 I think, the new GWT 2.0 Layout Panel address pretty much that -
 they're designed for standards mode, and you can make do without
 Tables (VerticalPanel etc). You can still use them for data tables, in
 which case they're semantically correct.


 On Mar 12, 2:19 pm, mmoossen mmoos...@gmail.com wrote:
  Dear all!
 
  i was surprised, even disappointed, when i realized how GWT (ab)uses
  html tables.
  For instance the vertical panel and the tree widget ARE html tables.
  why it is so??
  should not it be much better just to use a list of DIVs (or even a UL)
  for the vertical panel and nested ULs for the tree??
  i mean, in the days of HTML5, CSS3, ria, and so on... semantically
  correct markup is a MUST BE.
 
  well, perhaps there is a really good reason behind it...
 
  so i would be really happy if somebody could help me to understand the
  idea...
  or has somebody already written semantic widgets and wants to share
  them ;)
 
  thanks
  Michael
 
  PS: i was just thinking that a tree item could have been composed by a
  vertical panel, so if i implement the vertical panel as an UL i would
  get automagically a nested ULs tree, but it is not :(
  but i think that is what i will do now :)
 
  PS2: i think code likehttp://
 code.google.com/p/google-web-toolkit/source/browse/trunk/user/...
  DOM.setStyleAttribute(getElement(), zoom, 1);
 
  should also better go in a TreeImplIE class as inhttp://
 code.google.com/p/google-web-toolkit/source/browse/trunk/user/...
/**
 * IE specific implementation class for {...@link TreeItem}.
 */
public static class TreeItemImplIE6 extends TreeItemImpl {
  @Override
  void convertToFullNode(TreeItem item) {
super.convertToFullNode(item);
DOM.setStyleAttribute(item.getElement(), marginBottom, 0px);
  }
}

 --
 You received this message because you are subscribed to the Google Groups
 Google Web Toolkit group.
 To post to this group, send email to google-web-tool...@googlegroups.com.
 To unsubscribe from this group, send email to
 google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-web-toolkit?hl=en.



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



Re: [gwt-contrib] 3 PopupPanel related bugs

2010-03-09 Thread Joel Webber
Thanks, George. I'll put these on our schedule to look at as soon as we can.

On Fri, Mar 5, 2010 at 9:41 AM, ggeorg georgopoulos.georg...@gmail.comwrote:

 Hi,

 please have a look at:

  - http://code.google.com/p/google-web-toolkit/issues/detail?id=4720can=4
  - http://code.google.com/p/google-web-toolkit/issues/detail?id=4664can=4
  - http://code.google.com/p/google-web-toolkit/issues/detail?id=4662can=4

 the patch for the last one is not valid.

 Thanks,
 George.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Updates the IFRame and XS selection script templates to support

2010-03-08 Thread Joel Webber
@Ian: I know, it's nasty. These things have gotten a bit out of hand, and we
have a big, fat TODO to come back and clean this up (as well as to bring
together various other linkers under a more coherent umbrella). But we
probably won't be able to get around to it for at least another quarter,
unfortunately.

On Mon, Mar 8, 2010 at 12:37 PM, Ian Petersen ispet...@gmail.com wrote:

 Just idle curiosity here, but why did you have to make the same change
 twice?  I know you're modifying selection scripts, and maybe that
 means you need to violate DRY for some reason, but it strikes me as a
 potential refactoring.

 Ian

 On Mon, Mar 8, 2010 at 9:23 AM,  sp...@google.com wrote:
  Reviewers: jgw,
 
  Description:
  Updates the IFRame and XS selection script templates to support
  inlined selection scripts.  There are two changes involved:
 
  1. There is a baseUrl meta property that can be used to override
  the choice of base URL.
 
  2. Meta tags can be made to apply to only module MODULENAME by putting
  MODULENAME:: at the beginning of the name attribute of the meta tag.
 
  Review by: j...@google.com
 
  Please review this at http://gwt-code-reviews.appspot.com/159810
 
  Affected files:
   M dev/core/src/com/google/gwt/core/linker/IFrameTemplate.js
   M dev/core/src/com/google/gwt/core/linker/XSTemplate.js
 
 
  Index: dev/core/src/com/google/gwt/core/linker/IFrameTemplate.js
  ===
  --- dev/core/src/com/google/gwt/core/linker/IFrameTemplate.js   (revision
  7685)
  +++ dev/core/src/com/google/gwt/core/linker/IFrameTemplate.js   (working
  copy)
  @@ -120,6 +120,10 @@
  ,markerId = __gwt_marker___MODULE_NAME__
  ,markerScript;
 
  +if (base = metaProps['baseUrl']) {
  +  return;
  +}
  +
  $doc.write('script id=' + markerId + '/script');
  markerScript = $doc.getElementById(markerId);
 
  @@ -189,6 +193,12 @@
var meta = metas[i], name = meta.getAttribute('name'), content;
 
if (name) {
  +name = name.replace('__MODULE_NAME__::', '');
  +if (name.indexOf('::') = 0) {
  +  // It's for a different module
  +  continue;
  +   }
  +
  if (name == 'gwt:property') {
content = meta.getAttribute('content');
if (content) {
  @@ -347,6 +357,7 @@
// --- STRAIGHT-LINE CODE ---
 
// do it early for compile/browse rebasing
  +  processMetas();
computeScriptBase();
 
var strongName;
  @@ -361,7 +372,6 @@
  strongName = ;
}
 
  -  processMetas();
 
// --- WINDOW ONLOAD HOOK ---
 
  Index: dev/core/src/com/google/gwt/core/linker/XSTemplate.js
  ===
  --- dev/core/src/com/google/gwt/core/linker/XSTemplate.js   (revision
  7685)
  +++ dev/core/src/com/google/gwt/core/linker/XSTemplate.js   (working
  copy)
  @@ -104,6 +104,10 @@
  ,markerId = __gwt_marker___MODULE_NAME__
  ,markerScript;
 
  +if (base = metaProps['baseUrl']) {
  +  return;
  +}
  +
  $doc.write('script id=' + markerId + '/script');
  markerScript = $doc.getElementById(markerId);
 
  @@ -173,7 +177,13 @@
var meta = metas[i], name = meta.getAttribute('name'), content;
 
if (name) {
  -if (name == 'gwt:property') {
  +name = name.replace('__MODULE_NAME__::', '');
  +if (name.indexOf('::') = 0) {
  +  // It's for a different module
  +  continue;
  +}
  +
  +   if (name == 'gwt:property') {
content = meta.getAttribute('content');
if (content) {
  var value, eq = content.indexOf('=');
  @@ -287,8 +297,8 @@
}
 
// do it early for compile/browse rebasing
  +  processMetas();
computeScriptBase();
  -  processMetas();
 
// --- WINDOW ONLOAD HOOK ---
 
 
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] UIObject methods return type improvement.

2010-03-03 Thread Joel Webber
We could argue the merits of method chaining (I'll let the compiler guys
speak to whether or not this is better, worse, or indifferent for code
generation) -- but the bigger problem is that we'd have to change the style
of code throughout the system to make it useful, but any attempt to do so
would break existing subclasses that override these methods.

On Tue, Mar 2, 2010 at 7:19 PM, Qcho qch...@gmail.com wrote:

 Hi, I am currently working on a project using GWT.

 Maybe is a good suggestion to change the return value of functions
 such as addStyleDependentName or addStyleName from void to the UI
 modified itself, so you can do things like this:

 DockLayoutPanel appPanel = new DockLayoutPanel(Unit.EM);
appPanel.addNorth(new HTML(hh1).addStyleName(header),
 4);
appPanel.addNorth(new HTML(hh2).addStyleName(subHeader),
 10);
appPanel.addSouth(new HTML(foot).addStyleName(footer),
 4);
appPanel.addWest(new HTML(nav).addStyleName(navigation),
 10);

 this code wont compile since the chaining of addStyleName returns void
 and not the Widget element.

 Simple example provided.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: GWT 2.0 is unusable in IE7

2010-02-26 Thread Joel Webber
I can assure you that this is not a general problem -- we've built plenty of
applications (including the Mail sample) which work fine using a structure
very much like the one you describe. If it's only happening on IE, there's a
very good probability that you're running using a quirks-mode doctype (i.e.,
no !doctype html). If that fixes the problem, would you please update
issue 4532 to reflect that?

On Fri, Feb 26, 2010 at 9:45 AM, nagin naginkoth...@gmail.com wrote:

 I am developing Web application using GWT 2.0. I am using Layout panel
 which is added to RootLayout panel.

 In IE 7 when we open dialog box, popup panel, menu item or date picker
 or any thing that pop ups , then all widgets  on the screen except
 popup disappears . when these pop ups are closed then everything
 reappears. This is very irritating to user and make application
 unusable . I had open issue #4532 a month back, but nobody from GWT
 team  have attended or accepted and looked into it yet . It is very
 surprising that such critical issue is not been attended to. I hope
 that GWT team will look into it and try to resolve this earliest.

 thanks

 Nagin


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



Re: [gwt-contrib] Re: JSON.parse vs. eval

2010-02-22 Thread Joel Webber
What Thomas said. But yes, if we could make a good safe-eval JSON parser
available, that would be great. The old json library is both unsafe
(because it uses eval()) and ugly (because it was written long before
overlay types).

On Sat, Feb 20, 2010 at 10:22 AM, Thomas Broyer t.bro...@gmail.com wrote:


 On Feb 16, 2:32 pm, mozSte ste.biopa...@gmail.com wrote:
  Hi all,
 
  I'm a newbie, so excuse me if this was posted/solved already.
 
  I have a quick suggestion on the implementation of a safeEval (or
  safer, anyway) parsing to the JSONUtils class.
 
  public static native T extends JavaScriptObject T
  safeEval(String json) /*-{
  if(JSON)
  {
  return JSON.parse(json);
  }
  else
  {
  return eval('('+json+')');
  }
  }-*/;
 
  object JSON is present as native JSON parser in all modern browsers,
  so with this code you'll likely get more secure and also faster code.
 
  Do you see any drawback in using this code?

 It evals the if each time you call safeEval; and the fallback to
 eval isn't safe at all (I'd at least add a check using the regexp
 from RFC 4627).

  Is it already present in
  some other GWT module?

 I wrote a JSON module at work (we might open source it someday) that
 uses deferred binding to use native parsing when we're sure it is
 available (IE8), eval() when we're sure it isn't (IE6 and Opera) and
 runtime detection otherwise (Firefox and Safari/Chrome), when the
 check is done once only!
 I proposed a patch to GWT but unfortunately it has some problems so I
 (temporarily) withdrawn it: http://gwt-code-reviews.appspot.com/86803/show

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Feature Request: VisibilityEvent

2010-02-16 Thread Joel Webber
Wow, I had completely forgotten about onpropertychange() -- like onresize(),
there's some interesting and useful stuff floating around in IE, even if it
is nonstandard.

If you can get something like this wired up across browsers, that would be
really useful. I would be particularly interested in seeing how this might
be generalized -- if, e.g., we could get a standard interface to something
like onpropertychange() (note how it explicitly *includes* style changes in
the MSDN doc), we could use it for a lot of things.

On Mon, Feb 15, 2010 at 1:30 PM, Jarrod Carlson jarrod.carl...@gmail.comwrote:

 Yes, there are some serious hurdles to being able to support this kind of
 feature. I haven't tried it yet, but I suggested the feature because I
 understand both Mozilla and WebKit support a DOMAttrModified sort of native
 event:


 http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-mutationevents

 I also understand IE has some limited support for a proprietary alternative
 (onpropertychange).

 It sounds like it might be possible to get some sort of support working,
 although I have no doubt that some additional voodoo would be required to
 level the support across browsers.

 On Mon, Feb 15, 2010 at 10:46 AM, Joel Webber j...@google.com wrote:

 I'm not sure if it's possible to do this correctly in the general case.
 You can currently override setVisible(), but that only works if it's called
 explicitly. Most importantly, there's no way I know of to get the DOM to
 tell you when an element becomes visible/hidden; to synthesize this would
 require that all changes to visibility of a parent walk the entire child
 hierarchy to inform all of its children of the change. Even worse, it can
 happen for random reasons like a change to the Style object or CSS class
 name.

 If we can find a way to get the DOM to inform us of this kind of change,
 I'm all for it though.

 On Sat, Feb 13, 2010 at 11:30 PM, jarrod jarrod.carl...@gmail.comwrote:

 One feature I would like to see added to GWT is a DOM or logical event
 to notify handlers of a Widget's visibility changes.

 In the spirit of keeping things loosely coupled, say for instance I
 have a TabLayoutPanel which contains several Widgets. Those Widgets do
 not necessarily know that they are contained within a TabLayoutPanel
 that might show or hide them at will.

 Thus it would be quite helpful if a Widget could (especially through
 UiBinder) be notified when it becomes visible to the user.

 Any thoughts?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


  --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors




 --
 ~jj

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Size improvements with latest trunk

2010-02-16 Thread Joel Webber
That's great news. I'm particularly happy given that (IIRC) Ray confirmed
that these have no negative impact on parse time (please tell me I'm
remembering this correctly!).

On Tue, Feb 16, 2010 at 8:21 PM, Ray Cromwell cromwell...@gmail.com wrote:

 Awesome, thanks a lot for the data and debugging. I guess that brings
 the gain since 1.7 to 28% now. :)

 -Ray


 On Tue, Feb 16, 2010 at 5:16 PM, Matt Mastracci matt...@mastracci.com
 wrote:
  I ran a few different compiles with our codebase to test some of the
 improvements in trunk for Ray. I've only measured the post-gzip/zip size
 improvements below - the numbers for the website sizes are an average of the
 size for gzip -9 over all of the browser permutations:
 
  GWT 2.0.0:
 
  dotspots.com (initial fragment, gzipped): 73299
  dotspots.com/popup (initial fragment, gzipped): 89715
  Publisher script (initial fragment, gzipped): 54424
  Chrome extension (final zipped size): 83790
  Firefox extension (final zipped size): 103257
 
  GWT trunk (as of r7589):
 
  dotspots.com (initial fragment, gzipped): 73983
  dotspots.com/popup (initial fragment, gzipped): 89260
  publisher script (initial fragment, gzipped): 55307
  Chrome extension (final zipped size): 84771
  Firefox extension (final zipped size): 103707
 
  GWT trunk (as of r7589), with compiler.stackMode = strip:
 
  dotspots.com (initial fragment, gzipped): 69185
  dotspots.com/popup (initial fragment, gzipped): 83768
  publisher script (initial fragment, gzipped): 52040
  Chrome extension (final zipped size): 80980
  Firefox extension (final zipped size): 0
 
  GWT trunk (as of r7589), with compiler.stackMode = strip + Compact
 Integer Seed Functions patch:
 
  dotspots.com (initial fragment, gzipped): 67937
  dotspots.com/popup (initial fragment, gzipped): 82242
  publisher script (initial fragment, gzipped): 51089
  Chrome extension (final zipped size): 80058
  Firefox extension (final zipped size): 98661
 
  Overall improvements (from 2.0.0 to trunk+stack strip+patch):
 
  dotspots.com (initial fragment, gzipped): 7.3%
  dotspots.com/popup (initial fragment, gzipped): 8.3%
  publisher script (initial fragment, gzipped): 6.1%
  (xpi/crx omitted, since there's a large constant factor)
 
  In other words: WOOHOO!
 
  Matt.
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] GWT 2.0.2 still broken when there is no history.

2010-02-15 Thread Joel Webber
[+jlabanca: can you take a look at this?]

On Mon, Feb 15, 2010 at 9:06 AM, stuckagain david.no...@gmail.com wrote:

 People,

 Somehow testings needs to be a bit enhanced. GWT 2.0.2 which is
 supposed to fix issue 4585 does not seem to work correctly. Although
 the original stack is no longer produced when showing the popup, I now
 get the stack when closing down the PopupPanel.

 Can this bug be re-opened ?
 http://code.google.com/p/google-web-toolkit/issues/detail?id=4584


 2010/02/15 14:59:20 SEVERE Unknown:Uncaught Exception
 java.lang.NullPointerException
at
 com.google.gwt.user.client.ui.PopupPanel.setState(PopupPanel.java:
 1397)
at
 com.google.gwt.user.client.ui.PopupPanel.onUnload(PopupPanel.java:
 1025)
at com.google.gwt.user.client.ui.Widget.onDetach(Widget.java:329)
at com.google.gwt.user.client.ui.Widget.setParent(Widget.java:402)
at com.google.gwt.user.client.ui.Panel.orphan(Panel.java:210)
at
 com.google.gwt.user.client.ui.ComplexPanel.remove(ComplexPanel.java:
 63)
at
 com.google.gwt.user.client.ui.AbsolutePanel.remove(AbsolutePanel.java:
 159)
at com.google.gwt.user.client.ui.PopupPanel
 $ResizeAnimation.onInstantaneousRun(PopupPanel.java:314)
at com.google.gwt.user.client.ui.PopupPanel
 $ResizeAnimation.setState(PopupPanel.java:208)
at
 com.google.gwt.user.client.ui.PopupPanel.setState(PopupPanel.java:
 1374)
at
 com.google.gwt.user.client.ui.PopupPanel.hide(PopupPanel.java:585)
at
 com.google.gwt.user.client.ui.PopupPanel.hide(PopupPanel.java:571)

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Feature Request: VisibilityEvent

2010-02-15 Thread Joel Webber
I'm not sure if it's possible to do this correctly in the general case. You
can currently override setVisible(), but that only works if it's called
explicitly. Most importantly, there's no way I know of to get the DOM to
tell you when an element becomes visible/hidden; to synthesize this would
require that all changes to visibility of a parent walk the entire child
hierarchy to inform all of its children of the change. Even worse, it can
happen for random reasons like a change to the Style object or CSS class
name.

If we can find a way to get the DOM to inform us of this kind of change, I'm
all for it though.

On Sat, Feb 13, 2010 at 11:30 PM, jarrod jarrod.carl...@gmail.com wrote:

 One feature I would like to see added to GWT is a DOM or logical event
 to notify handlers of a Widget's visibility changes.

 In the spirit of keeping things loosely coupled, say for instance I
 have a TabLayoutPanel which contains several Widgets. Those Widgets do
 not necessarily know that they are contained within a TabLayoutPanel
 that might show or hide them at will.

 Thus it would be quite helpful if a Widget could (especially through
 UiBinder) be notified when it becomes visible to the user.

 Any thoughts?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Patch for RichTextEditor

2010-02-10 Thread Joel Webber
Sebastian,

Sorry it's taken so long for anyone to respond. This sounds like useful
functionality, and I would suggest creating an issue (
http://code.google.com/p/google-web-toolkit/issues/) and a patch for public
discussion (http://gwt-code-reviews.appspot.com/). That way it will be
easier for people to try out your patch and refine it.

Cheers,
joel.

On Fri, Jan 22, 2010 at 9:55 AM, Sebastian use...@laliluna.de wrote:

 Hello,

 I was missing the ability to format a block with h1 - h6 tags. I
 researched the topic and build a patch which allows to insert block
 tags. It makes use of the FormatBlock command.

 I would like to ask, if you are interested in the patch and discuss
 the coding decision I took.

 1)
 I couldn't find any guidance on testing. I have tested with Safari 4,
 Firefox 3.5, IE 6, IE 8 and IE 8 in IE 7 mode.

 2)
 Currently only the tags h1 to h6, pre, address and p work
 stable across browsers. To limit the choice of tags, I have created an
 enum to limit the possible values.

 public static enum BlockTag {
H1, H2, H3, H4, H5, H6, PRE, ADDRESS, P;
  final String OPEN = ;
  final String CLOSE = ;
  public String toTag() {
return OPEN+name()+CLOSE;
  }
}

 The advantage is that you cannot provide the wrong tags. The
 disadvantage is that you cannot provide tags which are for example
 supported in newer browser versions.

 The rest of the tag is just a new method in RichTextAreaImplStd.
  public void formatBlock(RichTextArea.BlockTag blockTag) {
execCommand(FormatBlock, blockTag.toTag());
  }

 Shall I leave it that way or turn it into a String parameter?

 3)
 Should I create a bug tracking entry for this?

 If somebody is interested, here are some links, I found interesting
 while exploring the topic.

 http://discerning.com/topics/software/ttw.html
 http://help.dottoro.com/ljcvtcaw.php
 http://www.quirksmode.org/dom/execCommand.html

 Best Regards

 Sebastian Hennebrueder

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] StackPanelLayout and applying additional style when hovering header.

2010-02-09 Thread Joel Webber
Thanks, Marko. I'll take a look at it today.

On Tue, Feb 9, 2010 at 4:07 AM, Marko Vuksanovic
markovuksano...@gmail.comwrote:

 I thought it would be nice if it was possible to have hovering effect
 on StackPanelLayout header so I created an issue for that (issue nuber
 is 4561, or direct link

 http://code.google.com/p/google-web-toolkit/issues/detail?can=2q=4561colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summaryid=4561
 )
 and submitted a patch. It would be nice if somebody from the gwt team
 had a look at this...


 /Marko

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: Exceptions in Event Handlers(inner classes) are not shown by Dev Mode Panel in Eclipse!

2010-02-05 Thread Joel Webber
This may be a problem with SmartGWT. I'm not familiar with the details of
how they deal with wrapping events from the native SmartClient widgets, but
if they fail to properly punt exceptions to the UncaughtExceptionHandler,
dev mode will eat the exceptions.

On Thu, Feb 4, 2010 at 12:58 PM, J-Pro jpro@gmail.com wrote:

 Good afternoon, dear GWT group members!

 I've noticed that if I create an event handler, for example

 ButtonItem btnSubmit = new ButtonItem();
 btnSubmit.addClickHandler(new
 com.smartgwt.client.widgets.form.fields.events.ClickHandler()
 {
@Override
public void
 onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent
 event)
{
  int i = 5/0;
}
 });

 I can't see the problem in the Development Mode Panel in the Eclipse.
 The last record there is Module has been loaded. The application
 itself behaves just as if nothing happened. You can try it by
 yourself.

 But if only I put int i = 5/0; after ButtonItem declaration, i.e.
 not in inner class, the exception will be described in Development
 Mode Panel.

 Having this, it's very hard to catch errors... Can you advise anything
 to me? Or is it a bug?


 I use Eclipse 3.5 SR1, Google Plugin 1.2.0, GWT Toolkit SDK 2.0.1,
 smartgwt 2.0, latest Firefox and Windows 7 x64 Ultimate.

 Thank you very much in advance!

 --
 You received this message because you are subscribed to the Google Groups
 Google Web Toolkit group.
 To post to this group, send email to google-web-tool...@googlegroups.com.
 To unsubscribe from this group, send email to
 google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-web-toolkit?hl=en.



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



[gwt-contrib] Re: GWT 2.0.1: is the history support iframe now mandatory ?

2010-02-05 Thread Joel Webber
I just clarified the issue a bit and assigned it. Thanks for catching
this.

On Feb 5, 6:00 am, Konstantin.Scheglov
konstantin.scheg...@gmail.com wrote:
   I've added this issue yesterday, found during running tests for GWT
 Designer.

 http://code.google.com/p/google-web-toolkit/issues/detail?id=4584

 On Feb 4, 6:36 pm, Joel Webber j...@google.com wrote:



  It shouldn't be -- if you kick off History's static initializer, it will
  GWT.create(HistoryImpl.class), and thus attempt to find the iframe, but I
  believe it's been this way for a long time. Are you sure you're not
  referencing History somewhere?

  On Thu, Feb 4, 2010 at 10:34 AM, stuckagain david.no...@gmail.com wrote:
   Hi,

   I rebuild my apps with 2.0.1 and noticed that they no longer start.
   In DevMode is see an error about the History Support that fails to
   initialize.

   My apps do not support history, so I did not include the IFrame... has
   this become mandatory or is this a little oops ?

   David

   --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors


[gwt-contrib] Re: GWT 2.0.1: is the history support iframe now mandatory ?

2010-02-05 Thread Joel Webber
I just clarified the issue a bit and assigned it. Thanks for catching
this.

On Feb 5, 6:00 am, Konstantin.Scheglov
konstantin.scheg...@gmail.com wrote:
   I've added this issue yesterday, found during running tests for GWT
 Designer.

 http://code.google.com/p/google-web-toolkit/issues/detail?id=4584

 On Feb 4, 6:36 pm, Joel Webber j...@google.com wrote:



  It shouldn't be -- if you kick off History's static initializer, it will
  GWT.create(HistoryImpl.class), and thus attempt to find the iframe, but I
  believe it's been this way for a long time. Are you sure you're not
  referencing History somewhere?

  On Thu, Feb 4, 2010 at 10:34 AM, stuckagain david.no...@gmail.com wrote:
   Hi,

   I rebuild my apps with 2.0.1 and noticed that they no longer start.
   In DevMode is see an error about the History Support that fails to
   initialize.

   My apps do not support history, so I did not include the IFrame... has
   this become mandatory or is this a little oops ?

   David

   --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors


[gwt-contrib] Re: html5 + gwt ... or gears?

2010-02-05 Thread Joel Webber
Karl-Heinz,

We are planning on adding built-in support for the HTML5 AppCache, but have
not done so yet. I believe there are some projects already in existence
working to do this, such as gwt-mobile-webkit (
http://code.google.com/p/gwt-mobile-webkit/). I haven't used this project
personally, but it looks like they're working on AppCache support at
present.

Cheers,
joel.

On Fri, Feb 5, 2010 at 4:08 AM, Karl-Heinz Troyer k...@troyer.co.at wrote:

  *hi gwt dev team!
 *
 it seems gears does not come forward.
 are there any plans to do the same with html5? and when?
 how can i provide an offline app with html5 and gwt?
 gears is even not supported on chrome for mac.
 our app has to run on some platforms where i can request html5
 compatibility, but not gears
 thanks in advance,

  --
 regards / mit freundlichen grüssen

[image: chance123] http://info.chance123.net
  http://info.chance123.net *ing. karl-heinz troyer*  troyer information
 systems gmbh
 alte hohenzeller strasse 2 / a-4910 ried im innkreis / austria
 skype callto:tis_charly / tel +43 676 9330080 / 
 infohttp://firmena-z.wko.at/udbsql/FirmaInfo5.asp?id=24893cs=180510421428329713813852045665
   a
 worldwide success story http://info.chance123.net




-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributorskht-email3.png

Re: [gwt-contrib] GWT 2.0.1: is the history support iframe now mandatory ?

2010-02-04 Thread Joel Webber
It shouldn't be -- if you kick off History's static initializer, it will
GWT.create(HistoryImpl.class), and thus attempt to find the iframe, but I
believe it's been this way for a long time. Are you sure you're not
referencing History somewhere?

On Thu, Feb 4, 2010 at 10:34 AM, stuckagain david.no...@gmail.com wrote:

 Hi,

 I rebuild my apps with 2.0.1 and noticed that they no longer start.
 In DevMode is see an error about the History Support that fails to
 initialize.

 My apps do not support history, so I did not include the IFrame... has
 this become mandatory or is this a little oops ?

 David

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: GWT Incubator Status Update and Schedule

2010-02-01 Thread Joel Webber
To be clear, we do recognize the importance of starting to support HTML5
constructs that don't work on all browsers, though we need to find a clear
way to indicate to developers that a particular library or widget won't work
in some cases. None of us have ever worked through all the nuances of how
this should be done yet, and probably won't have time to do so until at
least Q2. That said, if you want to start the discussion, I'm all ears!

On Thu, Jan 28, 2010 at 10:44 AM, Ray Ryan rj...@google.com wrote:

 As you'll see in the first note in this thread, Incubator is closing down.

 Having your work in its own project is exactly the right thing to do. If it
 becomes an appropriate addition for GWT proper, we'll eagerly help you
 integrate it. In the meantime, the community can use it and shape it without
 waiting for the GWT team to get in the mix.

 rjrjr

 On Thu, Jan 28, 2010 at 4:56 AM, Mark Renouf mark.ren...@gmail.comwrote:

 I've developed gwt-html5-media, which implements all the common
 functionality described in the Media Element section of the HTML5
 spec, including the specific functionality for Video and Audio tags,
 including all of the events and settings. I could use some help
 testing and improving it and perhaps some advice on how to better
 handle usage of the large number of new native events available
 (currently side-steps the main GWT sinkEvents code instead using it's
 own, since it exhausts the available number of free bitfield
 definitions there).

 http://code.google.com/p/gwt-html5-media/

 Would something like this be welcome in incubator or simply as a side
 project for eventual inclusion into GWT? I'd like to see the HTML5
 support rounded out so this plus the Canvas support would me a major
 step forward. I know there is also another pure-canvas implementation
 for GWT within the SpeedTracer project. I'm not sure if VML fallback
 is worth the complexity if the only browser supporting it does not
 support any other HTML5 features anyhow... but that's a point for
 debate elsewhere I suppose ;-)



 On Jan 12, 1:04 pm, John LaBanca jlaba...@google.com wrote:
  Incubator Users -
 
  The Google Web Toolkit Incubator project began as a proving grounds for
 new
  widgets to be vetted before joining the ranks of the GWT trunk. We've
 seen
  some success stories over the last year with EventHandlers,
 ClientBundle,
  and DatePicker, but for many of the widgets and libraries, Incubator has
  become an elephant graveyard.
 
  In order to address this issue, we will start graduating some of the
  libraries to GWT trunk, move some into separate projects, and
 discontinue
  development on others. Ultimately, we will wind down the incubator
 project
  completely.
 
  The schedule below shows the fate of each subproject in incubator. It's
 a
  tentative schedule, meaning that it could change as priorities shift.
 
  GWT 2.1
 
 - *PagingScrollTable and FastTree*
 We are working on a new set of data backed widgets for GWT 2.1 that
 will
 include APIs for trees and tables. We will build upon the lessons
 learned
 with these incubator widgets, but the API for the new data backed
 widgets
 will evolve significantly from the current APIs. When the data backed
 widgets are added to GWT trunk, we will stop development on
 the PagingScrollTable and FastTree.
 
 - *Locale Selection*
 Selecting the locale on the server requires one less round trip to
 the
 server on startup and is needed for effective use of
 runtime locales selection.  This library will be included in GWT 2.1.
 
  GWT 2.2
 
 - *CollapsiblePanel*
 This widget will probably become a subclass of DockingLayoutPanel,
 similar to SplitLayoutPanel.
 
 - *SliderBar and ProgressBar*
 Both of these widgets currently require the use of a global timer,
 which
 has performance implications. If we can implement these without a
 resize
 timer, we will include them in GWT 2.2. If we cannot, we will
 discontinue
 development on them.
 
 - *Logging*
 The logging API may make it into GWT 2.1 if time permits.
 
 - *Form Validation*
 We will take a closer look at the form validation API in GWT 2.2..
 
  Separate Project:
 
 - *SoundResource*
 SoundResource is a promising API for including sound in an
 application,
 but it makes sense to wait for HTML 5 features to become widely
 adopted
 before including it. We would like to move SoundResource into the
 gwt-voices
 project:http://code.google.com/p/gwt-voices/.
 
 - *Graphics*
 The graphics library provides a single, platform independent API that
 works on top of Canvas and VML. The library is not ready for GWT
 trunk, but
 this project is worth pursuing.
 
 - *HtmlDecorators*
 We will continue to work on this project to arbitrarily add
 decorations
 to widgets.
 
  As always, please feel free to reply with comments or suggestions.
 
  Thanks,
  John LaBanca
  on 

Re: [gwt-contrib] Re: GWT Incubator Status Update and Schedule

2010-02-01 Thread Joel Webber
[+fred, just to make sure he sees this]

On Mon, Feb 1, 2010 at 11:26 AM, dflorey daniel.flo...@gmail.com wrote:

 See:


 http://groups.google.com/group/google-web-toolkit-contributors/browse_thread/thread/4f5fb0cbd007fa25/e6a70c6a26a444cd?lnk=gstq=compatibility+animations#e6a70c6a26a444cd

 On 1 Feb., 17:23, dflorey daniel.flo...@gmail.com wrote:
  What about Fred Sauer's gwt voices project?
  AFAK it has an elegant approach how to provide flash based fallback if
  certain capabilities are not supported by the browser itself.
 
  On 1 Feb., 14:25, Joel Webber j...@google.com wrote:
 
 
 
   To be clear, we do recognize the importance of starting to support
 HTML5
   constructs that don't work on all browsers, though we need to find a
 clear
   way to indicate to developers that a particular library or widget won't
 work
   in some cases. None of us have ever worked through all the nuances of
 how
   this should be done yet, and probably won't have time to do so until at
   least Q2. That said, if you want to start the discussion, I'm all ears!
 
   On Thu, Jan 28, 2010 at 10:44 AM, Ray Ryan rj...@google.com wrote:
As you'll see in the first note in this thread, Incubator is closing
 down.
 
Having your work in its own project is exactly the right thing to do.
 If it
becomes an appropriate addition for GWT proper, we'll eagerly help
 you
integrate it. In the meantime, the community can use it and shape it
 without
waiting for the GWT team to get in the mix.
 
rjrjr
 
On Thu, Jan 28, 2010 at 4:56 AM, Mark Renouf mark.ren...@gmail.com
 wrote:
 
I've developed gwt-html5-media, which implements all the common
functionality described in the Media Element section of the HTML5
spec, including the specific functionality for Video and Audio tags,
including all of the events and settings. I could use some help
testing and improving it and perhaps some advice on how to better
handle usage of the large number of new native events available
(currently side-steps the main GWT sinkEvents code instead using
 it's
own, since it exhausts the available number of free bitfield
definitions there).
 
   http://code.google.com/p/gwt-html5-media/
 
Would something like this be welcome in incubator or simply as a
 side
project for eventual inclusion into GWT? I'd like to see the HTML5
support rounded out so this plus the Canvas support would me a major
step forward. I know there is also another pure-canvas
 implementation
for GWT within the SpeedTracer project. I'm not sure if VML fallback
is worth the complexity if the only browser supporting it does not
support any other HTML5 features anyhow... but that's a point for
debate elsewhere I suppose ;-)
 
On Jan 12, 1:04 pm, John LaBanca jlaba...@google.com wrote:
 Incubator Users -
 
 The Google Web Toolkit Incubator project began as a proving
 grounds for
new
 widgets to be vetted before joining the ranks of the GWT trunk.
 We've
seen
 some success stories over the last year with EventHandlers,
ClientBundle,
 and DatePicker, but for many of the widgets and libraries,
 Incubator has
 become an elephant graveyard.
 
 In order to address this issue, we will start graduating some of
 the
 libraries to GWT trunk, move some into separate projects, and
discontinue
 development on others. Ultimately, we will wind down the incubator
project
 completely.
 
 The schedule below shows the fate of each subproject in incubator.
 It's
a
 tentative schedule, meaning that it could change as priorities
 shift.
 
 GWT 2.1
 
- *PagingScrollTable and FastTree*
We are working on a new set of data backed widgets for GWT 2.1
 that
will
include APIs for trees and tables. We will build upon the
 lessons
learned
with these incubator widgets, but the API for the new data
 backed
widgets
will evolve significantly from the current APIs. When the data
 backed
widgets are added to GWT trunk, we will stop development on
the PagingScrollTable and FastTree.
 
- *Locale Selection*
Selecting the locale on the server requires one less round trip
 to
the
server on startup and is needed for effective use of
runtime locales selection.  This library will be included in
 GWT 2.1.
 
 GWT 2.2
 
- *CollapsiblePanel*
This widget will probably become a subclass of
 DockingLayoutPanel,
similar to SplitLayoutPanel.
 
- *SliderBar and ProgressBar*
Both of these widgets currently require the use of a global
 timer,
which
has performance implications. If we can implement these without
 a
resize
timer, we will include them in GWT 2.2. If we cannot, we will
discontinue
development on them.
 
- *Logging*
The logging API may make it into GWT 2.1 if time permits

Re: [gwt-contrib] Re: Changing JsArrayT extends JavaScriptObject to JsArrayT

2010-01-26 Thread Joel Webber
Correct me if I'm wrong, but isn't the closure collections library more like
JRE-ish collections than simple JSO wrappers? My impression of most JS code
was that if it needed a string map or simple array, people tended to just
use raw objects, knowing that there are certain strange behaviors they have
to avoid.

That said, if there's a way to make them play nice together, I'm all for
it.

On Tue, Jan 26, 2010 at 7:46 AM, Stefan Haustein haust...@google.comwrote:


 Collections are very, very amenable to bikeshedding, so I want to have a
 pretty well thought-out plan so as to avoid endless what if threads, if at
 all possible. Of course, if the design is bad, people will hopefully say so
 and we'll do something different. But I just don't want to start with so
 little that it doesn't have enough intertia to achieve escape velocity.


 Bruce,

 for collections in general, maybe we should also consider using / linking /
 emulating closure collections. With stuff like Bach on the horizon, we may
 otherwise end up with too many collection frameworks, creating a situation
 similar to strings in C++.

 For simple arrays, I think it may make sense to re-visit the original idea
 of extending the scope of JsArrayT extends JsObject to JsArrayT extends
 Object.

 Stefan

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors


-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: gwt-phys2d: 2D physics engine for GWT

2010-01-22 Thread Joel Webber
[+gwt-contrib]

That's pretty impressive. Have you tried it on any larger scene graphs? I'd
love to see how it scales. It looks quite smooth on Chrome already.

On Fri, Jan 22, 2010 at 3:05 AM, Neil Halelamien ne...@caltech.edu wrote:

 I quasi-ported the Phys2d Java physics library to run with GWT and gwt-
 g2d (for HTML5 canvas rendering). You can see the result (and download
 the library source) here:


 http://edgeofvision.com/2010/01/22/initial-release-of-gwt-phys2d-javascriptgwt-physics-engine/
 http://gwt-phys2d.appspot.com

 If anybody's interested in actually using this and/or contributing,
 I'd be happy to clean things up and create a Google Code project for
 it. It was pretty much just a self-education project though, so I
 probably won't be doing too much more with it myself. I imagine it
 might be handy for a GWT game programming project out there, though.

 -- Neil

 --
 You received this message because you are subscribed to the Google Groups
 Google Web Toolkit group.
 To post to this group, send email to google-web-tool...@googlegroups.com.
 To unsubscribe from this group, send email to
 google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-web-toolkit?hl=en.



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



[gwt-contrib] Re: gwt-phys2d: 2D physics engine for GWT

2010-01-22 Thread Joel Webber
[+gwt-contrib]

That's pretty impressive. Have you tried it on any larger scene graphs? I'd
love to see how it scales. It looks quite smooth on Chrome already.

On Fri, Jan 22, 2010 at 3:05 AM, Neil Halelamien ne...@caltech.edu wrote:

 I quasi-ported the Phys2d Java physics library to run with GWT and gwt-
 g2d (for HTML5 canvas rendering). You can see the result (and download
 the library source) here:


 http://edgeofvision.com/2010/01/22/initial-release-of-gwt-phys2d-javascriptgwt-physics-engine/
 http://gwt-phys2d.appspot.com

 If anybody's interested in actually using this and/or contributing,
 I'd be happy to clean things up and create a Google Code project for
 it. It was pretty much just a self-education project though, so I
 probably won't be doing too much more with it myself. I imagine it
 might be handy for a GWT game programming project out there, though.

 -- Neil

 --
 You received this message because you are subscribed to the Google Groups
 Google Web Toolkit group.
 To post to this group, send email to google-web-tool...@googlegroups.com.
 To unsubscribe from this group, send email to
 google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-web-toolkit?hl=en.



-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: SuggestBox loses focus when hovering over suggestions

2010-01-22 Thread Joel Webber
Sure thing. Looking now.

On Fri, Jan 22, 2010 at 11:17 AM, John LaBanca jlaba...@google.com wrote:

 ping - can you get to this today? It should go into GWT 2.0.1

 Thanks,
 John LaBanca
 jlaba...@google.com



 On Wed, Jan 20, 2010 at 2:32 PM, jlaba...@google.com wrote:

 Reviewers: jgw,

 Description:
 The SuggestBox loses focus when the mouse hovers over the list of
 suggestions because MenuBar steals keyboard focus on hover.  This is
 particularly annoying if a user leaves the cursor just beneath the text
 box.  As soon as the suggestions are shown, the text box loses focus.

 In fact, there are other cases where this can be annoying, such as just
 having a MenuBar and TextBox in the same app:
 http://code.google.com/p/google-web-toolkit/issues/detail?id=3884

 Fix:
 
 This patch adds an option to MenuBar to disable focus on hover, which
 fixes the problem at the expense of losing keyboard focus. SuggestBox
 now uses the new option.

 Testing:
 ===
 Manually verified that this works for MenuBar and SuggestBox.



 Please review this at http://gwt-code-reviews.appspot.com/132816

 Affected files:
  user/src/com/google/gwt/user/client/ui/MenuBar.java
  user/src/com/google/gwt/user/client/ui/SuggestBox.java





-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] LayoutPanel Button in Mozilla

2010-01-20 Thread Joel Webber
Agreed that this is a really irritating bug in Firefox. Have you tried
w/h:100% just on the button itself? This is required for table and
iframe on all browsers, though it's not baked into the Layout code by
default, because it mis-lays-out slightly (pushes borders and margin off the
edge).

On Wed, Jan 20, 2010 at 7:58 AM, ggeorg georgopoulos.georg...@gmail.comwrote:

 Hi,

 is there a workaround for :

  public void onModuleLoad() {
LayoutPanel panel = new LayoutPanel();

panel.add(new Button(Hello!));

RootLayoutPanel.get().add(panel);
  }

 left: 0px; right: 0px; together do not work in Firefox 3.5.6 (top:
 0px; bottom: 0px; work).

 There is also the same problem with TextBox in both Firefox and IE8.
 With TextBox even vertical alignment does not work.

 What I found so far is
 http://www.quirksmode.org/css/tests/mozie_button.html,
 but -moz-box-sizing: content-box; does not help. Maybe there is
 something else. Button.setWidth(100%) works perfect, but it fails
 for div elements with margin and border.

 Thanks,
 George.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: More on TabLayoutPanel styles

2010-01-19 Thread Joel Webber
Good point as well, thanks. I've updated issue 4259 to capture this.

On Tue, Jan 19, 2010 at 2:08 PM, dflorey daniel.flo...@gmail.com wrote:

 One more issue:
 Using LazyPanel does not work in the new TabLayoutPanel. I guess the
 setVisible() method is no longer called on this widget (is it called
 on one of the parent panels?)


 On Jan 19, 5:07 pm, Joel Webber j...@google.com wrote:
  On Mon, Jan 18, 2010 at 6:17 AM, dflorey daniel.flo...@gmail.com
 wrote:
   Hi,
   I've been trying to usw the new TabLayoutPanel for different layouts.
   Here are my findings:
 
   1. The .gwt-TabLayoutPanelTabs style gets applied to the wrapper
   element with width set to 16000 px. This makes it impossible to
   create a border around the tab bar.
   As a workaround I had to apply a style to wrapper element like this:
   ((Element) tabPanel.getElement().getChild(1)).setClassName(.gwt-
   TabLayoutPanel-wrapper);
   This is very ugly and will fail as soon as the TabLayoutPanel impl
   changes.
   Please consider applying the .gwt-TabLayoutPanelTabs style to the
   appropriate wrapper element.
 
  This is a good point. I'll need to add another wrapper element around the
  tabs to make this work, but I don't think that will cause any problems.
  There *is* a wrapper created by the Layout class, but it's unsafe to
 apply
  arbitrary styles to it (in particular, decorations such as border,
 margin,
  and padding will confuse it -- it's actually there to work around
  measurement problems with such decorations). I've added a comment to
 issue
  4429 (default TLP styles) to capture this.
 
  2. The setStyle(Primary)Name methods will not change the substyles.
 
   When using different TabLayoutPanels with different styles in the same
   application you'll have to overwrite each css property as you'll
   inherit all styles by default. It would be much better to change all
   substyles as it has been the case with the old gwt widgets
 
  Actually, I can't think of any cases off the top of my head where we've
  automatically updated sub-styles like this. For example, the old
 StackPanel
  only modifies the top-most class name. The problem is that there are
 cases
  where we'd be forced to walk arbitrarily large numbers of children every
  time the style name is changed. We decided it was best to avoid this, and
  require the (admittedly somewhat uglier, and imperfect) use of descendent
  selectors. The right long-term approach is probably closer to what you
  suggest below.
 
  or - even better - to pass a ClientBundle defining all styles as an
 optional
 
   argument to the cstr of the TabLayoutPanel.
   A default style factory could provide default styles if no
   ClientBundle is provided. Replacing the default style factory using
   deferred binding could make the default styles themable.
   I've used this approach in my own app and it works fine.
 
  Essentially, yes. Though it's a fairly complex design problem in the
 general
  case to do so in a way that ensures there's no unnecessary overhead, and
  supports all the common use cases. This is definitely a Q1 goal, and
 we'll
  make a point to share design docs as soon as we have a rough idea of what
 it
  should look like.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: GWT Incubator Status Update and Schedule

2010-01-15 Thread Joel Webber
To be clear, the inclusion of more core widgets and libraries won't impose
any size overhead on projects that don't use them. If you *do* use them, you
can always use code-splitting to divide your app into logical components
that are demand-loaded.

On Wed, Jan 13, 2010 at 10:25 AM, Deanna Bonds deanna.bo...@gmail.comwrote:

 Happy to see these getting promoted to GWT.  Can you make sure they
 use code splitting so there isn't an extra overhead with them being
 included?

 On Jan 12, 4:19 pm, Gabriel Guerrero gabrieldavidguerr...@gmail.com
 wrote:
  +1 For at least doing another release compatible with gwt 2, I use the
  FastTree and the PagingScrollTable, and it will be nice to have a
  version of those widgets that support the new layout system, for what
  I saw in the trunk the seem to be already compatible with the new
  layout, although I have not tested them
 
  Cheers
  Gabriel
 
  On Jan 12, 6:05 pm, John LaBanca jlaba...@google.com wrote:
 
 
 
   Incubator Users -
 
   The Google Web Toolkit Incubator project began as a proving grounds for
 new
   widgets to be vetted before joining the ranks of the GWT trunk. We've
 seen
   some success stories over the last year with EventHandlers,
 ClientBundle,
   and DatePicker, but for many of the widgets and libraries, Incubator
 has
   become an elephant graveyard.
 
   In order to address this issue, we will start graduating some of the
   libraries to GWT trunk, move some into separate projects, and
 discontinue
   development on others. Ultimately, we will wind down the incubator
 project
   completely.
 
   The schedule below shows the fate of each subproject in incubator. It's
 a
   tentative schedule, meaning that it could change as priorities shift.
 
   GWT 2.1
 
  - *PagingScrollTable and FastTree*
  We are working on a new set of data backed widgets for GWT 2.1 that
 will
  include APIs for trees and tables. We will build upon the lessons
 learned
  with these incubator widgets, but the API for the new data backed
 widgets
  will evolve significantly from the current APIs. When the data
 backed
  widgets are added to GWT trunk, we will stop development on
  the PagingScrollTable and FastTree.
 
  - *Locale Selection*
  Selecting the locale on the server requires one less round trip to
 the
  server on startup and is needed for effective use of
  runtime locales selection.  This library will be included in GWT
 2.1.
 
   GWT 2.2
 
  - *CollapsiblePanel*
  This widget will probably become a subclass of DockingLayoutPanel,
  similar to SplitLayoutPanel.
 
  - *SliderBar and ProgressBar*
  Both of these widgets currently require the use of a global timer,
 which
  has performance implications. If we can implement these without a
 resize
  timer, we will include them in GWT 2.2. If we cannot, we will
 discontinue
  development on them.
 
  - *Logging*
  The logging API may make it into GWT 2.1 if time permits.
 
  - *Form Validation*
  We will take a closer look at the form validation API in GWT 2.2..
 
   Separate Project:
 
  - *SoundResource*
  SoundResource is a promising API for including sound in an
 application,
  but it makes sense to wait for HTML 5 features to become widely
 adopted
  before including it. We would like to move SoundResource into the
 gwt-voices
  project:http://code.google.com/p/gwt-voices/.
 
  - *Graphics*
  The graphics library provides a single, platform independent API
 that
  works on top of Canvas and VML. The library is not ready for GWT
 trunk, but
  this project is worth pursuing.
 
  - *HtmlDecorators*
  We will continue to work on this project to arbitrarily add
 decorations
  to widgets.
 
   As always, please feel free to reply with comments or suggestions.
 
   Thanks,
   John LaBanca
   on behalf of the GWT team

 --
 You received this message because you are subscribed to the Google Groups
 Google Web Toolkit group.
 To post to this group, send email to google-web-tool...@googlegroups.com.
 To unsubscribe from this group, send email to
 google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-web-toolkit?hl=en.




-- 

You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.

To post to this group, send email to google-web-tool...@googlegroups.com.

To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.



Re: [gwt-contrib] Re: AutoHide PopupPanel on History Events

2010-01-13 Thread Joel Webber
 Say I have a GWT-powered eBook reader.
That would be really cool :)

Ok, fair enough. Let's just leave it as is then.
LGTM.

On Wed, Jan 13, 2010 at 3:55 PM, Isaac Truett itru...@gmail.com wrote:

 I like it except for one scenario:

 Say I have a GWT-powered eBook reader. I hide some navigation controls
 in the corner; mouse over and they pop up. I want them to disappear if
 you click outside the popup, so auto-hide=true. But If you click next
 page I want to set a history token (for the next page) and I want the
 controls to stay visible so that you don't have to mouse back over the
 trigger in the corner in order to flip the page again, or flip back.
 If auto-hide-on-click implied auto-hide-on-history then you would have
 to jump through some more hoops (keep track of the popup state and
 re-show after history change if it was visible before).


 On Wed, Jan 13, 2010 at 3:43 PM,  j...@google.com wrote:
  An idea: What if we just considered auto-hide on history to be
  equivalent to auto-hide? I definitely see that we can't hide *all*
  popups on history events, but ones mark auto-hide seem like fair game.
  What do you think?
 
  http://gwt-code-reviews.appspot.com/132804
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] All the content of RichTextEditor is deleted in FF first time you push a key

2010-01-08 Thread Joel Webber
If you're not explicitly selecting the RTA's text (using
formatter.selectAll(), and it's becoming selected by default, please do file
a bug for this. It's likely a mozilla bug, but there's probably something we
can do to forcibly work around it. Do post a snippet that reproduces the
exact behavior if possible -- these things often happen for subtle reasons
that are hard to reproduce without a very specific order of operations.

Thanks,
joel.

On Fri, Jan 8, 2010 at 2:08 PM, Manuel Carrasco Moñino man...@apache.orgwrote:

 Hello,

 When a RichTextEditor is added to a page and then you set the HTML content,
 it is displayed fine, then when you focus the editor and write any letter
 with your keyboard, all the content is erased. If you push undo (ctrl-z) the
 content is displayed again. The problem seems to be that when you add
 content to the editor, the first time, this content goes selected, so when
 you introduce any text it is override.

 Do you think it is a bug?, is it possible to unselect the text after adding
 it to the editor.

 Thanks
 Manolo



 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] All the content of RichTextEditor is deleted in FF first time you push a key

2010-01-08 Thread Joel Webber
[-gwtc] He's not likely to know about google3 :)

On Fri, Jan 8, 2010 at 2:38 PM, John LaBanca jlaba...@google.com wrote:

 Are you using RichTextArea that is part of GWT, or another widget called
 RichTextEditor (in google3?).

 Thanks,
 John LaBanca
 jlaba...@google.com



 On Fri, Jan 8, 2010 at 2:26 PM, Joel Webber j...@google.com wrote:

 If you're not explicitly selecting the RTA's text (using
 formatter.selectAll(), and it's becoming selected by default, please do file
 a bug for this. It's likely a mozilla bug, but there's probably something we
 can do to forcibly work around it. Do post a snippet that reproduces the
 exact behavior if possible -- these things often happen for subtle reasons
 that are hard to reproduce without a very specific order of operations.

 Thanks,
 joel.

 On Fri, Jan 8, 2010 at 2:08 PM, Manuel Carrasco Moñino man...@apache.org
  wrote:

 Hello,

 When a RichTextEditor is added to a page and then you set the HTML
 content, it is displayed fine, then when you focus the editor and write any
 letter with your keyboard, all the content is erased. If you push undo
 (ctrl-z) the content is displayed again. The problem seems to be that when
 you add content to the editor, the first time, this content goes selected,
 so when you introduce any text it is override.

 Do you think it is a bug?, is it possible to unselect the text after
 adding it to the editor.

 Thanks
 Manolo



 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors



 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors



 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] All the content of RichTextEditor is deleted in FF first time you push a key

2010-01-08 Thread Joel Webber
Ok, I'm a complete idiot. Please ignore stupid chatter between me and John
about our internal repository. There is nothing in GWT (internally or
externally) called RichTextEditor, so I just assumed RichTextArea was being
referred to on this thread.

On Fri, Jan 8, 2010 at 2:45 PM, Joel Webber j...@google.com wrote:

 [-gwtc] He's not likely to know about google3 :)


 On Fri, Jan 8, 2010 at 2:38 PM, John LaBanca jlaba...@google.com wrote:

 Are you using RichTextArea that is part of GWT, or another widget called
 RichTextEditor (in google3?).

 Thanks,
 John LaBanca
 jlaba...@google.com



 On Fri, Jan 8, 2010 at 2:26 PM, Joel Webber j...@google.com wrote:

 If you're not explicitly selecting the RTA's text (using
 formatter.selectAll(), and it's becoming selected by default, please do file
 a bug for this. It's likely a mozilla bug, but there's probably something we
 can do to forcibly work around it. Do post a snippet that reproduces the
 exact behavior if possible -- these things often happen for subtle reasons
 that are hard to reproduce without a very specific order of operations.

 Thanks,
 joel.

 On Fri, Jan 8, 2010 at 2:08 PM, Manuel Carrasco Moñino 
 man...@apache.org wrote:

 Hello,

 When a RichTextEditor is added to a page and then you set the HTML
 content, it is displayed fine, then when you focus the editor and write any
 letter with your keyboard, all the content is erased. If you push undo
 (ctrl-z) the content is displayed again. The problem seems to be that when
 you add content to the editor, the first time, this content goes selected,
 so when you introduce any text it is override.

 Do you think it is a bug?, is it possible to unselect the text after
 adding it to the editor.

 Thanks
 Manolo



 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors



 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors



 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors



-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: [google-web-toolkit] r7364 committed - Adds the module name to the generated ID of FormPanel's iframe to ensu...

2010-01-07 Thread Joel Webber
createUniqueId() guarantees a unique id for the document, but makes no
guarantees about uniqueness within the global namespace ($wnd). I think it
would be a worthwhile addition to create such a method in the future,
though.

On Thu, Jan 7, 2010 at 4:12 AM, Thomas Broyer t.bro...@gmail.com wrote:



 On Jan 7, 12:23 am, John Tamplin j...@google.com wrote:
 
  What about the case of multiple instances of the same module?

 How about simply using Document.get().createUniqueId() ?

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: [google-web-toolkit] r7364 committed - Adds the module name to the generated ID of FormPanel's iframe to ensu...

2010-01-07 Thread Joel Webber
On Thu, Jan 7, 2010 at 9:57 AM, John LaBanca jlaba...@google.com wrote:

 createUniqueId() guarantees a unique id for the document, but makes no
 guarantees about uniqueness within the global namespace ($wnd). I think it
 would be a worthwhile addition to create such a method in the future,
 though.


 And to that point, we are generating a unique name for the hidden iframe,
 not a unique ID.  I'm not sure what effect it would have to have names that
 are not unique in the global namespace.


I'm an idiot, sorry. This is for the 'name' attribute of a form panel, not a
global variable. I'm not precisely sure to what extent name and id
overlap in their namespaces, but IIRC there are some subtle interactions.
This code should work fine, but Thomas' idea to use doc.uid would probably
be fine as well.
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Tab-selected style missing in JavaDoc for TabLayoutPanel

2010-01-06 Thread Joel Webber
Whoops, thanks. Added, and will commit momentarily.

On Wed, Jan 6, 2010 at 5:47 AM, dflorey daniel.flo...@gmail.com wrote:

 reminder

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] Re: History support broken on chrome

2010-01-06 Thread Joel Webber
Daniel,

I'm seeing Showcase work fine on both Chrome/Mac and Chrome/Windows. For
http://www.floreysoft.com/ I'm seeing different behaviors on each:

Windows: Everything seems to work fine, except for some strange shuffle when
backing into the first history state, which keeps me from going forward out
of this position.

Mac: History items seem to be created correctly, and change when you click
back/forward, but the app itself often fails to respond to them altogether.

Is there anything unusual going on in your app's history event handler?
Perhaps something like calling History.newItem() in response to a history
event?

Cheers,
joel.

On Wed, Jan 6, 2010 at 4:53 AM, dflorey daniel.flo...@gmail.com wrote:

 Works fine in IE too

 On Jan 6, 10:51 am, dflorey daniel.flo...@gmail.com wrote:
  For the some reason the history support is not working properly on
  chrome.
  I've just added the history example to the main tab panel and it is
  working fine on firefox but works on chrome only for the first back.
  You can double check here:http://www.floreysoft.net

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] History support for StackLayoutPanel

2010-01-06 Thread Joel Webber
Are addSelectionHandler(), addBeforeSelectionHandler(), selectTab(int), and
selectTab(Widget) not sufficient for this?

On Wed, Jan 6, 2010 at 4:05 AM, dflorey daniel.flo...@gmail.com wrote:

 Hi,
 it would be very convenient if StackLayoutPanel would support
 SelectionHandler and a setItem(int index) method to implement history
 support.

 --
 http://groups.google.com/group/Google-Web-Toolkit-Contributors

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

  1   2   3   4   >