But, your requirement #3:
 3. allow components outside of the framework to provide their own
 mappings

... is a more general thing that's a major whole in skinning.
There's no simple way for a component author to register
additional styles to merge into skins.  I think that's almost
the #1 most important feature that could be added to skinning.

-- Adam



On 8/3/06, Adam Winer <[EMAIL PROTECTED]> wrote:
As a first pass, how about a plain Java API, provided by the
Skin?  I think that architecturally it's important to first figure
out where the Java code lives, than think about XML configuration.

I'm not totally convinced that your requirement #2 is necessary...

-- Adam


On 8/3/06, Catalin Kormos <[EMAIL PROTECTED]> wrote:
> Hi there,
>
> It's been mentioned already that the mapping from public style selector
> names, which do not contain html, into trinidad's internal style selector
> names, would need to be moved outside of the FileSystemStyleCache class. I
> would like to ask you guys about this, as this is one of the main tasks that
> should be resolved for a more general skinning module.
>
> The requirements i can see are the following:
>
>    1. mapping should be transparent, preferably no changes on the
>    StyleProvider API regarding this
>    2. mapping configuration made outside of the code
>    3. allow components outside of the framework to provide their own
>    mappings
>
> On a short basis, my proposition is inspired by how Facelets taglibs are
> defined and loaded (for those who are familiar with this).
>
> Basicaly have a skinning selectors library file, in XML format, that will
> declare all the possible selector names and their internal names (internal
> names could be optional). Loading this type of files will be done
> automaticaly, by searching after files that have an extension like
> *.selectorslib.xm by scanning the /meta-inf folder in the jars.
>
> The format of a *selectorslib.xml file could be something like:
> <skinning-selectors>
> <namespace>af</namespace>
> <selector>
> <name>panelTabbed::tab-link</name>
> <internal-name>panelTabbed::tab A</internal-name>
> </selector>
> ..............
> </skinning-selectors>
>
> This will also allow more transparency on the possible selector names for a
> component, as there can be as many * selectorslib.xml files as components,
> or just one big file declaring them all.
>
> I'm more like scratching the surface for now, looking forward to your
> comments.
>
> Regards,
> Catalin
>
>

Reply via email to