Igor Vaynberg wrote:
why not this?
WebMarkupContainer composite=new WebMarkupContainer("id", new
CompoundPropertyModel(new ValueMap()));
composite.add(new TextField("date"));
composite.add(new TextField("time"));
this does what you want right?
composite's model is a map whose date key contains the value of the date
textfield, and time key that of time textfield.
it's not what i wished for.
i wanted my model to contain a Date value, part of each is used by the date
text field and part by the time date field.
i can do something like
form.add(new TextField("date", new Model(getDate(date))));
form.add(new TextField("time", new Model(getTime(date))));
and in onSubmit do something like
toDate(getDateValue(), getTimeValue())
where getDateValue() locates the 'date' text field (how do i do that?) and
returns its model value (the date part) and getTimeValue() does a similar thing
for the time part
but, what i wanted was to create something reusable, that can be used elsewhere
also.
WebMarkupContainer composite=new WebMarkupContainer("id", new IValueAdapter(){...}); // IValueAdapter can get/set parts of a value it is
// the equivalent of getDate, getTime, toDate etc.
composite.add(new TextField("date"));
composite.add(new TextField("time"));
(the model is gotten from the form, but of course the composite component can
have its own (in another constructor))
-Igor
On 5/8/06, *Ittay Dror* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
that is not my problem.
my problem is that i have two components (text fields) - one for
date, one for time, whose combined value is my model value.
i can, of course, create a custom model, and onSubmit get its
values, combine them, and put in the form's model. but this is
awkward, and not component oriented.
i want to create a component that means "the values of the children
of this component will be combined to its value"
ittay
Martijn Dashorst wrote:
> Ittay,
>
> It seems like you need to create a Panel instead So a much cleaner
> design, and more reusable component would be:
>
> public class MyDatePicker extends Panel {
> public MyDatePicker(String id, IModel model) {
> super(id);
> add(new DatePicker("datepicker", model));
> add(new TextField("textfield", model));
> }
> }
>
> <html>
> <body>
> <wicket:panel>
> <input wicket:id="textfield" type="text" /><span
> wicket:id="datepicker" />
> </wicket:panel>
> </body>
> </html>
>
> Add it to any form, and it will work:
>
> form.add(new MyDatePicker("date", new PropertyModel(person,
"birthdate")));
>
> Overriding add is not the right thing to do. Add is usually called in
> constructors, and it is generally considered a bad thing to call
> overridable methods in a constructor as the type hierarchy is not
> completely initialized.
>
> We made quite a lot of method final in our API, see for the
reason the
> following faq:
>
> http://wicketframework.org/faqs.html#why-final
<http://wicketframework.org/faqs.html#why-final>
>
> We are also refactoring our component creation/hierarchy composition
> strategy in the next version of Wicket. The add method will be
removed
> as a consquence. So depending on overriding add is not the way to
go.
>
> Martijn
>
>
> On 5/8/06, *Ittay Dror* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>
> i want to set the model of the child. i thought of doing that by:
> child.setModel(myModel);
> super.add(child);
>
> what is wrong with that? how else can i do it?
>
> here's the long story of what i'm trying to acheive:
> i have a web page with two text fields, for date and time
(for the
> date, i'm already using DatePicker). (they are used to
schedule an
> action)
> my model has a Date field (CompoundPropertyModel), which i
want to
> be set with the date and time (together)
>
> so, i thought it would be nice to create a
CompositeComponent, which
> will use a MapModel (IModel implementation mapping id to
value) in
> the children. it will have its own model, set by the client, and
> hooks/strategy to separate its model value to that of the child
> components, and to restore it when the form is submitted.
>
> so, the first thing is to set the MapModel in the child
components
>
> ittay
>
>
> Juergen Donnerstag wrote:
> > You want to do what? add() is used to add Wicket
Components to the
> > component hierarchy. It is NOT used to set or add a model.
Child
> > components can be access by get(childId).
> >
> > Juergen
> >
> > On 5/8/06, Ittay Dror < [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>>
wrote:
> >> I want to create a MarkupContainer component which sets the
> model of
> >> contained components. but MarkupContainer.add is final,
so i can't
> >> override it. why? what else can i do?
> >>
> >> Thanx,
> >> Ittay
> >>
> >> --
> >> ===================================
> >> Ittay Dror
> >> Chief architect, openQRM TL,
> >> R&D, Qlusters Inc.
> >> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
> >> +972-3-6081994 Fax: +972-3-6081841
> >>
> >> http://www.openQRM.org <http://www.openQRM.org>
> >> - Keeps your Data-Center Up and Running
> >>
> >>
> >> -------------------------------------------------------
> >> Using Tomcat but need to do more? Need to support web
services,
> security?
> >> Get stuff done quickly with pre-integrated technology to make
> your job
> >> easier
> >> Download IBM WebSphere Application Server v.1.0.1 based
on Apache
> >> Geronimo
> >>
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
<http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
>
<http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
<http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>>
> >> _______________________________________________
> >> Wicket-user mailing list
> >> Wicket-user@lists.sourceforge.net
<mailto:Wicket-user@lists.sourceforge.net>
> <mailto: Wicket-user@lists.sourceforge.net
<mailto:Wicket-user@lists.sourceforge.net>>
> >> https://lists.sourceforge.net/lists/listinfo/wicket-user
> >>
> >
> >
> > -------------------------------------------------------
> > Using Tomcat but need to do more? Need to support web
services,
> security?
> > Get stuff done quickly with pre-integrated technology to make
> your job
> > easier
> > Download IBM WebSphere Application Server v.1.0.1 based on
Apache
> Geronimo
> >
http://sel.as-us.falkag.net/sel?cmd=k&kid0709&bid&3057&dat1642
<http://sel.as-us.falkag.net/sel?cmd=k&kid0709&bid&3057&dat1642>
>
<http://sel.as-us.falkag.net/sel?cmd=k&kid%120709&bid&3057&dat%121642
<http://sel.as-us.falkag.net/sel?cmd=k&kid%120709&bid&3057&dat%121642>>
> > _______________________________________________
> > Wicket-user mailing list
> > Wicket-user@lists.sourceforge.net
<mailto:Wicket-user@lists.sourceforge.net>
> <mailto:Wicket-user@lists.sourceforge.net
<mailto:Wicket-user@lists.sourceforge.net>>
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
<https://lists.sourceforge.net/lists/listinfo/wicket-user>
> <https://lists.sourceforge.net/lists/listinfo/wicket-user>
> >
>
>
> --
> ===================================
> Ittay Dror
> Chief architect, openQRM TL,
> R&D, Qlusters Inc.
> [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> <mailto:
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
> +972-3-6081994 Fax: +972-3-6081841
>
> http://www.openQRM.org <http://www.openQRM.org>
> - Keeps your Data-Center Up and Running
>
>
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services,
> security?
> Get stuff done quickly with pre-integrated technology to make
your
> job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
>
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
<http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
>
<http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
<http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>>
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
<mailto:Wicket-user@lists.sourceforge.net>
> <mailto: Wicket-user@lists.sourceforge.net
<mailto:Wicket-user@lists.sourceforge.net>>
> https://lists.sourceforge.net/lists/listinfo/wicket-user
<https://lists.sourceforge.net/lists/listinfo/wicket-user>
>
>
>
>
> --
> Wicket 1.2 is coming! Write Ajax applications without touching
JavaScript!
> -- http://wicketframework.org
--
===================================
Ittay Dror
Chief architect, openQRM TL,
R&D, Qlusters Inc.
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
+972-3-6081994 Fax: +972-3-6081841
http://www.openQRM.org
- Keeps your Data-Center Up and Running
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services,
security?
Get stuff done quickly with pre-integrated technology to make your
job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache
Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
<http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
<mailto:Wicket-user@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/wicket-user
--
===================================
Ittay Dror
Chief architect, openQRM TL,
R&D, Qlusters Inc.
[EMAIL PROTECTED]
+972-3-6081994 Fax: +972-3-6081841
http://www.openQRM.org
- Keeps your Data-Center Up and Running
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user