Actually I meant to say

2) :disabled, :active, :unvisited, :visited, :rtl are pseudo-classes that 
represent a state and 
3) overflow-next and overflow-prev, stop, join, join-overflow etc are pseudo 
elements. As you mentioned all pseudo-elements can  support many states and can 
be in one or more states at the same time. 

I have also attached a sample css that uses the styles referred to by the HTML 
below. These need to be defined in the base-desktop.xss file. 


SAMPLE STYLES FOR TRAIN 
-----------------------

/***********************************
          Train Styles               
***********************************/
/* for the processTrain */
.af-train {
  margin-left: auto;
  margin-right: auto;
  font-size:11px;
  font-family:Tahoma;
}

/***********************************
               Joins               
***********************************/

/* for joins between the overflow icons and the stops */
.af|train::join-overflow {
  min-width:20px;
  width:100%;
  height:1px;
}
/* join (between overflow and stop icons) in disabled state */
.af|train::join-overflow:disabled {
  background-color: #A6B3C8;
}
/* join (between overflow and stop icons) in visited state */
.af|train::join-overflow:visited {
  background-color: #72007C;
}
/* join (between overflow and stop icons) in unvisited state */
.af|train::join-overflow:unvisited {
  background-color: #3463D3;
}

/* for joins between stops */
.af|train::join {
  min-width:20px;
  width:100%;
  height: 1px;
}
/* join in visited state */
.af|train::join:visited {
  background-color: #72007C;
}
/* join in unvisited state */
.af|train::join:unvisited {
  background-color: #3463D3;
}
/* join in disabled state */
.af|train::join:disabled {
  background-color: #A6B3C8;
}

/***********************************
             Spacers               
***********************************/
/* spacer used between stops */
.af|train::stop-spacer {
  height: 1px;
  width: 5px;
}
/* stop spacer in visited state */
.af|train::stop-spacer:visited {
  background-color: #72007C;
}
/* stop spacer in unvisited state */
.af|train::stop-spacer:unvisited {
  background-color: #3463D3;
}
/* stop spacer in disabled state */
.af|train::stop-spacer:disabled {
  background-color: #A6B3C8;
}
/* spacer used between parent train and stops */
.af|train::parent-spacer {
  height: 1px;
  width: 5px;
}
/* spacer used for margins in the beginning and end of the train */
.af|train::margin-end,
.af|train::margin-start {
  height: 1px;
  width: 1px;
}

/***************************************
  Icons: Parent Train, stop & Overflow
***************************************/
/* block that displays the parent start icon*/
.af|train::parent-start-icon-block
{
  text-align:right;
}
/* block that displays the parent start icon*/
.af|train::parent-end-icon-block
{
  text-align:left;
}
/* icon to indicate a parent process in the beginning of a sub train */
.af|train::parent-start-icon {
  height:13px;
  width:13px;
  content:url(../images/stop-parent.png);
}
/* icon to indicate a parent process in the end of a sub train */
.af|train::parent-end-icon {
  height:13px;
  width:13px;
  content:url(../images/stop-parent-end.png);
}

/* block that displays the overflow image */
.af|train::overflow-icon-block {
  position:relative;top:-1px;
}
/* overflow start icon in visited state (indicates presence of previous steps) 
*/
.af|train::overflow-start-icon:visited
{
  height:13px;
  width:13px;
  content:url(../images/overflow-start-visited.png);
}
/* overflow start icon in disabled state (indicates presence of previous stops) 
*/
.af|train::overflow-start-icon:disabled
{
  height:13px;
  width:13px;
  content:url(../images/overflow-start-disabled.png);
}
/* overflow end icon in disabled state (indicates presence of more stops) */
.af|train::overflow-end-icon:disabled
{
  height:13px;
  width:13px;
  content:url(../images/overflow-end-disabled.png);
}
/* overflow end icon in unvisited state (indicates presence of more stops) */
.af|train::overflow-end-icon:unvisited
{
  height:13px;
  width:13px;
  content:url(../images/overflow-end-unvisited.png);
}
/* overflow end icon in visited state (indicates presence of visited stops in 
the next set) */
.af|train::overflow-end-icon:visited
{
  height:13px;
  width:13px;
  content:url(../images/overflow-end-unvisited.png);
}

/* block that displays a stop icon (active/disabled/visited/unvisited) */
.af|train::stop-icon-block
{
}
/* stop icon in visited state */
.af|train::stop-icon:visited {
  height:13px;
  width:13px;
  content:url(../images/stop-visited.png);
}
/* stop icon in active state */
.af|train::stop-icon:active {
  height:13px;
  width:13px;
  content:url(../images/stop-active.png);
}
/* stop icon in unvisited state */
.af|train::stop-icon:unvisited {
  height:13px;
  width:13px;
  content:url(../images/stop-unvisited.png);
}
/* stop icon in disabled state */
.af|train::stop-icon:disabled {
  height:13px;
  width:13px;
  content:url(../images/stop-disabled.png);
}

/************************************************
 Labels and Links: parentTrain, overflow & stop
************************************************/
/* 
  content area in the beginning of the train, to display the parent process 
  name  
*/
.af|train::parent-start-content
{
  display:block;
  padding-top:2px;
  padding-bottom:2px;
  padding-left:1px;
  padding-right:1px;
  text-align:right;
}
/* content area in the end of the train, to display the parent process name */
.af|train::parent-end-content
{
  display:block;
  padding-top:2px;
  padding-bottom:2px;
  padding-left:1px;
  padding-right:1px;
  text-align:left;
}
/* 
  content area to display the overflow label in the beginning and end of the 
  train 
*/
.af|train::overflow-start-content,
.af|train::overflow-end-content
{
  display:block;
  padding-top:2px;
  padding-bottom:2px;
  padding-left:1px;
  padding-right:1px;
  text-align:center;
}

/* content area to display the stop name */
.af|train::stop-content
{
  padding-left:2px;
  padding-right:2px;
  padding-top:2px;
  padding-bottom:2px;
  text-align:center;
}

/* content area that displays the name of the stop in visited state */
.af|train::stop-content:visited
{
}
/* block that displays the name of the stop in disabled state */
.af|train::stop-content:disabled
{
  color:#737373;
}
/* block that displays the name of the stop in unvisited state */
.af|train::stop-content:unvisited
{
}
/* block that displays the name of the stop in active state */
.af|train::stop-content:active
{
  font-weight:bold;
  color:#000000;
  text-align:center;
  padding-left:5px;
  padding-right:5px;
}

/* link for a stop */
.af|train::stop-link
{
  text-decoration:none;
}

/* link for an unvisited stop */
.af|train::stop-link:unvisited
{
  text-decoration:underline;
  color:#003399;
}
/* link for an visited stop */
.af|train::stop-link:visited
{
  text-decoration:underline;
  color:#72007C;
}

/* link for an active stop */
.af|train::stop-link:active
{
  color:#000000;
}
/* link for an disabled stop */
.af|train::stop-link:disabled
{
  color:#737373;
}

/* link for an overflow in disabled state */
.af|train::overflow-link:disabled
{
  text-decoration:none;
  color:#737373;
}
/* link for an overflow in visited state */
.af|train::overflow-link:visited
{
  text-decoration:underline;
  color:#72007C;
}
/* link for an overflow in unvisited state */
.af|train::overflow-link:unvisited
{
  text-decoration:underline;
  color:#003399;
}


- Pavitra

