Nope, doesn't work either.
I've created a new class MySquare implementing IModel but the getObject() never
get called either.
I'm stumped.
In populateItem I do:
for (int col=0; col<10; col++) {
MySquare mySquare = new MySquare();
Link link = new Link("cols"+col, mySquare) {
public void onClick() {
System.out.println("clicked");
}
};
link.add(new Image("icon"+col,Square.emptyResource));
item.add(link);
/Axel
>>-----Ursprüngliche Nachricht-----
>>Von: Michael Sparer [mailto:[EMAIL PROTECTED]
>>Gesendet: Mittwoch, 19. November 2008 12:37
>>An: [email protected]
>>Betreff: Re: Model never called
>>
>>
>>
>>you should rather add an IModel to the link e.g. new
>>Link("foobar", myModel);
>>than letting a component implement IModel. the way you did
>>it, the model is
>>never recognised as a model, as it wasn't set as a model of a
>>component.
>>hope that makes sense
>>
>>regards,
>>Michael
>>
>>
>>Leucht, Axel wrote:
>>>
>>> Hi,
>>>
>>> I do have a link class which should render different icons
>>when clicked.
>>>
>>> So I decided to implement IModel and return different icons
>>depending on
>>> the state of the object. But to my surprise getObject()
>>never get called!
>>>
>>> Does anyone give me a clue where to look next or give me a
>>hint as to how
>>> to render the object with a different icon?
>>>
>>> The object is used in a 10x10 board game where a player can
>>"shoot" at
>>> different squares which are rendered as links in the
>>output. The board is
>>> constructed as:
>>> ListView listview = new ListView("rows", list) {
>>> private static final long serialVersionUID = 1L;
>>>
>>> protected void populateItem(ListItem item) {
>>> Row row = (Row) item.getModelObject();
>>> final Square[] squares = new Square[10];
>>> for (int col=0; col<10; col++) {
>>> squares[col] =
>>row.getCells(col);
>>> }
>>> Square square = row.getCells(0);
>>> item.add(new Label("row",new
>>Model(square.getRow())));
>>> for (int col=0; col<10; col++) {
>>> final Square aSquare =
>>row.getCells(col);
>>> item.add(aSquare);
>>> }
>>> }
>>> };
>>> And the Square-Object is:
>>> public class Square extends Link implements IModel {
>>> @Override
>>> public void onClick() {
>>> System.out.println("Click:" + ident);
>>> }
>>>
>>> @Override
>>> public Object getObject() {
>>> System.out.println("GetObject");
>>> if (someState)
>>> return icon1;
>>> return icon2;
>>>
>>> }
>>> }
>>>
>>> /Axel
>>>
>>>
>>---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>
>>
>>-----
>>Michael Sparer
>>http://talk-on-tech.blogspot.com
>>--
>>View this message in context:
http://www.nabble.com/Model-never-called-tp20577931p20578051.html
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]