[
https://issues.apache.org/jira/browse/TRINIDAD-1496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13015647#comment-13015647
]
Blake Sullivan commented on TRINIDAD-1496:
------------------------------------------
I forgot to say that I agree that the relative URL case for icons isn't
especially useful--it would only really work if all of the pages were in the
same directory
> Need org.apache.myfaces.trinidad.skin.Icon to expose the raw content value
> instead of just getImageURI
> ------------------------------------------------------------------------------------------------------
>
> Key: TRINIDAD-1496
> URL: https://issues.apache.org/jira/browse/TRINIDAD-1496
> Project: MyFaces Trinidad
> Issue Type: New Feature
> Components: Components
> Affects Versions: 1.2.11-core
> Reporter: Matt Cooper
> Priority: Minor
>
> In skinning, you can define image icons in 4 different ways:
> 1.) Absolute URLs specify the complete URL to the resource, including the
> protocol (e.g. http://). Example:
> content: url(http://incubator.apache.org/images/asf_logo_wide.gif);
> 2.) Relative URLs are used if the specified URL does not start with a slash
> ("/") and if there's no protocol present. A relative URL is based on the
> skin's CSS file location. For instance, if the CSS is located in
> MyWebApp/skins/mySkin/ and the specified url is skinImages/myImage.gif, then
> the final URL will be /MyWebApp/skins/mySkin/skinImages/myImage.gif. Example:
> content: url(skin_images/ObjectIconError.gif);
> 3.) Context relative URLs are resolved relatively to the context root of the
> web application. To use them, you simply have to make it start with a single
> slash ("/"). For instance, if the context root is /MyWebApp and the specified
> URL is /images/myImage.jpeg, the resulting URL will be
> /MyWebApp/images/myImage.jpeg. Example:
> content: url(/skins/mySkin/skin_images/ObjectIconError.gif);
> 4.) Server relative URLs are resolved relatively to the web server as opposed
> to the context root. This allow to easily refer to resources located on
> another application on the same server. To use this type of URL, the
> specified URL must starts with two slashes ("//"). Example:
> content: url(//MyOtherWebApp/images/myCalendar.gif);
> The org.apache.myfaces.trinidad.skin.Icon class currently provides a
> getImageURI() method. This method returns a value that has the context path
> built-in. If a component exposes an icon attribute (there are a handful in
> Apache MyFaces Trinidad and also in another framework that has components
> built upon Trinidad), that icon String supports these same alternative
> mechanisms for referring to the icon image. Let's say you have a component
> that you want to keep abstract but might want it to reuse existing components
> (e.g. a rich text editor with a toolbar containing buttons that you want to
> reuse an existing toolbar button component so you can have consistency in
> button styling). For that publicly-exposed component, you will want to allow
> people to customize in skinning what the icons are for its toolbar. These
> icons must be defined in that publicly-exposed component but then converted
> into a String that can be passed into the toolbar button component. With the
> current Icon.getImageURI(), if a user skinned the icon image using some of
> the 4 above paths, either the icon would have 2 context paths added to it
> (one from the skin framework and one from the toolbar button resource
> encoding) or it would have a context path when it should not be including the
> local context path (image definition option #4). For the public component's
> renderer to support all 4 of these image definition options, the
> org.apache.myfaces.trinidad.skin.Icon needs to expose some mechanism to
> either let it have access to the raw content value so that raw value can be
> passed along to the button or at least some kind of mechanism to let the
> public component's renderer know that it is not safe to let the button add
> its own copy of the context path (e.g. add another leading "/" to the result).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira