Rev 13 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%'============================================================='//'// TabControl'//'// version: 2.1'// last modified: 10-May-2005 17:03 by Sasha Vukovic'=============================================================%><%Class TabControlPrivate mArrDef()Private mobjDefMapPrivate mobjTemplateManagerPrivate mTabStylePrivate mNumOfTabAttributePrivate mLastTabAttributeInxPrivate mSelectedTabInxPrivate mPreCodeTemplatePrivate mPostCodeTemplatePrivate mSelectedTabTemplatePrivate mDeselectedTabTemplatePrivate mDisabledTabTemplatePrivate mSelectedTabCSSPrivate mDeselectedTabCSSPrivate mInxTabNamePrivate mInxTabLinkPrivate mInxJavaScriptPrivate mInxImgSelectedPrivate mInxImgDeselectedPrivate mInxImgDisabledPrivate mInxHintPrivate mInxForceDisablePublic Property Let TemplateDoc( sTemplate )mobjTemplateManager.TemplateDoc = sTemplateEnd PropertyPublic Property Let TabStyle( sStyleId )' Set mTabStyle valuemTabStyle = sStyleId' Set TemplatesmPreCodeTemplate = mobjTemplateManager.getElementValue ( mTabStyle &"/PreTabsCode" )mSelectedTabTemplate = mobjTemplateManager.getElementValue ( mTabStyle &"/TabSelected" )mDeselectedTabTemplate = mobjTemplateManager.getElementValue ( mTabStyle &"/TabDeselected" )mDisabledTabTemplate = mobjTemplateManager.getElementValue ( mTabStyle &"/TabDisabled" )mPostCodeTemplate = mobjTemplateManager.getElementValue ( mTabStyle &"/PostTabsCode" )mSelectedTabCSS = mobjTemplateManager.getElementValue ( mTabStyle &"/TabSelectedCSS" )mDeselectedTabCSS = mobjTemplateManager.getElementValue ( mTabStyle &"/TabDeselectedCSS" )End Property'-----------------------------------------------------------------------------------------------------------------Public Sub SetImgSelected ( sTabName, sImgSelected )mArrDef ( mInxImgSelected, CInt( mobjDefMap.Item ( CStr( sTabName ) ) ) ) = sImgSelectedEnd Sub'-----------------------------------------------------------------------------------------------------------------Public Sub SetImgDeselected ( sTabName, sImgDeselected )mArrDef ( mInxImgDeselected, CInt( mobjDefMap.Item ( CStr( sTabName ) ) ) ) = sImgDeselectedEnd Sub'-----------------------------------------------------------------------------------------------------------------Public Sub SetHint ( sTabName, sHint )mArrDef ( mInxHint, CInt( mobjDefMap.Item ( CStr( sTabName ) ) ) ) = sHintEnd Sub'-----------------------------------------------------------------------------------------------------------------Public Sub SelectByIndex ( nTabInx )mSelectedTabInx = CInt( nTabInx )End Sub'-----------------------------------------------------------------------------------------------------------------Public Sub SelectByName ( sTabName )Call SelectByIndex ( CInt( mobjDefMap.Item ( CStr( sTabName ) ) ) )End Sub'-----------------------------------------------------------------------------------------------------------------Public Sub DisableByIndex ( nTabInx )mArrDef ( mInxForceDisable, nTabInx ) = enumDB_YESEnd Sub'-----------------------------------------------------------------------------------------------------------------Public Sub DisableByName ( sTabName )Call DisableByIndex ( CInt( mobjDefMap.Item ( CStr( sTabName ) ) ) )End Sub'-----------------------------------------------------------------------------------------------------------------Public Sub EnableByIndex ( nTabInx )mArrDef ( mInxForceDisable, nTabInx ) = ""End Sub'-----------------------------------------------------------------------------------------------------------------Public Sub EnableByName ( sTabName )Call EnableByIndex ( CInt( mobjDefMap.Item ( CStr( sTabName ) ) ) )End Sub'-----------------------------------------------------------------------------------------------------------------Public Sub Add ( aTabDef )Dim newArrayDim, attrInxnewArrayDim = UBound ( mArrDef, 2 ) + 1ReDim Preserve mArrDef( mNumOfTabAttribute, newArrayDim )mobjDefMap.Add Cstr( aTabDef( mInxTabName ) ), CStr( newArrayDim - 1 )For attrInx = 0 To mLastTabAttributeInxmArrDef ( attrInx, newArrayDim - 1 ) = aTabDef ( attrInx )NextEnd Sub'-----------------------------------------------------------------------------------------------------------------Public Sub AddTabDefnition ( aTabDef )Dim attrInx, LastElemntLastElemnt = UBound( aTabDef )For attrInx = 0 To LastElemnt Step mNumOfTabAttributeCall Add ( Array ( aTabDef( attrInx ), _aTabDef( attrInx+1 ), _aTabDef( attrInx+2 ), _aTabDef( attrInx+3 ), _aTabDef( attrInx+4 ), _aTabDef( attrInx+5 ), _aTabDef( attrInx+6 ), _aTabDef( attrInx+7 ) _) _)NextEnd Sub'-----------------------------------------------------------------------------------------------------------------Public Sub Render ()Dim tabInx, LastElemnt, tabImgSelect, tabImgDiselect, tabImgDisable, tabHintLastElemnt = UBound( mArrDef, 2 ) - 1Response.write mPreCodeTemplateFor tabInx = 0 To LastElemnttabImgSelect = ""tabImgDiselect = ""tabImgDisable = ""tabHint = ""If mArrDef ( mInxImgSelected, tabInx ) <> "" Then tabImgSelect = "<img src='"& mArrDef ( mInxImgSelected, tabInx ) &"' border='0' align='absmiddle'> "If mArrDef ( mInxImgDeselected, tabInx ) <> "" Then tabImgDiselect = "<img src='"& mArrDef ( mInxImgDeselected, tabInx ) &"' border='0' align='absmiddle'> "If mArrDef ( mInxImgDisabled, tabInx ) <> "" Then tabImgDisable = "<img src='"& mArrDef ( mInxImgDisabled, tabInx ) &"' border='0' align='absmiddle'> "If mArrDef ( mInxHint, tabInx ) <> "" Then tabHint = "title='"& mArrDef ( mInxHint, tabInx ) &"'"If mArrDef ( mInxForceDisable, tabInx ) = enumDB_YES ThenResponse.write ApplyTemplate( tabImgDisable & mArrDef ( mInxTabName, tabInx ), mDisabledTabTemplate )ElseIf tabInx = mSelectedTabInx ThenResponse.write ApplyTemplate( "<a href='"& mArrDef ( mInxTabLink, tabInx ) &"' class='"& mSelectedTabCSS &"' "& tabHint &" "& mArrDef ( mInxJavaScript, tabInx ) &">"& tabImgSelect & mArrDef ( mInxTabName, tabInx ) &"</a>", mSelectedTabTemplate )ElseResponse.write ApplyTemplate( "<a href='"& mArrDef ( mInxTabLink, tabInx ) &"' class='"& mDeselectedTabCSS &"' "& tabHint &" "& mArrDef ( mInxJavaScript, tabInx ) &">"& tabImgDiselect & mArrDef ( mInxTabName, tabInx ) &"</a>", mDeselectedTabTemplate )End IfEnd IfNextResponse.write mPostCodeTemplateEnd Sub'-----------------------------------------------------------------------------------------------------------------Private Function ApplyTemplate ( sText, sTemplate )ApplyTemplate = Replace ( sTemplate, "%TEXT%", sText )End Function'-----------------------------------------------------------------------------------------------------------------Private Sub Class_Initialize()'// Perform action on creation of object. e.g. Set myObj = New ThisClassNameSet mobjDefMap = CreateObject("Scripting.Dictionary")Set mobjTemplateManager = New TemplateManagermNumOfTabAttribute = 8 ' Number of attributes in array which define one tab.ReDim mArrDef ( mNumOfTabAttribute, 0 )mInxTabName = 0mInxTabLink = 1mInxJavaScript = 2mInxImgSelected = 3mInxImgDeselected = 4mInxImgDisabled = 5minxHint = 6mInxForceDisable = 7mLastTabAttributeInx = mNumOfTabAttribute - 1mSelectedTabInx = 0 ' Select first tab by defaultEnd Sub'-----------------------------------------------------------------------------------------------------------------Private Sub Class_Terminate()'// Perform action on object disposal. e.g. Set myObj = NothingSet mobjDefMap = NothingSet mobjTemplateManager = NothingEnd Sub'-----------------------------------------------------------------------------------------------------------------End Class%>