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

Reply via email to