Hello All,
I love to use CompoundPropertyModel whenever I can, and I had a debate today
on how to appropriately use it within a ListView.
Here is the markup, this is the start of the implementation of a message
panel:
<!--
<table>
<tr wicket:id="customerReceivedMessages">
<td width="15px">Ic</td>
<td width="auto">
Some message -
Some Summary text...</td>
<td width="15px"> </img></td>
<td width="10%">Time</td>
</tr>
</table>
-->
in the java code I set the model of the page initially:
setModel(new CompoundPropertyModel(leadModel));
And then when it is time to list all the messages, I use the following code
which corresponds to the markup
ListView messages = new ListView("customerReceivedMessages") {
@Override
protected void populateItem(ListItem item) {
item.setModel(new CompoundPropertyModel(item.getModel()));
item.add(new Label("subject"));
item.add(new Label("text"));
StaticImage attachIcon = new StaticImage("attachmentIcon", new
Model("/_media/paperclip.gif"));
if(cm.getFileName() == null || cm.getFileName().equals("")) {
attachIcon.setVisible(false);
}
item.add(attachIcon);
item.add(new Label("summaryTime"));
}
Now the issue is that my architect, who is more experienced wicket told me
that I should not be changing the model of item to a CompoundPropertyModel,
since ListView is in charge of controlling that model. The code works, but I
do get some undesirable side effects, for example:
ConversationMessage cm = (ConversationMessage) item.getModelObject();
will not work after I call setModel on item, even though the
CompoundPropertyModel should have the same ModelObject
(ConversationMessage).
so 2 questions:
Can you confirm that I am doing something wrong here?
How can I cleanly still use CompoundPropertyModel within the populateItem so
that I can keep the code without all those PropertyModel instantiations I
would have to do with the absence of a CompoundPropertyModel?
Thanks for taking a look at this.
Hassan Chafi
http://www.genietown.com GenieTown @ your service
--
View this message in context:
http://www.nabble.com/Changing-the-model-of-a-ListView-item-to-use-CompoundPropertyModel-tf4824021.html#a13801970
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]