I started on something sililar about a month ago. Havnt had time to work on it for a few weeks but maybe it would be usable by someone.
https://github.com/btilford/wicketstuff-core/branches/scala-wicket-builder There's also a groovy builder if you browse my other repos. sent from mobile On Jul 27, 2011 12:56 PM, "Martin Grigorov" <mgrigo...@apache.org> wrote: > Idea for simplification: use named parameters. > For example > def label[T](id: String, model: IModel[T]): Label = { val label = new > Label(id, model); add(label); label } > would become > def label[T](id: String, model = _ : IModel[T]): Label = { val label = > new Label(id, model); add(label); label } > > this way you'll have just one declaration of label function which will > handle the current three > > additionally you may add a pimp: > implicit def ser2model[S :< Serializable](ser: S): IModel[S] = Model.of(ser) > > now even when you pass String as second param to label() it will be > converted to IModel > > On Wed, Jul 27, 2011 at 9:11 PM, Martin Grigorov <mgrigo...@apache.org> wrote: >> Take a look at scala.swing.* sources. >> >> On Wed, Jul 27, 2011 at 8:34 PM, Bruno Borges <bruno.bor...@gmail.com> wrote: >>> Can some Scala expert help me to make this DSL available as PML (pimp my >>> library)? >>> >>> I've tried to code it that way but things didn't quite worked out the way >>> they should. >>> >>> The reason is that for every Wicket object I create, I must extend the trait >>> DSLWicket >>> >>> >>> >>> *Bruno Borges* >>> www.brunoborges.com.br >>> +55 21 76727099 >>> >>> >>> >>> On Wed, Jul 27, 2011 at 2:30 PM, Bruno Borges <bruno.bor...@gmail.com >wrote: >>> >>>> Not really. >>>> >>>> The method onSubmit() of button is void, as well onClick(), so there's no >>>> need for the function be passed as () => Unit or anything else. >>>> >>>> I made a few changes to it and updated on Gist. >>>> >>>> I've also uploaded a page that uses this DSL at >>>> https://gist.github.com/1109919 >>>> >>>> Take a look >>>> >>>> *Bruno Borges* >>>> www.brunoborges.com.br >>>> +55 21 76727099 >>>> >>>> >>>> >>>> On Wed, Jul 27, 2011 at 2:22 PM, Scott Swank <scott.sw...@gmail.com >wrote: >>>> >>>>> I think you do want Unit, which as I understand it is closest >>>>> equivalent to "void" in Scala. >>>>> >>>>> http://www.scala-lang.org/api/current/scala/Unit.html >>>>> >>>>> Scott >>>>> >>>>> On Wed, Jul 27, 2011 at 10:14 AM, Bruno Borges <bruno.bor...@gmail.com > >>>>> wrote: >>>>> > No, the function must return void, not another function (unit). >>>>> > >>>>> > But there's also the option of () => Nothing. Which one should I use for >>>>> > this case? >>>>> > >>>>> > *Bruno Borges* >>>>> > www.brunoborges.com.br >>>>> > +55 21 76727099 >>>>> > >>>>> > >>>>> > >>>>> > On Wed, Jul 27, 2011 at 12:54 PM, Martin Grigorov < mgrigo...@apache.org >>>>> >wrote: >>>>> > >>>>> >> def button(id: String, submit: () => Void): Button = { >>>>> >> >>>>> >> it should be () => Unit, no ? >>>>> >> >>>>> >> On Wed, Jul 27, 2011 at 6:51 PM, Martin Grigorov < mgrigo...@apache.org >>>>> > >>>>> >> wrote: >>>>> >> > Adding some usage examples at the bottom will help us evaluate it. >>>>> >> > >>>>> >> > Why not add type to >>>>> >> > def textField(id: String): TextField[_] = { val field = new >>>>> >> > TextField(id); add(field); field } >>>>> >> > to become >>>>> >> > def textField[T](id: String): TextField[T] = { val field = new >>>>> >> > TextField[T](id); add(field); field } >>>>> >> > >>>>> >> > usage: textField[Int](someId) >>>>> >> > >>>>> >> > with using implicit Manifest for T you can also can automatically set >>>>> >> > the type: field.setType(m.erasure) >>>>> >> > >>>>> >> > On Wed, Jul 27, 2011 at 6:26 PM, Bruno Borges < >>>>> bruno.bor...@gmail.com> >>>>> >> wrote: >>>>> >> >> I've been playing with Wicket and Scala and I thought this could be >>>>> >> added to >>>>> >> >> the wicket-scala project at WicketStuff. >>>>> >> >> >>>>> >> >> What do you guys think? >>>>> >> >> >>>>> >> >> https://gist.github.com/1109603 >>>>> >> >> >>>>> >> >> >>>>> >> >> *Bruno Borges* >>>>> >> >> www.brunoborges.com.br >>>>> >> >> +55 21 76727099 >>>>> >> >> >>>>> >> > >>>>> >> > >>>>> >> > >>>>> >> > -- >>>>> >> > Martin Grigorov >>>>> >> > jWeekend >>>>> >> > Training, Consulting, Development >>>>> >> > http://jWeekend.com >>>>> >> > >>>>> >> >>>>> >> >>>>> >> >>>>> >> -- >>>>> >> Martin Grigorov >>>>> >> jWeekend >>>>> >> Training, Consulting, Development >>>>> >> http://jWeekend.com >>>>> >> >>>>> >> --------------------------------------------------------------------- >>>>> >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> >> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >> >>>>> >> >>>>> > >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >>>>> >>>> >>> >> >> >> >> -- >> Martin Grigorov >> jWeekend >> Training, Consulting, Development >> http://jWeekend.com >> > > > > -- > Martin Grigorov > jWeekend > Training, Consulting, Development > http://jWeekend.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org >