Action speaks louder than words...

Eelco :)

On 7/23/06, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> class MyImage extends WebComponent {
>    private int width;
>    private int height;
>    private string url;
>    private string text;
>
>    public myimage(string id, string url, string text, int width, int height)
> {
>       super(id);
>       this.url=url;
>       ...
>     }
>
>     void oncomponenttag(tag tag) {
>         checkcomponenttag(tag, "img");
>         tag.put("src",url);
>         tag.put("alt", text);
>         tag.put("width", width);
>         tag.put("height", "height");
>      }
> }
>
> ....
>
> add(new MyImage("img1", "foo.gif", "bar", 200, 330);
> add(new MyImage("img2", "foo2.gif", "bar2", 232, 523);
>
> -Igor
>
>
>
> On 7/23/06, Eelco Hillenius < [EMAIL PROTECTED]> wrote:
> >
> >
> > Among the remaining problems, is the fact that references to image files
> > inside the css don't work
>
> Probably all the same problem of not having them pre-registered.
> Please could you try using the version in svn (WICKET_1_2 branch), or
> download the intermediate version at
> http://sourceforge.net/project/showfiles.php?group_id=119783&package_id=173489&release_id=428730
> ?
>
> There are many components, like the Tree, DatePicker, YUI Slider and
> Calendar etc that work with relative images like that. So far -
> besides that pre-registering - that didn't give any problems.
>
>
> > BTW, I have struggled with another problem about loading images
> dynamically
> > at run time while having to pass not only the file name but the width,
> > height and alt attributes. After days of experiments, I ended with this
> > solution :
> >
> >     WebMarkupContainer wmc = new WebMarkupContainer("image0");
> >     wmc.add(new AttributeModifier("src", new
> > Model("images/vd-contrebasse.png")));
> >     wmc.add(new AttributeModifier("width", new Model("132")));
> >     wmc.add(new AttributeModifier("height", new Model("101")));
> >     wmc.add(new AttributeModifier("alt", new Model("Mains sur une
> > contrebasse")));
> >     add(wmc);
> >
> > Although it works, it looks a bit like brute force ! (This approach also
> > work for linking to a css file, and I suppose it could work for setting
> any
> > attribute of any element, but it looks ugly ! Is there a better way to
> > achieve this ?
>
> Well, first off, programming will always take a few lines here and
> there. The whole trick with Wicket and it's philosophy of reusable
> components is that you hide the ugly parts in components and expose a
> nice API on them.
>
> Instead of those static models (new Model("value")), use dynamic
> models that e.g. work on properties of your component (new
> PropertyModel(this, "alt")).
>
> Furthermore, instead of using attribute modifiers, you could e.g.
> override onComponentTag body, and do your attribute modification there
> like: openTag.getAttributes().put(key, value) or in 2.0 (alpha
> currently) you can even do it int the constructor:
> getMarkupAttributes().put(key, value);
>
> Eelco
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>
>

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to