-----Original Message-----
From: Simon Lessard [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, August 22, 2006 11:42 AM
To: [email protected]; [EMAIL PROTECTED]
Subject: Re: ADFFACES-60

Note taken, thanks Pavitra.

On 8/22/06, Pavitra Subramaniam <[EMAIL PROTECTED]> wrote:
>
> Hello Simon,
>
> Simon, I am delayed in providing a fix on Trinidad. Please go ahead 
> with your solution but I would recommend we use the skin hooks we 
> discussed earlier and agreed on (Email titled: Process Train Skin Selectors).
>
> 1) Can we use the word stop instead of station?
> 2) :disabled, :visited, :unvisited, :active are states and not pseudo 
> elements.
> 3) overflow-next and overflow-prev are pseudo elements and should 
> follow the convention - af|train::overflow-next, 
> af|train::overflow-prev. For a full list of pseudo-elements, refer to my 
> earlier email.
> 4) I have markup that makes use of one stop icon instead of 2 (left 
> and right). I think we should do that and the example I have attached 
> will provide a . Please see example for train HTML markup, below. If 
> you need me to send you a sample CSS file, that uses these skin hooks, 
> please let me know.
>
> Thanks
> Pavitra
>
> Sample HTML for train that uses one stop icon
> ---------------------------------------------
> <table cellpadding="0" cellspacing="0" border="0" class="af_train">
>   <tbody>
>     <tr>
>       <!-- MARGIN -->
>       <td rowspan="2"><div
> class="af|train::margin-start"><span></span></div></td>
>
>       <!-- PARENT START -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td>
>                 <div class="af|train::parent-start-icon-block">
>                    <!-- af|train::parent-start-icon -->
>                   <img src="images\step_parent.png" alt="Process A: 
> Step A"
>                     width="13px" height="13px"/>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td><div 
> class="af|train::parent-spacer"><span></span></div></td>
>
>       <!-- OVERFLOW START -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td width="50%">
>                 <div class="af|train::join-overflow"><span></span></div>
>               </td>
>               <td>
>                 <div class="af|train::overflow-icon-block">
>                   <!-- af|processTrain::overflow-start-visited-icon -->
>                   <img src="images\overflow_start_visited.png"
> alt="Previous Steps"
>                     width="7px" height="7px"/>
>                 </div>
>               </td>
>               <td width="50%">
>                 <div class="af|train::join-overflow
> af|train::join-overflow:visited">
>                 <span></span></div></td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td><div class="af|train::step-spacer
> af|train::step-spacer:visited"><span></span></div></td>
>
>       <!-- STEP -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td width="50%">
>                 <div class="af|train::join-overflow
> af|train::join-overflow:visited">
>                   <span></span></div></td>
>               <td>
>                 <div class="af_train_step_icon_block">
>                   <img src="images\step_visited.png" alt="Visited Step:
> Step 1"
>                     width="13px" height="13px"/>
>                 </div>
>               </td>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_visited">
>                   <span></span>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <!-- spacer -->
>       <td>
>         <div class="af_train_step_spacer af_train_step_spacer_visited">
>           <span></span>
>         </div>
>       </td>
>
>       <!-- STEP -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_visited">
>                   <span></span></div></td>
>               <td>
>                 <div class="af_train_step_icon_block">
>                   <img src="images\step_active.png" alt="Active Step: 
> Step 2"
>                     width="13px" height="13px"/>
>                 </div>
>               </td>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_unvisited">
>                   <span></span>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td>
>         <div class="af_train_step_spacer af_train_step_spacer_unvisited">
>           <span></span>
>         </div>
>       </td>
>
>       <!-- STEP -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_unvisited">
>                   <span></span></div></td>
>               <td>
>                 <div class="af_train_step_icon_block">
>                   <img src="images\step_unvisited.png" alt="Unvisited
> Step: Step 3"
>                     width="13px" height="13px"/>
>                 </div>
>               </td>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_disabled">
>                   <span></span>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td><div class="af_train_step_spacer 
> af_train_step_spacer_disabled"><span></span></div></td>
>
>       <!-- STEP -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_disabled">
>                   <span></span></div></td>
>               <td>
>                 <div class="af_train_step_icon_block">
>                   <img src="images\step_disabled.png" alt="Disabled Step:
> Step 4"
>                     width="13px" height="13px"/>
>                 </div>
>               </td>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_disabled">
>                   <span></span>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td>
>         <div class="af_train_step_spacer af_train_step_spacer_disabled">
>           <span></span>
>         </div>
>       </td>
>
>       <!-- STEP -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_disabled">
>                   <span></span>
>                 </div>
>               </td>
>               <td>
>                 <div class="af_train_step_icon_block">
>                   <img src="images\step_disabled.png" alt="Disabled Step:
> Step 5"
>                     width="13px" height="13px"/>
>                 </div>
>               </td>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_disabled">
>                   <span></span>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td>
>         <div class="af_train_step_spacer af_train_step_spacer_disabled">
>           <span></span>
>         </div>
>       </td>
>
>       <!-- STEP -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td width="50%">
>                 <div class="af_train_join af_train_join_disabled">
>                   <span></span></div></td>
>               <td>
>                 <div class="af_train_step_icon_block">
>                   <img src="images\step_disabled.png" alt="Disabled Step:
> Step 5"
>                     width="13px" height="13px"/>
>                 </div>
>               </td>
>               <td width="50%">
>                 <div class="af_train_join_overflow 
> af_train_join_overflow_disabled">
>                   <span></span>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td>
>         <div class="af_train_step_spacer af_train_step_spacer_disabled">
>           <span></span>
>         </div>
>       </td>
>
>       <!-- OVERFLOW END -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td width="50%">
>                 <div class="af_train_join_overflow 
> af_train_join_overflow_disabled">
>                   <span></span></div></td>
>               <td style="width:1px;">
>                 <div class="af_train_overflow_icon_block">
>                   <img src="images\overflow_end_disabled.png" 
> alt="Next Steps"
>                     width="7px" height="7px"/>
>                 </div>
>               </td>
>               <td width="50%">
>                 <div class="af_train_join_overflow">
>                   <span></span>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td><div class="af_train_parent_spacer"><span></span></div></td>
>
>       <!-- PARENT END -->
>       <td>
>         <table cellpadding="0" cellspacing="0" border="0" width="100%">
>           <tbody>
>             <tr>
>               <td>
>                 <div class="af_train_parent_end_icon_block">
>                   <img src="images\step_parent_end.png" alt="Process A:
> Step A"
>                     width="13px" height="13px"/>
>                 </div>
>               </td>
>             </tr>
>           </tbody>
>         </table>
>       </td>
>
>       <td rowspan="2"><div
> class="af_train_margin_end"><span></span></div></td>
>     </tr>
>
>     <tr>
>       <td>
>         <div class="af_train_parent_start_content"></div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_overflow_start_content">
>           <a href="" class="af_train_overflow_link_visited">Previous</a>
>         </div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_step_content af_train_step_content_visited">
>           <a href="" class="af_train_step_link
>             af_train_step_link_visited">Step 1</a>
>         </div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_step_content af_train_step_content_active">
>           <a href="" class="af_train_step_link
>             af_train_step_link_active">StepStepStep 2</a>
>         </div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_step_content 
> af_train_step_content_unvisited">
>           <a href="" class="af_train_step_link
>             af_train_step_link_unvisited">Step 3</a>
>         </div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_step_content af_train_step_content_disabled">
>           <a href="" class="af_train_step_link
>             af_train_step_link_disabled">Step 4</a>
>         </div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_step_content af_train_step_content_disabled">
>           <a href="" class="af_train_step_link
>             af_train_step_link_disabled">StepStepStep 5</a>
>         </div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_step_content af_train_step_content_disabled">
>           <a href="" class="af_train_step_link
>             af_train_step_link_disabled">StepStep 6</a>
>         </div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_overflow_end_content">
>           <a href="" class="af_train_overflow_link_disabled">More</a>
>         </div>
>       </td>
>       <td></td>
>
>       <td>
>         <div class="af_train_parent_end_content"></div>
>       </td>
>
>     </tr>
>   </tbody>
> </table>
>
> </body>
> </html>
>
>
>
> - Pavitra
>
> -----Original Message-----
> From: Simon Lessard [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, August 22, 2006 10:59 AM
> To: Trinidad - Dev
> Subject: ADFFACES-60
>
> Hello,
>
> Anyone know if Pavitra is still working on the processTrain? If not 
> I'll work on that issue and should be done with it tomorrow or so. 
> I'll use the following hooks:
>
> af|train
> af|train::station
> af|train::station::join
> af|train::station::link
> af|train::station::left-icon
> af|train::station::right-icon
>
> The station will accept the following pseudoClass:
> :active (except on ::station::join since joins can only be visited or 
> not) :disabled :overflow-next (except on ::station::join since joins 
> can only be visited or
> not)
> :overflow-prev (except on ::station::join since joins can only be 
> visited or
> not)
> :unvisited
> :visited
>
> And hopefully :disabled will be combinable with any of the other 
> pseduClass.
>
> There's one thing I dislike though (and I think Jeanne does as well): 
> the ::left-icon and ::right-icon. A single icon per station station 
> would be far more interesting. However, I cannot find a way to 
> generate markup code accepting one and not having a major drawback. So 
> if someone feels inspired I would be glad to see a better solution.
>
> Note: I already tried the following solution (extract showing only 
> active station code) <table class="af|train">
>   <tr>
>     <td class="af|train::station:visited::join">&nbsp;</td>
>     <td class="af|train::station:active" style="width:1em;"><img 
> src="af|train::station:active::station-icon"/></td>
>     <td class="af|train::station:unvisited::join">&nbsp;</td>
>   </tr>
>   <tr>
>     <td colspan="3" class="af|train::station:active"/>
>   </tr>
> </table>
>
> The above code won't work if af|train::station:active specifies a 
> width (Which happen to be very useful if you want equidistant 
> stations)
>
>
> Regards,
>
> ~ Simon
>
>
>


Reply via email to