OW2 Consortium telosys

Rev

Blame | Last modification | View Log | RSS feed

package org.objectweb.telosys.uil.taglib.widget;

import javax.servlet.jsp.tagext.Tag;

import org.objectweb.telosys.uil.taglib.Page;
import org.objectweb.telosys.uil.taglib.widget.html.TabHTML;
import org.objectweb.telosys.uil.taglib.widget.xul.TabXUL;

/**
 * @author Laurent GUERIN
 *  
 */
public class Tab extends GenericTag
{
    protected static final String TAG_NAME          = "tab";

    //----------------------------------------------------------------
    // TAG generators ( thread safe => static )
    //----------------------------------------------------------------
    private final static IWidget  $htmlGen          = new TabHTML();

    private final static IWidget  $xulGen           = new TabXUL();

    //----------------------------------------------------------------
    // TAG attributes
    //----------------------------------------------------------------

//    private String                _sTxt             = null;

    private String                _sPanel           = null;

    private String                _sSelected        = "false";

    //--- Specific EVENT "onselect"
    private String                _sOnSelect        = null;

    /**
     * Constructor
     */
    public Tab()
    {
        super(TAG_NAME, $htmlGen, $xulGen);
    }

    //----------------------------------------------------------------
//    public void setTxt(String v)
//    {
//        _sTxt = v;
//    }
//
//    public String getTxt()
//    {
//        return _sTxt;
//    }

    //----------------------------------------------------------------
    public void setPanel(String v)
    {
        _sPanel = v;
    }

    public String getPanel()
    {
        //return _sPanel;
        return replaceSymbolicVar( _sPanel ); // v 0.9.9
    }

    //----------------------------------------------------------------
    public void setSelected(String v)
    {
        _sSelected = v;
    }

//    public void setSelected(boolean bFlag) // removed v 0.9.9
//    {
//        _sSelected = (bFlag == true ? "true" : "false");
//    }

    public String getSelected()
    {
        // return _sSelected;
        return replaceSymbolicVar( _sSelected ); // v 0.9.9
        
    }

    //public boolean isSelected()
    public boolean getSelectedAsBoolean() // v 0.9.9
    {
        String s = getSelected(); 
        if (s != null)
        {
            if ( s.trim().equalsIgnoreCase("true") ) return true ;            
        }
        return false;
    }

    //----------------------------------------------------------------
    public void setOnselect(String v)
    {
        _sOnSelect = v;
    }

    public String getOnselect()
    {
        //return _sOnSelect;
        return replaceSymbolicVar( _sOnSelect ); // v 0.9.9
        
    }

    //----------------------------------------------------------------
    public int nextTabIndex()
    {
        return Page.getNextTabIndex(pageContext);
    }

    //----------------------------------------------------------------
    public boolean hasInternalSpacers()
    {
        Tabs parent = getParentTabs();
        if (parent != null)
        {
            return parent.hasInternalSpacers();
        }
        return false;
    }


    //----------------------------------------------------------------
    /**
     * Returns the <tabs>cl_spacer
     * 
     * @return
     */
    public String getSpacerClass()
    {
        Tabs parent = getParentTabs();
        if (parent != null)
        {
            return parent.getSpacerClass();
        }
        return null;
    }

    //----------------------------------------------------------------
    /**
     * Returns the <tabs>cl_unselected
     * 
     * @return
     */
    public String getUnselectedClass()
    {
        Tabs parent = getParentTabs();
        if (parent != null)
        {
            return parent.getUnselectedClass();
        }
        return null;
    }

    //----------------------------------------------------------------
    public Tabs getParentTabs()
    {
        Tag parentTag = getParent();
        if (parentTag != null)
        {
            if (parentTag instanceof Tabs)
            {
                return (Tabs) parentTag;
            }
            else
            {
                error("Parent tag is not an instance of Tabs");
            }
        }
        else
        {
            error("Cannot get parent (Tabs) ");
        }
        return null;
    }

    //----------------------------------------------------------------
    /*
     * (non-Javadoc)
     * 
     * @see javax.servlet.jsp.tagext.Tag#doStartTag()
     */
    public int doStartTag()
    {
        //if (isSelected())
        if ( getSelectedAsBoolean() == true ) // v 0.9.9
        {
            String sId = getId();
            Page.setSelectedTabId(pageContext, sId);
            if (sId == null)
            {
                error("Tab selected without ID");
            }
        }
        startTag();
        return (SKIP_BODY);
    }
    //----------------------------------------------------------------
}

Generated by GNU enscript 1.6.4.