Ray,

You mentioned that DisclosurePanel is supported by Uibinder. Do you
know how to config the *.ui.xml?

UiBinder greatly bridges the gap between traditional html design and
the java coding. I am already very happy just using HTMLPanel + normal
html + ui:field + styleName. :)

~Xijiang


On Aug 6, 9:39 am, Andrés Testi <andres.a.te...@gmail.com> wrote:
> UiBinder is awesome!
>
> An extra degree of decoupling, could be done by adding the next stuff
> to the UiBinder interface:
>
> public interface UiBinder<U, O> {
>
>    U createAndBindUi(O owner);
>
>   public static interface Pair<U, O>{
>     R getRoot();
>     O getOwner();
>   }
>
>   Pair<U, O> createAndBindUi();
>
> }
>
> where createAndBind() without parameters could instantiate an owner
> class, enabling injection by constructor for UiField for more robust
> code.
>
> - Andrés
>
> On 5 ago, 10:32, Ray Ryan <rj...@google.com> wrote:> The GWT standard widgets 
> already have custom parsers built for them.
> > DockPanel, DisclosurePanel, Menubar, etc. all work just fine despite their
> > wonky api needs. The bug here is that you can't indulge in similar glue for
> > your custom widgets yet. No Google team has found that to be a problem with
> > their custom widgets, which is I why I felt like I could get away with
> > ducking that issue a bit longer.
>
> > On Wed, Aug 5, 2009 at 1:31 AM, brett.wooldridge <brett.wooldri...@gmail.com
>
> > > wrote:
>
> > > Just a question, and a comment.  First the comment.  Thank you for
> > > getting this up into the repo, in whatever state.  Second, it was
> > > commented that Adwords and a few other projects have vetted this over
> > > the past year.  How does this jibe with the deficiencies outlined?
> > > For example, not being able to markup for DockPanel, etc?  Did those
> > > projects just have to go "off-roading" and create custom parsers based
> > > on an API they knew they would eventually have to fix/rewrite?
>
> > > -Brett
>
> > > On Aug 5, 5:49 am, Ray Ryan <rj...@google.com> wrote:
> > > > I share your concern, Amir, but I'm even more afraid of a) providing an
> > > ill
> > > > considered API for custom parsers and b) delaying 2.0. I'm pretty
> > > confident
> > > > we can limp along without them for a dot release.
>
> > > > On Tue, Aug 4, 2009 at 1:36 PM, Amir Kashani <amirkash...@gmail.com>
> > > wrote:
> > > > > As Ray mentioned, one has a pretty simple workaround and two is pretty
> > > > > uncommon. I'm a little more concerned about the third case. A few
> > > examples
> > > > > of issue with internally used widgets I've created:
>
> > > > > - A StackPanel replacement that adds animation support. The only
> > > workaround
> > > > > I can think of is having the add() method take a StackPanelItem or
> > > similar
> > > > > that contains the header text or widget.
> > > > > - TitledPanel, which supports a header, content and footer area. In
> > > this
> > > > > case, the widget could expect several calls to add, and determine the
> > > > > context based on number of previous calls. This would get a bit hairy
> > > if
> > > > > headers and footers were optional, though.
>
> > > > > These scenarios are a bit inconvenient without a custom parser, but 
> > > > > far
> > > > > from a deal breaker. The concern is that people develop a set of
> > > hackish
> > > > > workarounds that aren't easily fixed when custom parsers are 
> > > > > supported.
>
> > > > > - Amir
>
> > > > > On Tue, Aug 4, 2009 at 12:47 PM, Joel Webber <j...@google.com> wrote:
>
> > > > >> There are three cases where custom parsers come up:1. Widgets without
> > > a
> > > > >> default constructor.
> > > > >> 2. Non-widget UIObjects that need an XML representation.
> > > > >> 3. Panels that need more than the default add() method to deal
> > > properly
> > > > >> with child widgets.
>
> > > > >> The former is usually pretty easy to work around, and it seldom comes
> > > up
> > > > >> much in practice (I think it came up for MenuBar, because it wants 
> > > > >> its
> > > > >> 'direction' as an invariant -- that wasn't even a good design 
> > > > >> anyway).
>
> > > > >> The second case doesn't come up all that often, but it's important 
> > > > >> for
> > > > >> menus and trees.
>
> > > > >> The third case is the most problematic. Take DockPanel, for example:
> > > It's
> > > > >> really not going to be able to do anything useful if you just call
> > > add() on
> > > > >> it, because it doesn't know where to put the child. These sorts of
> > > panels
> > > > >> need extra attributes or elements to specify where to put children.
>
> > > > >> On Tue, Aug 4, 2009 at 3:42 PM, Amir Kashani <amirkash...@gmail.com
> > > >wrote:
>
> > > > >>> What are the limitations for a Widget developer without a custom
> > > parser?
> > > > >>> I've only begun to look at the code, but it seems like it'll still 
> > > > >>> be
> > > > >>> possible to use a custom widget albeit with cumbersome markup.
> > > > >>> - Amir
>
> > > > >>> On Tue, Aug 4, 2009 at 12:35 PM, Joel Webber <j...@google.com>
> > > wrote:
>
> > > > >>>> Ok, then we'll need to be pretty clear about that in the
> > > documentation,
> > > > >>>> because it's a pretty serious landmine (i.e., in that existing
> > > projects
> > > > >>>> could easily have some widgets that couldn't be directly used with
> > > UiBinder
> > > > >>>> without hackery). As an example, I'm going to have to add some
> > > parsers for
> > > > >>>> LayoutPanel, et al, because they have somewhat unusual construction
> > > > >>>> semantics.
>
> > > > >>>> On Tue, Aug 4, 2009 at 3:31 PM, Ray Ryan <rj...@google.com> wrote:
>
> > > > >>>>> I was thinking 2.1, actually.
>
> > > > >>>>> On Tue, Aug 4, 2009 at 12:31 PM, <j...@google.com> wrote:
>
> > > > >>>>>> On 2009/08/04 18:50:55, Ray Ryan wrote:
>
> > > > >>>>>>> On 2009/08/04 17:44:38, Ray Ryan wrote:
>
> > > > >>>>>>  A question for the group: the stuff under rebind and parsers
> > > should
>
> > > > >>>>>> not be
>
> > > > >>>>>>> considered public API, it's just not ready for that. Is javadoc
> > > to
>
> > > > >>>>>> that effect
>
> > > > >>>>>>> enough of a deterrent? (Although I suppose the fact that you
> > > can't
>
> > > > >>>>>> actually make
>
> > > > >>>>>>> your own parsers and such *do* anything yet will make the issue
> > > > >>>>>>> moot.)
>
> > > > >>>>>> I would assume that if you can't usefully write your own yet, 
> > > > >>>>>> then
> > > > >>>>>> it's
> > > > >>>>>> pretty safe to keep evolving the API. I assume that there's a
> > > > >>>>>> 2.0-time-frame task to make a public API for parsers?
>
> > > > >>>>>>http://gwt-code-reviews.appspot.com/51831

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

Reply via email to