Vincent Massol wrote:
> On Feb 20, 2009, at 1:35 PM, Dan Miron wrote:
>
>> Guys, this is what I'm thinking of after reading your proposals:
>> - the macro to look like {{icon name="smile" /}}, thus having a
>> mapping
>> between the name parameter and the image file
>> - having a base set of icons from the silk icon set
>> - allowing plugging in other icon sets, too
>
> +1
>
>> So, there you have a sketch on how the macro would look like:
>>
>> class IconMacro implements Macro {
>> List<Block> execute(IconMacroParameters parameters) {
>> Map resources = getResourcesMap();
>> return new ImageBlock(resources.get(parameters.getName()));
>> }
>
> I'd rather use a IconResourceSet component.
> You create one implementation called SilkIconResourceSet and register
> it with a "silk" hint.
Shouldn't the implementation rather be DefaultSkinIconResourceSet and we
configure the path and extension for silk in the component description ?
I don't see what can be specific to silk here.
Jerome
>
> You make IconMacro impelment Initializable, Composable and in
> initialize() you lookup all components implementing IconResourceSet
> and you build your map with them.
>
> -Vincent
>
>> Map getResourcesMap() {
>> // uses IconResourceDiscoverer to dinamically build the icon set
>> and the mapping between names / icon URLs
>> }
>> }
>>
>> class AbstractIconResource {
>> public abstract Map<String, URL> getResourcesMap();
>> }
>>
>> class DefaultIconResource extends AbstractIconResource {
>> // gets the the default icon set from silk
>> // .....................
>> }
>>
>> //singleton class
>> class IconResourceDiscoverer {
>> public Map<String, URL> loadIcons() {
>> foreach (Class c which extends AbstractIconResource) {
>> c.getResourcesMap();
>> }
>> return all the grabbed resources;
>> }
>> }
>>
>>
>> - optionally, we can put the IconResourceDiscoverer and the
>> DefaultIconResource in a component if we're going to need using
>> icons in
>> other features too.
>> - if we want to take care of the ambiguities (e.g. multiple icons with
>> the same name located in different icon sets) we can add an optional
>> parameter to the macro called "iconSet" or how else you prefer which
>> to
>> allow explicitly specifying the icon set (the default one being Silk)
>>
>> Please tell me what you think, 'cause i'm keen on starting working
>> on it
>> :-)
>>
>> Tnx,
>> Dan
>
> Thanks
> -Vincent
> http://xwiki.com
> http://xwiki.org
> http://massol.net
>
>
>
>
>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs