You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by raybristol <ra...@gmail.com> on 2007/09/26 12:14:21 UTC
hi questions about Wizard again, thanks!
Hi, sorry to ask questions again
I have a WizardPage, got 2 questions don't really know how to solve,
My WizardPage is like
public class AddDeliveryWizardPage extends AbstractExamplePage{
public AddDeliveryWizardPage(){
super();
WizardModel model = new WizardModel();
int numberOfBoxes = 0;
List<Box> boxesList = new ArrayList<Box>();
//variable 'numberOfBoxes' will be set in this
step
model.add(new SetNumberOfBoxesWizardStep());
//set box entity objects according to variable
'numberOfBoxes' set from last step
model.add(new SetBoxEntityWizardStep(int numberOfBoxes));
Wizard wizard = new Wizard("wizard", model)
this.add(wizard);
}
}
question 1: as model step is added at compile time, so I don't know how to
get the value of variable 'numberOfBoxes' after it got set from the 1st
step, in the 2nd step 'numberOfBoxes''s value is default value 0.
question 2: in the 2nd step I probably need user to input multiple box
object's details, for a single model, I can use somthign like setModel(new
CompoundPropertyModel(box)), but what about for multiple objects? is it
something like setModel(new CompoundPropertyModel(boxeslist)) <- boxeslist
is a arraylist of box objects.
Many thanks for your guys help, this is the best forum I can find for wicket
:)
--
View this message in context: http://www.nabble.com/hi-questions-about-Wizard-again%2C-thanks%21-tf4521282.html#a12897888
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: hi questions about Wizard again, thanks!
Posted by raybristol <ra...@gmail.com>.
Thansk very much, love this forum! got a reply so prompt!
Andrew Klochkov wrote:
>
> raybristol wrote:
>> My WizardPage is like
>>
>> public class AddDeliveryWizardPage extends AbstractExamplePage{
>>
>> public AddDeliveryWizardPage(){
>>
>> super();
>>
>> WizardModel model = new WizardModel();
>> int numberOfBoxes = 0;
>> List<Box> boxesList = new ArrayList<Box>();
>>
>> //variable 'numberOfBoxes' will be set in this
>> step
>> model.add(new SetNumberOfBoxesWizardStep());
>>
>> //set box entity objects according to variable
>> 'numberOfBoxes' set from last step
>> model.add(new SetBoxEntityWizardStep(int numberOfBoxes));
>>
>> Wizard wizard = new Wizard("wizard", model)
>> this.add(wizard);
>> }
>>
>> }
>>
>> question 1: as model step is added at compile time, so I don't know how
>> to
>> get the value of variable 'numberOfBoxes' after it got set from the 1st
>> step, in the 2nd step 'numberOfBoxes''s value is default value 0.
>>
> You should make numberOfBoxes variable accessible in both the steps. One
> way to do it:
>
> public class AddDeliveryWizardPage extends AbstractExamplePage{
>
> private int numberOfBoxes;
> private final List<Box> boxesList = new ArrayList<Box>();
>
> public AddDeliveryWizardPage(){
>
> super();
>
> IModel boxesAmountModel = new PropertyModel(this, "numberOfBoxes");
> WizardModel model = new WizardModel();
>
> //variable 'numberOfBoxes' will be set in this step
> model.add(new SetNumberOfBoxesWizardStep(boxesAmountModel) {
> public void applyState() {
> for (int i = 0; i < numberOfBoxes; i++)
> boxesList.add(new Box());
> }
> });
>
> //set box entity objects according to variable 'numberOfBoxes' set from
> last step
> model.add(new SetBoxEntityWizardStep(boxesAmountModel, boxesList));
>
> Wizard wizard = new Wizard("wizard", model)
> this.add(wizard);
> }
>
> }
>
>> question 2: in the 2nd step I probably need user to input multiple box
>> object's details, for a single model, I can use somthign like
>> setModel(new
>> CompoundPropertyModel(box)), but what about for multiple objects? is it
>> something like setModel(new CompoundPropertyModel(boxeslist)) <-
>> boxeslist
>> is a arraylist of box objects.
>>
> Notice that I added a "boxesList" parameter for the second step in the
> code above. So then in the SexBoxEntityWizardStep you could use some
> repeater to generate html inputs for every box. For example here is a
> ListView example:
>
> add(new ListView("boxes", boxesList) {
> protected void populateItem(final ListItem item) {
> item.add(new TextField("name", new
> PropertyModel(item.getModelObject(), "name"));
> }
> });
>>
>> Many thanks for your guys help, this is the best forum I can find for
>> wicket
>> :)
>>
>>
> +1 :)
>
>
> --
> Andrew Klochkov
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>
>
--
View this message in context: http://www.nabble.com/hi-questions-about-Wizard-again%2C-thanks%21-tf4521282.html#a12899730
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org
Re: hi questions about Wizard again, thanks!
Posted by Andrew Klochkov <a....@webalta-team.com>.
raybristol wrote:
> My WizardPage is like
>
> public class AddDeliveryWizardPage extends AbstractExamplePage{
>
> public AddDeliveryWizardPage(){
>
> super();
>
> WizardModel model = new WizardModel();
> int numberOfBoxes = 0;
> List<Box> boxesList = new ArrayList<Box>();
>
> //variable 'numberOfBoxes' will be set in this
> step
> model.add(new SetNumberOfBoxesWizardStep());
>
> //set box entity objects according to variable
> 'numberOfBoxes' set from last step
> model.add(new SetBoxEntityWizardStep(int numberOfBoxes));
>
> Wizard wizard = new Wizard("wizard", model)
> this.add(wizard);
> }
>
> }
>
> question 1: as model step is added at compile time, so I don't know how to
> get the value of variable 'numberOfBoxes' after it got set from the 1st
> step, in the 2nd step 'numberOfBoxes''s value is default value 0.
>
You should make numberOfBoxes variable accessible in both the steps. One
way to do it:
public class AddDeliveryWizardPage extends AbstractExamplePage{
private int numberOfBoxes;
private final List<Box> boxesList = new ArrayList<Box>();
public AddDeliveryWizardPage(){
super();
IModel boxesAmountModel = new PropertyModel(this, "numberOfBoxes");
WizardModel model = new WizardModel();
//variable 'numberOfBoxes' will be set in this step
model.add(new SetNumberOfBoxesWizardStep(boxesAmountModel) {
public void applyState() {
for (int i = 0; i < numberOfBoxes; i++)
boxesList.add(new Box());
}
});
//set box entity objects according to variable 'numberOfBoxes' set from last step
model.add(new SetBoxEntityWizardStep(boxesAmountModel, boxesList));
Wizard wizard = new Wizard("wizard", model)
this.add(wizard);
}
}
> question 2: in the 2nd step I probably need user to input multiple box
> object's details, for a single model, I can use somthign like setModel(new
> CompoundPropertyModel(box)), but what about for multiple objects? is it
> something like setModel(new CompoundPropertyModel(boxeslist)) <- boxeslist
> is a arraylist of box objects.
>
Notice that I added a "boxesList" parameter for the second step in the
code above. So then in the SexBoxEntityWizardStep you could use some
repeater to generate html inputs for every box. For example here is a
ListView example:
add(new ListView("boxes", boxesList) {
protected void populateItem(final ListItem item) {
item.add(new TextField("name", new
PropertyModel(item.getModelObject(), "name"));
}
});
>
> Many thanks for your guys help, this is the best forum I can find for wicket
> :)
>
>
+1 :)
--
Andrew Klochkov
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org