What are 'joints'? I think I had been calling them 'joins'.
I also use the 'next'/'prev' terminology instead of backwards and forwards.

Also, I'd recommend rewriting the simple renderer so that you can use a whole visited icon, a disabled icon, etc, instead of a start visited, an end visited. I know this is how it was in the oracle renderer, which I suspect you are looking at, but I always thought that was ugly. You could simplify the skinning api a lot if you didn't worry about making it exactly like the oracle skin, where we colored the joining line to the icons. I'd just keep those the same.

A direction we are heading towards is to use pseudo-classes for 'state'. We have implemented this for the form controls. For example, when the af:inputText component is in the disabled state, the new skinning key is this:

af|inputText:disabled {} and the html we render is <span class="af_inputText p_AFDisabled">
and the css rule is:
af_inputText.p_AFDisabled {}.

This is a fairly new convention, and only the form controls are implemented this way so far, but we want to move in this direction.

So you'd have

af|processTrain::joint-icon:visited, and we'd parse this to be the 
af_processTrain_joint-icon_visited, or something like that.


Also, we don't render style classes on the background attribute, as far as I 
know. Instead we render it on the class attribute, and in the style class 
definition, they could set the background-image attribute.



[EMAIL PROTECTED] wrote:

Hello,

I'm currently working to modify the processTrain to accept more skin selectors in order to open all icons provided by Oracle skin. The selectors I plan to add are:

 // processTrain styles used for the disabled links
 public static final String AF_PROCESS_TRAIN_TEXT_STYLE_CLASS =
   "af|processTrain::text";

 // For outer margins
 public static final String AF_PROCESS_TRAIN_MARGIN_START_STYLE_CLASS =
   "af|processTrain::margin-start";
 public static final String AF_PROCESS_TRAIN_MARGIN_END_STYLE_CLASS =
   "af|processTrain::margin-end";

 // For inner spacing
 public static final String AF_PROCESS_TRAIN_SPACING_STYLE_CLASS =
   "af|processTrain::step-spacing";

 // For active steps
public static final String AF_PROCESS_TRAIN_ACTIVE_START_ICON_NAME = "af|processTrain::step-active-start-icon"; public static final String AF_PROCESS_TRAIN_ACTIVE_END_ICON_NAME = "af|processTrain::step-active-end-icon";

 // For visited steps
public static final String AF_PROCESS_TRAIN_VISITED_START_ICON_NAME = "af|processTrain::step-visited-start-icon"; public static final String AF_PROCESS_TRAIN_VISITED_END_ICON_NAME = "af|processTrain::step-visited-end-icon";

 // For unvisited steps
public static final String AF_PROCESS_TRAIN_UNVISITED_START_ICON_NAME = "af|processTrain::step-unvisited-start-icon"; public static final String AF_PROCESS_TRAIN_UNVISITED_END_ICON_NAME = "af|processTrain::step-unvisited-end-icon";

 // For disabled steps
public static final String AF_PROCESS_TRAIN_DISABLED_START_ICON_NAME = "af|processTrain::step-disabled-start-icon"; public static final String AF_PROCESS_TRAIN_DISABLED_END_ICON_NAME = "af|processTrain::step-disabled-end-icon";

 // For joints
public static final String AF_PROCESS_TRAIN_JOINT_VISITED_ICON_NAME = "af|processTrain::joint-visited-icon"; public static final String AF_PROCESS_TRAIN_JOINT_UNVISITED_ICON_NAME = "af|processTrain::joint-unvisited-icon";

 // For backward overflows
public static final String AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_STYLE_CLASS =
   "af|processTrain::overflow-backward";
public static final String AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_START_ICON_NAME = "af|processTrain::overflow-backward-start-icon"; public static final String AF_PROCESS_TRAIN_OVERFLOW_BACKWARD_END_ICON_NAME = "af|processTrain::overflow-backward-end-icon";

 // For forward overflows
public static final String AF_PROCESS_TRAIN_OVERFLOW_FORWARD_STYLE_CLASS =
   "af|processTrain::overflow-forward";
public static final String AF_PROCESS_TRAIN_OVERFLOW_FORWARD_START_ICON_NAME = "af|processTrain::overflow-forward-start-icon"; public static final String AF_PROCESS_TRAIN_OVERFLOW_FORWARD_END_ICON_NAME = "af|processTrain::overflow-forward-end-icon";

The target HTML structure for the process train in LtR mode is:

<table align="center" border="0" cellpadding="0" cellspacing="0" class="af|processTrain">
 <tbody>
   <tr>
     <td class="af|processTrain::margin-start" rowspan="2"></td>

     <td align="right" class="af|processTrain::overflow-backward">
<img src="af|processTrain::overflow-backward-start-icon" title="%step-label%" alt="%step-label% : previous set"/>
     </td>
<td background="af|processTrain::joint-visited-icon" align="left" class="af|processTrain::overflow-backward>
       <img src="af|processTrain::overflow-backward-end-icon" alt="">
     </td>

     <td background="af|processTrain::joint-visited-icon" class="
af|processTrain::step-spacing"></td>

<td background="af|processTrain::joint-visited-icon" align="right" class="af|processTrain::step-visited"> <img src="af|processTrain::step-visited-start-icon" title="%step-label%" alt="%step-label% : previous step"/>
     </td>
<td background="af|processTrain::joint-visited-icon" align="left" class="af|processTrain::step-visited">
       <img src="af|processTrain::step-visited-end-icon" alt="">
     </td>

     <td background="af|processTrain::joint-visited-icon" class="
af|processTrain::step-spacing"></td>

<td background="af|processTrain::joint-visited-icon" align="right" class="af|processTrain::step-active"> <img src="af|processTrain::step-active-start-icon" title="%step-label%" alt="%step-label% : active step"/>
     </td>
<td background="af|processTrain::joint-unvisited-icon" align="left" class="af|processTrain::step-active">
       <img src="af|processTrain::step-active-end-icon" alt="">
     </td>

     <td background="af|processTrain::joint-unvisited-icon" class="
af|processTrain::step-spacing"></td>

<td background="af|processTrain::joint-unvisited-icon" align="right" class="af|processTrain::step-unvisited"> <img src="af|processTrain::step-unvisited-start-icon" title="%step-label%" alt="%step-label% : next step"/>
     </td>
<td background="af|processTrain::joint-unvisited-icon" align="left" class="af|processTrain::step-unvisited">
       <img src="af|processTrain::step-unvisited-end-icon" alt="">
     </td>

     <td background="af|processTrain::joint-unvisited-icon" class="
af|processTrain::step-spacing"></td>

<td background="af|processTrain::joint-unvisited-icon" align="right" class="af|processTrain::overflow-forward"> <img src="af|processTrain::overflow-forward-start-icon" title="%step-label%" alt="%step-label% : next set"/>
     </td>
     <td align="left" class="af|processTrain::overflow-forward">
       <img src="af|processTrain::overflow-forward-end-icon" alt="">
     </td>

     <td class="af|processTrain::margin-end" rowspan="2"></td>
   </tr>
   <tr>
     <td colspan="2" class="af|processTrain::overflow-backward">
       <a class="af|processTrain::link">%step-label%</a>
     </td>
     <td colspan="2" class="af|processTrain::step-visited">
       <a class="af|processTrain::link">%step-label%</a>
     </td>
     <td colspan="2" class="af|processTrain::step-active">
       <a class="af|processTrain::link">%step-label%</a>
     </td>
     <td colspan="2" class="af|processTrain::step-unvisited">
       <a class="af|processTrain::text">%step-label%</a>
     </td>
     <td colspan="2" class="af|processTrain::overflow-forward">
       <a class="af|processTrain::text">%step-label%</a>
     </td>
   </tr>
 </tbody>
</table>

Is that ok with you?

Simon Lessard
DMR Conseil Inc. (http://www.dmrconseil.ca)
Téléphone : (418) 653-6881

Sun Certified Programmer for Java 2 Platform 1.4

Reply via email to