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

Reply via email to